Advertisement
Guest User

act_act.asm

a guest
Apr 13th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 59.86 KB | None | 0 0
  1.  
  2.  
  3. ;
  4. ; +-------------------------------------------------------------------------+
  5. ; |   This file has been generated by The Interactive Disassembler (IDA)    |
  6. ; |       Copyright (c) 2015 Hex-Rays, <support@hex-rays.com>       |
  7. ; |          License info: a                |
  8. ; |             a               |
  9. ; +-------------------------------------------------------------------------+
  10. ;
  11. ; Input MD5   : B2ABC7B9B3284F4D08D4214C771012B9
  12. ; Input CRC32 : 8854A3CD
  13.  
  14. ; File Name   : ~\nintendore\code.bin
  15. ; Format      : ELF for ARM (Relocatable)
  16. ;
  17. ; EABI version: 5
  18. ;
  19. ; Source File : 'd:\home\jenkins\workspace\CTR_SDK-11_5\Horizon\sources\libraries\act\CTR\act_Act.cpp'
  20.  
  21. ; Processor   : ARM
  22. ; ARM architecture: ARMv6K$
  23. ; Target assembler: Generic assembler for ARM
  24. ; Byte sex    : Little endian
  25.  
  26. ; ===========================================================================
  27.  
  28. ; Segment type: Pure code
  29.         AREA i._ZN2nn3act3CTR6detail3Act10AcquireMiiENS_6HandleEPKjj, CODE
  30.         CODE32
  31.  
  32. ; =============== S U B R O U T I N E =======================================
  33.  
  34.  
  35. ; nn::act::CTR::detail::Act::AcquireMii(nn::Handle, unsigned int const*, unsigned int)
  36.         EXPORT _ZN2nn3act3CTR6detail3Act10AcquireMiiENS_6HandleEPKjj
  37. _ZN2nn3act3CTR6detail3Act10AcquireMiiENS_6HandleEPKjj
  38.         STMFD   SP!, {R4,LR}
  39.         MRC p15, 0, R4,c13,c0, 3
  40.         LDR R12, =0x190044
  41.         MOV R3, #0
  42.         STR R12, [R4,#0x80]!
  43.         STR R0, [R4,#0xC]
  44.         ORR R0, R3, R2,LSL#16
  45.         STRD    R2, [R4,#4]
  46.         ORR R0, R0, #2
  47.         STRD    R0, [R4,#0x10]
  48.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  49.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  50.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  51.         AND R1, R0, #0x80000000
  52.         CMP R1, #0
  53.         LDRGE   R0, [R4,#4]
  54.         LDMFD   SP!, {R4,PC}
  55. ; End of function nn::act::CTR::detail::Act::AcquireMii(nn::Handle,uint const*,uint)
  56.  
  57. ; ---------------------------------------------------------------------------
  58. dword_44    DCD 0x190044        ; DATA XREF: nn::act::CTR::detail::Act::AcquireMii(nn::Handle,uint const*,uint)+8r
  59. off_48      DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  60.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireMii(nn::Handle,uint const*,uint)+28r
  61. ; i._ZN2nn3act3CTR6detail3Act10AcquireMiiENS_6HandleEPKjj ends ; nn::act::CTR::detail::Act::s_Session
  62.  
  63. ; ===========================================================================
  64.  
  65. ; Segment type: Pure code
  66.         AREA i._ZN2nn3act3CTR6detail3Act10InitializeEjNS_6HandleEj, CODE
  67.         ; ORG 0x4C
  68.         CODE32
  69.  
  70. ; =============== S U B R O U T I N E =======================================
  71.  
  72.  
  73. ; nn::act::CTR::detail::Act::Initialize(unsigned int, nn::Handle, unsigned int)
  74.         EXPORT _ZN2nn3act3CTR6detail3Act10InitializeEjNS_6HandleEj
  75. _ZN2nn3act3CTR6detail3Act10InitializeEjNS_6HandleEj
  76.         STMFD   SP!, {R4,LR}
  77.         MRC p15, 0, R4,c13,c0, 3
  78.         LDR R12, =0x10084
  79.         MOV R3, #0
  80.         STR R12, [R4,#0x80]!
  81.         ADD LR, R4, #4
  82.         STMIA   LR, {R0,R2}
  83.         MOV R0, #0x20 ; ' '
  84.         STR R0, [R4,#0xC]
  85.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  86.         STR R1, [R4,#0x18]
  87.         STR R3, [R4,#0x14]
  88.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  89.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  90.         AND R1, R0, #0x80000000
  91.         CMP R1, #0
  92.         LDRGE   R0, [R4,#4]
  93.         LDMFD   SP!, {R4,PC}
  94. ; End of function nn::act::CTR::detail::Act::Initialize(uint,nn::Handle,uint)
  95.  
  96. ; ---------------------------------------------------------------------------
  97. dword_94    DCD 0x10084     ; DATA XREF: nn::act::CTR::detail::Act::Initialize(uint,nn::Handle,uint)+8r
  98. off_98      DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  99.                     ; DATA XREF: nn::act::CTR::detail::Act::Initialize(uint,nn::Handle,uint)+24r
  100. ; i._ZN2nn3act3CTR6detail3Act10InitializeEjNS_6HandleEj ends ; nn::act::CTR::detail::Act::s_Session
  101.  
  102. ; ===========================================================================
  103.  
  104. ; Segment type: Pure code
  105.         AREA i._ZN2nn3act3CTR6detail3Act11AcquireEulaENS_6HandleEhPKc, CODE
  106.         ; ORG 0x9C
  107.         CODE32
  108.  
  109. ; =============== S U B R O U T I N E =======================================
  110.  
  111.  
  112. ; nn::act::CTR::detail::Act::AcquireEula(nn::Handle, unsigned char, char const*)
  113.         EXPORT _ZN2nn3act3CTR6detail3Act11AcquireEulaENS_6HandleEhPKc
  114. _ZN2nn3act3CTR6detail3Act11AcquireEulaENS_6HandleEhPKc
  115.  
  116. var_14      = -0x14
  117.  
  118.         STMFD   SP!, {R0-R2,R4,R5,LR}
  119.         MRC p15, 0, R4,c13,c0, 3
  120.         LDR R3, =0x1E0082
  121.         MOV R1, #0
  122.         STR R3, [R4,#0x80]!
  123.         LDRB    R3, [SP,#0x18+var_14]
  124.         STRB    R3, [R4,#4]
  125.         LDRH    R3, [R2]
  126.         STRH    R3, [R4,#8]
  127.         LDRB    R2, [R2,#2]
  128.         STRB    R2, [R4,#0xA]
  129.         STR R0, [R4,#0x10]
  130.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  131.         STR R1, [R4,#0xC]
  132.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  133.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  134.         AND R1, R0, #0x80000000
  135.         CMP R1, #0
  136.         LDRGE   R0, [R4,#4]
  137.         ADD SP, SP, #0xC
  138.         LDMFD   SP!, {R4,R5,PC}
  139. ; End of function nn::act::CTR::detail::Act::AcquireEula(nn::Handle,uchar,char const*)
  140.  
  141. ; ---------------------------------------------------------------------------
  142. dword_F0    DCD 0x1E0082        ; DATA XREF: nn::act::CTR::detail::Act::AcquireEula(nn::Handle,uchar,char const*)+8r
  143. off_F4      DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  144.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireEula(nn::Handle,uchar,char const*)+30r
  145. ; i._ZN2nn3act3CTR6detail3Act11AcquireEulaENS_6HandleEhPKc ends ; nn::act::CTR::detail::Act::s_Session
  146.  
  147. ; ===========================================================================
  148.  
  149. ; Segment type: Pure code
  150.         AREA i._ZN2nn3act3CTR6detail3Act11GetMiiImageEPjPhjhh, CODE
  151.         ; ORG 0xF8
  152.         CODE32
  153.  
  154. ; =============== S U B R O U T I N E =======================================
  155.  
  156.  
  157. ; _DWORD __fastcall nn::act::CTR::detail::Act::GetMiiImage(nn::act::CTR::detail::Act *this, unsigned int *, unsigned __int8 *, unsigned int, unsigned __int8, unsigned __int8)
  158.         EXPORT _ZN2nn3act3CTR6detail3Act11GetMiiImageEPjPhjhh
  159. _ZN2nn3act3CTR6detail3Act11GetMiiImageEPjPhjhh
  160.  
  161. var_14      = -0x14
  162. arg_0       =  0
  163.  
  164.         STMFD   SP!, {R0-R6,LR}
  165.         MOV R5, R0
  166.         MRC p15, 0, R4,c13,c0, 3
  167.         LDR R0, =0x800C2
  168.         ADD R4, R4, #0x80
  169.         STMIA   R4, {R0,R2}
  170.         LDRB    R0, [SP,#0x20+var_14]
  171.         STRB    R0, [R4,#8]
  172.         LDRB    R0, [SP,#0x20+arg_0]
  173.         STRB    R0, [R4,#0xC]
  174.         MOV R0, #0xC
  175.         ORR R0, R0, R2,LSL#4
  176.         STRD    R0, [R4,#0x10]
  177.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  178.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  179.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  180.         ANDS    R1, R0, #0x80000000
  181.         BMI loc_14C
  182.         LDR R0, [R4,#8]
  183.         STR R0, [R5]
  184.         LDR R0, [R4,#4]
  185.  
  186. loc_14C                 ; CODE XREF: nn::act::CTR::detail::Act::GetMiiImage(uint *,uchar *,uint,uchar,uchar)+44j
  187.         ADD SP, SP, #0x10
  188.         LDMFD   SP!, {R4-R6,PC}
  189. ; End of function nn::act::CTR::detail::Act::GetMiiImage(uint *,uchar *,uint,uchar,uchar)
  190.  
  191. ; ---------------------------------------------------------------------------
  192. dword_154   DCD 0x800C2     ; DATA XREF: nn::act::CTR::detail::Act::GetMiiImage(uint *,uchar *,uint,uchar,uchar)+Cr
  193. off_158     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  194.                     ; DATA XREF: nn::act::CTR::detail::Act::GetMiiImage(uint *,uchar *,uint,uchar,uchar)+34r
  195. ; i._ZN2nn3act3CTR6detail3Act11GetMiiImageEPjPhjhh ends ; nn::act::CTR::detail::Act::s_Session
  196.  
  197. ; ===========================================================================
  198.  
  199. ; Segment type: Pure code
  200.         AREA i._ZN2nn3act3CTR6detail3Act12GenerateUuidEPhj, CODE
  201.         ; ORG 0x15C
  202.         CODE32
  203.  
  204. ; =============== S U B R O U T I N E =======================================
  205.  
  206.  
  207. ; _DWORD __fastcall nn::act::CTR::detail::Act::GenerateUuid(nn::act::CTR::detail::Act *__hidden this, unsigned __int8 *, unsigned int)
  208.         EXPORT _ZN2nn3act3CTR6detail3Act12GenerateUuidEPhj
  209. _ZN2nn3act3CTR6detail3Act12GenerateUuidEPhj
  210.         STMFD   SP!, {R4-R6,LR}
  211.         MOV R5, R0
  212.         MRC p15, 0, R4,c13,c0, 3
  213.         LDR R0, =0xD0040
  214.         ADD R4, R4, #0x80
  215.         STRD    R0, [R4]
  216.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  217.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  218.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  219.         ANDS    R1, R0, #0x80000000
  220.         BMI locret_19C
  221.         MOV R0, R5
  222.         MOV R2, #0x10
  223.         ADD R1, R4, #8
  224.         BL  __aeabi_memcpy
  225.         LDR R0, [R4,#4]
  226.  
  227. locret_19C              ; CODE XREF: nn::act::CTR::detail::Act::GenerateUuid(uchar *,uint)+28j
  228.         LDMFD   SP!, {R4-R6,PC}
  229. ; End of function nn::act::CTR::detail::Act::GenerateUuid(uchar *,uint)
  230.  
  231. ; ---------------------------------------------------------------------------
  232. dword_1A0   DCD 0xD0040     ; DATA XREF: nn::act::CTR::detail::Act::GenerateUuid(uchar *,uint)+Cr
  233. off_1A4     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  234.                     ; DATA XREF: nn::act::CTR::detail::Act::GenerateUuid(uchar *,uint)+18r
  235. ; i._ZN2nn3act3CTR6detail3Act12GenerateUuidEPhj ends ; nn::act::CTR::detail::Act::s_Session
  236.  
  237. ; ===========================================================================
  238.  
  239. ; Segment type: Pure code
  240.         AREA i._ZN2nn3act3CTR6detail3Act12GetErrorCodeEPjNS_6ResultE, CODE
  241.         ; ORG 0x1A8
  242.         CODE32
  243.  
  244. ; =============== S U B R O U T I N E =======================================
  245.  
  246.  
  247. ; nn::act::CTR::detail::Act::GetErrorCode(unsigned int *, nn::Result)
  248.         EXPORT _ZN2nn3act3CTR6detail3Act12GetErrorCodeEPjNS_6ResultE
  249. _ZN2nn3act3CTR6detail3Act12GetErrorCodeEPjNS_6ResultE
  250.         STMFD   SP!, {R4-R6,LR}
  251.         MOV R5, R0
  252.         MRC p15, 0, R4,c13,c0, 3
  253.         LDR R0, =0x20040
  254.         ADD R4, R4, #0x80
  255.         STRD    R0, [R4]
  256.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  257.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  258.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  259.         ANDS    R1, R0, #0x80000000
  260.         BMI locret_1E0
  261.         LDR R0, [R4,#8]
  262.         STR R0, [R5]
  263.         LDR R0, [R4,#4]
  264.  
  265. locret_1E0              ; CODE XREF: nn::act::CTR::detail::Act::GetErrorCode(uint *,nn::Result)+28j
  266.         LDMFD   SP!, {R4-R6,PC}
  267. ; End of function nn::act::CTR::detail::Act::GetErrorCode(uint *,nn::Result)
  268.  
  269. ; ---------------------------------------------------------------------------
  270. dword_1E4   DCD 0x20040     ; DATA XREF: nn::act::CTR::detail::Act::GetErrorCode(uint *,nn::Result)+Cr
  271. off_1E8     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  272.                     ; DATA XREF: nn::act::CTR::detail::Act::GetErrorCode(uint *,nn::Result)+18r
  273. ; i._ZN2nn3act3CTR6detail3Act12GetErrorCodeEPjNS_6ResultE ends ; nn::act::CTR::detail::Act::s_Session
  274.  
  275. ; ===========================================================================
  276.  
  277. ; Segment type: Pure code
  278.         AREA i._ZN2nn3act3CTR6detail3Act13GetCommonInfoEPhjj, CODE
  279.         ; ORG 0x1EC
  280.         CODE32
  281.  
  282. ; =============== S U B R O U T I N E =======================================
  283.  
  284.  
  285. ; _DWORD __fastcall nn::act::CTR::detail::Act::GetCommonInfo(nn::act::CTR::detail::Act *__hidden this, unsigned __int8 *, unsigned int, unsigned int)
  286.         EXPORT _ZN2nn3act3CTR6detail3Act13GetCommonInfoEPhjj
  287. _ZN2nn3act3CTR6detail3Act13GetCommonInfoEPhjj
  288.         STMFD   SP!, {R4,LR}
  289.         MRC p15, 0, R4,c13,c0, 3
  290.         LDR R3, =0x50082
  291.         STR R3, [R4,#0x80]!
  292.         ADD R12, R4, #4
  293.         STMIA   R12, {R1,R2}
  294.         MOV R2, #0xC
  295.         STR R0, [R4,#0x10]
  296.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  297.         ORR R1, R2, R1,LSL#4
  298.         STR R1, [R4,#0xC]
  299.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  300.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  301.         AND R1, R0, #0x80000000
  302.         CMP R1, #0
  303.         LDRGE   R0, [R4,#4]
  304.         LDMFD   SP!, {R4,PC}
  305. ; End of function nn::act::CTR::detail::Act::GetCommonInfo(uchar *,uint,uint)
  306.  
  307. ; ---------------------------------------------------------------------------
  308. dword_230   DCD 0x50082     ; DATA XREF: nn::act::CTR::detail::Act::GetCommonInfo(uchar *,uint,uint)+8r
  309. off_234     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  310.                     ; DATA XREF: nn::act::CTR::detail::Act::GetCommonInfo(uchar *,uint,uint)+20r
  311. ; i._ZN2nn3act3CTR6detail3Act13GetCommonInfoEPhjj ends ; nn::act::CTR::detail::Act::s_Session
  312.  
  313. ; ===========================================================================
  314.  
  315. ; Segment type: Pure code
  316.         AREA i._ZN2nn3act3CTR6detail3Act14GetAccountInfoEhPhjj, CODE
  317.         ; ORG 0x238
  318.         CODE32
  319.  
  320. ; =============== S U B R O U T I N E =======================================
  321.  
  322.  
  323. ; _DWORD __fastcall nn::act::CTR::detail::Act::GetAccountInfo(nn::act::CTR::detail::Act *__hidden this, unsigned __int8, unsigned __int8 *, unsigned int, unsigned int)
  324.         EXPORT _ZN2nn3act3CTR6detail3Act14GetAccountInfoEhPhjj
  325. _ZN2nn3act3CTR6detail3Act14GetAccountInfoEhPhjj
  326.  
  327. var_18      = -0x18
  328.  
  329.         STMFD   SP!, {R0-R4,LR}
  330.         MRC p15, 0, R4,c13,c0, 3
  331.         LDR R0, =0x600C2
  332.         STR R0, [R4,#0x80]!
  333.         LDRB    R0, [SP,#0x18+var_18]
  334.         STRB    R0, [R4,#4]
  335.         MOV R0, #0xC
  336.         STRD    R2, [R4,#8]
  337.         ORR R0, R0, R2,LSL#4
  338.         STRD    R0, [R4,#0x10]
  339.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  340.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  341.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  342.         AND R1, R0, #0x80000000
  343.         CMP R1, #0
  344.         LDRGE   R0, [R4,#4]
  345.         ADD SP, SP, #0x10
  346.         LDMFD   SP!, {R4,PC}
  347. ; End of function nn::act::CTR::detail::Act::GetAccountInfo(uchar,uchar *,uint,uint)
  348.  
  349. ; ---------------------------------------------------------------------------
  350. dword_280   DCD 0x600C2     ; DATA XREF: nn::act::CTR::detail::Act::GetAccountInfo(uchar,uchar *,uint,uint)+8r
  351. off_284     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  352.                     ; DATA XREF: nn::act::CTR::detail::Act::GetAccountInfo(uchar,uchar *,uint,uint)+28r
  353. ; i._ZN2nn3act3CTR6detail3Act14GetAccountInfoEhPhjj ends ; nn::act::CTR::detail::Act::s_Session
  354.  
  355. ; ===========================================================================
  356.  
  357. ; Segment type: Pure code
  358.         AREA i._ZN2nn3act3CTR6detail3Act14GetAsyncResultEPhPjjj, CODE
  359.         ; ORG 0x288
  360.         CODE32
  361.  
  362. ; =============== S U B R O U T I N E =======================================
  363.  
  364.  
  365. ; _DWORD __fastcall nn::act::CTR::detail::Act::GetAsyncResult(nn::act::CTR::detail::Act *__hidden this, unsigned __int8 *, unsigned int *, unsigned int, unsigned int)
  366.         EXPORT _ZN2nn3act3CTR6detail3Act14GetAsyncResultEPhPjjj
  367. _ZN2nn3act3CTR6detail3Act14GetAsyncResultEPhPjjj
  368.         STMFD   SP!, {R4-R6,LR}
  369.         MOV R5, R1
  370.         MRC p15, 0, R4,c13,c0, 3
  371.         LDR R1, =0x70082
  372.         ADD R4, R4, #0x80
  373.         STMIA   R4, {R1-R3}
  374.         MOV R1, #0xC
  375.         STR R0, [R4,#0x10]
  376.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  377.         ORR R1, R1, R2,LSL#4
  378.         STR R1, [R4,#0xC]
  379.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  380.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  381.         ANDS    R1, R0, #0x80000000
  382.         BMI locret_2D0
  383.         LDR R0, [R4,#8]
  384.         STR R0, [R5]
  385.         LDR R0, [R4,#4]
  386.  
  387. locret_2D0              ; CODE XREF: nn::act::CTR::detail::Act::GetAsyncResult(uchar *,uint *,uint,uint)+38j
  388.         LDMFD   SP!, {R4-R6,PC}
  389. ; End of function nn::act::CTR::detail::Act::GetAsyncResult(uchar *,uint *,uint,uint)
  390.  
  391. ; ---------------------------------------------------------------------------
  392. dword_2D4   DCD 0x70082     ; DATA XREF: nn::act::CTR::detail::Act::GetAsyncResult(uchar *,uint *,uint,uint)+Cr
  393. off_2D8     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  394.                     ; DATA XREF: nn::act::CTR::detail::Act::GetAsyncResult(uchar *,uint *,uint,uint)+20r
  395. ; i._ZN2nn3act3CTR6detail3Act14GetAsyncResultEPhPjjj ends ; nn::act::CTR::detail::Act::s_Session
  396.  
  397. ; ===========================================================================
  398.  
  399. ; Segment type: Pure code
  400.         AREA i._ZN2nn3act3CTR6detail3Act14SetNfsPasswordEhPKc, CODE
  401.         ; ORG 0x2DC
  402.         CODE32
  403.  
  404. ; =============== S U B R O U T I N E =======================================
  405.  
  406.  
  407. ; _DWORD __fastcall nn::act::CTR::detail::Act::SetNfsPassword(nn::act::CTR::detail::Act *__hidden this, unsigned __int8, const char *)
  408.         EXPORT _ZN2nn3act3CTR6detail3Act14SetNfsPasswordEhPKc
  409. _ZN2nn3act3CTR6detail3Act14SetNfsPasswordEhPKc
  410.  
  411. var_10      = -0x10
  412.  
  413.         STMFD   SP!, {R0,R1,R4,LR}
  414.         MRC p15, 0, R4,c13,c0, 3
  415.         LDR R0, =0x90180
  416.         STR R0, [R4,#0x80]!
  417.         LDRB    R0, [SP,#0x10+var_10]
  418.         STRB    R0, [R4,#4]
  419.         LDR R0, [R1]
  420.         STR R0, [R4,#8]
  421.         LDR R0, [R1,#4]
  422.         STR R0, [R4,#0xC]
  423.         LDR R0, [R1,#8]
  424.         STR R0, [R4,#0x10]
  425.         LDR R0, [R1,#0xC]
  426.         STR R0, [R4,#0x14]
  427.         LDRB    R0, [R1,#0x10]
  428.         STRB    R0, [R4,#0x18]
  429.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  430.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  431.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  432.         AND R1, R0, #0x80000000
  433.         CMP R1, #0
  434.         LDRGE   R0, [R4,#4]
  435.         ADD SP, SP, #8
  436.         LDMFD   SP!, {R4,PC}
  437. ; End of function nn::act::CTR::detail::Act::SetNfsPassword(uchar,char const*)
  438.  
  439. ; ---------------------------------------------------------------------------
  440. dword_33C   DCD 0x90180     ; DATA XREF: nn::act::CTR::detail::Act::SetNfsPassword(uchar,char const*)+8r
  441. off_340     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  442.                     ; DATA XREF: nn::act::CTR::detail::Act::SetNfsPassword(uchar,char const*)+40r
  443. ; i._ZN2nn3act3CTR6detail3Act14SetNfsPasswordEhPKc ends ; nn::act::CTR::detail::Act::s_Session
  444.  
  445. ; ===========================================================================
  446.  
  447. ; Segment type: Pure code
  448.         AREA i._ZN2nn3act3CTR6detail3Act15AcquireEulaListENS_6HandleEh, CODE
  449.         ; ORG 0x344
  450.         CODE32
  451.  
  452. ; =============== S U B R O U T I N E =======================================
  453.  
  454.  
  455. ; nn::act::CTR::detail::Act::AcquireEulaList(nn::Handle, unsigned char)
  456.         EXPORT _ZN2nn3act3CTR6detail3Act15AcquireEulaListENS_6HandleEh
  457. _ZN2nn3act3CTR6detail3Act15AcquireEulaListENS_6HandleEh
  458.  
  459. var_C       = -0xC
  460.  
  461.         STMFD   SP!, {R0,R1,R4,LR}
  462.         MRC p15, 0, R4,c13,c0, 3
  463.         LDR R2, =0xB0042
  464.         MOV R1, #0
  465.         STR R2, [R4,#0x80]!
  466.         LDRB    R2, [SP,#0x10+var_C]
  467.         STRB    R2, [R4,#4]
  468.         STR R0, [R4,#0xC]
  469.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  470.         STR R1, [R4,#8]
  471.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  472.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  473.         AND R1, R0, #0x80000000
  474.         CMP R1, #0
  475.         LDRGE   R0, [R4,#4]
  476.         ADD SP, SP, #8
  477.         LDMFD   SP!, {R4,PC}
  478. ; End of function nn::act::CTR::detail::Act::AcquireEulaList(nn::Handle,uchar)
  479.  
  480. ; ---------------------------------------------------------------------------
  481. dword_388   DCD 0xB0042     ; DATA XREF: nn::act::CTR::detail::Act::AcquireEulaList(nn::Handle,uchar)+8r
  482. off_38C     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  483.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireEulaList(nn::Handle,uchar)+20r
  484. ; i._ZN2nn3act3CTR6detail3Act15AcquireEulaListENS_6HandleEh ends ; nn::act::CTR::detail::Act::s_Session
  485.  
  486. ; ===========================================================================
  487.  
  488. ; Segment type: Pure code
  489.         AREA i._ZN2nn3act3CTR6detail3Act16FindSlotNoByUuidEPhPKhj, CODE
  490.         ; ORG 0x390
  491.         CODE32
  492.  
  493. ; =============== S U B R O U T I N E =======================================
  494.  
  495.  
  496. ; _DWORD __fastcall nn::act::CTR::detail::Act::FindSlotNoByUuid(nn::act::CTR::detail::Act *__hidden this, unsigned __int8 *, const unsigned __int8 *, unsigned int)
  497.         EXPORT _ZN2nn3act3CTR6detail3Act16FindSlotNoByUuidEPhPKhj
  498. _ZN2nn3act3CTR6detail3Act16FindSlotNoByUuidEPhPKhj
  499.         STMFD   SP!, {R4-R6,LR}
  500.         MOV R5, R0
  501.         MRC p15, 0, R4,c13,c0, 3
  502.         LDR R0, =0xF0140
  503.         STR R0, [R4,#0x80]!
  504.         LDR R0, [R1]
  505.         STR R0, [R4,#4]
  506.         LDR R0, [R1,#4]
  507.         STR R0, [R4,#8]
  508.         LDR R0, [R1,#8]
  509.         STR R0, [R4,#0xC]
  510.         LDR R0, [R1,#0xC]
  511.         STR R0, [R4,#0x10]
  512.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  513.         STR R2, [R4,#0x14]
  514.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  515.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  516.         ANDS    R1, R0, #0x80000000
  517.         BMI locret_3E8
  518.         LDRB    R0, [R4,#8]
  519.         STRB    R0, [R5]
  520.         LDR R0, [R4,#4]
  521.  
  522. locret_3E8              ; CODE XREF: nn::act::CTR::detail::Act::FindSlotNoByUuid(uchar *,uchar const*,uint)+48j
  523.         LDMFD   SP!, {R4-R6,PC}
  524. ; End of function nn::act::CTR::detail::Act::FindSlotNoByUuid(uchar *,uchar const*,uint)
  525.  
  526. ; ---------------------------------------------------------------------------
  527. dword_3EC   DCD 0xF0140     ; DATA XREF: nn::act::CTR::detail::Act::FindSlotNoByUuid(uchar *,uchar const*,uint)+Cr
  528. off_3F0     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  529.                     ; DATA XREF: nn::act::CTR::detail::Act::FindSlotNoByUuid(uchar *,uchar const*,uint)+34r
  530. ; i._ZN2nn3act3CTR6detail3Act16FindSlotNoByUuidEPhPKhj ends ; nn::act::CTR::detail::Act::s_Session
  531.  
  532. ; ===========================================================================
  533.  
  534. ; Segment type: Pure code
  535.         AREA i._ZN2nn3act3CTR6detail3Act17GetTransferableIdEPyhj, CODE
  536.         ; ORG 0x3F4
  537.         CODE32
  538.  
  539. ; =============== S U B R O U T I N E =======================================
  540.  
  541.  
  542. ; _DWORD __fastcall nn::act::CTR::detail::Act::GetTransferableId(nn::act::CTR::detail::Act *__hidden this, unsigned __int64 *, unsigned __int8, unsigned int)
  543.         EXPORT _ZN2nn3act3CTR6detail3Act17GetTransferableIdEPyhj
  544. _ZN2nn3act3CTR6detail3Act17GetTransferableIdEPyhj
  545.  
  546. var_14      = -0x14
  547.  
  548.         STMFD   SP!, {R0-R2,R4,R5,LR}
  549.         MOV R5, R0
  550.         MRC p15, 0, R4,c13,c0, 3
  551.         LDR R0, =0x110080
  552.         STR R0, [R4,#0x80]!
  553.         LDRB    R0, [SP,#0x18+var_14]
  554.         STRB    R0, [R4,#4]
  555.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  556.         STR R2, [R4,#8]
  557.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  558.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  559.         ANDS    R1, R0, #0x80000000
  560.         BMI loc_434
  561.         LDRD    R0, [R4,#8]
  562.         STRD    R0, [R5]
  563.         LDR R0, [R4,#4]
  564.  
  565. loc_434                 ; CODE XREF: nn::act::CTR::detail::Act::GetTransferableId(ulong long *,uchar,uint)+30j
  566.         ADD SP, SP, #0xC
  567.         LDMFD   SP!, {R4,R5,PC}
  568. ; End of function nn::act::CTR::detail::Act::GetTransferableId(ulong long *,uchar,uint)
  569.  
  570. ; ---------------------------------------------------------------------------
  571. dword_43C   DCD 0x110080        ; DATA XREF: nn::act::CTR::detail::Act::GetTransferableId(ulong long *,uchar,uint)+Cr
  572. off_440     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  573.                     ; DATA XREF: nn::act::CTR::detail::Act::GetTransferableId(ulong long *,uchar,uint)+1Cr
  574. ; i._ZN2nn3act3CTR6detail3Act17GetTransferableIdEPyhj ends ; nn::act::CTR::detail::Act::s_Session
  575.  
  576. ; ===========================================================================
  577.  
  578. ; Segment type: Pure code
  579.         AREA i._ZN2nn3act3CTR6detail3Act18AcquireAccountInfoENS_6HandleEhi, CODE
  580.         ; ORG 0x444
  581.         CODE32
  582.  
  583. ; =============== S U B R O U T I N E =======================================
  584.  
  585.  
  586. ; nn::act::CTR::detail::Act::AcquireAccountInfo(nn::Handle, unsigned char, int)
  587.         EXPORT _ZN2nn3act3CTR6detail3Act18AcquireAccountInfoENS_6HandleEhi
  588. _ZN2nn3act3CTR6detail3Act18AcquireAccountInfoENS_6HandleEhi
  589.  
  590. var_14      = -0x14
  591.  
  592.         STMFD   SP!, {R0-R2,R4,R5,LR}
  593.         MRC p15, 0, R4,c13,c0, 3
  594.         LDR R3, =0x160082
  595.         MOV R1, #0
  596.         STR R3, [R4,#0x80]!
  597.         LDRB    R3, [SP,#0x18+var_14]
  598.         STRB    R3, [R4,#4]
  599.         STR R0, [R4,#0x10]
  600.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  601.         STR R1, [R4,#0xC]
  602.         STR R2, [R4,#8]
  603.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  604.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  605.         AND R1, R0, #0x80000000
  606.         CMP R1, #0
  607.         LDRGE   R0, [R4,#4]
  608.         ADD SP, SP, #0xC
  609.         LDMFD   SP!, {R4,R5,PC}
  610. ; End of function nn::act::CTR::detail::Act::AcquireAccountInfo(nn::Handle,uchar,int)
  611.  
  612. ; ---------------------------------------------------------------------------
  613. dword_48C   DCD 0x160082        ; DATA XREF: nn::act::CTR::detail::Act::AcquireAccountInfo(nn::Handle,uchar,int)+8r
  614. off_490     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  615.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireAccountInfo(nn::Handle,uchar,int)+20r
  616. ; i._ZN2nn3act3CTR6detail3Act18AcquireAccountInfoENS_6HandleEhi ends ; nn::act::CTR::detail::Act::s_Session
  617.  
  618. ; ===========================================================================
  619.  
  620. ; Segment type: Pure code
  621.         AREA i._ZN2nn3act3CTR6detail3Act18GetNexServiceTokenEPNS0_23NexAuthenticationResultE, CODE
  622.         ; ORG 0x494
  623.         CODE32
  624.  
  625. ; =============== S U B R O U T I N E =======================================
  626.  
  627.  
  628. ; nn::act::CTR::detail::Act::GetNexServiceToken(nn::act::NexAuthenticationResult *)
  629.         EXPORT _ZN2nn3act3CTR6detail3Act18GetNexServiceTokenEPNS0_23NexAuthenticationResultE
  630. _ZN2nn3act3CTR6detail3Act18GetNexServiceTokenEPNS0_23NexAuthenticationResultE
  631.         STMFD   SP!, {R4,LR}
  632.         MRC p15, 0, R4,c13,c0, 3
  633.         LDR R1, =0x130002
  634.         STR R1, [R4,#0x80]!
  635.         LDR R1, =0x25CC
  636.         STR R0, [R4,#8]
  637.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  638.         STR R1, [R4,#4]
  639.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  640.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  641.         AND R1, R0, #0x80000000
  642.         CMP R1, #0
  643.         LDRGE   R0, [R4,#4]
  644.         LDMFD   SP!, {R4,PC}
  645. ; End of function nn::act::CTR::detail::Act::GetNexServiceToken(nn::act::NexAuthenticationResult *)
  646.  
  647. ; ---------------------------------------------------------------------------
  648. dword_4CC   DCD 0x130002        ; DATA XREF: nn::act::CTR::detail::Act::GetNexServiceToken(nn::act::NexAuthenticationResult *)+8r
  649. dword_4D0   DCD 0x25CC      ; DATA XREF: nn::act::CTR::detail::Act::GetNexServiceToken(nn::act::NexAuthenticationResult *)+10r
  650. off_4D4     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  651.                     ; DATA XREF: nn::act::CTR::detail::Act::GetNexServiceToken(nn::act::NexAuthenticationResult *)+18r
  652. ; i._ZN2nn3act3CTR6detail3Act18GetNexServiceTokenEPNS0_23NexAuthenticationResultE ends ; nn::act::CTR::detail::Act::s_Session
  653.  
  654. ; ===========================================================================
  655.  
  656. ; Segment type: Pure code
  657.         AREA i._ZN2nn3act3CTR6detail3Act19AcquireTimeZoneListENS_6HandleEhh, CODE
  658.         ; ORG 0x4D8
  659.         CODE32
  660.  
  661. ; =============== S U B R O U T I N E =======================================
  662.  
  663.  
  664. ; nn::act::CTR::detail::Act::AcquireTimeZoneList(nn::Handle, unsigned char, unsigned char)
  665.         EXPORT _ZN2nn3act3CTR6detail3Act19AcquireTimeZoneListENS_6HandleEhh
  666. _ZN2nn3act3CTR6detail3Act19AcquireTimeZoneListENS_6HandleEhh
  667.  
  668. var_14      = -0x14
  669. var_10      = -0x10
  670.  
  671.         STMFD   SP!, {R0-R2,R4,R5,LR}
  672.         MRC p15, 0, R4,c13,c0, 3
  673.         LDR R2, =0xC0082
  674.         MOV R1, #0
  675.         STR R2, [R4,#0x80]!
  676.         LDRB    R2, [SP,#0x18+var_14]
  677.         STRB    R2, [R4,#4]
  678.         LDRB    R2, [SP,#0x18+var_10]
  679.         STRB    R2, [R4,#8]
  680.         STR R0, [R4,#0x10]
  681.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  682.         STR R1, [R4,#0xC]
  683.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  684.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  685.         AND R1, R0, #0x80000000
  686.         CMP R1, #0
  687.         LDRGE   R0, [R4,#4]
  688.         ADD SP, SP, #0xC
  689.         LDMFD   SP!, {R4,R5,PC}
  690. ; End of function nn::act::CTR::detail::Act::AcquireTimeZoneList(nn::Handle,uchar,uchar)
  691.  
  692. ; ---------------------------------------------------------------------------
  693. dword_524   DCD 0xC0082     ; DATA XREF: nn::act::CTR::detail::Act::AcquireTimeZoneList(nn::Handle,uchar,uchar)+8r
  694. off_528     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  695.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireTimeZoneList(nn::Handle,uchar,uchar)+28r
  696. ; i._ZN2nn3act3CTR6detail3Act19AcquireTimeZoneListENS_6HandleEhh ends ; nn::act::CTR::detail::Act::s_Session
  697.  
  698. ; ===========================================================================
  699.  
  700. ; Segment type: Pure code
  701.         AREA i._ZN2nn3act3CTR6detail3Act21AcquireRawAccountInfoENS_6HandleEh, CODE
  702.         ; ORG 0x52C
  703.         CODE32
  704.  
  705. ; =============== S U B R O U T I N E =======================================
  706.  
  707.  
  708. ; nn::act::CTR::detail::Act::AcquireRawAccountInfo(nn::Handle, unsigned char)
  709.         EXPORT _ZN2nn3act3CTR6detail3Act21AcquireRawAccountInfoENS_6HandleEh
  710. _ZN2nn3act3CTR6detail3Act21AcquireRawAccountInfoENS_6HandleEh
  711.  
  712. var_C       = -0xC
  713.  
  714.         STMFD   SP!, {R0,R1,R4,LR}
  715.         MRC p15, 0, R4,c13,c0, 3
  716.         LDR R2, =0x1A0042
  717.         MOV R1, #0
  718.         STR R2, [R4,#0x80]!
  719.         LDRB    R2, [SP,#0x10+var_C]
  720.         STRB    R2, [R4,#4]
  721.         STR R0, [R4,#0xC]
  722.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  723.         STR R1, [R4,#8]
  724.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  725.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  726.         AND R1, R0, #0x80000000
  727.         CMP R1, #0
  728.         LDRGE   R0, [R4,#4]
  729.         ADD SP, SP, #8
  730.         LDMFD   SP!, {R4,PC}
  731. ; End of function nn::act::CTR::detail::Act::AcquireRawAccountInfo(nn::Handle,uchar)
  732.  
  733. ; ---------------------------------------------------------------------------
  734. dword_570   DCD 0x1A0042        ; DATA XREF: nn::act::CTR::detail::Act::AcquireRawAccountInfo(nn::Handle,uchar)+8r
  735. off_574     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  736.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireRawAccountInfo(nn::Handle,uchar)+20r
  737. ; i._ZN2nn3act3CTR6detail3Act21AcquireRawAccountInfoENS_6HandleEh ends ; nn::act::CTR::detail::Act::s_Session
  738.  
  739. ; ===========================================================================
  740.  
  741. ; Segment type: Pure code
  742.         AREA i._ZN2nn3act3CTR6detail3Act21GetLastResponseResultEv, CODE
  743.         ; ORG 0x578
  744.         CODE32
  745.  
  746. ; =============== S U B R O U T I N E =======================================
  747.  
  748.  
  749. ; _DWORD nn::act::CTR::detail::Act::GetLastResponseResult(nn::act::CTR::detail::Act *__hidden this)
  750.         EXPORT _ZN2nn3act3CTR6detail3Act21GetLastResponseResultEv
  751. _ZN2nn3act3CTR6detail3Act21GetLastResponseResultEv
  752.         STMFD   SP!, {R4,LR}
  753.         MRC p15, 0, R4,c13,c0, 3
  754.         MOV R0, #0x30000
  755.         STR R0, [R4,#0x80]!
  756.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  757.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  758.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  759.         AND R1, R0, #0x80000000
  760.         CMP R1, #0
  761.         LDRGE   R0, [R4,#4]
  762.         LDMFD   SP!, {R4,PC}
  763. ; End of function nn::act::CTR::detail::Act::GetLastResponseResult(void)
  764.  
  765. ; ---------------------------------------------------------------------------
  766. off_5A4     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  767.                     ; DATA XREF: nn::act::CTR::detail::Act::GetLastResponseResult(void)+10r
  768. ; i._ZN2nn3act3CTR6detail3Act21GetLastResponseResultEv ends ; nn::act::CTR::detail::Act::s_Session
  769.  
  770. ; ===========================================================================
  771.  
  772. ; Segment type: Pure code
  773.         AREA i._ZN2nn3act3CTR6detail3Act22AcquireNexServiceTokenENS_6HandleEhjbj, CODE
  774.         ; ORG 0x5A8
  775.         CODE32
  776.  
  777. ; =============== S U B R O U T I N E =======================================
  778.  
  779.  
  780. ; nn::act::CTR::detail::Act::AcquireNexServiceToken(nn::Handle, unsigned char, unsigned int, bool, unsigned int)
  781.         EXPORT _ZN2nn3act3CTR6detail3Act22AcquireNexServiceTokenENS_6HandleEhjbj
  782. _ZN2nn3act3CTR6detail3Act22AcquireNexServiceTokenENS_6HandleEhjbj
  783.  
  784. var_14      = -0x14
  785. var_C       = -0xC
  786. arg_0       =  0
  787.  
  788.         STMFD   SP!, {R0-R4,LR}
  789.         LDR R1, [SP,#0x18+arg_0]
  790.         MRC p15, 0, R4,c13,c0, 3
  791.         LDR R12, =0x120102
  792.         MOV R3, #0
  793.         STR R12, [R4,#0x80]!
  794.         LDRB    R12, [SP,#0x18+var_14]
  795.         STRB    R12, [R4,#4]
  796.         STR R2, [R4,#8]
  797.         LDRB    R2, [SP,#0x18+var_C]
  798.         ADD R12, R4, #0x10
  799.         STRB    R2, [R4,#0xC]
  800.         STR R0, [R4,#0x18]
  801.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  802.         STMIA   R12, {R1,R3}
  803.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  804.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  805.         AND R1, R0, #0x80000000
  806.         CMP R1, #0
  807.         LDRGE   R0, [R4,#4]
  808.         ADD SP, SP, #0x10
  809.         LDMFD   SP!, {R4,PC}
  810. ; End of function nn::act::CTR::detail::Act::AcquireNexServiceToken(nn::Handle,uchar,uint,bool,uint)
  811.  
  812. ; ---------------------------------------------------------------------------
  813. dword_600   DCD 0x120102        ; DATA XREF: nn::act::CTR::detail::Act::AcquireNexServiceToken(nn::Handle,uchar,uint,bool,uint)+Cr
  814. off_604     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  815.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireNexServiceToken(nn::Handle,uchar,uint,bool,uint)+34r
  816. ; i._ZN2nn3act3CTR6detail3Act22AcquireNexServiceTokenENS_6HandleEhjbj ends ; nn::act::CTR::detail::Act::s_Session
  817.  
  818. ; ===========================================================================
  819.  
  820. ; Segment type: Pure code
  821.         AREA i._ZN2nn3act3CTR6detail3Act23AcquireEulaLanguageListENS_6HandleEh, CODE
  822.         ; ORG 0x608
  823.         CODE32
  824.  
  825. ; =============== S U B R O U T I N E =======================================
  826.  
  827.  
  828. ; nn::act::CTR::detail::Act::AcquireEulaLanguageList(nn::Handle, unsigned char)
  829.         EXPORT _ZN2nn3act3CTR6detail3Act23AcquireEulaLanguageListENS_6HandleEh
  830. _ZN2nn3act3CTR6detail3Act23AcquireEulaLanguageListENS_6HandleEh
  831.  
  832. var_C       = -0xC
  833.  
  834.         STMFD   SP!, {R0,R1,R4,LR}
  835.         MRC p15, 0, R4,c13,c0, 3
  836.         LDR R2, =0x1F0042
  837.         MOV R1, #0
  838.         STR R2, [R4,#0x80]!
  839.         LDRB    R2, [SP,#0x10+var_C]
  840.         STRB    R2, [R4,#4]
  841.         STR R0, [R4,#0xC]
  842.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  843.         STR R1, [R4,#8]
  844.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  845.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  846.         AND R1, R0, #0x80000000
  847.         CMP R1, #0
  848.         LDRGE   R0, [R4,#4]
  849.         ADD SP, SP, #8
  850.         LDMFD   SP!, {R4,PC}
  851. ; End of function nn::act::CTR::detail::Act::AcquireEulaLanguageList(nn::Handle,uchar)
  852.  
  853. ; ---------------------------------------------------------------------------
  854. dword_64C   DCD 0x1F0042        ; DATA XREF: nn::act::CTR::detail::Act::AcquireEulaLanguageList(nn::Handle,uchar)+8r
  855. off_650     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  856.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireEulaLanguageList(nn::Handle,uchar)+20r
  857. ; i._ZN2nn3act3CTR6detail3Act23AcquireEulaLanguageListENS_6HandleEh ends ; nn::act::CTR::detail::Act::s_Session
  858.  
  859. ; ===========================================================================
  860.  
  861. ; Segment type: Pure code
  862.         AREA i._ZN2nn3act3CTR6detail3Act26GetIndependentServiceTokenEPc, CODE
  863.         ; ORG 0x654
  864.         CODE32
  865.  
  866. ; =============== S U B R O U T I N E =======================================
  867.  
  868.  
  869. ; _DWORD __fastcall nn::act::CTR::detail::Act::GetIndependentServiceToken(nn::act::CTR::detail::Act *__hidden this, char *)
  870.         EXPORT _ZN2nn3act3CTR6detail3Act26GetIndependentServiceTokenEPc
  871. _ZN2nn3act3CTR6detail3Act26GetIndependentServiceTokenEPc
  872.         STMFD   SP!, {R4,LR}
  873.         MRC p15, 0, R4,c13,c0, 3
  874.         LDR R1, =0x150002
  875.         STR R1, [R4,#0x80]!
  876.         LDR R1, =0x201C
  877.         STR R0, [R4,#8]
  878.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  879.         STR R1, [R4,#4]
  880.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  881.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  882.         AND R1, R0, #0x80000000
  883.         CMP R1, #0
  884.         LDRGE   R0, [R4,#4]
  885.         LDMFD   SP!, {R4,PC}
  886. ; End of function nn::act::CTR::detail::Act::GetIndependentServiceToken(char *)
  887.  
  888. ; ---------------------------------------------------------------------------
  889. dword_68C   DCD 0x150002        ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceToken(char *)+8r
  890. dword_690   DCD 0x201C      ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceToken(char *)+10r
  891. off_694     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  892.                     ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceToken(char *)+18r
  893. ; i._ZN2nn3act3CTR6detail3Act26GetIndependentServiceTokenEPc ends ; nn::act::CTR::detail::Act::s_Session
  894.  
  895. ; ===========================================================================
  896.  
  897. ; Segment type: Pure code
  898.         AREA i._ZN2nn3act3CTR6detail3Act27AcquireOtherTypePrincipalIdENS_6HandleEPKjtj, CODE
  899.         ; ORG 0x698
  900.         CODE32
  901.  
  902. ; =============== S U B R O U T I N E =======================================
  903.  
  904.  
  905. ; nn::act::CTR::detail::Act::AcquireOtherTypePrincipalId(nn::Handle, unsigned int const*, unsigned short, unsigned int)
  906.         EXPORT _ZN2nn3act3CTR6detail3Act27AcquireOtherTypePrincipalIdENS_6HandleEPKjtj
  907. _ZN2nn3act3CTR6detail3Act27AcquireOtherTypePrincipalIdENS_6HandleEPKjtj
  908.  
  909. var_10      = -0x10
  910.  
  911.         STMFD   SP!, {R0-R4,LR}
  912.         MRC p15, 0, R4,c13,c0, 3
  913.         LDR R12, =0x1B0084
  914.         MOV R2, #0
  915.         STR R12, [R4,#0x80]!
  916.         LDRH    R12, [SP,#0x18+var_10]
  917.         STRH    R12, [R4,#4]
  918.         STR R0, [R4,#0x10]
  919.         ORR R0, R2, R12,LSL#16
  920.         STR R2, [R4,#0xC]
  921.         ORR R0, R0, #2
  922.         STR R3, [R4,#8]
  923.         STRD    R0, [R4,#0x14]
  924.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  925.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  926.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  927.         AND R1, R0, #0x80000000
  928.         CMP R1, #0
  929.         LDRGE   R0, [R4,#4]
  930.         ADD SP, SP, #0x10
  931.         LDMFD   SP!, {R4,PC}
  932. ; End of function nn::act::CTR::detail::Act::AcquireOtherTypePrincipalId(nn::Handle,uint const*,ushort,uint)
  933.  
  934. ; ---------------------------------------------------------------------------
  935. dword_6EC   DCD 0x1B0084        ; DATA XREF: nn::act::CTR::detail::Act::AcquireOtherTypePrincipalId(nn::Handle,uint const*,ushort,uint)+8r
  936. off_6F0     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  937.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireOtherTypePrincipalId(nn::Handle,uint const*,ushort,uint)+34r
  938. ; i._ZN2nn3act3CTR6detail3Act27AcquireOtherTypePrincipalIdENS_6HandleEPKjtj ends ; nn::act::CTR::detail::Act::s_Session
  939.  
  940. ; ===========================================================================
  941.  
  942. ; Segment type: Pure code
  943.         AREA i._ZN2nn3act3CTR6detail3Act28GetIndependentServiceTokenV2EPNS0_14ServiceTokenV2E, CODE
  944.         ; ORG 0x6F4
  945.         CODE32
  946.  
  947. ; =============== S U B R O U T I N E =======================================
  948.  
  949.  
  950. ; nn::act::CTR::detail::Act::GetIndependentServiceTokenV2(nn::act::ServiceTokenV2 *)
  951.         EXPORT _ZN2nn3act3CTR6detail3Act28GetIndependentServiceTokenV2EPNS0_14ServiceTokenV2E
  952. _ZN2nn3act3CTR6detail3Act28GetIndependentServiceTokenV2EPNS0_14ServiceTokenV2E
  953.         STMFD   SP!, {R4,LR}
  954.         MRC p15, 0, R4,c13,c0, 3
  955.         LDR R1, =0x210002
  956.         STR R1, [R4,#0x80]!
  957.         LDR R1, =0x376C
  958.         STR R0, [R4,#8]
  959.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  960.         STR R1, [R4,#4]
  961.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  962.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  963.         AND R1, R0, #0x80000000
  964.         CMP R1, #0
  965.         LDRGE   R0, [R4,#4]
  966.         LDMFD   SP!, {R4,PC}
  967. ; End of function nn::act::CTR::detail::Act::GetIndependentServiceTokenV2(nn::act::ServiceTokenV2 *)
  968.  
  969. ; ---------------------------------------------------------------------------
  970. dword_72C   DCD 0x210002        ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceTokenV2(nn::act::ServiceTokenV2 *)+8r
  971. dword_730   DCD 0x376C      ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceTokenV2(nn::act::ServiceTokenV2 *)+10r
  972. off_734     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  973.                     ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceTokenV2(nn::act::ServiceTokenV2 *)+18r
  974. ; i._ZN2nn3act3CTR6detail3Act28GetIndependentServiceTokenV2EPNS0_14ServiceTokenV2E ends ; nn::act::CTR::detail::Act::s_Session
  975.  
  976. ; ===========================================================================
  977.  
  978. ; Segment type: Pure code
  979.         AREA i._ZN2nn3act3CTR6detail3Act28SetApplicationUpdateRequiredEb, CODE
  980.         ; ORG 0x738
  981.         CODE32
  982.  
  983. ; =============== S U B R O U T I N E =======================================
  984.  
  985.  
  986. ; _DWORD __fastcall nn::act::CTR::detail::Act::SetApplicationUpdateRequired(nn::act::CTR::detail::Act *__hidden this, bool)
  987.         EXPORT _ZN2nn3act3CTR6detail3Act28SetApplicationUpdateRequiredEb
  988. _ZN2nn3act3CTR6detail3Act28SetApplicationUpdateRequiredEb
  989.  
  990. var_10      = -0x10
  991.  
  992.         STMFD   SP!, {R0,R4,R5,LR}
  993.         MRC p15, 0, R4,c13,c0, 3
  994.         LDR R0, =0xA0040
  995.         STR R0, [R4,#0x80]!
  996.         LDRB    R0, [SP,#0x10+var_10]
  997.         STRB    R0, [R4,#4]
  998.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  999.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1000.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1001.         AND R1, R0, #0x80000000
  1002.         CMP R1, #0
  1003.         LDRGE   R0, [R4,#4]
  1004.         LDMFD   SP!, {R3-R5,PC}
  1005. ; End of function nn::act::CTR::detail::Act::SetApplicationUpdateRequired(bool)
  1006.  
  1007. ; ---------------------------------------------------------------------------
  1008. dword_76C   DCD 0xA0040     ; DATA XREF: nn::act::CTR::detail::Act::SetApplicationUpdateRequired(bool)+8r
  1009. off_770     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1010.                     ; DATA XREF: nn::act::CTR::detail::Act::SetApplicationUpdateRequired(bool)+18r
  1011. ; i._ZN2nn3act3CTR6detail3Act28SetApplicationUpdateRequiredEb ends ; nn::act::CTR::detail::Act::s_Session
  1012.  
  1013. ; ===========================================================================
  1014.  
  1015. ; Segment type: Pure code
  1016.         AREA i._ZN2nn3act3CTR6detail3Act29AcquireAccountIdByPrincipalIdENS_6HandleEPKjtj, CODE
  1017.         ; ORG 0x774
  1018.         CODE32
  1019.  
  1020. ; =============== S U B R O U T I N E =======================================
  1021.  
  1022.  
  1023. ; nn::act::CTR::detail::Act::AcquireAccountIdByPrincipalId(nn::Handle, unsigned int const*, unsigned short, unsigned int)
  1024.         EXPORT _ZN2nn3act3CTR6detail3Act29AcquireAccountIdByPrincipalIdENS_6HandleEPKjtj
  1025. _ZN2nn3act3CTR6detail3Act29AcquireAccountIdByPrincipalIdENS_6HandleEPKjtj
  1026.  
  1027. var_10      = -0x10
  1028.  
  1029.         STMFD   SP!, {R0-R4,LR}
  1030.         MRC p15, 0, R4,c13,c0, 3
  1031.         LDR R12, =0x170084
  1032.         MOV R2, #0
  1033.         STR R12, [R4,#0x80]!
  1034.         LDRH    R12, [SP,#0x18+var_10]
  1035.         STRH    R12, [R4,#4]
  1036.         STR R0, [R4,#0x10]
  1037.         ORR R0, R2, R12,LSL#16
  1038.         STR R2, [R4,#0xC]
  1039.         ORR R0, R0, #2
  1040.         STR R3, [R4,#8]
  1041.         STRD    R0, [R4,#0x14]
  1042.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1043.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1044.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1045.         AND R1, R0, #0x80000000
  1046.         CMP R1, #0
  1047.         LDRGE   R0, [R4,#4]
  1048.         ADD SP, SP, #0x10
  1049.         LDMFD   SP!, {R4,PC}
  1050. ; End of function nn::act::CTR::detail::Act::AcquireAccountIdByPrincipalId(nn::Handle,uint const*,ushort,uint)
  1051.  
  1052. ; ---------------------------------------------------------------------------
  1053. dword_7C8   DCD 0x170084        ; DATA XREF: nn::act::CTR::detail::Act::AcquireAccountIdByPrincipalId(nn::Handle,uint const*,ushort,uint)+8r
  1054. off_7CC     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1055.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireAccountIdByPrincipalId(nn::Handle,uint const*,ushort,uint)+34r
  1056. ; i._ZN2nn3act3CTR6detail3Act29AcquireAccountIdByPrincipalIdENS_6HandleEPKjtj ends ; nn::act::CTR::detail::Act::s_Session
  1057.  
  1058. ; ===========================================================================
  1059.  
  1060. ; Segment type: Pure code
  1061.         AREA i._ZN2nn3act3CTR6detail3Act29AcquirePrincipalIdByAccountIdENS_6HandleEPKct, CODE
  1062.         ; ORG 0x7D0
  1063.         CODE32
  1064.  
  1065. ; =============== S U B R O U T I N E =======================================
  1066.  
  1067.  
  1068. ; nn::act::CTR::detail::Act::AcquirePrincipalIdByAccountId(nn::Handle, char const*, unsigned short)
  1069.         EXPORT _ZN2nn3act3CTR6detail3Act29AcquirePrincipalIdByAccountIdENS_6HandleEPKct
  1070. _ZN2nn3act3CTR6detail3Act29AcquirePrincipalIdByAccountIdENS_6HandleEPKct
  1071.  
  1072. var_10      = -0x10
  1073.  
  1074.         STMFD   SP!, {R0-R2,R4,R5,LR}
  1075.         MRC p15, 0, R4,c13,c0, 3
  1076.         LDR R2, =0x180044
  1077.         MOV R3, #0
  1078.         STR R2, [R4,#0x80]!
  1079.         LDRH    R2, [SP,#0x18+var_10]
  1080.         STRH    R2, [R4,#4]
  1081.         STR R0, [R4,#0xC]
  1082.         MOV R0, #0x400
  1083.         ORR R0, R0, R2,LSL#14
  1084.         ORR R0, R0, #2
  1085.         STR R3, [R4,#8]
  1086.         STRD    R0, [R4,#0x10]
  1087.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1088.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1089.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1090.         AND R1, R0, #0x80000000
  1091.         CMP R1, #0
  1092.         LDRGE   R0, [R4,#4]
  1093.         ADD SP, SP, #0xC
  1094.         LDMFD   SP!, {R4,R5,PC}
  1095. ; End of function nn::act::CTR::detail::Act::AcquirePrincipalIdByAccountId(nn::Handle,char const*,ushort)
  1096.  
  1097. ; ---------------------------------------------------------------------------
  1098. dword_824   DCD 0x180044        ; DATA XREF: nn::act::CTR::detail::Act::AcquirePrincipalIdByAccountId(nn::Handle,char const*,ushort)+8r
  1099. off_828     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1100.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquirePrincipalIdByAccountId(nn::Handle,char const*,ushort)+34r
  1101. ; i._ZN2nn3act3CTR6detail3Act29AcquirePrincipalIdByAccountIdENS_6HandleEPKct ends ; nn::act::CTR::detail::Act::s_Session
  1102.  
  1103. ; ===========================================================================
  1104.  
  1105. ; Segment type: Pure code
  1106.         AREA i._ZN2nn3act3CTR6detail3Act30AcquireIndependentServiceTokenENS_6HandleEhPKcjbbj, CODE
  1107.         ; ORG 0x82C
  1108.         CODE32
  1109.  
  1110. ; =============== S U B R O U T I N E =======================================
  1111.  
  1112.  
  1113. ; nn::act::CTR::detail::Act::AcquireIndependentServiceToken(nn::Handle, unsigned char, char const*, unsigned int, bool, bool, unsigned int)
  1114.         EXPORT _ZN2nn3act3CTR6detail3Act30AcquireIndependentServiceTokenENS_6HandleEhPKcjbbj
  1115. _ZN2nn3act3CTR6detail3Act30AcquireIndependentServiceTokenENS_6HandleEhPKcjbbj
  1116.  
  1117. var_24      = -0x24
  1118. arg_0       =  0
  1119. arg_4       =  4
  1120. arg_8       =  8
  1121.  
  1122.         STMFD   SP!, {R0-R8,LR}
  1123.         MOV R1, R2
  1124.         MOV R6, R3
  1125.         MOV R8, R0
  1126.         LDR R5, [SP,#0x28+arg_8]
  1127.         MRC p15, 0, R4,c13,c0, 3
  1128.         LDR R0, =0x140382
  1129.         MOV R7, #0
  1130.         MOV R2, #0x21 ; '!'
  1131.         STR R0, [R4,#0x80]!
  1132.         LDRB    R0, [SP,#0x28+var_24]
  1133.         STRB    R0, [R4,#4]
  1134.         ADD R0, R4, #8
  1135.         BL  __aeabi_memcpy
  1136.         STR R6, [R4,#0x2C]
  1137.         LDRB    R0, [SP,#0x28+arg_0]
  1138.         ADD R2, R4, #0x38
  1139.         STRB    R0, [R4,#0x30]
  1140.         LDRB    R0, [SP,#0x28+arg_4]
  1141.         STRB    R0, [R4,#0x34]
  1142.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1143.         STMIA   R2, {R5,R7,R8}
  1144.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1145.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1146.         AND R1, R0, #0x80000000
  1147.         CMP R1, #0
  1148.         LDRGE   R0, [R4,#4]
  1149.         ADD SP, SP, #0x10
  1150.         LDMFD   SP!, {R4-R8,PC}
  1151. ; End of function nn::act::CTR::detail::Act::AcquireIndependentServiceToken(nn::Handle,uchar,char const*,uint,bool,bool,uint)
  1152.  
  1153. ; ---------------------------------------------------------------------------
  1154. dword_8A0   DCD 0x140382        ; DATA XREF: nn::act::CTR::detail::Act::AcquireIndependentServiceToken(nn::Handle,uchar,char const*,uint,bool,bool,uint)+18r
  1155. off_8A4     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1156.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireIndependentServiceToken(nn::Handle,uchar,char const*,uint,bool,bool,uint)+50r
  1157. ; i._ZN2nn3act3CTR6detail3Act30AcquireIndependentServiceTokenENS_6HandleEhPKcjbbj ends ; nn::act::CTR::detail::Act::s_Session
  1158.  
  1159. ; ===========================================================================
  1160.  
  1161. ; Segment type: Pure code
  1162.         AREA i._ZN2nn3act3CTR6detail3Act30InquireMailAddressAvailabilityENS_6HandleEPKc, CODE
  1163.         ; ORG 0x8A8
  1164.         CODE32
  1165.  
  1166. ; =============== S U B R O U T I N E =======================================
  1167.  
  1168.  
  1169. ; nn::act::CTR::detail::Act::InquireMailAddressAvailability(nn::Handle, char const*)
  1170.         EXPORT _ZN2nn3act3CTR6detail3Act30InquireMailAddressAvailabilityENS_6HandleEPKc
  1171. _ZN2nn3act3CTR6detail3Act30InquireMailAddressAvailabilityENS_6HandleEPKc
  1172.         STMFD   SP!, {R4,LR}
  1173.         MRC p15, 0, R4,c13,c0, 3
  1174.         ADD R4, R4, #0x80
  1175.         LDR R2, =0x1D0004
  1176.         STR R0, [R4,#8]
  1177.         LDR R0, =0x101A
  1178.         MOV R3, #0
  1179.         STRD    R0, [R4,#0xC]
  1180.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1181.         STRD    R2, [R4]
  1182.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1183.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1184.         AND R1, R0, #0x80000000
  1185.         CMP R1, #0
  1186.         LDRGE   R0, [R4,#4]
  1187.         LDMFD   SP!, {R4,PC}
  1188. ; End of function nn::act::CTR::detail::Act::InquireMailAddressAvailability(nn::Handle,char const*)
  1189.  
  1190. ; ---------------------------------------------------------------------------
  1191. dword_8E8   DCD 0x1D0004        ; DATA XREF: nn::act::CTR::detail::Act::InquireMailAddressAvailability(nn::Handle,char const*)+Cr
  1192. dword_8EC   DCD 0x101A      ; DATA XREF: nn::act::CTR::detail::Act::InquireMailAddressAvailability(nn::Handle,char const*)+14r
  1193. off_8F0     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1194.                     ; DATA XREF: nn::act::CTR::detail::Act::InquireMailAddressAvailability(nn::Handle,char const*)+20r
  1195. ; i._ZN2nn3act3CTR6detail3Act30InquireMailAddressAvailabilityENS_6HandleEPKc ends ; nn::act::CTR::detail::Act::s_Session
  1196.  
  1197. ; ===========================================================================
  1198.  
  1199. ; Segment type: Pure code
  1200.         AREA i._ZN2nn3act3CTR6detail3Act31GetIndependentServiceTokenCacheEPchPKcjbb, CODE
  1201.         ; ORG 0x8F4
  1202.         CODE32
  1203.  
  1204. ; =============== S U B R O U T I N E =======================================
  1205.  
  1206.  
  1207. ; _DWORD __fastcall nn::act::CTR::detail::Act::GetIndependentServiceTokenCache(nn::act::CTR::detail::Act *this, char *, unsigned __int8, const char *, unsigned int, bool, bool)
  1208.         EXPORT _ZN2nn3act3CTR6detail3Act31GetIndependentServiceTokenCacheEPchPKcjbb
  1209. _ZN2nn3act3CTR6detail3Act31GetIndependentServiceTokenCacheEPchPKcjbb
  1210.  
  1211. var_1C      = -0x1C
  1212. arg_0       =  0
  1213. arg_4       =  4
  1214.  
  1215.         STMFD   SP!, {R0-R6,LR}
  1216.         MOV R1, R2
  1217.         MOV R5, R0
  1218.         MOV R6, R3
  1219.         MRC p15, 0, R4,c13,c0, 3
  1220.         LDR R0, =0x1C0342
  1221.         MOV R2, #0x21 ; '!'
  1222.         STR R0, [R4,#0x80]!
  1223.         LDRB    R0, [SP,#0x20+var_1C]
  1224.         STRB    R0, [R4,#4]
  1225.         ADD R0, R4, #8
  1226.         BL  __aeabi_memcpy
  1227.         STR R6, [R4,#0x2C]
  1228.         LDRB    R0, [SP,#0x20+arg_0]
  1229.         ADD R2, R4, #0x38
  1230.         STRB    R0, [R4,#0x30]
  1231.         LDRB    R0, [SP,#0x20+arg_4]
  1232.         STRB    R0, [R4,#0x34]
  1233.         LDR R0, =0x201C
  1234.         STMIA   R2, {R0,R5}
  1235.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1236.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1237.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1238.         AND R1, R0, #0x80000000
  1239.         CMP R1, #0
  1240.         LDRGE   R0, [R4,#4]
  1241.         ADD SP, SP, #0x10
  1242.         LDMFD   SP!, {R4-R6,PC}
  1243. ; End of function nn::act::CTR::detail::Act::GetIndependentServiceTokenCache(char *,uchar,char const*,uint,bool,bool)
  1244.  
  1245. ; ---------------------------------------------------------------------------
  1246. dword_964   DCD 0x1C0342        ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceTokenCache(char *,uchar,char const*,uint,bool,bool)+14r
  1247. dword_968   DCD 0x201C      ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceTokenCache(char *,uchar,char const*,uint,bool,bool)+48r
  1248. off_96C     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1249.                     ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceTokenCache(char *,uchar,char const*,uint,bool,bool)+50r
  1250. ; i._ZN2nn3act3CTR6detail3Act31GetIndependentServiceTokenCacheEPchPKcjbb ends ; nn::act::CTR::detail::Act::s_Session
  1251.  
  1252. ; ===========================================================================
  1253.  
  1254. ; Segment type: Pure code
  1255.         AREA i._ZN2nn3act3CTR6detail3Act32AcquireIndependentServiceTokenV2ENS_6HandleEhPKcjbbj, CODE
  1256.         ; ORG 0x970
  1257.         CODE32
  1258.  
  1259. ; =============== S U B R O U T I N E =======================================
  1260.  
  1261.  
  1262. ; nn::act::CTR::detail::Act::AcquireIndependentServiceTokenV2(nn::Handle, unsigned char, char const*, unsigned int, bool, bool, unsigned int)
  1263.         EXPORT _ZN2nn3act3CTR6detail3Act32AcquireIndependentServiceTokenV2ENS_6HandleEhPKcjbbj
  1264. _ZN2nn3act3CTR6detail3Act32AcquireIndependentServiceTokenV2ENS_6HandleEhPKcjbbj
  1265.  
  1266. var_24      = -0x24
  1267. arg_0       =  0
  1268. arg_4       =  4
  1269. arg_8       =  8
  1270.  
  1271.         STMFD   SP!, {R0-R8,LR}
  1272.         MOV R1, R2
  1273.         MOV R6, R3
  1274.         MOV R8, R0
  1275.         LDR R5, [SP,#0x28+arg_8]
  1276.         MRC p15, 0, R4,c13,c0, 3
  1277.         LDR R0, =0x200382
  1278.         MOV R7, #0
  1279.         MOV R2, #0x21 ; '!'
  1280.         STR R0, [R4,#0x80]!
  1281.         LDRB    R0, [SP,#0x28+var_24]
  1282.         STRB    R0, [R4,#4]
  1283.         ADD R0, R4, #8
  1284.         BL  __aeabi_memcpy
  1285.         STR R6, [R4,#0x2C]
  1286.         LDRB    R0, [SP,#0x28+arg_0]
  1287.         ADD R2, R4, #0x38
  1288.         STRB    R0, [R4,#0x30]
  1289.         LDRB    R0, [SP,#0x28+arg_4]
  1290.         STRB    R0, [R4,#0x34]
  1291.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1292.         STMIA   R2, {R5,R7,R8}
  1293.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1294.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1295.         AND R1, R0, #0x80000000
  1296.         CMP R1, #0
  1297.         LDRGE   R0, [R4,#4]
  1298.         ADD SP, SP, #0x10
  1299.         LDMFD   SP!, {R4-R8,PC}
  1300. ; End of function nn::act::CTR::detail::Act::AcquireIndependentServiceTokenV2(nn::Handle,uchar,char const*,uint,bool,bool,uint)
  1301.  
  1302. ; ---------------------------------------------------------------------------
  1303. dword_9E4   DCD 0x200382        ; DATA XREF: nn::act::CTR::detail::Act::AcquireIndependentServiceTokenV2(nn::Handle,uchar,char const*,uint,bool,bool,uint)+18r
  1304. off_9E8     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1305.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireIndependentServiceTokenV2(nn::Handle,uchar,char const*,uint,bool,bool,uint)+50r
  1306. ; i._ZN2nn3act3CTR6detail3Act32AcquireIndependentServiceTokenV2ENS_6HandleEhPKcjbbj ends ; nn::act::CTR::detail::Act::s_Session
  1307.  
  1308. ; ===========================================================================
  1309.  
  1310. ; Segment type: Pure code
  1311.         AREA i._ZN2nn3act3CTR6detail3Act33GetIndependentServiceTokenV2CacheEPNS0_14ServiceTokenV2EhPKcjbb, CODE
  1312.         ; ORG 0x9EC
  1313.         CODE32
  1314.  
  1315. ; =============== S U B R O U T I N E =======================================
  1316.  
  1317.  
  1318. ; nn::act::CTR::detail::Act::GetIndependentServiceTokenV2Cache(nn::act::ServiceTokenV2 *, unsigned char, char const*, unsigned int, bool, bool)
  1319.         EXPORT _ZN2nn3act3CTR6detail3Act33GetIndependentServiceTokenV2CacheEPNS0_14ServiceTokenV2EhPKcjbb
  1320. _ZN2nn3act3CTR6detail3Act33GetIndependentServiceTokenV2CacheEPNS0_14ServiceTokenV2EhPKcjbb
  1321.  
  1322. var_1C      = -0x1C
  1323. arg_0       =  0
  1324. arg_4       =  4
  1325.  
  1326.         STMFD   SP!, {R0-R6,LR}
  1327.         MOV R1, R2
  1328.         MOV R5, R0
  1329.         MOV R6, R3
  1330.         MRC p15, 0, R4,c13,c0, 3
  1331.         LDR R0, =0x220342
  1332.         MOV R2, #0x21 ; '!'
  1333.         STR R0, [R4,#0x80]!
  1334.         LDRB    R0, [SP,#0x20+var_1C]
  1335.         STRB    R0, [R4,#4]
  1336.         ADD R0, R4, #8
  1337.         BL  __aeabi_memcpy
  1338.         STR R6, [R4,#0x2C]
  1339.         LDRB    R0, [SP,#0x20+arg_0]
  1340.         ADD R2, R4, #0x38
  1341.         STRB    R0, [R4,#0x30]
  1342.         LDRB    R0, [SP,#0x20+arg_4]
  1343.         STRB    R0, [R4,#0x34]
  1344.         LDR R0, =0x376C
  1345.         STMIA   R2, {R0,R5}
  1346.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1347.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1348.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1349.         AND R1, R0, #0x80000000
  1350.         CMP R1, #0
  1351.         LDRGE   R0, [R4,#4]
  1352.         ADD SP, SP, #0x10
  1353.         LDMFD   SP!, {R4-R6,PC}
  1354. ; End of function nn::act::CTR::detail::Act::GetIndependentServiceTokenV2Cache(nn::act::ServiceTokenV2 *,uchar,char const*,uint,bool,bool)
  1355.  
  1356. ; ---------------------------------------------------------------------------
  1357. dword_A5C   DCD 0x220342        ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceTokenV2Cache(nn::act::ServiceTokenV2 *,uchar,char const*,uint,bool,bool)+14r
  1358. dword_A60   DCD 0x376C      ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceTokenV2Cache(nn::act::ServiceTokenV2 *,uchar,char const*,uint,bool,bool)+48r
  1359. off_A64     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1360.                     ; DATA XREF: nn::act::CTR::detail::Act::GetIndependentServiceTokenV2Cache(nn::act::ServiceTokenV2 *,uchar,char const*,uint,bool,bool)+50r
  1361. ; i._ZN2nn3act3CTR6detail3Act33GetIndependentServiceTokenV2CacheEPNS0_14ServiceTokenV2EhPKcjbb ends ; nn::act::CTR::detail::Act::s_Session
  1362.  
  1363. ; ===========================================================================
  1364.  
  1365. ; Segment type: Pure code
  1366.         AREA i._ZN2nn3act3CTR6detail3Act4SaveEv, CODE
  1367.         ; ORG 0xA68
  1368.         CODE32
  1369.  
  1370. ; =============== S U B R O U T I N E =======================================
  1371.  
  1372.  
  1373. ; _DWORD nn::act::CTR::detail::Act::Save(nn::act::CTR::detail::Act *__hidden this)
  1374.         EXPORT _ZN2nn3act3CTR6detail3Act4SaveEv
  1375. _ZN2nn3act3CTR6detail3Act4SaveEv
  1376.         STMFD   SP!, {R4,LR}
  1377.         MRC p15, 0, R4,c13,c0, 3
  1378.         MOV R0, #0x100000
  1379.         STR R0, [R4,#0x80]!
  1380.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1381.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1382.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1383.         AND R1, R0, #0x80000000
  1384.         CMP R1, #0
  1385.         LDRGE   R0, [R4,#4]
  1386.         LDMFD   SP!, {R4,PC}
  1387. ; End of function nn::act::CTR::detail::Act::Save(void)
  1388.  
  1389. ; ---------------------------------------------------------------------------
  1390. off_A94     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1391.                     ; DATA XREF: nn::act::CTR::detail::Act::Save(void)+10r
  1392. ; i._ZN2nn3act3CTR6detail3Act4SaveEv ends ; nn::act::CTR::detail::Act::s_Session
  1393.  
  1394. ; ===========================================================================
  1395.  
  1396. ; Segment type: Pure code
  1397.         AREA i._ZN2nn3act3CTR6detail3Act6CancelEv, CODE
  1398.         ; ORG 0xA98
  1399.         CODE32
  1400.  
  1401. ; =============== S U B R O U T I N E =======================================
  1402.  
  1403.  
  1404. ; _DWORD nn::act::CTR::detail::Act::Cancel(nn::act::CTR::detail::Act *__hidden this)
  1405.         EXPORT _ZN2nn3act3CTR6detail3Act6CancelEv
  1406. _ZN2nn3act3CTR6detail3Act6CancelEv
  1407.         STMFD   SP!, {R4,LR}
  1408.         MRC p15, 0, R4,c13,c0, 3
  1409.         MOV R0, #0x40000
  1410.         STR R0, [R4,#0x80]!
  1411.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1412.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1413.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1414.         AND R1, R0, #0x80000000
  1415.         CMP R1, #0
  1416.         LDRGE   R0, [R4,#4]
  1417.         LDMFD   SP!, {R4,PC}
  1418. ; End of function nn::act::CTR::detail::Act::Cancel(void)
  1419.  
  1420. ; ---------------------------------------------------------------------------
  1421. off_AC4     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1422.                     ; DATA XREF: nn::act::CTR::detail::Act::Cancel(void)+10r
  1423. ; i._ZN2nn3act3CTR6detail3Act6CancelEv ends ; nn::act::CTR::detail::Act::s_Session
  1424.  
  1425. ; ===========================================================================
  1426.  
  1427. ; Segment type: Pure code
  1428.         AREA i._ZN2nn3act3CTR6detail3Act7GetUuidEhPhj, CODE
  1429.         ; ORG 0xAC8
  1430.         CODE32
  1431.  
  1432. ; =============== S U B R O U T I N E =======================================
  1433.  
  1434.  
  1435. ; _DWORD __fastcall nn::act::CTR::detail::Act::GetUuid(nn::act::CTR::detail::Act *__hidden this, unsigned __int8, unsigned __int8 *, unsigned int)
  1436.         EXPORT _ZN2nn3act3CTR6detail3Act7GetUuidEhPhj
  1437. _ZN2nn3act3CTR6detail3Act7GetUuidEhPhj
  1438.  
  1439. var_18      = -0x18
  1440.  
  1441.         STMFD   SP!, {R0-R2,R4,R5,LR}
  1442.         MOV R5, R1
  1443.         MRC p15, 0, R4,c13,c0, 3
  1444.         LDR R0, =0xE0080
  1445.         STR R0, [R4,#0x80]!
  1446.         LDRB    R0, [SP,#0x18+var_18]
  1447.         STRB    R0, [R4,#4]
  1448.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1449.         STR R2, [R4,#8]
  1450.         LDR R0, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1451.         BL  _ZN2nn3svc15SendSyncRequestENS_6HandleE ; nn::svc::SendSyncRequest(nn::Handle)
  1452.         ANDS    R1, R0, #0x80000000
  1453.         BMI loc_B10
  1454.         MOV R0, R5
  1455.         MOV R2, #0x10
  1456.         ADD R1, R4, #8
  1457.         BL  __aeabi_memcpy
  1458.         LDR R0, [R4,#4]
  1459.  
  1460. loc_B10                 ; CODE XREF: nn::act::CTR::detail::Act::GetUuid(uchar,uchar *,uint)+30j
  1461.         ADD SP, SP, #0xC
  1462.         LDMFD   SP!, {R4,R5,PC}
  1463. ; End of function nn::act::CTR::detail::Act::GetUuid(uchar,uchar *,uint)
  1464.  
  1465. ; ---------------------------------------------------------------------------
  1466. dword_B18   DCD 0xE0080     ; DATA XREF: nn::act::CTR::detail::Act::GetUuid(uchar,uchar *,uint)+Cr
  1467. off_B1C     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1468.                     ; DATA XREF: nn::act::CTR::detail::Act::GetUuid(uchar,uchar *,uint)+1Cr
  1469. ; i._ZN2nn3act3CTR6detail3Act7GetUuidEhPhj ends ; nn::act::CTR::detail::Act::s_Session
  1470.  
  1471. ; ===========================================================================
  1472.  
  1473. ; Segment type: Pure code
  1474.         AREA i.__sti___11_act_Act_cpp, CODE
  1475.         ; ORG 0xB20
  1476.         CODE32
  1477.  
  1478. ; =============== S U B R O U T I N E =======================================
  1479.  
  1480.  
  1481. __sti___11_act_Act_cpp
  1482.         LDR R0, =_ZN2nn3act3CTR6detail3Act9s_SessionE ; nn::act::CTR::detail::Act::s_Session
  1483.         MOV R1, #0
  1484.         STR R1, [R0]    ; nn::act::CTR::detail::Act::s_Session
  1485.         BX  LR
  1486. ; End of function __sti___11_act_Act_cpp
  1487.  
  1488. ; ---------------------------------------------------------------------------
  1489. off_B30     DCD _ZN2nn3act3CTR6detail3Act9s_SessionE
  1490.                     ; DATA XREF: __sti___11_act_Act_cppr
  1491. ; i.__sti___11_act_Act_cpp ends     ; nn::act::CTR::detail::Act::s_Session
  1492.  
  1493. ; ===========================================================================
  1494.  
  1495. ; Segment type: Pure data
  1496.         AREA .data, DATA
  1497.         ; ORG 0xB34
  1498.         EXPORT _ZN2nn3act3CTR6detail3Act9s_SessionE
  1499. ; nn::act::CTR::detail::Act::s_Session
  1500. _ZN2nn3act3CTR6detail3Act9s_SessionE DCD 0
  1501.                     ; DATA XREF: nn::act::CTR::detail::Act::AcquireMii(nn::Handle,uint const*,uint)+28o
  1502.                     ; nn::act::CTR::detail::Act::AcquireMii(nn::Handle,uint const*,uint)+2Cr ...
  1503. ; .data     ends
  1504.  
  1505. ; ===========================================================================
  1506.  
  1507. ; Segment type: Pure data
  1508.         AREA .init_array, DATA, READONLY
  1509.         ; ORG 0xB38
  1510.         DCB    0
  1511.         DCB    0
  1512.         DCB    0
  1513.         DCB    0
  1514. ; .init_array   ends
  1515.  
  1516. ; ===========================================================================
  1517.  
  1518. ; Segment type: Externs
  1519. ; nn::svc::SendSyncRequest(nn::Handle)
  1520.         IMPORT _ZN2nn3svc15SendSyncRequestENS_6HandleE
  1521.                     ; CODE XREF: nn::act::CTR::detail::Act::AcquireMii(nn::Handle,uint const*,uint)+30p
  1522.                     ; nn::act::CTR::detail::Act::Initialize(uint,nn::Handle,uint)+34p ...
  1523.         IMPORT __aeabi_memcpy   ; CODE XREF: nn::act::CTR::detail::Act::GenerateUuid(uchar *,uint)+38p
  1524.                     ; nn::act::CTR::detail::Act::AcquireIndependentServiceToken(nn::Handle,uchar,char const*,uint,bool,bool,uint)+34p ...
  1525.         IMPORT Lib$$Request$$armlib, WEAK
  1526.         IMPORT Lib$$Request$$cpplib, WEAK
  1527.  
  1528. ; ===========================================================================
  1529.  
  1530. ; Segment type: Absolute symbols
  1531. BuildAttributes$$ARM_ISAv6$E$P$J$K$S$VFPv2$PE$FZ_POSZERO$PLD1$A_L22UL41UL21$X_L11$S22US41US21$IEEE1$IW$USESV6$_STKCKD$USESV7$_SHL$OTIME$EBA8$REQ8$PRES8$EABIv2 = 0
  1532.  
  1533.         END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement