Function at 0x439430
Capabilities:
Create process on windows
Get common file path
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x638
movdqa xmmword [rsp + 0x620], xmm6
mov r14, r8
mov qword [rsp + 0x118], rcx
mov r13, qword [rdx + 0x60]
mov qword [rsp + 0x140], rdx
movzx eax, byte [rdx + 0x68]
test al, al
jne 0x439484
test r13, r13
jne 0x439484
mov qword [rsp + 0x1e8], 0
xor r15d, r15d
jmp 0x43a1d3
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x130], 0
test al, al
jne 0x439704
mov qword [rsp + 0x58], r13
call sub.kernel32.dll_GetEnvironmentStringsW
test rax, rax
je 0x43ce84
lea rdi, [rsp + 0x238]
lea rbx, [rsp + 0x80]
lea r14, [rsp + 0x170]
lea r12, [rsp + 0x220]
mov qword [rsp + 0x78], rax
mov r15, rax
nop word cs:[rax + rax]
cmp word [r15], 0
je 0x4396f5
mov rbp, r15
mov rcx, 0xfffffffffffffffe
xor edx, edx
nop word [rax + rax]
mov r13, rdx
mov rax, rcx
inc rdx
add rcx, 2
cmp word [rbp + r13*2], 0
jne 0x439510
lea r15, [rdx*2]
add r15, rbp
cmp r13, 1
je 0x4394f0
test r13, r13
je 0x43cdc7
xor esi, esi
nop word cs:[rax + rax]
cmp word [rbp + rsi*2 + 2], 0x3d
je 0x439570
inc rsi
add rax, 0xfffffffffffffffe
jne 0x439550
jmp 0x4394f0
lea r8, [rsi + 1]
cmp rsi, r13
jae 0x43cddf
mov rcx, rbx
mov rdx, rbp
call fcn.00416fc0
add rsi, 2
mov r8, r13
sub r8, rsi
jb 0x43cdf9
lea rdx, [rsi*2]
add rdx, rbp
mov rcx, r14
call fcn.00416fc0
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x230], xmm1
movaps xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [rsp + 0x170]
movups xmm1, xmmword [rsp + 0x180]
movups xmmword [rdi + 0x18], xmm1
movups xmmword [rdi + 8], xmm0
movaps xmm0, xmmword [rsp + 0x220]
movaps xmm1, xmmword [rsp + 0x230]
movaps xmm2, xmmword [rsp + 0x240]
movaps xmm3, xmmword [rsp + 0x250]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xd0], xmm3
cmp byte [rsp + 0xb8], 2
je 0x4396f5
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
add rax, rsi
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], rax
mov word [rsp + 0x180], 0
mov rcx, rbx
mov rdx, r14
call fcn.0043d530
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
movdqu xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x220], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x230], rax
mov rcx, r14
lea rdx, [rsp + 0x120]
mov r8, r12
lea r9, [rsp + 0xc0]
call fcn.0043d730
cmp byte [rsp + 0x188], 2
je 0x4394f0
cmp qword [rsp + 0x178], 0
je 0x4394f0
mov r8, qword [rsp + 0x170]
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x4394f0
mov rcx, qword [rsp + 0x78]
call sub.kernel32.dll_FreeEnvironmentStringsW
mov r13, qword [rsp + 0x58]
movabs rdx, 0x3ffffffffffffffe
mov rcx, qword [rsp + 0x140]
mov rax, qword [rcx + 0x50]
mov r8, qword [rcx + 0x58]
xor esi, esi
test rax, rax
setne sil
cmove r13, rax
xor edi, edi
inc rdx
mov qword [rsp + 0x108], rdx
jmp 0x439747
xor eax, eax
mov r8, qword [rsp + 0x70]
test r13, r13
je 0x43a006
test rsi, rsi
je 0x4397a0
test rdi, rdi
jne 0x4397a0
mov esi, 1
test r8, r8
je 0x4397aa
mov rdx, r8
and rdx, 7
je 0x4397af
mov rcx, r8
and rcx, 0xfffffffffffffff8
mov rdi, rax
nop word [rax + rax]
mov rdi, qword [rdi + 0x3d8]
dec rdx
jne 0x439780
cmp r8, 8
jae 0x4397c0
jmp 0x4397fe
test rsi, rsi
jne 0x439803
jmp 0x43cd56
mov rdi, rax
jmp 0x4397fe
mov rdi, rax
mov rcx, r8
cmp r8, 8
jb 0x4397fe
nop dword [rax + rax]
mov rax, qword [rdi + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rdi, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x4397c0
xor r8d, r8d
xor eax, eax
movzx ecx, word [rdi + 0x3d2]
mov r12, rdi
mov r15, r8
cmp r8, rcx
jb 0x43984a
nop word cs:[rax + rax]
mov rcx, qword [r12 + 0x160]
test rcx, rcx
je 0x43c7ef
movzx r15d, word [r12 + 0x3d0]
inc rax
mov r12, rcx
cmp r15w, word [rcx + 0x3d2]
jae 0x439820
test rax, rax
je 0x4398e0
mov rdi, qword [r12 + r15*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x4398ce
mov rdx, rcx
and rdx, 7
je 0x439885
mov rcx, rdx
nop
mov rdi, qword [rdi + 0x3d8]
dec rcx
jne 0x439870
not rdx
add rdx, rax
mov rcx, rdx
add rax, 0xfffffffffffffffe
cmp rax, 7
jb 0x4398ce
nop
mov rax, qword [rdi + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rdi, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x439890
xor r8d, r8d
jmp 0x4398e7
lea r8, [r15 + 1]
mov rdi, r12
dec r13
imul rax, r15, 0x38
lea r14, [r12 + rax]
add r14, 0x168
shl r15, 5
cmp byte [r12 + r15 + 0x18], 2
jne 0x439960
mov rbp, qword [rsp + 0x120]
mov eax, 0
test rbp, rbp
je 0x439747
mov r12, r8
mov r9, qword [r14]
mov rax, qword [r14 + 0x10]
mov rbx, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
mov rdx, rbp
mov r8, rbx
call fcn.0043eb70
cmp qword [rsp + 0x80], 0
je 0x439b47
xor eax, eax
mov r8, r12
jmp 0x439747
mov qword [rsp + 0x60], rsi
mov rsi, qword [r14 + 0x18]
mov rbx, qword [r14 + 0x28]
test rbx, rbx
mov qword [rsp + 0x70], r8
je 0x43999e
js 0x43cd73
movzx eax, byte [0x004591b8]
mov edx, 1
mov rcx, rbx
call fcn.00446d90
mov rbp, rax
test rax, rax
jne 0x4399a3
jmp 0x43cda3
mov ebp, 1
mov rcx, rbp
mov rdx, rsi
mov r8, rbx
call sub.ntdll.dll_memcpy
movzx eax, byte [r14 + 0x30]
mov rdx, qword [r14]
mov rsi, qword [r14 + 0x10]
mov r14d, 2
test rsi, rsi
mov qword [rsp + 0x58], r13
mov byte [rsp + 0x78], al
je 0x439a20
cmp rsi, qword [rsp + 0x108]
ja 0x43cd7d
mov r13, rsi
add r13, rsi
je 0x439a20
mov qword [rsp + 0x110], rdx
movzx eax, byte [0x004591b8]
mov edx, 2
mov rcx, r13
call fcn.00446d90
test rax, rax
je 0x43cdb5
mov r14, rax
mov rdx, qword [rsp + 0x110]
jmp 0x439a23
xor r13d, r13d
add r12, r15
mov rcx, r14
mov r8, r13
call sub.ntdll.dll_memcpy
mov qword [rsp + 0x238], rbp
mov qword [rsp + 0x240], rbx
mov qword [rsp + 0x248], rbx
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0x250], al
mov qword [rsp + 0x220], r14
mov qword [rsp + 0x228], rsi
mov qword [rsp + 0x230], rsi
mov rsi, qword [r12]
mov rbx, qword [r12 + 0x10]
test rbx, rbx
je 0x439aa7
mov r13, qword [rsp + 0x58]
js 0x43cd99
movzx eax, byte [0x004591b8]
mov edx, 1
mov rcx, rbx
call fcn.00446d90
mov r14, rax
test rax, rax
jne 0x439ab2
jmp 0x43cd87
mov r14d, 1
mov r13, qword [rsp + 0x58]
mov rcx, r14
mov rdx, rsi
mov r8, rbx
call sub.ntdll.dll_memcpy
movzx eax, byte [r12 + 0x18]
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rbx
mov byte [rsp + 0xb8], al
lea rcx, [rsp + 0x170]
lea rdx, [rsp + 0x120]
lea r8, [rsp + 0x220]
lea r9, [rsp + 0xa0]
call fcn.0043d730
cmp byte [rsp + 0x188], 2
mov rsi, qword [rsp + 0x60]
je 0x439740
cmp qword [rsp + 0x178], 0
je 0x439740
mov r8, qword [rsp + 0x170]
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x439740
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
mov byte [rsp + 0x208], 0
test rdx, rdx
je 0x439d04
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x439c3e
mov r8, rcx
and r8, 7
je 0x439bae
mov rcx, r8
movzx r9d, word [rax + 0x3d2]
mov rax, qword [rax + r9*8 + 0x3d8]
dec rcx
jne 0x439b90
not r8
add r8, rdx
mov rcx, r8
add rdx, 0xfffffffffffffffe
cmp rdx, 7
jb 0x439c3e
nop dword [rax]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x439bc0
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], rcx
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x208]
call fcn.0043ecd0
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x1c0], rax
movups xmm0, xmmword [rsp + 0x260]
movaps xmmword [rsp + 0x1b0], xmm0
movdqu xmm0, xmmword [rsp + 0x220]
movups xmm1, xmmword [rsp + 0x230]
movups xmm2, xmmword [rsp + 0x240]
movups xmm3, xmmword [rsp + 0x250]
movaps xmmword [rsp + 0x1a0], xmm3
movaps xmmword [rsp + 0x190], xmm2
movaps xmmword [rsp + 0x180], xmm1
movdqa xmmword [rsp + 0x170], xmm0
mov rdx, qword [rsp + 0x278]
mov rax, qword [rsp + 0x288]
movzx ecx, word [rdx + 0x3d2]
cmp rax, rcx
jae 0x439d42
mov rcx, rdx
jmp 0x439d79
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], rcx
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x208]
call fcn.0043ecd0
jmp 0x439e93
mov r8, qword [rsp + 0x280]
nop word [rax + rax]
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x439d74
movzx eax, word [rdx + 0x3d0]
inc r8
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x439d50
jmp 0x439d79
mov rax, r8
xor ecx, ecx
imul rdx, rax, 0x38
shl rax, 5
mov r8, qword [rcx + rdx + 0x198]
mov qword [rsp + 0xd0], r8
movups xmm0, xmmword [rcx + rdx + 0x168]
movups xmm1, xmmword [rcx + rdx + 0x178]
movups xmm2, xmmword [rcx + rdx + 0x188]
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
mov r8, qword [rsp + 0x1a0]
mov qword [rcx + rdx + 0x198], r8
movaps xmm0, xmmword [rsp + 0x170]
movaps xmm1, xmmword [rsp + 0x180]
movaps xmm2, xmmword [rsp + 0x190]
movups xmmword [rcx + rdx + 0x188], xmm2
movups xmmword [rcx + rdx + 0x178], xmm1
movups xmmword [rcx + rdx + 0x168], xmm0
movups xmm0, xmmword [rcx + rax]
movups xmm1, xmmword [rcx + rax + 0x10]
lea rdx, [rsp + 0xd8]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rdx, [rsp + 0x1a8]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x270], rax
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x260], xmm0
movdqa xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movaps xmm2, xmmword [rsp + 0xc0]
movaps xmm3, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x250], xmm3
movaps xmmword [rsp + 0x240], xmm2
movaps xmmword [rsp + 0x230], xmm1
movdqa xmmword [rsp + 0x220], xmm0
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0xf0], rax
movaps xmm0, xmmword [rsp + 0x260]
movaps xmmword [rsp + 0xe0], xmm0
movdqa xmm0, xmmword [rsp + 0x220]
movaps xmm1, xmmword [rsp + 0x230]
movaps xmm2, xmmword [rsp + 0x240]
movaps xmm3, xmmword [rsp + 0x250]
movaps xmmword [rsp + 0xd0], xmm3
movaps xmmword [rsp + 0xc0], xmm2
dec qword [rsp + 0x130]
movaps xmmword [rsp + 0xb0], xmm1
movdqa xmmword [rsp + 0xa0], xmm0
cmp byte [rsp + 0x208], 0
je 0x439f46
test rbx, rbx
je 0x43ce10
mov rax, qword [rbp + 0x3d8]
mov qword [rsp + 0x120], rax
dec rbx
mov qword [rsp + 0x128], rbx
mov qword [rax + 0x160], 0
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rbp
call sub.kernel32.dll_HeapFree
cmp byte [rsp + 0xd0], 2
mov eax, 0
mov r8, r12
je 0x439747
mov rbx, rsi
mov rsi, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x78], rax
mov r14, qword [rsp + 0xe0]
movzx ebp, byte [rsp + 0xf0]
cmp qword [rsp + 0xc0], 0
je 0x439fb0
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r8, r12
test r15, r15
je 0x439fc9
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov r8, r12
mov eax, 0
cmp bpl, 2
mov rsi, rbx
je 0x439747
mov eax, 0
test r14, r14
je 0x439747
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x78]
call sub.kernel32.dll_HeapFree
mov r8, r12
xor eax, eax
jmp 0x439747
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x200], rax
movdqu xmm0, xmmword [rsp + 0x120]
movdqu xmmword [rsp + 0x1f0], xmm0
mov qword [rsp + 0x1e8], 1
movzx eax, byte [0x004591b8]
mov r13d, 4
mov ecx, 4
mov edx, 1
call fcn.00446d90
test rax, rax
je 0x43cf23
mov rsi, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], rax
mov word [rsp + 0xb0], 0
lea rcx, [rsp + 0x170]
lea rdx, [rsp + 0xa0]
call fcn.0043d530
mov qword [rsp + 0x238], rsi
mov qword [rsp + 0x240], 4
mov qword [rsp + 0x248], 4
mov byte [rsp + 0x250], 0
movdqu xmm0, xmmword [rsp + 0x170]
movdqa xmmword [rsp + 0x220], xmm0
mov r15, qword [rsp + 0x180]
mov qword [rsp + 0x230], r15
mov rdi, qword [rsp + 0x220]
mov r14, qword [rsp + 0x1f0]
test r14, r14
je 0x43a194
mov qword [rsp + 0x58], rsi
mov r13, qword [rsp + 0x1f8]
lea rcx, [r14 + 0x168]
movzx r12d, word [r14 + 0x3d2]
imul rbx, r12, 0x38
mov rbp, 0xffffffffffffffff
nop
test rbx, rbx
je 0x43a160
lea rsi, [rcx + 0x38]
mov r8, qword [rcx]
mov r9d, dword [rcx + 0x10]
mov dword [rsp + 0x20], 1
mov rcx, rdi
mov edx, r15d
call sub.kernel32.dll_CompareStringOrdinal
add rbx, 0xffffffffffffffc8
inc rbp
mov rcx, rsi
cmp eax, 3
je 0x43a120
cmp eax, 1
jne 0x43a177
jmp 0x43a163
mov rbp, r12
sub r13, 1
jb 0x43a640
mov r14, qword [r14 + rbp*8 + 0x3d8]
jmp 0x43a105
cmp eax, 2
jne 0x43ccc6
test r14, r14
je 0x43a199
shl rbp, 5
mov r15, qword [r14 + rbp]
mov rbx, qword [r14 + rbp + 0x10]
jmp 0x43a19c
xor r15d, r15d
jmp 0x43a1a1
xor r15d, r15d
mov rsi, qword [rsp + 0x58]
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x228], 0
mov r14, qword [rsp + 0x68]
je 0x43a1d3
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x140]
mov r13, qword [rax + 0x40]
lea rdi, str.program_path_has_no_file_name
test r13, r13
je 0x43a23d
mov rdx, qword [rax + 0x30]
cmp r13, 4
jae 0x43a1fe
lea rax, [0x0043f290]
jmp 0x43a226
mov eax, dword [rdx]
bswap eax
xor ecx, ecx
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
adc ecx, 0xffffffff
lea rcx, [0x0043f280]
lea rax, [0x0043f290]
cmove rax, rcx
mov qword [rsp + 0x58], rdx
movzx esi, byte [r13 + rdx - 1]
mov ecx, esi
call rax
test al, al
je 0x43a2c2
mov rax, qword [rsp + 0x118]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x1e8], 0
je 0x43a3f1
mov rcx, qword [rsp + 0x1f0]
test rcx, rcx
je 0x43a3c8
mov rdx, qword [rsp + 0x1f8]
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x228], 0
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x238], rdx
mov qword [rsp + 0x248], 0
mov qword [rsp + 0x250], rcx
mov qword [rsp + 0x258], rdx
mov ecx, 1
jmp 0x43a3cc
cmp r13, 4
jb 0x43a32d
mov rdx, qword [rsp + 0x58]
movzx eax, byte [r13 + rdx - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x43a32d
movzx eax, byte [rdx + r13 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x43a32d
movzx eax, byte [rdx + r13 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x43a32d
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x43a32f
xor eax, eax
mov rdx, qword [rsp + 0x58]
lea rcx, [rdx + r13]
mov qword [rsp + 0x78], rcx
xor ecx, ecx
nop
cmp r13, rcx
je 0x43a41c
movzx r8d, byte [rdx + rcx]
cmp r8d, 0x5c
je 0x43a35d
inc rcx
cmp r8d, 0x2f
jne 0x43a340
test al, al
je 0x43a4fb
lea rcx, [rsp + 0x220]
mov r8, r13
call fcn.00414df0
mov rcx, qword [rsp + 0x220]
mov rax, qword [rsp + 0x228]
test rcx, rcx
je 0x43a5cb
mov rdx, qword [rsp + 0x230]
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], rdx
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x220]
call fcn.0043f2a0
jmp 0x43b218
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x240], rcx
mov qword [rsp + 0x260], rax
lea rcx, [rsp + 0x220]
call fcn.0043f990
cmp dword [r14], 4
jb 0x43a400
mov rcx, qword [r14 + 8]
call sub.kernel32.dll_CloseHandle
movaps xmm6, xmmword [rsp + 0x620]
add rsp, 0x638
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r8d, r8d
lea rdi, str.nul_byte_found_in_provided_data
mov rax, rdx
jmp 0x43a43c
xor r8d, r8d
test cx, cx
je 0x43a23d
mov cx, 1
test r8w, r8w
jne 0x43a430
cmp rax, qword [rsp + 0x78]
je 0x43a617
movzx r11d, byte [rax]
test r11b, r11b
js 0x43a45f
inc rax
jmp 0x43a4c3
mov r8d, r11d
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r11b, 0xdf
jbe 0x43a4b5
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r11b, 0xf0
jb 0x43a4ce
movzx r11d, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and r11d, 0x3f
or r11d, r9d
or r11d, r8d
cmp r11d, 0xffff
jbe 0x43a4c3
jmp 0x43a4e5
add rax, 2
shl r8d, 6
or r8d, r10d
mov r11d, r8d
xor r8d, r8d
mov ecx, r11d
jmp 0x43a433
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov r11d, r9d
cmp r11d, 0xffff
jbe 0x43a4c3
and r11d, 0x3ff
or r11d, 0xdc00
mov r8d, r11d
jmp 0x43a433
test r13, r13
js 0x43cf14
movzx eax, byte [0x004591b8]
mov edx, 1
mov rcx, r13
call fcn.00446d90
test rax, rax
je 0x43cf1e
mov rsi, rax
mov rcx, rax
mov rdx, qword [rsp + 0x58]
mov r8, r13
call sub.ntdll.dll_memcpy
mov qword [rsp + 0x220], rsi
mov qword [rsp + 0x228], r13
mov qword [rsp + 0x230], r13
mov byte [rsp + 0x238], 0
lea rdx, str..exeprogram_not_found
lea rcx, [rsp + 0x220]
mov r8d, 4
call fcn.00436210
mov rsi, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x228]
mov rbx, qword [rsp + 0x230]
lea rcx, [rsp + 0xa0]
mov rdx, rsi
mov r8, rbx
call fcn.0043f370
cmp qword [rsp + 0xa0], 0
je 0x43a5e4
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x130], rax
movdqu xmm0, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x120], xmm0
jmp 0x43b202
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x120], 0
jmp 0x43b218
mov rcx, rsi
mov rdx, rbx
call fcn.00438d00
test rax, rax
je 0x43b18f
cmp rdx, 2
jne 0x43a648
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x43a648
mov r8d, 2
mov r9, rax
jmp 0x43b16d
cmp r13, 0xf
ja 0x43a685
xor eax, eax
mov qword [rsp + 0x70], rax
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rdx + rax], 0x2e
je 0x43a696
inc rax
cmp r13, rax
jne 0x43a630
jmp 0x43a6a0
xor r15d, r15d
jmp 0x43a19c
xor r9d, r9d
mov r8, rdx
nop
test r8, r8
je 0x43a691
mov rcx, r8
dec r8
cmp byte [rax + rcx - 1], 0x2e
jne 0x43a650
mov r10, rdx
sub r10, rcx
jb 0x43cf85
test r8, r8
je 0x43b167
mov r9, rax
add rax, rcx
mov rdx, r10
jmp 0x43b16f
mov cl, 0x2e
mov r8, r13
call fcn.00408260
jmp 0x43a69b
jmp 0x43b16f
mov eax, 1
mov qword [rsp + 0x70], rax
test r15, r15
mov qword [rsp + 0x68], r14
je 0x43a6f4
add rbx, r15
mov qword [rsp + 0x170], r15
mov qword [rsp + 0x178], rbx
mov word [rsp + 0x180], 0
mov byte [rsp + 0x188], 1
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x170]
call fcn.00435fd0
movzx eax, byte [rsp + 0x238]
cmp al, 2
jne 0x43abaf
mov qword [rsp + 0x110], r13
mov qword [rsp + 0x80], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x88], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x60], rax
xor r14d, r14d
mov r13d, 0xffffffff
xor edi, edi
xor ebp, ebp
cmp r8, 0x201
jb 0x43a74f
jmp 0x43a770
jae 0x43a82e
cmp r8, 0x201
jae 0x43a770
mov ebx, 0x200
lea rsi, [rsp + 0x220]
mov r15, r8
jmp 0x43a7c2
sub r8, rbp
sub rdi, rbp
cmp rdi, r8
jae 0x43a7a0
lea rcx, [rsp + 0x80]
mov rdx, rbp
call fcn.004153a0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
mov r14, qword [rsp + 0x88]
cmp r14, r13
mov ebp, 0xffffffff
cmovb rbp, r14
mov qword [rsp + 0x90], rbp
mov rdi, r14
mov rbx, rbp
mov rsi, qword [rsp + 0x60]
mov r15, rbp
xor ecx, ecx
call sub.kernel32.dll_SetLastError
xor ecx, ecx
mov rdx, rsi
mov r8d, r15d
call sub.kernel32.dll_GetModuleFileNameW
mov r12d, eax
test eax, eax
jne 0x43a7ea
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x43a873
mov r8d, r12d
cmp r15, r8
jne 0x43a740
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x43ce2d
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
mov r13d, 0xffffffff
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jae 0x43a770
jmp 0x43a74f
cmp rbx, r8
jb 0x43cf57
lea rcx, [rsp + 0xa0]
mov rdx, rsi
call fcn.00416fc0
mov r15, qword [rsp + 0x110]
movdqu xmm0, xmmword [rsp + 0xa0]
movups xmm1, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x180], xmm1
movdqa xmmword [rsp + 0x170], xmm0
jmp 0x43a898
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x170], rax
mov byte [rsp + 0x188], 2
mov r15, qword [rsp + 0x110]
test r14, r14
je 0x43a8b0
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sub.kernel32.dll_HeapFree
cmp byte [rsp + 0x188], 2
jne 0x43a8d1
lea rcx, [rsp + 0x170]
mov r14, qword [rsp + 0x68]
call fcn.00416f00
jmp 0x43a9b0
mov rdi, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
mov r14, qword [rsp + 0x188]
mov rcx, rdi
mov rdx, rbx
call fcn.00437450
cmp rbx, rdx
cmovb rdx, rbx
test rax, rax
cmove rdx, rbx
mov qword [rsp + 0x220], rdi
mov qword [rsp + 0x228], rsi
mov qword [rsp + 0x230], rdx
mov qword [rsp + 0x238], r14
lea rcx, [rsp + 0x220]
mov rdx, qword [rsp + 0x58]
mov r8, r15
call fcn.00436440
cmp qword [rsp + 0x70], 1
je 0x43a954
lea rcx, [rsp + 0x220]
call fcn.00438e30
mov rsi, qword [rsp + 0x220]
mov r8, qword [rsp + 0x230]
lea rcx, [rsp + 0xa0]
mov rdx, rsi
call fcn.0043f370
cmp qword [rsp + 0x228], 0
mov r14, qword [rsp + 0x68]
je 0x43a995
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x43a9b0
movdqu xmm6, xmmword [rsp + 0xa8]
jmp 0x43af8f
mov qword [rsp + 0x150], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x158], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x60], rax
xor esi, esi
mov r13d, 0xffffffff
xor edi, edi
xor r14d, r14d
cmp r8, 0x201
jb 0x43aa0f
jmp 0x43aa30
jae 0x43aaed
cmp r8, 0x201
jae 0x43aa30
mov ebx, 0x200
lea rbp, [rsp + 0x220]
mov r15, r8
jmp 0x43aa83
sub r8, r14
sub rdi, r14
cmp rdi, r8
jae 0x43aa60
lea rcx, [rsp + 0x150]
mov rdx, r14
call fcn.004153a0
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x60], rax
mov rsi, qword [rsp + 0x158]
cmp rsi, r13
mov r14d, 0xffffffff
cmovb r14, rsi
mov qword [rsp + 0x160], r14
mov rdi, rsi
mov rbx, r14
mov rbp, qword [rsp + 0x60]
mov r15, r14
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, rbp
mov edx, r15d
call sub.kernel32.dll_GetSystemDirectoryW
mov r12d, eax
test eax, eax
jne 0x43aaa9
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x43acd4
mov r8d, r12d
cmp r15, r8
jne 0x43aa00
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x43ce4a
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
mov r13d, 0xffffffff
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jae 0x43aa30
jmp 0x43aa0f
cmp rbx, r8
jb 0x43cf6e
lea rcx, [rsp + 0xa0]
mov rdx, rbp
mov r14, qword [rsp + 0x68]
call fcn.00416fc0
mov r15, qword [rsp + 0x110]
lea rcx, [rsp + 0xa0]
mov rdx, qword [rsp + 0x58]
mov r8, r15
call fcn.00436440
cmp qword [rsp + 0x70], 1
je 0x43ab3d
lea rcx, [rsp + 0xa0]
call fcn.00438e30
mov rbx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xb0]
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.0043f370
cmp qword [rsp + 0xa8], 0
je 0x43ab79
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
movdqu xmm0, xmmword [rsp + 0x80]
movdqu xmmword [rsp + 0x178], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x170], 0
mov dil, 1
jmp 0x43acfc
lea r15, [rsp + 0x239]
lea r12, [rsp + 0xb9]
lea rsi, [rsp + 0x220]
lea rdi, [rsp + 0x170]
lea rbx, [rsp + 0xa0]
jmp 0x43abfb
mov rcx, rsi
mov rdx, rdi
call fcn.00435fd0
movzx eax, byte [rsp + 0x238]
cmp al, 2
je 0x43a6f4
mov r8, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x230]
test rdx, rdx
jne 0x43ac2d
test rcx, rcx
je 0x43abe0
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x43abe0
mov r9d, dword [r15]
mov r10d, dword [r15 + 3]
mov dword [r12 + 3], r10d
mov dword [r12], r9d
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdx
mov byte [rsp + 0xb8], al
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
mov r8, r13
call fcn.00436440
cmp qword [rsp + 0x70], 1
je 0x43ac7c
mov rcx, rbx
call fcn.00438e30
mov r14, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xb0]
mov rcx, rsi
mov rdx, r14
call fcn.0043f370
cmp qword [rsp + 0xa8], 0
je 0x43acb3
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x220]
test rax, rax
jne 0x43c039
mov rcx, rsi
mov rdx, rdi
call fcn.00435fd0
jmp 0x43abeb
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x170], 1
xor edi, edi
mov r14, qword [rsp + 0x68]
test rsi, rsi
je 0x43ad14
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sub.kernel32.dll_HeapFree
test dil, dil
je 0x43ad2a
mov rax, qword [rsp + 0x178]
test rax, rax
jne 0x43af86
lea rcx, [rsp + 0x170]
call fcn.0043f450
mov qword [rsp + 0x150], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x158], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x60], rax
xor esi, esi
mov r13d, 0xffffffff
xor edi, edi
xor r14d, r14d
cmp r8, 0x201
jb 0x43ad8f
jmp 0x43adb0
jae 0x43ae6d
cmp r8, 0x201
jae 0x43adb0
mov ebx, 0x200
lea rbp, [rsp + 0x220]
mov r15, r8
jmp 0x43ae03
sub r8, r14
sub rdi, r14
cmp rdi, r8
jae 0x43ade0
lea rcx, [rsp + 0x150]
mov rdx, r14
call fcn.004153a0
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x60], rax
mov rsi, qword [rsp + 0x158]
cmp rsi, r13
mov r14d, 0xffffffff
cmovb r14, rsi
mov qword [rsp + 0x160], r14
mov rdi, rsi
mov rbx, r14
mov rbp, qword [rsp + 0x60]
mov r15, r14
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, rbp
mov edx, r15d
call sub.kernel32.dll_GetWindowsDirectoryW
mov r12d, eax
test eax, eax
jne 0x43ae29
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x43af2c
mov r8d, r12d
cmp r15, r8
jne 0x43ad80
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x43ce67
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
mov r13d, 0xffffffff
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jae 0x43adb0
jmp 0x43ad8f
cmp rbx, r8
jb 0x43cf93
lea rcx, [rsp + 0xa0]
mov rdx, rbp
mov r14, qword [rsp + 0x68]
call fcn.00416fc0
mov r13, qword [rsp + 0x110]
lea rcx, [rsp + 0xa0]
mov rdx, qword [rsp + 0x58]
mov r8, r13
call fcn.00436440
cmp qword [rsp + 0x70], 1
je 0x43aebd
lea rcx, [rsp + 0xa0]
call fcn.00438e30
mov rbx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xb0]
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.0043f370
cmp qword [rsp + 0xa8], 0
je 0x43aef9
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
movdqu xmm0, xmmword [rsp + 0x80]
movdqu xmmword [rsp + 0x178], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x170], 0
mov dil, 1
jmp 0x43af5c
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x170], 1
xor edi, edi
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x110]
test rsi, rsi
je 0x43af74
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sub.kernel32.dll_HeapFree
test dil, dil
je 0x43afa8
mov rax, qword [rsp + 0x178]
test rax, rax
je 0x43afa8
movdqu xmm6, xmmword [rsp + 0x180]
mov qword [rsp + 0x60], rax
movq rdi, xmm6
pshufd xmm0, xmm6, 0xee
movq r8, xmm0
jmp 0x43b23e
lea rcx, [rsp + 0x170]
call fcn.0043f450
lea rdx, str.PATHRUST_MIN_STACKfatal_runtime_error:_assertion_failed:_thread_info.stack_guard.get__.is_none____thread_info.thread.get__.is_none___n
lea rcx, [rsp + 0x80]
mov r8d, 4
call fcn.00434e00
cmp byte [rsp + 0x98], 2
je 0x43b15b
mov rsi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x90]
add rax, rsi
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], rax
mov word [rsp + 0x180], 0
mov byte [rsp + 0x188], 1
lea r12, [rsp + 0x239]
lea r15, [rsp + 0xb9]
lea rdi, [rsp + 0x220]
lea rbx, [rsp + 0x170]
lea rbp, [rsp + 0xa0]
mov rcx, rdi
mov rdx, rbx
call fcn.00435fd0
jmp 0x43b05f
mov rcx, rdi
mov rdx, rbx
call fcn.00435fd0
movzx eax, byte [rsp + 0x238]
cmp al, 2
je 0x43b142
mov r8, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x230]
test rdx, rdx
jne 0x43b0a1
test rcx, rcx
je 0x43b054
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x43b054
mov r9d, dword [r12]
mov r10d, dword [r12 + 3]
mov dword [r15 + 3], r10d
mov dword [r15], r9d
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdx
mov byte [rsp + 0xb8], al
mov rcx, rbp
mov rdx, qword [rsp + 0x58]
mov r8, r13
call fcn.00436440
cmp qword [rsp + 0x70], 1
je 0x43b0f0
mov rcx, rbp
call fcn.00438e30
mov r14, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xb0]
mov rcx, rdi
mov rdx, r14
call fcn.0043f370
cmp qword [rsp + 0xa8], 0
je 0x43b127
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x220]
test rax, rax
jne 0x43c7b9
mov r14, qword [rsp + 0x68]
jmp 0x43b047
cmp qword [rsp + 0x60], 0
je 0x43b15b
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
lea rdi, [0x00451800]
jmp 0x43a23d
mov r9, rax
mov r8, rdx
xor eax, eax
test r9, r9
cmovne rax, r9
test rax, rax
je 0x43b18f
test r9, r9
cmove r8, rdx
add rax, r8
sub rax, rsi
cmp rbx, rax
cmovae rbx, rax
invalid
lea rcx, [rsp + 0x220]
mov rdx, rsi
mov r8, rbx
call fcn.00414df0
mov rcx, qword [rsp + 0x220]
and byte [rdx], al
add byte [rax], al
mov rax, qword [rsp + 0x228]
test rcx, rcx
je 0x43b1ee
mov rdx, qword [rsp + 0x230]
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], rdx
add byte [rax - 0x73], cl
mov word [rax + riz], fs
add dword [rax], eax
add byte [rax - 0x73], cl
xchg esp, eax
and al, 0x20
add al, byte [rax]
add al, ch
mov ah, 0x40
add byte [rax], al
jmp 0x43b202
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x120], 0
test rdi, rdi
je 0x43b218
invalid
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x128]
test rax, rax
je 0x43a23d
mov qword [rsp + 0x60], rax
mov r8, qword [rsp + 0x130]
mov qword [rsp + 0x70], rdi
cmp r8, 5
mov qword [rsp + 0x68], r14
jb case.0x43b5d0.68
mov rax, qword [rsp + 0x60]
cmp word [rax + r8*2 - 0xa], 0x2e
jne case.0x43b5d0.68
mov rax, qword [rsp + 0x60]
cmp word [rax + r8*2 - 2], 0
je 0x43b5ab
mov rax, qword [rsp + 0x140]
mov rsi, qword [rax + 0x90]
mov rdi, qword [rax + 0xa0]
movzx ebx, byte [rax + 0xc5]
mov qword [rsp + 0xa0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xa8], xmm0
lea rcx, [rsp + 0xa0]
xor edx, edx
call fcn.00415250
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xb0]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0xb0], rcx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x228], rax
mov word [rsp + 0x230], 0
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x220]
call fcn.004150c0
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xa8]
jne 0x43b334
lea rcx, [rsp + 0xa0]
call fcn.00415250
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0xb0], rdx
shl rdi, 3
lea r14, [rdi + rdi*4]
lea r15, [rsp + 0xa0]
nop dword [rax]
test r14, r14
je 0x43b3ec
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xa8]
jne 0x43b38b
mov rcx, r15
call fcn.00415250
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xb0], rdx
mov rcx, r15
mov rdx, rsi
mov r8d, ebx
call fcn.0043f520
mov rdi, rax
add rsi, 0x28
add r14, 0xffffffffffffffd8
test rax, rax
je 0x43b360
cmp qword [rsp + 0xa8], 0
je 0x43b46c
mov r8, qword [rsp + 0xa0]
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x43b46c
mov rax, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
test rax, rax
je 0x43b46c
mov rdx, qword [rsp + 0xb0]
mov cl, 1
mov dword [rsp + 0x78], ecx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x110], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x58], rcx
mov r14, qword [rsp + 0x68]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdx
cmp rdx, rdi
jne 0x43b4b1
lea rcx, [rsp + 0x120]
mov rdi, qword [rsp + 0x70]
call fcn.00415250
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x130]
jmp 0x43b4b6
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x118]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
xor esi, esi
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x43b4a3
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sub.kernel32.dll_HeapFree
test sil, sil
je 0x43a250
jmp 0x43a3f1
mov rdi, qword [rsp + 0x70]
mov word [rax + rdx*2], 0
inc rdx
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x140]
cmp byte [rcx + 0xc4], 0
mov eax, 0x400
mov ebx, 0x608
cmove ebx, eax
or ebx, dword [rcx + 0xc0]
cmp qword [rsp + 0x1e8], 0
cmp dword [rsp + 0x1e8], 0
je 0x43b55a
mov dword [rsp + 0x1c8], ebx
mov rsi, qword [rsp + 0x1f0]
mov rbx, qword [rsp + 0x1f8]
and al, 0xf8
add dword [rax], eax
add byte [rbx + rcx*4 - 0x4c], cl
and al, 0
add al, byte [rax]
add byte [rax - 0x77], cl
mov ah, 0x24
push rax
add dword [rax], eax
add byte [rax - 0x77], cl
pushfq
and al, 0x58
add dword [rax], eax
add byte [rcx + rcx*4 - 0x4c], cl
and al, 0x60
add dword [rax], eax
add byte [rax - 0x39], cl
test byte [rax + rax*4], ah
add byte [rax], al
add byte [rdx], al
add byte [rax], al
add byte [rsi + 0xf], ah
out dx, eax
sal bl, 0xf
jg 0x43b4c3
and al, 0x88
add byte [rax], al
add byte [rbp - 0x7b], cl
test byte [rdi], 0x84
sbb byte [rdx], al
add byte [rax], al
mov r15d, 2
xor edi, edi
jmp 0x43b799
mov rax, rcx
mov ecx, 2
xor edx, edx
mov qword [rsp + 0x108], rdx
add byte [rax], al
xor r15d, r15d
cmp byte [rax + 0x88], 2
mov qword [rsp + 0x1d0], rcx
jne 0x43bc57
mov qword [rsp + 0x148], r15
xor r13d, r13d
mov eax, 2
mov qword [rsp + 0x1d8], rax
add byte [rax], al
xor eax, eax
mov qword [rsp + 0x1c8], rax
jmp 0x43bdfe
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + r8*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x43b5d0.68
lea rdx, [0x0044be24]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x60]
movzx ecx, word [rcx + r8*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x43b5f8
mov rcx, qword [rsp + 0x60]
movzx ecx, word [rcx + r8*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x43b632
cmp ax, 0x43
jne case.0x43b5d0.68
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + r8*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x43b5d0.68
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + r8*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x43b5d0.68
mov qword [rsp + 0x108], r8
mov qword [rsp + 0xa0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xa8], xmm0
mov r12d, 0x200
mov eax, 2
mov qword [rsp + 0x78], rax
xor r14d, r14d
mov r15d, 0xffffffff
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x148], rax
xor ebx, ebx
xor esi, esi
cmp r12, 0x201
jb 0x43b69f
jmp 0x43b6ae
mov r12, qword [rsp + 0x58]
jae 0x43bf2a
cmp r12, 0x201
jae 0x43b6ae
mov ebp, 0x200
lea r13, [rsp + 0x220]
jmp 0x43b703
sub r12, rsi
sub rbx, rsi
cmp rbx, r12
jae 0x43b6e1
lea rcx, [rsp + 0xa0]
mov rdx, rsi
mov r8, r12
call fcn.004153a0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x78], rax
mov r14, qword [rsp + 0xa8]
cmp r14, r15
mov esi, 0xffffffff
cmovb rsi, r14
mov qword [rsp + 0xb0], rsi
mov rbx, r14
mov rbp, rsi
mov r13, qword [rsp + 0x78]
mov r12, rsi
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, r13
mov edx, r12d
call sub.kernel32.dll_GetSystemDirectoryW
mov edi, eax
test eax, eax
jne 0x43b728
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x43bfea
mov ecx, edi
mov rax, rcx
mov qword [rsp + 0x58], rcx
cmp r12, rcx
jne 0x43b68b
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x43cf3a
add r12, r12
cmp r12, r15
cmovae r12, r15
cmp r12, 0x201
jae 0x43b6ae
jmp 0x43b69f
mov bpl, 1
lea rcx, [rsp + 0x80]
xor edx, edx
call fcn.00415250
mov r15, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
mov word [r15 + rdi*2], 0
inc rdi
mov qword [rsp + 0x90], rdi
xor eax, eax
test rsi, rsi
setne al
cmove r14, rsi
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 0
mov qword [rsp + 0x230], rsi
mov qword [rsp + 0x238], rbx
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x248], 0
mov qword [rsp + 0x250], rsi
mov qword [rsp + 0x258], rbx
mov qword [rsp + 0x260], r14
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x220]
call fcn.004390e0
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x43bf69
mov r9, qword [rsp + 0xb0]
imul rdx, r9, 0x38
cmp byte [rcx + rdx + 0x198], 2
je 0x43bf69
mov qword [rsp + 0x148], r15
mov rbx, qword [rcx + rdx + 0x168]
mov r13, qword [rcx + rdx + 0x170]
mov rbp, qword [rcx + rdx + 0x178]
mov r8, qword [rcx + rdx + 0x180]
mov rax, qword [rcx + rdx + 0x188]
shl r9, 5
mov rsi, qword [rcx + r9]
mov r10, qword [rcx + r9 + 8]
mov qword [rsp + 0x108], r10
mov r12, qword [rcx + r9 + 0x10]
movzx r9d, byte [rcx + r9 + 0x18]
mov byte [rsp + 0x1d0], r9b
mov rcx, qword [rcx + rdx + 0x190]
add rcx, r8
xor r11d, r11d
mov rdx, r8
jmp 0x43b8ad
xor r11d, r11d
test r9w, r9w
je 0x43bbb9
mov r9w, 1
test r11w, r11w
jne 0x43b8a0
cmp rdx, rcx
je 0x43b96b
movzx r10d, byte [rdx]
test r10b, r10b
js 0x43b8cf
inc rdx
jmp 0x43b933
mov r11d, r10d
and r11d, 0x1f
movzx r15d, byte [rdx + 1]
and r15d, 0x3f
cmp r10b, 0xdf
jbe 0x43b925
movzx r14d, byte [rdx + 2]
shl r15d, 6
and r14d, 0x3f
or r14d, r15d
cmp r10b, 0xf0
jb 0x43b93e
movzx r10d, byte [rdx + 3]
add rdx, 4
and r11d, 7
shl r11d, 0x12
shl r14d, 6
and r10d, 0x3f
or r10d, r14d
or r10d, r11d
cmp r10d, 0xffff
jbe 0x43b933
jmp 0x43b955
add rdx, 2
shl r11d, 6
or r11d, r15d
mov r10d, r11d
xor r11d, r11d
mov r9d, r10d
jmp 0x43b8a3
add rdx, 3
shl r11d, 0xc
or r14d, r11d
mov r10d, r14d
cmp r10d, 0xffff
jbe 0x43b933
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x43b8a3
test rax, rax
je 0x43b97e
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x88]
sub rax, rdi
cmp rax, rbp
jae 0x43b9b3
lea rcx, [rsp + 0x80]
mov rdx, rdi
mov r8, rbp
call fcn.004153a0
mov rax, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
jmp 0x43b9bb
mov rax, qword [rsp + 0x148]
lea r8, [rbp*2]
mov r14, rax
lea rcx, [rax + rdi*2]
mov rdx, rbx
call sub.ntdll.dll_memcpy
add rdi, rbp
mov qword [rsp + 0x90], rdi
test r13, r13
je 0x43b9f3
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
cmp rdi, qword [rsp + 0x88]
jne 0x43ba1d
lea rcx, [rsp + 0x80]
mov rdx, rdi
call fcn.00415250
mov r14, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
mov word [r14 + rdi*2], 0x3d
inc rdi
mov qword [rsp + 0x90], rdi
add r12, rsi
xor r8d, r8d
mov rax, rsi
jmp 0x43ba46
xor r8d, r8d
test cx, cx
je 0x43bd53
mov cx, 1
test r8w, r8w
jne 0x43ba3a
cmp rax, r12
je 0x43baf5
movzx edx, byte [rax]
test dl, dl
js 0x43ba68
inc rax
jmp 0x43baeb
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x43bab1
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x43bac1
movzx edx, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
jmp 0x43bacf
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x43baeb
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x43baeb
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x43ba3d
xor r8d, r8d
mov ecx, edx
jmp 0x43ba3d
cmp byte [rsp + 0x1d0], 2
je 0x43bc05
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], r12
mov word [rsp + 0x180], 0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x170]
call fcn.004150c0
cmp qword [rsp + 0x108], 0
je 0x43bb4e
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rdi, qword [rsp + 0x90]
cmp rdi, qword [rsp + 0x88]
jne 0x43bb8a
lea rcx, [rsp + 0x80]
mov rdx, rdi
call fcn.00415250
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x220]
mov rdi, qword [rsp + 0x90]
jmp 0x43bb9a
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x220]
mov r15, qword [rsp + 0x80]
mov word [r15 + rdi*2], 0
inc rdi
mov qword [rsp + 0x90], rdi
jmp 0x43b805
test rax, rax
je 0x43bbcc
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x108], 0
je 0x43bbe8
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
test r13, r13
je 0x43bbfe
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
lea rsi, str.nul_byte_found_in_provided_data
xor ebp, ebp
lea rcx, [rsp + 0x220]
call fcn.0043f990
cmp qword [rsp + 0x88], 0
je 0x43bc35
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r14, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x118]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
jmp 0x43cc74
mov rcx, rax
mov rax, qword [rax + 0x70]
mov rcx, qword [rcx + 0x80]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x43bc7d
xor r10d, r10d
test r8w, r8w
je 0x43bd34
mov r8w, 1
test r10w, r10w
jne 0x43bc70
cmp rdx, rcx
je 0x43bd6a
movzx r9d, byte [rdx]
test r9b, r9b
js 0x43bca2
inc rdx
jmp 0x43bd29
mov r10d, r9d
and r10d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x43bcec
movzx r11d, byte [rdx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r9b, 0xf0
jb 0x43bcfc
movzx r9d, byte [rdx + 3]
add rdx, 4
and r10d, 7
shl r10d, 0x12
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
or r9d, r10d
jmp 0x43bd0a
add rdx, 2
shl r10d, 6
or r10d, esi
mov r9d, r10d
jmp 0x43bd29
add rdx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x43bd29
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x43bc73
xor r10d, r10d
mov r8d, r9d
jmp 0x43bc73
lea rax, str.nul_byte_found_in_provided_data
mov rcx, qword [rsp + 0x118]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x43cc53
mov rbx, rsi
cmp qword [rsp + 0x108], 0
jne 0x43bbed
jmp 0x43bbfe
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], rcx
mov word [rsp + 0x230], 0
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x220]
call fcn.0043d530
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
mov rax, rcx
mov qword [rsp + 0x1c8], rcx
cmp rdx, rcx
mov qword [rsp + 0x148], r15
jne 0x43bde6
lea rcx, [rsp + 0xa0]
call fcn.00415250
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x1c8], rax
mov rdx, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xa0]
mov word [r13 + rdx*2], 0
mov qword [rsp + 0x1d8], r13
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], 0
lea rsi, [0x00459128]
mov rcx, rsi
call sub.kernel32.dll_AcquireSRWLockExclusive
mov rax, qword [0x004590f8]
shl rax, 1
test rax, rax
je 0x43be45
call fcn.00418820
mov ebp, eax
mov r15d, ebx
xor bpl, 1
jmp 0x43be4a
mov r15d, ebx
xor ebp, ebp
movzx edi, byte [0x00459130]
xor eax, eax
test dil, dil
setne al
mov qword [rsp + 0x88], rsi
mov byte [rsp + 0x90], bpl
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x190], 0
mov rax, qword [rsp + 0x140]
cmp dword [rax], 6
mov rcx, rax
cmove rcx, r14
cmp dword [rax + 0x10], 6
lea rbx, [rax + 0x10]
cmove rbx, r14
lea r12, [rax + 0x20]
cmp dword [rax + 0x20], 6
cmove r12, r14
lea r8, [rsp + 0x170]
mov edx, 0xfffffff6
call fcn.0043fa50
mov rsi, rdx
test rax, rax
je 0x43bef1
mov rax, qword [rsp + 0x118]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
jmp 0x43cb8c
lea r8, [rsp + 0x180]
mov rcx, rbx
mov edx, 0xfffffff5
call fcn.0043fa50
mov rbx, rdx
test rax, rax
je 0x43c000
mov rax, qword [rsp + 0x118]
mov qword [rax], rbx
mov qword [rax + 0x10], 2
jmp 0x43cb84
cmp rbp, r12
jb 0x43cfaa
test edi, edi
je 0x43c04b
mov rax, qword [rsp + 0x58]
lea r12, [rax + rax]
movzx eax, byte [0x004591b8]
mov edx, 2
mov rcx, r12
call fcn.00446d90
test rax, rax
je 0x43cfd8
mov rsi, rax
jmp 0x43c053
xor ebp, ebp
lea rcx, [rsp + 0x220]
call fcn.0043f990
cmp rdi, qword [rsp + 0x88]
jne 0x43bfa4
xor ebp, ebp
lea rcx, [rsp + 0x80]
mov rdx, rdi
call fcn.00415250
mov r15, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
mov word [r15 + rdi*2], 0
mov rcx, qword [rsp + 0x80]
test rcx, rcx
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x140]
mov ebx, dword [rsp + 0x1c8]
je 0x43c652
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x108], rdx
mov rdi, qword [rsp + 0x70]
jmp 0x43b56f
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x58], rax
xor esi, esi
jmp 0x43c061
lea r8, [rsp + 0x190]
mov rcx, r12
mov edx, 0xfffffff4
call fcn.0043fa50
mov rcx, rdx
test rax, rax
je 0x43c65a
mov rax, qword [rsp + 0x118]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
jmp 0x43cb7c
movups xmm6, xmmword [rsp + 0x228]
mov r14, qword [rsp + 0x68]
jmp 0x43af8f
mov esi, 2
xor r12d, r12d
mov rcx, rsi
mov rdx, r13
mov r8, r12
call sub.ntdll.dll_memcpy
test r14, r14
je 0x43c079
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x78]
call sub.kernel32.dll_HeapFree
test rsi, rsi
mov r14, qword [rsp + 0x68]
je 0x43c44b
mov qword [rsp + 0x170], rsi
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], rax
lea rbx, [0x00451856]
xor r8d, r8d
lea rdi, [rsp + 0x170]
lea r13, [0x0045185e]
xor ecx, ecx
mov rbp, rbx
jmp 0x43c0ef
mov r12d, ecx
mov r14, r8
mov rax, qword [rsp + 0x58]
mov word [rsi + rax*2], r12w
inc rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x180], rax
mov r8, r14
mov ecx, r15d
mov r14, qword [rsp + 0x68]
test rbp, rbp
je 0x43c170
test cx, cx
je 0x43c110
xor r15d, r15d
mov rdx, qword [rsp + 0x58]
cmp rdx, qword [rsp + 0x178]
jne 0x43c0c4
jmp 0x43c1c8
cmp rbp, r13
je 0x43c170
movzx eax, byte [rbp]
test al, al
js 0x43c125
inc rbp
jmp 0x43c1b0
mov edx, eax
and edx, 0x1f
movzx r10d, byte [rbp + 1]
and r10d, 0x3f
cmp al, 0xdf
jbe 0x43c1a4
movzx r9d, byte [rbp + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp al, 0xf0
jb 0x43c217
movzx eax, byte [rbp + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and eax, 0x3f
or eax, r9d
or eax, edx
cmp eax, 0x110000
jne 0x43c226
cmp r8, 1
je 0x43c269
mov r14d, 1
xor ebp, ebp
xor r12d, r12d
mov rax, qword [rsp + 0x58]
cmp rax, qword [rsp + 0x178]
jne 0x43c19c
neg r8
mov r15d, ecx
jmp 0x43c1fa
mov r15d, ecx
jmp 0x43c0ca
add rbp, 2
shl edx, 6
or edx, r10d
mov eax, edx
mov rdx, qword [rsp + 0x58]
xor r15d, r15d
mov ecx, eax
cmp rdx, qword [rsp + 0x178]
jne 0x43c0c4
mov rax, rbx
sub rax, rbp
add rax, 0xa
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov r14, r8
shr rdx, 1
cmp r15w, 1
adc r8, 0xffffffffffffffff
sub rdx, r8
inc rdx
mov r12d, ecx
mov r8, rdx
inc r8
mov rcx, rdi
mov rdx, qword [rsp + 0x58]
call fcn.004153a0
mov rsi, qword [rsp + 0x170]
jmp 0x43c0ca
add rbp, 3
shl edx, 0xc
or r9d, edx
mov eax, r9d
jmp 0x43c22a
add rbp, 4
mov rdx, qword [rsp + 0x58]
cmp eax, 0xffff
jbe 0x43c1b5
lea ecx, [rax + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and eax, 0x3ff
or eax, 0xdc00
mov r15d, eax
cmp rdx, qword [rsp + 0x178]
jne 0x43c0c4
jmp 0x43c1c8
mov rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x110], rcx
test rcx, rcx
je 0x43c44b
mov al, 1
test al, al
je 0x43cfc0
mov rax, qword [rsp + 0x140]
mov r15, qword [rax + 0x90]
mov rcx, qword [rax + 0xa0]
mov qword [rsp + 0x78], rcx
movzx eax, byte [rax + 0xc5]
mov byte [rsp + 0x1d0], al
movzx eax, byte [0x004591b8]
mov ecx, 0xc
mov edx, 2
call fcn.00446d90
test rax, rax
je 0x43cfc7
mov ecx, 6
mov word [rax], 0x63
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], 1
lea r13, [0x0045132b]
mov edi, 1
xor esi, esi
lea rbp, [0x00451339]
lea r12, [0x0045132a]
lea rbx, [rsp + 0x220]
jmp 0x43c34c
mov rax, qword [rsp + 0x220]
mov word [rax + rdi*2], si
inc rdi
mov qword [rsp + 0x230], rdi
mov esi, r14d
mov r14, qword [rsp + 0x68]
test si, si
jne 0x43c403
cmp r13, rbp
je 0x43c46f
movzx esi, byte [r13]
test sil, sil
js 0x43c370
inc r13
jmp 0x43c403
mov ecx, esi
and ecx, 0x1f
movzx r8d, byte [r13 + 1]
and r8d, 0x3f
cmp sil, 0xdf
jbe 0x43c3c0
movzx edx, byte [r13 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp sil, 0xf0
jb 0x43c3ce
movzx esi, byte [r13 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, ecx
cmp esi, 0x110000
je 0x43c46f
add r13, 4
jmp 0x43c3d9
add r13, 2
shl ecx, 6
or ecx, r8d
mov esi, ecx
jmp 0x43c403
add r13, 3
shl ecx, 0xc
or edx, ecx
mov esi, edx
cmp esi, 0xffff
jbe 0x43c403
lea ecx, [rsi + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and esi, 0x3ff
or esi, 0xdc00
mov r14d, esi
mov esi, ecx
jmp 0x43c406
xor r14d, r14d
cmp rdi, qword [rsp + 0x228]
jne 0x43c335
mov rax, r12
sub rax, r13
add rax, 0x11
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
cmp r14w, 1
sbb rdx, 0
lea r8, [rdx + 2]
mov rcx, rbx
mov rdx, rdi
call fcn.004153a0
jmp 0x43c32d
mov rdi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
xor esi, esi
jmp 0x43b48b
mov rdi, qword [rsp + 0x230]
mov qword [rsp + 0xb0], rdi
movdqu xmm0, xmmword [rsp + 0x220]
movdqa xmmword [rsp + 0xa0], xmm0
cmp rdi, qword [rsp + 0xa8]
jne 0x43c4bd
lea rcx, [rsp + 0xa0]
mov rdx, rdi
call fcn.00415250
mov r8, qword [rsp + 0x108]
mov rdi, qword [rsp + 0xb0]
jmp 0x43c4c5
mov r8, qword [rsp + 0x108]
mov rsi, qword [rsp + 0xa0]
mov word [rsi + rdi*2], 0x22
inc rdi
mov qword [rsp + 0xb0], rdi
lea rax, [r8 + r8]
xor ecx, ecx
lea r13, [0x00451370]
mov rdx, qword [rsp + 0x60]
cmp rax, rcx
je 0x43c505
cmp word [rdx + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x43c4f0
jmp 0x43caaa
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + r8*2 - 2]
cmp ax, 0x5c
je 0x43caaa
lea rbx, [r8 - 1]
xor r12d, r12d
test ax, ax
mov rax, qword [rsp + 0x60]
cmove r12, rax
test r12, r12
cmove rbx, r8
cmove r12, rax
mov r13, qword [rsp + 0xa8]
mov rax, r13
sub rax, rdi
cmp rax, rbx
jae 0x43c576
lea rcx, [rsp + 0xa0]
mov rdx, rdi
mov r8, rbx
call fcn.004153a0
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
lea r8, [rbx + rbx]
lea rcx, [rsi + rdi*2]
mov rdx, r12
call sub.ntdll.dll_memcpy
add rdi, rbx
mov qword [rsp + 0xb0], rdi
cmp rdi, r13
jne 0x43c5b6
lea rcx, [rsp + 0xa0]
mov rdx, r13
call fcn.00415250
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb0]
lea rax, [rdi + 1]
mov word [rsi + rdi*2], 0x22
mov qword [rsp + 0xb0], rax
cmp byte [rsp + 0x1d0], 0
je 0x43c9e4
mov rax, qword [rsp + 0x78]
shl rax, 3
lea rsi, [rax + rax*4]
lea rdi, [rsp + 0xa0]
test rsi, rsi
je 0x43cb0f
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xa8]
jne 0x43c616
mov rcx, rdi
call fcn.00415250
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xb0], rdx
mov rcx, rdi
mov rdx, r15
mov r8b, 1
call fcn.0043f520
mov r13, rax
add r15, 0x28
add rsi, 0xffffffffffffffd8
test rax, rax
je 0x43c5eb
jmp 0x43caaa
mov rsi, r15
jmp 0x43bc3a
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd4], xmm0
movdqu xmmword [rsp + 0xc8], xmm0
movdqu xmmword [rsp + 0xb8], xmm0
movdqu xmmword [rsp + 0xa8], xmm0
movdqu xmmword [rsp + 0xe8], xmm0
movdqu xmmword [rsp + 0xf8], xmm0
test rcx, rcx
jne 0x43c6a3
test rbx, rbx
jne 0x43c6a3
test rsi, rsi
je 0x43c6c6
mov dword [rsp + 0xdc], 0x100
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x100], rcx
mov rdx, qword [rsp + 0x140]
mov r12, qword [rdx + 0xb8]
test r12, r12
mov qword [rsp + 0x1e0], rcx
je 0x43c80c
add rdx, 0xa8
mov dword [rsp + 0xa0], 0x70
lea rcx, [rsp + 0x208]
call fcn.004403b0
mov rdx, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x210]
test rdx, rdx
je 0x43cb5c
mov qword [rsp + 0x140], rcx
or r15d, 0x80000
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x280], rax
movups xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x270], xmm0
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x260], xmm0
movdqu xmm0, xmmword [rsp + 0xa0]
movups xmm1, xmmword [rsp + 0xb0]
movups xmm2, xmmword [rsp + 0xc0]
movups xmm3, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x250], xmm3
movaps xmmword [rsp + 0x240], xmm2
movaps xmmword [rsp + 0x230], xmm1
movdqa xmmword [rsp + 0x220], xmm0
mov qword [rsp + 0x218], rdx
mov qword [rsp + 0x288], rdx
lea rax, [rsp + 0x220]
jmp 0x43c81f
movdqu xmm6, xmmword [rsp + 0x228]
cmp qword [rsp + 0x60], 0
mov r14, qword [rsp + 0x68]
je 0x43af8f
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, rsi
mov rsi, rax
call sub.kernel32.dll_HeapFree
mov rax, rsi
jmp 0x43af8f
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_alloc_srccollections_btree_navigate.rs
lea r8, [0x0044f4f0]
mov edx, 0x2b
call fcn.00405860
jmp 0x43cfe5
mov dword [rsp + 0xa0], 0x68
lea rax, [rsp + 0xa0]
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x150]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r15d
mov r15, rdx
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x110]
xor r8d, r8d
xor r9d, r9d
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x43c9a1
movups xmm0, xmmword [rsp + 0x170]
movups xmm1, xmmword [rsp + 0x180]
movups xmm2, xmmword [rsp + 0x190]
mov rax, qword [rsp + 0x118]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movdqa xmm0, xmmword [rsp + 0x150]
movdqu xmmword [rax], xmm0
test r12, r12
je 0x43c8c9
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x140]
call fcn.00440770
mov rcx, qword [rsp + 0x1e0]
call sub.kernel32.dll_CloseHandle
mov rcx, rbx
call sub.kernel32.dll_CloseHandle
mov rcx, rsi
call sub.kernel32.dll_CloseHandle
lea rcx, [rsp + 0x80]
mov rsi, qword [rsp + 0x70]
call fcn.00440370
cmp qword [rsp + 0x1c8], 0
je 0x43c919
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x1d8]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x108], 0
je 0x43c93a
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x1d0]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x128], 0
je 0x43c956
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x58], 0
je 0x43c974
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x110]
call sub.kernel32.dll_HeapFree
test rsi, rsi
sete al
mov ecx, dword [rsp + 0x78]
or cl, al
cmp cl, 1
je 0x43a3f1
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sub.kernel32.dll_HeapFree
jmp 0x43a3f1
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x118]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
test r12, r12
je 0x43cb6f
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x140]
call fcn.00440770
jmp 0x43cb6f
mov rax, qword [rsp + 0x78]
lea rax, [rax + rax*4]
lea rsi, [r15 + rax*8]
lea rdi, [rsp + 0xa0]
lea rbx, str._t____________
cmp r15, rsi
je 0x43cb0f
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xa8]
jne 0x43ca2b
mov rcx, rdi
call fcn.00415250
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xb0], rdx
cmp qword [r15], 0
je 0x43ca51
mov r13, r15
xor ebp, ebp
jmp 0x43ca84
mov r14, qword [r15 + 8]
mov r13, r15
mov r15, qword [r15 + 0x18]
xor r12d, r12d
cmp r15, r12
setne bpl
je 0x43ca84
movzx ecx, byte [r14 + r12]
mov r8d, 0x16
mov rdx, rbx
call fcn.00408260
inc r12
cmp rax, 1
jne 0x43ca5f
mov rcx, rdi
mov r15, r13
mov rdx, r13
mov r8d, ebp
mov r14, qword [rsp + 0x68]
call fcn.0043f520
mov r13, rax
add r15, 0x28
test rax, rax
je 0x43ca00
cmp qword [rsp + 0xa8], 0
je 0x43cacb
mov r8, qword [rsp + 0xa0]
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x118]
mov qword [rax], r13
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x58], 0
mov rdi, qword [rsp + 0x70]
je 0x43cb08
mov rcx, qword [0x00459118]
xor esi, esi
xor edx, edx
mov r8, qword [rsp + 0x110]
call sub.kernel32.dll_HeapFree
jmp 0x43b48b
xor esi, esi
jmp 0x43b48b
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xa8]
jne 0x43cb36
lea rcx, [rsp + 0xa0]
call fcn.00415250
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], 0x22
inc rdx
mov rdi, qword [rsp + 0xa8]
mov dword [rsp + 0x78], 0
jmp 0x43b42b
mov rax, qword [rsp + 0x118]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
mov rcx, qword [rsp + 0x1e0]
call sub.kernel32.dll_CloseHandle
mov rcx, rbx
call sub.kernel32.dll_CloseHandle
mov rcx, rsi
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x170], 0
je 0x43cba4
mov rcx, qword [rsp + 0x178]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x180], 0
je 0x43cbbc
mov rcx, qword [rsp + 0x188]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x190], 0
je 0x43cbd4
mov rcx, qword [rsp + 0x198]
call sub.kernel32.dll_CloseHandle
movabs rax, 0x7fffffffffffffff
test dil, dil
je 0x43cc00
test bpl, bpl
mov rdi, qword [rsp + 0x70]
jne 0x43cc26
mov rcx, qword [0x004590f8]
test rcx, rax
je 0x43cc26
call fcn.00418820
jmp 0x43cc1b
test bpl, bpl
mov rdi, qword [rsp + 0x70]
jne 0x43cc26
mov rcx, qword [0x004590f8]
test rcx, rax
je 0x43cc26
call fcn.00418820
test al, al
jne 0x43cc26
mov byte [0x00459130], 1
lea rcx, [0x00459128]
call sub.kernel32.dll_ReleaseSRWLockExclusive
cmp qword [rsp + 0x1c8], 0
je 0x43cc53
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x1d8]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x108], 0
je 0x43cc74
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x1d0]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x128], 0
je 0x43cc95
mov r8, qword [rsp + 0x120]
mov rcx, qword [0x00459118]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x58], 0
je 0x43ccb3
mov rcx, qword [0x00459118]
xor edx, edx
mov r8, qword [rsp + 0x110]
call sub.kernel32.dll_HeapFree
mov sil, 1
cmp byte [rsp + 0x78], 0
jne 0x43a3f1
jmp 0x43b48b
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x170], rax
lea rax, [0x00435b70]
mov qword [rsp + 0x178], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 1
mov qword [rsp + 0xc0], 0
lea rax, [rsp + 0x170]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
lea rdx, str.library_std_src_syswindowsprocess.rs
lea rcx, [rsp + 0xa0]
call fcn.00404b20
jmp 0x43cfe5
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_alloc_srccollections_btree_navigate.rs
lea r8, [0x0044e850]
mov edx, 0x2b
call fcn.00405860
jmp 0x43cfe5
call fcn.00402940
jmp 0x43cfe5
call fcn.00402940
jmp 0x43cfe5
mov ecx, 1
mov rdx, rbx
call fcn.00402980
jmp 0x43cfe5
call fcn.00402940
jmp 0x43cfe5
mov ecx, 1
mov rdx, rbx
call fcn.00402980
jmp 0x43cfe5
mov ecx, 2
mov rdx, r13
call fcn.00402980
jmp 0x43cfe5
lea r8, str.library_std_src_syswindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.00404b60
jmp 0x43cfe5
lea rax, str.library_std_src_syswindowsos.rs
mov rcx, r8
mov rdx, r13
mov r8, rax
call fcn.004054c0
jmp 0x43cfe5
lea r8, str.library_std_src_syswindowsos.rs
mov rcx, rsi
mov rdx, r13
call fcn.00404b60
jmp 0x43cfe5
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x0044f190]
mov edx, 0x21
call fcn.00405860
jmp 0x43cfe5
lea rcx, str.internal_error:_entered_unreachable_code_
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00405860
jmp 0x43cfe5
lea rcx, str.internal_error:_entered_unreachable_code_
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00405860
jmp 0x43cfe5
lea rcx, str.internal_error:_entered_unreachable_code_
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00405860
jmp 0x43cfe5
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x170], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 0xa0], rax
lea rax, [0x00435b70]
mov qword [rsp + 0xa8], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 1
mov qword [rsp + 0x240], 0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], 1
lea rdx, str.library_std_src_syswindowsos.rs
lea rcx, [rsp + 0x220]
call fcn.00404b20
jmp 0x43cfe5
call fcn.00402940
jmp 0x43cfe5
mov qword [rsp + 0x68], r14
mov ecx, 1
mov rdx, r13
mov r14, qword [rsp + 0x68]
call fcn.00402980
jmp 0x43cfe5
lea rcx, str.internal_error:_entered_unreachable_code_
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00405860
jmp 0x43cfe5
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rbx
mov r8, rax
call fcn.004054c0
jmp 0x43cfe5
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rbx
mov r8, rax
call fcn.004054c0
jmp 0x43cfe5
lea r8, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1librarycore_src_sliceiter.rs
call fcn.00404b60
jmp 0x43cfe5
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rbx
mov r8, rax
call fcn.004054c0
jmp 0x43cfe5
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, qword [rsp + 0x58]
mov rdx, rbp
call fcn.004054c0
jmp 0x43cfe5
call fcn.00402940
jmp 0x43cfe5
mov ecx, 2
mov edx, 0xc
call fcn.00402980
jmp 0x43cfe5
mov ecx, 2
mov rdx, r12
call fcn.00402980
ud2