Function at 0x4737b0
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, 0x628
mov rdi, rdx
mov qword [rsp + 0x110], rcx
mov r14, qword [rdx + 0x50]
movzx eax, byte [rdx + 0x58]
test al, al
mov qword [rsp + 0xe0], rdx
jne 0x473802
test r14, r14
jne 0x473802
mov qword [rsp + 0x1f8], 0
lea r12, [rsp + 0x200]
xor ebp, ebp
jmp 0x4745de
xorps xmm0, xmm0
movups xmmword [rsp + 0x1a8], xmm0
test al, al
jne 0x473b33
call sub.KERNEL32.dll_GetEnvironmentStringsW
test rax, rax
je 0x476ed7
mov qword [rsp + 0x58], r14
lea rbx, [rsp + 0x240]
lea r12, [rsp + 0x67]
mov qword [rsp + 0x50], rax
mov r13, rax
nop dword [rax]
cmp word [r13], 0
je 0x473b1c
mov rsi, r13
mov rcx, 0xfffffffffffffffe
xor ebp, ebp
nop dword [rax + rax]
mov rdi, rbp
mov rax, rcx
inc rbp
cmp word [r13], 0
lea r13, [r13 + 2]
lea rcx, [rcx + 2]
jne 0x473860
cmp rdi, 1
je 0x473840
test rdi, rdi
je 0x476e28
mov r15, 0xfffffffffffffffc
xor r14d, r14d
nop word cs:[rax + rax]
cmp word [rsi + r14*2 + 2], 0x3d
je 0x4738c0
inc r14
add r15, 0xfffffffffffffffe
add rax, 0xfffffffffffffffe
jne 0x4738a0
jmp 0x473840
lea r8, [r14 + 1]
cmp r14, rdi
jae 0x476e40
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.00453480
lea rcx, [r14 + 2]
cmp rdi, rcx
jb 0x476e5a
sub rbp, r14
add rbp, 0xfffffffffffffffd
sub rsi, r15
lea rcx, [rsp + 0x120]
mov rdx, rsi
mov r8, rbp
call fcn.00453480
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x190], rax
movups xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x180], xmm0
movzx esi, byte [rsp + 0x108]
lea rcx, [rsp + 0x109]
mov eax, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rsp + 0x220], eax
mov dword [rsp + 0x223], ecx
movups xmm0, xmmword [rsp + 0x120]
movups xmm1, xmmword [rsp + 0x130]
movups xmmword [rbx - 9], xmm1
movups xmmword [rbx - 0x19], xmm0
mov eax, dword [rsp + 0x220]
movzx ecx, word [rsp + 0x224]
movzx edx, byte [rsp + 0x226]
mov r8, qword [rsp + 0x227]
movzx r9d, byte [rsp + 0x22f]
movups xmm0, xmmword [rsp + 0x230]
mov dword [rsp + 0x60], eax
mov word [rsp + 0x64], cx
mov byte [rsp + 0x66], dl
mov qword [rsp + 0x67], r8
mov byte [rsp + 0x6f], r9b
movaps xmmword [rsp + 0x70], xmm0
mov rax, qword [rsp + 0x23f]
mov qword [rsp + 0x7f], rax
cmp sil, 2
je 0x473b1c
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x1d0], rax
movaps xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x1c0], xmm0
mov byte [rsp + 0x1d8], sil
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x63]
lea rdx, [rsp + 0x1d9]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x1d0]
add rcx, rax
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
mov word [rsp + 0x130], 0
lea rdi, [rsp + 0xf0]
mov rcx, rdi
lea r14, [rsp + 0x120]
mov rdx, r14
call fcn.004774c0
movaps xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x220], xmm0
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x230], rax
mov byte [rsp + 0x238], sil
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x63]
mov dword [rbx - 4], ecx
mov dword [rbx - 7], eax
mov rax, qword [rsp + 0x100]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [rbx], xmm0
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x130], xmm1
movaps xmmword [rsp + 0x120], xmm0
mov rcx, rdi
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x220]
mov r9, r14
call fcn.004776c0
cmp byte [rsp + 0x108], 2
je 0x473840
cmp qword [rsp + 0xf0], 0
je 0x473840
mov rcx, qword [rsp + 0xf8]
mov edx, 1
call fcn.004244e0
jmp 0x473840
mov rcx, qword [rsp + 0x50]
call sub.KERNEL32.dll_FreeEnvironmentStringsW
mov rdi, qword [rsp + 0xe0]
mov r14, qword [rsp + 0x58]
mov rax, qword [rdi + 0x40]
mov rsi, qword [rdi + 0x48]
xor r12d, r12d
test rsi, rsi
sete r12b
cmove r14, rsi
add r12, r12
jmp 0x473b52
xor eax, eax
test r14, r14
je 0x4743e8
test r12, r12
je 0x473b80
cmp r12, 2
mov rdx, qword [rsp + 0x50]
jne 0x473c02
jmp 0x476db9
mov r12d, 1
test rax, rax
je 0x473bfe
mov rdx, rax
mov rcx, rax
and rdx, 7
je 0x473bac
and rcx, 0xfffffffffffffff8
nop dword [rax + rax]
mov rsi, qword [rsi + 0x3d8]
dec rdx
jne 0x473ba0
cmp rax, 8
jb 0x473bfe
nop word cs:[rax + rax]
mov rax, qword [rsi + 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 rsi, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x473bc0
xor edx, edx
xor eax, eax
movzx ecx, word [rsi + 0x3d2]
mov rbp, rsi
mov rbx, rdx
cmp rdx, rcx
jb 0x473c46
nop word cs:[rax + rax]
mov rcx, qword [rbp + 0x160]
test rcx, rcx
je 0x476d18
movzx ebx, word [rbp + 0x3d0]
inc rax
mov rbp, rcx
cmp bx, word [rcx + 0x3d2]
jae 0x473c20
test rax, rax
je 0x473ce0
mov rsi, qword [rbp + rbx*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x473cce
lea rdx, [rax - 2]
mov r8, rcx
and r8, 7
je 0x473c85
mov rcx, r8
nop
mov rsi, qword [rsi + 0x3d8]
dec rcx
jne 0x473c70
not r8
add rax, r8
mov rcx, rax
cmp rdx, 7
jb 0x473cce
nop dword [rax + rax]
mov rax, qword [rsi + 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 rsi, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x473c90
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x473cec
lea rax, [rbx + 1]
mov qword [rsp + 0x50], rax
mov rsi, rbp
dec r14
imul rax, rbx, 0x38
lea r15, [rax + rbp]
add r15, 0x168
shl rbx, 5
cmp byte [rbp + rbx + 0x18], 2
jne 0x473d70
mov r13, qword [rsp + 0x1a8]
mov eax, 0
test r13, r13
je 0x473b52
mov rdi, r12
mov r9, qword [r15 + 0x28]
mov rax, qword [r15 + 0x30]
mov r12, qword [rsp + 0x1a0]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xf0]
mov rdx, r12
mov r8, r13
call fcn.00478b60
cmp qword [rsp + 0xf0], 0
je 0x473e39
xor eax, eax
mov r12, rdi
jmp 0x473b52
mov qword [rsp + 0x58], r14
mov r14, qword [r15 + 8]
mov rdi, qword [r15 + 0x10]
test rdi, rdi
mov qword [rsp + 0xe8], r12
je 0x473daa
js 0x476e0c
mov edx, 1
mov rcx, rdi
call fcn.00424450
mov r12, rax
test rax, rax
jne 0x473db0
jmp 0x476e16
mov r12d, 1
mov rcx, r12
mov rdx, r14
mov r8, rdi
call sub.ntdll.dll_memcpy
movzx eax, byte [r15 + 0x18]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], rdi
mov byte [rsp + 0x78], al
mov rdi, qword [r15 + 0x28]
mov r15, qword [r15 + 0x30]
test r15, r15
je 0x473e2b
xor r13d, r13d
movabs rax, 0x3fffffffffffffff
cmp r15, rax
setbe al
ja 0x476de6
lea r12, [r15 + r15]
mov r13b, al
add r13, r13
test r12, r12
je 0x474038
mov rcx, r12
mov rdx, r13
call fcn.00424450
mov r14, rax
test r14, r14
jne 0x474044
jmp 0x476dd6
mov r14d, 2
xor r12d, r12d
jmp 0x474044
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov byte [rsp + 0x180], 0
test rdx, rdx
je 0x474142
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x473f3e
lea r8, [rdx - 2]
mov r9, rcx
and r9, 7
je 0x473eae
mov rcx, r9
nop word cs:[rax + rax]
movzx r10d, word [rax + 0x3d2]
mov rax, qword [rax + r10*8 + 0x3d8]
dec rcx
jne 0x473e90
not r9
add rdx, r9
mov rcx, rdx
cmp r8, 7
jb 0x473f3e
nop dword [rax + 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 0x473ec0
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rcx
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x180]
call fcn.00478cc0
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x170], rax
movups xmm0, xmmword [rsp + 0x260]
movaps xmmword [rsp + 0x160], xmm0
movups xmm0, xmmword [rsp + 0x220]
movups xmm1, xmmword [rsp + 0x230]
movups xmm2, xmmword [rsp + 0x240]
movups xmm3, xmmword [rsp + 0x250]
movaps xmmword [rsp + 0x150], xmm3
movaps xmmword [rsp + 0x140], xmm2
movaps xmmword [rsp + 0x130], xmm1
movaps xmmword [rsp + 0x120], xmm0
mov rdx, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x288]
movzx r8d, word [rdx + 0x3d2]
mov rax, rdx
cmp rcx, r8
jb 0x474177
nop word cs:[rax + rax]
mov rax, qword [rdx + 0x160]
test rax, rax
je 0x474174
movzx ecx, word [rdx + 0x3d0]
mov rdx, rax
cmp cx, word [rax + 0x3d2]
jae 0x474010
jmp 0x474177
mov r14, r13
test r14, r14
je 0x476dd6
add rbp, rbx
mov rcx, r14
mov rdx, rdi
mov r8, r12
call sub.ntdll.dll_memcpy
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x220], xmm0
movaps xmmword [rsp + 0x230], xmm1
mov qword [rsp + 0x240], r15
mov qword [rsp + 0x248], r14
mov qword [rsp + 0x250], r15
mov r14, qword [rbp + 8]
mov rdi, qword [rbp + 0x10]
test rdi, rdi
je 0x4740b4
js 0x476df0
mov edx, 1
mov rcx, rdi
call fcn.00424450
mov r12, rax
test rax, rax
jne 0x4740ba
jmp 0x476dfa
mov r12d, 1
mov rcx, r12
mov rdx, r14
mov r8, rdi
call sub.ntdll.dll_memcpy
movzx eax, byte [rbp + 0x18]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], rdi
mov byte [rsp + 0x78], al
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x220]
lea r9, [rsp + 0x60]
call fcn.004776c0
cmp byte [rsp + 0x138], 2
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0xe8]
je 0x473b50
cmp qword [rsp + 0x120], 0
je 0x473b50
mov rcx, qword [rsp + 0x128]
mov edx, 1
call fcn.004244e0
jmp 0x473b50
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rcx
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x60]
lea r8, [rsp + 0x180]
call fcn.00478cc0
jmp 0x4742a3
mov rax, rdx
lea rdx, [rsp + 0x158]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x230], xmm1
movaps xmmword [rsp + 0x220], xmm0
imul rdx, rcx, 0x38
shl rcx, 5
mov r8, qword [rax + rdx + 0x198]
mov qword [rsp + 0x90], r8
movups xmm0, xmmword [rax + rdx + 0x168]
movups xmm1, xmmword [rax + rdx + 0x178]
movups xmm2, xmmword [rax + rdx + 0x188]
movaps xmmword [rsp + 0x80], xmm2
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x120]
movaps xmm1, xmmword [rsp + 0x130]
movaps xmm2, xmmword [rsp + 0x140]
mov r8, qword [rsp + 0x150]
mov qword [rax + rdx + 0x198], r8
movups xmmword [rax + rdx + 0x168], xmm0
movups xmmword [rax + rdx + 0x188], xmm2
movups xmmword [rax + rdx + 0x178], xmm1
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
lea rdx, [rsp + 0x98]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
movaps xmm0, xmmword [rsp + 0x220]
movaps xmm1, xmmword [rsp + 0x230]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movaps xmm3, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x220], xmm0
movaps xmmword [rsp + 0x230], xmm1
movaps xmmword [rsp + 0x240], xmm2
movaps xmmword [rsp + 0x250], xmm3
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x260], xmm0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x270], rax
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0xb0], rax
movaps xmm0, xmmword [rsp + 0x260]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0x220]
movaps xmm1, xmmword [rsp + 0x230]
movaps xmm2, xmmword [rsp + 0x240]
movaps xmm3, xmmword [rsp + 0x250]
movaps xmmword [rsp + 0x90], xmm3
movaps xmmword [rsp + 0x80], xmm2
dec qword [rsp + 0x1b0]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
cmp byte [rsp + 0x180], 0
je 0x47434a
test r12, r12
je 0x476e6e
mov rax, qword [r13 + 0x3d8]
mov qword [rsp + 0x1a8], rax
dec r12
mov qword [rsp + 0x1a0], r12
mov qword [rax + 0x160], 0
mov edx, 8
mov rcx, r13
call fcn.004244e0
cmp byte [rsp + 0x78], 2
mov eax, 0
mov r12, rdi
je 0x473b52
mov r12, r14
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x98]
mov r13, qword [rsp + 0xa0]
movzx ebp, byte [rsp + 0xb0]
cmp qword [rsp + 0x60], 0
je 0x47439f
mov rcx, qword [rsp + 0x68]
mov edx, 1
call fcn.004244e0
test r15, r15
je 0x4743b1
mov edx, 2
mov rcx, r14
call fcn.004244e0
mov eax, 0
cmp bpl, 2
mov r14, r12
mov r12, rdi
je 0x473b52
mov eax, 0
test rbx, rbx
je 0x473b52
mov edx, 1
mov rcx, r13
call fcn.004244e0
xor eax, eax
jmp 0x473b52
movups xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rsp + 0x200], xmm0
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x1f8], 1
mov ebx, 4
mov ecx, 4
mov edx, 1
call fcn.00424450
test rax, rax
je 0x476e8b
mov dword [rax], 0x48544150
mov qword [rsp + 0x60], 4
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 4
mov byte [rsp + 0x78], 0
mov rcx, rax
add rcx, 4
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], rax
mov word [rsp + 0x230], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x220]
call fcn.004774c0
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x220], xmm0
movaps xmmword [rsp + 0x230], xmm1
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x240], xmm0
mov r15, qword [rsp + 0x130]
mov qword [rsp + 0x250], r15
mov rsi, qword [rsp + 0x248]
mov r14, qword [rsp + 0x208]
test r14, r14
mov rdi, qword [rsp + 0xe0]
je 0x47459f
mov r12, qword [rsp + 0x200]
lea rcx, [r14 + 0x168]
movzx eax, word [r14 + 0x3d2]
mov qword [rsp + 0x50], rax
imul rbx, rax, 0x38
lea r13, [r14 - 0x10]
mov rbp, 0xffffffffffffffff
nop
test rbx, rbx
je 0x474550
lea rdi, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, rsi
mov edx, r15d
call sub.KERNEL32.dll_CompareStringOrdinal
add rbx, 0xffffffffffffffc8
add r13, 0x20
inc rbp
mov rcx, rdi
cmp eax, 3
je 0x474510
cmp eax, 1
jne 0x474574
jmp 0x474555
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0xe0]
sub r12, 1
jb 0x47556f
mov r14, qword [r14 + rbp*8 + 0x3d8]
jmp 0x4744ec
cmp eax, 2
mov rdi, qword [rsp + 0xe0]
jne 0x476d35
test r14, r14
je 0x47459f
mov rbp, qword [r13 - 8]
mov r15, qword [r13]
cmp qword [rsp + 0x220], 0
jne 0x4745ac
jmp 0x4745be
xor ebp, ebp
cmp qword [rsp + 0x220], 0
je 0x4745be
mov rcx, qword [rsp + 0x228]
mov edx, 1
call fcn.004244e0
cmp qword [rsp + 0x240], 0
je 0x4745d6
mov edx, 2
mov rcx, rsi
call fcn.004244e0
lea r12, [rsp + 0x200]
mov r14, qword [rdi + 0x28]
mov rbx, qword [rdi + 0x30]
test rbx, rbx
je 0x474625
cmp rbx, 4
jae 0x4745fa
lea rdx, [0x00479820]
jmp 0x474613
cmp dword [r14], 0x5c3f5c5c
lea rax, [0x00479810]
lea rdx, [0x00479820]
cmove rdx, rax
movzx esi, byte [rbx + r14 - 1]
mov ecx, esi
call rdx
test al, al
je 0x4747fa
lea rax, str.program_path_has_no_file_name
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], 0
mov rdx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x128]
test rax, rax
je 0x4747d3
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x1e0], rdx
mov qword [rsp + 0x1e8], rax
mov qword [rsp + 0x1f0], rcx
cmp rcx, 5
jb case.0x474d2b.68
cmp word [rax + rcx*2 - 0xa], 0x2e
jne case.0x474d2b.68
cmp word [rax + rcx*2 - 2], 0
je 0x474d0a
mov rax, qword [rsp + 0xe0]
mov rsi, qword [rax + 0x98]
mov rdi, qword [rax + 0xa0]
movzx ebp, byte [rax + 0xad]
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 2
mov qword [rsp + 0x70], 0
lea rcx, [rsp + 0x60]
xor edx, edx
call fcn.004523c0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0x70], rcx
add rbx, r14
mov qword [rsp + 0x220], rbx
mov qword [rsp + 0x228], r14
mov word [rsp + 0x230], 0
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x220]
call fcn.00452240
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x474739
lea rcx, [rsp + 0x60]
call fcn.004523c0
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0x70], rdx
shl rdi, 3
lea r14, [rdi + rdi*4]
lea rbx, [rsp + 0x60]
nop dword [rax]
test r14, r14
je 0x474873
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x474782
mov rcx, rbx
call fcn.004523c0
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0x70], rdx
mov rcx, rbx
mov rdx, rsi
mov r8d, ebp
call fcn.00479b00
mov rdi, rax
add rsi, 0x28
add r14, 0xffffffffffffffd8
test rax, rax
je 0x474760
cmp qword [rsp + 0x60], 0
je 0x4749a6
mov rcx, qword [rsp + 0x68]
mov edx, 2
call fcn.004244e0
jmp 0x4749a6
mov rax, qword [rsp + 0x110]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x1f8], 0
jne 0x4749ed
jmp 0x474aa5
cmp rbx, 3
jbe 0x474a2e
movzx eax, byte [rbx + r14 - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x474a2e
movzx eax, byte [r14 + rbx - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x474a2e
movzx eax, byte [r14 + rbx - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x474a2e
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete cl
jmp 0x474a30
mov rdi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x4749a6
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x1f0]
mov qword [rsp + 0xd0], rcx
movups xmm0, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0xc0], xmm0
mov r15b, 1
mov rbx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x1b0], rcx
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x1a0], xmm0
mov qword [rsp + 0x180], rdi
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x190], rdx
cmp rdx, rdi
jne 0x474910
lea rcx, [rsp + 0x180]
call fcn.004523c0
mov rax, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x190]
mov word [rax + rdx*2], 0
inc rdx
mov qword [rsp + 0x190], rdx
cmp byte [rbx + 0xac], 0
mov eax, 0x400
mov r14d, 0x608
cmove r14d, eax
or r14d, dword [rbx + 0xa8]
cmp qword [rsp + 0x1f8], 0
je 0x474cc5
mov rdi, qword [r12 + 0x10]
mov qword [rsp + 0x1d0], rdi
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x1c0], xmm0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 2
mov qword [rsp + 0xd0], 0
test rdi, rdi
mov dword [rsp + 0x50], r15d
je 0x474eb8
mov esi, 2
xor r12d, r12d
jmp 0x474ee9
mov rax, qword [rsp + 0x110]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
xor esi, esi
cmp qword [rsp + 0x1e0], 0
je 0x4749d8
mov rcx, qword [rsp + 0x1e8]
mov edx, 2
call fcn.004244e0
cmp qword [rsp + 0x1f8], 0
sete al
or sil, al
jne 0x474aa5
mov rcx, qword [rsp + 0x208]
test rcx, rcx
je 0x474a79
mov rdx, qword [rsp + 0x200]
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x228], rdx
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x248], rdx
mov qword [rsp + 0x250], rcx
xor ecx, ecx
jmp 0x474a80
xor ecx, ecx
lea rax, [r14 + rbx]
xor edx, edx
nop word cs:[rax + rax]
cmp rbx, rdx
je 0x474aba
movzx r8d, byte [r14 + rdx]
cmp r8d, 0x2f
je 0x474a59
inc rdx
cmp r8d, 0x5c
jne 0x474a40
test cl, cl
je 0x474b99
lea rcx, [rsp + 0x120]
mov rdx, r14
mov r8, rbx
call fcn.00479830
jmp 0x474640
mov ecx, 2
xor eax, eax
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x240], rcx
mov qword [rsp + 0x260], rax
lea rcx, [rsp + 0x220]
call fcn.00479f70
nop
add rsp, 0x628
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r9d, r9d
mov rcx, r14
jmp 0x474adc
xor r9d, r9d
test dx, dx
je 0x474cb9
mov dx, 1
test r9w, r9w
jne 0x474ad0
cmp rcx, rax
je 0x4754b2
movzx r8d, byte [rcx]
test r8b, r8b
js 0x474afd
inc rcx
jmp 0x474b61
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x474b53
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x474b6c
movzx r8d, byte [rcx + 3]
add rcx, 4
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0xffff
jbe 0x474b61
jmp 0x474b83
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
xor r9d, r9d
mov edx, r8d
jmp 0x474ad3
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xffff
jbe 0x474b61
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x474ad3
test rbx, rbx
js 0x476f78
mov edx, 1
mov rcx, rbx
call fcn.00424450
test rax, rax
je 0x476e8b
mov rsi, rax
mov rcx, rax
mov rdx, r14
mov r8, rbx
call sub.ntdll.dll_memcpy
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x78], 0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x230], rax
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0x238], al
mov eax, dword [rsp + 0x79]
mov dword [rsp + 0x239], eax
movzx eax, word [rsp + 0x7d]
mov word [rsp + 0x23d], ax
movzx eax, byte [rsp + 0x7f]
mov byte [rsp + 0x23f], al
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x228], rax
lea rdx, str..exeprogram_not_found
lea rcx, [rsp + 0x220]
mov r8d, 4
call fcn.0046fd20
movaps xmm0, xmmword [rsp + 0x220]
movaps xmm1, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
mov rsi, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
lea rcx, [rsp + 0x220]
mov rdx, rsi
mov r8, r15
call fcn.00479960
cmp qword [rsp + 0x228], 0
je 0x475478
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x130], rax
movups xmm0, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x120], xmm0
jmp 0x476123
lea rax, str.nul_byte_found_in_provided_data
jmp 0x47462c
mov r13d, 2
xor eax, eax
xor r12d, r12d
xor esi, esi
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], r13
mov qword [rsp + 0x1d0], r12
cmp byte [rbx + 0x18], 2
jne 0x47538a
xor ecx, ecx
mov eax, 2
xor edx, edx
xor r12d, r12d
jmp 0x4759ba
movzx edx, word [rax + rcx*2 - 8]
lea r8d, [rdx - 0x42]
cmp r8d, 0x21
ja case.0x474d2b.68
lea r9, [0x004773c0]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
movzx r8d, word [rax + rcx*2 - 6]
or r8d, 0x20
cmp r8d, 0x61
jne 0x474d4e
movzx r8d, word [rax + rcx*2 - 4]
or r8d, 0x20
cmp r8d, 0x74
je 0x474d7c
cmp dx, 0x43
jne case.0x474d2b.68
movzx edx, word [rax + rcx*2 - 6]
or edx, 0x20
cmp edx, 0x6d
jne case.0x474d2b.68
movzx eax, word [rax + rcx*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x474d2b.68
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 2
mov qword [rsp + 0x70], 0
mov esi, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov r14d, 0xffffffff
xor r15d, r15d
xor r12d, r12d
cmp rsi, 0x201
jb 0x474ddf
jmp 0x474e00
jae 0x475c6f
cmp rsi, 0x201
jae 0x474e00
lea r13, [rsp + 0x220]
mov edi, 0x200
mov rbp, rsi
jmp 0x474e51
sub rsi, r12
sub r15, r12
cmp r15, rsi
jae 0x474e2f
lea rcx, [rsp + 0x60]
mov rdx, r12
mov r8, rsi
call fcn.00452480
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x58], rax
mov r15, qword [rsp + 0x50]
cmp r15, r14
mov r12d, 0xffffffff
cmovb r12, r15
mov qword [rsp + 0x70], r12
mov r13, qword [rsp + 0x58]
mov rdi, r12
mov rbp, r12
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, r13
mov edx, ebp
call sub.KERNEL32.dll_GetSystemDirectoryW
mov ebx, eax
test eax, eax
jne 0x474e75
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x475fae
mov esi, ebx
cmp rbp, rsi
jne 0x474dd0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x476eba
add rbp, rbp
mov eax, 0xffffffff
cmp rbp, rax
mov r14d, 0xffffffff
cmovae rbp, rax
mov rsi, rbp
cmp rsi, 0x201
jae 0x474e00
jmp 0x474ddf
lea rcx, [rsp + 0xc0]
xor edx, edx
call fcn.004523c0
mov rsi, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
mov word [rsi + r12*2], 0
inc r12
mov qword [rsp + 0xd0], r12
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c8]
xor edx, edx
test rcx, rcx
sete dl
cmove rdi, rcx
add rdx, rdx
mov qword [rsp + 0x220], rdx
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x240], rdx
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x250], rcx
mov qword [rsp + 0x260], rdi
lea r13, [rsp + 0x60]
lea rbp, [rsp + 0x220]
mov rcx, r13
mov rdx, rbp
call fcn.004734a0
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x475f4a
mov r9, qword [rsp + 0x70]
imul r10, r9, 0x38
cmp byte [r8 + r10 + 0x180], 2
je 0x475f4a
mov rax, qword [r8 + r10 + 0x168]
mov rcx, qword [r8 + r10 + 0x170]
mov rdx, qword [r8 + r10 + 0x178]
mov rbp, qword [r8 + r10 + 0x188]
mov r13, qword [r8 + r10 + 0x190]
mov r15, qword [r8 + r10 + 0x198]
shl r9, 5
movups xmm0, xmmword [r8 + r9]
movups xmm1, xmmword [r8 + r9 + 0x10]
movaps xmmword [rsp + 0x130], xmm1
movaps xmmword [rsp + 0x120], xmm0
add rdx, rcx
xor r11d, r11d
mov r8, rcx
jmp 0x474fed
xor r11d, r11d
test r9w, r9w
je 0x475337
mov r9w, 1
test r11w, r11w
jne 0x474fe0
cmp r8, rdx
je 0x4750c1
movzx r10d, byte [r8]
test r10b, r10b
js 0x475012
inc r8
jmp 0x4750a0
mov r11d, r10d
and r11d, 0x1f
movzx ebx, byte [r8 + 1]
and ebx, 0x3f
cmp r10b, 0xdf
jbe 0x47505a
movzx edi, byte [r8 + 2]
shl ebx, 6
and edi, 0x3f
or edi, ebx
cmp r10b, 0xf0
jb 0x475072
movzx r10d, byte [r8 + 3]
add r8, 4
and r11d, 7
shl r11d, 0x12
shl edi, 6
and r10d, 0x3f
or r10d, edi
or r10d, r11d
jmp 0x475080
add r8, 2
shl r11d, 6
or r11d, ebx
mov r10d, r11d
mov rbx, qword [rsp + 0xe0]
jmp 0x4750a0
add r8, 3
shl r11d, 0xc
or edi, r11d
mov r10d, edi
mov rbx, qword [rsp + 0xe0]
cmp r10d, 0xffff
ja 0x4750ab
nop word cs:[rax + rax]
xor r11d, r11d
mov r9d, r10d
jmp 0x474fe3
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x474fe3
test rax, rax
je 0x4750d0
mov edx, 1
call fcn.004244e0
mov rax, qword [rsp + 0xc0]
sub rax, r12
cmp rax, r15
jae 0x475103
lea rcx, [rsp + 0xc0]
mov rdx, r12
mov r8, r15
call fcn.00452480
mov rsi, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
lea r8, [r15 + r15]
lea rcx, [rsi + r12*2]
mov rdx, r13
call sub.ntdll.dll_memcpy
add r12, r15
mov qword [rsp + 0xd0], r12
test rbp, rbp
je 0x475130
mov edx, 2
mov rcx, r13
call fcn.004244e0
cmp r12, qword [rsp + 0xc0]
lea rbp, [rsp + 0x220]
jne 0x475169
lea rcx, [rsp + 0xc0]
mov rdx, r12
call fcn.004523c0
lea r13, [rsp + 0x60]
mov rsi, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
jmp 0x47516e
lea r13, [rsp + 0x60]
mov word [rsi + r12*2], 0x3d
inc r12
mov qword [rsp + 0xd0], r12
mov r12, qword [rsp + 0x120]
mov r15, qword [rsp + 0x128]
mov rax, qword [rsp + 0x130]
movzx ecx, byte [rsp + 0x138]
lea rdx, [r15 + rax]
xor r11d, r11d
mov r8, r15
jmp 0x4751bd
xor r11d, r11d
test r9w, r9w
je 0x47550f
mov r9w, 1
test r11w, r11w
jne 0x4751b0
cmp r8, rdx
je 0x475276
movzx r10d, byte [r8]
test r10b, r10b
js 0x4751df
inc r8
jmp 0x47523e
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [r8 + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x475230
movzx esi, byte [r8 + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp r10b, 0xf0
jb 0x475249
movzx r10d, byte [r8 + 3]
add r8, 4
and r11d, 7
shl r11d, 0x12
shl esi, 6
and r10d, 0x3f
or r10d, esi
or r10d, r11d
cmp r10d, 0xffff
jbe 0x47523e
jmp 0x475260
add r8, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
xor r11d, r11d
mov r9d, r10d
jmp 0x4751b3
add r8, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
cmp r10d, 0xffff
jbe 0x47523e
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x4751b3
cmp cl, 2
je 0x476cdf
lea r9, [rsp + 0x139]
mov r8d, dword [r9]
mov r9d, dword [r9 + 3]
lea r10, [rsp + 0x79]
mov dword [r10 + 3], r9d
mov dword [r10], r8d
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x78], cl
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], r15
mov word [rsp + 0x100], 0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0xf0]
call fcn.00452240
test r12, r12
je 0x4752ee
mov edx, 1
mov rcx, r15
call fcn.004244e0
mov r12, qword [rsp + 0xd0]
cmp r12, qword [rsp + 0xc0]
jne 0x475318
lea rcx, [rsp + 0xc0]
mov rdx, r12
call fcn.004523c0
mov r12, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xc8]
mov word [rsi + r12*2], 0
inc r12
mov qword [rsp + 0xd0], r12
jmp 0x474f4d
test rax, rax
je 0x475346
mov edx, 1
call fcn.004244e0
cmp qword [rsp + 0x120], 0
mov r15d, dword [rsp + 0x50]
je 0x475368
mov rcx, qword [rsp + 0x128]
mov edx, 1
call fcn.004244e0
lea rsi, str.nul_byte_found_in_provided_data
test rbp, rbp
je 0x47552d
mov edx, 2
mov rcx, r13
call fcn.004244e0
jmp 0x47552d
mov rax, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
add rcx, rax
xor r10d, r10d
mov rdx, rax
mov r12, qword [rsp + 0x58]
jmp 0x4753bd
xor r10d, r10d
test r8w, r8w
je 0x4754f0
mov r8w, 1
test r10w, r10w
jne 0x4753b0
cmp rdx, rcx
je 0x47595a
movzx r9d, byte [rdx]
test r9b, r9b
js 0x4753df
inc rdx
jmp 0x475440
mov r10d, r9d
and r10d, 0x1f
movzx edi, byte [rdx + 1]
and edi, 0x3f
cmp r9b, 0xdf
jbe 0x475432
movzx r11d, byte [rdx + 2]
shl edi, 6
and r11d, 0x3f
or r11d, edi
cmp r9b, 0xf0
jb 0x47544b
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
cmp r9d, 0xffff
jbe 0x475440
jmp 0x475462
add rdx, 2
shl r10d, 6
or r10d, edi
mov r9d, r10d
xor r10d, r10d
mov r8d, r9d
jmp 0x4753b3
add rdx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x475440
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x4753b3
mov rcx, rsi
mov rdx, r15
call fcn.00472fd0
test rax, rax
je 0x476110
cmp rdx, 2
jne 0x475585
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x475585
mov r8d, 2
xor ecx, ecx
jmp 0x4755ce
cmp rbx, 0xf
ja 0x4755d3
lea rax, [rbx - 1]
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [r14 + rcx], 0x2e
sete dil
je 0x4755e8
lea rdx, [rcx + 1]
cmp rax, rcx
mov rcx, rdx
jne 0x4754d0
jmp 0x4755e8
lea rax, str.nul_byte_found_in_provided_data
mov rcx, qword [rsp + 0x110]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x475c12
lea rsi, str.nul_byte_found_in_provided_data
test r12, r12
je 0x475528
mov edx, 1
mov rcx, r15
call fcn.004244e0
mov r15d, dword [rsp + 0x50]
lea rcx, [rsp + 0x220]
call fcn.00479f70
cmp qword [rsp + 0xc0], 0
je 0x475557
mov rcx, qword [rsp + 0xc8]
mov edx, 2
call fcn.004244e0
mov rax, qword [rsp + 0x110]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
jmp 0x475c24
xor ebp, ebp
cmp qword [rsp + 0x220], 0
jne 0x4745ac
jmp 0x4745be
xor r11d, r11d
mov rcx, rax
nop dword [rax + rax]
cmp rdx, r11
je 0x475da7
mov r9, r11
lea r10, [rcx - 1]
inc r11
cmp byte [rcx + rdx - 1], 0x2e
mov rcx, r10
jne 0x475590
mov r8, rdx
sub r8, r11
lea rcx, [r8 + 1]
cmp rdx, rcx
jb 0x476faa
cmp rdx, r11
jne 0x4760e0
xor ecx, ecx
mov r8, rdx
jmp 0x4760ea
mov cl, 0x2e
mov rdx, r14
mov r8, rbx
call fcn.00429870
cmp rax, 1
sete dil
test rbp, rbp
mov byte [rsp + 0xe8], dil
mov qword [rsp + 0x118], r12
je 0x47564f
add r15, rbp
mov qword [rsp + 0x120], r15
mov qword [rsp + 0x128], rbp
mov word [rsp + 0x130], 0
mov byte [rsp + 0x138], 1
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x120]
call fcn.0046f540
movzx eax, byte [rsp + 0x238]
cmp al, 2
jne 0x475ca2
movzx edi, byte [rsp + 0xe8]
lea rcx, [rsp + 0x120]
call fcn.0046fb20
cmp byte [rsp + 0x138], 2
jne 0x475678
lea rcx, [rsp + 0x120]
call fcn.004533e0
jmp 0x475759
movups xmm0, xmmword [rsp + 0x120]
movups xmm1, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
mov rcx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdx, rsi
call fcn.00471680
test rax, rax
je 0x4756b3
cmp rsi, rdx
jb 0x4756b3
mov qword [rsp + 0x70], rdx
movaps xmm0, xmmword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x238], rax
movaps xmmword [rsp + 0x220], xmm0
lea rcx, [rsp + 0x220]
mov rdx, r14
mov r8, rbx
call fcn.004701f0
test dil, dil
jne 0x4756ff
lea rcx, [rsp + 0x220]
call fcn.00473130
mov rsi, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.00479960
cmp qword [rsp + 0x220], 0
je 0x475737
mov edx, 1
mov rcx, rsi
call fcn.004244e0
mov rdi, qword [rsp + 0xf8]
test rdi, rdi
je 0x475759
mov r15, qword [rsp + 0xf0]
mov r12, qword [rsp + 0x100]
jmp 0x476258
mov qword [rsp + 0x178], r14
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 2
mov qword [rsp + 0xd0], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov r14d, 0xffffffff
xor r12d, r12d
xor ebp, ebp
cmp r8, 0x201
jb 0x4757cf
jmp 0x4757f0
jae 0x4758b3
cmp r8, 0x201
jae 0x4757f0
lea rdi, [rsp + 0x220]
mov esi, 0x200
mov r13, r8
jmp 0x475849
sub r8, rbp
sub r12, rbp
cmp r12, r8
jae 0x475825
lea rcx, [rsp + 0xc0]
mov rdx, rbp
call fcn.00452480
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x58], rax
mov r12, qword [rsp + 0x50]
cmp r12, r14
mov ebp, 0xffffffff
cmovb rbp, r12
mov qword [rsp + 0xd0], rbp
mov rdi, qword [rsp + 0x58]
mov rsi, rbp
mov r13, rbp
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rdi
mov edx, r13d
call sub.KERNEL32.dll_GetSystemDirectoryW
mov r15d, eax
test eax, eax
jne 0x47586f
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x475db1
mov r8d, r15d
cmp r13, r8
jne 0x4757c0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x476e9d
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
mov r14d, 0xffffffff
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x4757f0
jmp 0x4757cf
cmp rsi, r8
movzx ebp, byte [rsp + 0xe8]
jb 0x476f7f
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.00453480
mov r14, qword [rsp + 0x178]
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rbx
call fcn.004701f0
test bpl, bpl
jne 0x4758f8
lea rcx, [rsp + 0x60]
call fcn.00473130
mov rsi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.00479960
cmp qword [rsp + 0x60], 0
je 0x475927
mov edx, 1
mov rcx, rsi
call fcn.004244e0
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x128], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x120], 0
xor esi, esi
jmp 0x475ddd
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], rax
mov word [rsp + 0x230], 0
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x220]
call fcn.004774c0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
cmp rdx, rcx
jne 0x4759a9
lea rcx, [rsp + 0x60]
call fcn.004523c0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov word [rax + rdx*2], 0
inc rdx
mov r12, rax
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x178], rax
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rdx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xf0], xmm0
mov qword [rsp + 0x100], 0
lea rdi, [0x004b8148]
mov rcx, rdi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [0x004b81e0]
shl rax, 1
test rax, rax
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0x218], r12
je 0x475a3a
call fcn.00454d80
mov ebp, eax
xor bpl, 1
jmp 0x475a3c
xor ebp, ebp
movzx ecx, byte [0x004b8150]
xor eax, eax
mov byte [rsp + 0x118], cl
test cl, cl
setne al
mov qword [rsp + 0x128], rdi
mov byte [rsp + 0x130], bpl
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x80], 0
lea r12, [rbx + 0x70]
mov rdi, qword [rbx + 0x70]
xor eax, eax
cmp rdi, 5
cmove r12, rax
mov rdx, rbx
add rbx, 0x80
mov r15, qword [rdx + 0x80]
cmp r15, 5
cmove rbx, rax
mov rcx, qword [rdx + 0x60]
mov rdx, qword [rdx + 0x68]
cmp rcx, 5
cmove rcx, rax
lea r9, [rsp + 0x60]
mov r8d, 0xfffffff6
call fcn.0047a050
mov r13, rdx
test rax, rax
je 0x475b71
mov rax, qword [rsp + 0x110]
mov qword [rax], r13
mov qword [rax + 0x10], 2
mov r15d, dword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
movzx ebx, byte [rsp + 0x118]
cmp qword [rsp + 0x60], 0
je 0x475b15
mov rcx, qword [rsp + 0x68]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x70], 0
je 0x475b27
mov rcx, qword [rsp + 0x78]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x80], 0
je 0x475b3f
mov rcx, qword [rsp + 0x88]
call sub.KERNEL32.dll_CloseHandle
movabs rax, 0x7fffffffffffffff
test bl, bl
je 0x475bc0
test bpl, bpl
mov r13, qword [rsp + 0xe8]
jne 0x475be9
mov rcx, qword [0x004b81e0]
test rcx, rax
je 0x475be9
call fcn.00454d80
jmp 0x475bde
lea r9, [rsp + 0x70]
xor ecx, ecx
cmp rdi, 5
cmovne rcx, rdi
je 0x475b87
mov rdx, qword [r12 + 8]
mov r8d, 0xfffffff5
call fcn.0047a050
mov r12, qword [rsp + 0x58]
test rax, rax
je 0x475fc4
mov rax, qword [rsp + 0x110]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov r15d, dword [rsp + 0x50]
mov rdi, r13
jmp 0x476020
test bpl, bpl
mov r13, qword [rsp + 0xe8]
jne 0x475be9
mov rcx, qword [0x004b81e0]
test rcx, rax
je 0x475be9
call fcn.00454d80
test al, al
jne 0x475be9
mov byte [0x004b8150], 1
lea rcx, [0x004b8148]
call fcn.004914b8
cmp qword [rsp + 0xe0], 0
je 0x475c12
mov edx, 2
mov rcx, qword [rsp + 0x178]
call fcn.004244e0
test r12, r12
je 0x475c24
mov edx, 2
mov rcx, r13
call fcn.004244e0
cmp qword [rsp + 0x180], 0
je 0x475c41
mov rcx, qword [rsp + 0x188]
mov edx, 2
call fcn.004244e0
cmp qword [rsp + 0x1a0], 0
je 0x475c5e
mov rcx, qword [rsp + 0x1a8]
mov edx, 2
call fcn.004244e0
mov sil, 1
test r15b, r15b
je 0x4749bb
jmp 0x474aa5
cmp rdi, rsi
jb 0x476f96
test ebx, ebx
je 0x47635e
lea rdi, [rsi + rsi]
mov edx, 2
mov rcx, rdi
call fcn.00424450
test rax, rax
je 0x476fcc
mov rbx, rax
jmp 0x476365
lea r13, [rsp + 0x239]
lea rbp, [rsp + 0x79]
lea rsi, [rsp + 0x220]
lea r15, [rsp + 0x120]
lea r12, [rsp + 0x60]
jmp 0x475ceb
mov rcx, rsi
mov rdx, r15
call fcn.0046f540
movzx eax, byte [rsp + 0x238]
cmp al, 2
je 0x475647
mov rdx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
test r8, r8
jne 0x475d19
test rdx, rdx
je 0x475cd0
mov edx, 1
call fcn.004244e0
jmp 0x475cd0
mov r9d, dword [r13]
mov r10d, dword [r13 + 3]
mov dword [rbp + 3], r10d
mov dword [rbp], r9d
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], r8
mov byte [rsp + 0x78], al
mov rcx, r12
mov rdx, r14
mov r8, rbx
call fcn.004701f0
cmp byte [rsp + 0xe8], 0
jne 0x475d5c
mov rcx, r12
call fcn.00473130
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rcx, rsi
mov rdx, rdi
call fcn.00479960
cmp qword [rsp + 0x60], 0
je 0x475d86
mov edx, 1
mov rcx, rdi
call fcn.004244e0
mov rdi, qword [rsp + 0x228]
test rdi, rdi
jne 0x476c52
mov rcx, rsi
mov rdx, r15
call fcn.0046f540
jmp 0x475cdb
mov rcx, rax
xor eax, eax
jmp 0x4760ea
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x120], 1
mov sil, 1
mov r14, qword [rsp + 0x178]
cmp qword [rsp + 0x50], 0
je 0x475df4
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.004244e0
mov rdi, qword [rsp + 0x130]
test rdi, rdi
sete al
or sil, al
cmp sil, 1
jne 0x476248
lea rcx, [rsp + 0x120]
call fcn.00479a50
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 2
mov qword [rsp + 0xd0], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor r12d, r12d
xor ebp, ebp
cmp r8, 0x201
jb 0x475e76
jmp 0x475e88
jae 0x476041
cmp r8, 0x201
jae 0x475e88
lea rdi, [rsp + 0x220]
mov esi, 0x200
mov r13, r8
jmp 0x475ee6
sub r8, rbp
sub r12, rbp
cmp r12, r8
jae 0x475ebd
lea rcx, [rsp + 0xc0]
mov rdx, rbp
call fcn.00452480
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x58], rax
mov r12, qword [rsp + 0x50]
mov eax, 0xffffffff
cmp r12, rax
mov ebp, 0xffffffff
cmovb rbp, r12
mov qword [rsp + 0xd0], rbp
mov rdi, qword [rsp + 0x58]
mov rsi, rbp
mov r13, rbp
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rdi
mov edx, r13d
call sub.KERNEL32.dll_GetWindowsDirectoryW
mov r15d, eax
test eax, eax
jne 0x475f0c
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x476141
mov r8d, r15d
cmp r13, r8
jne 0x475e67
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x476f5e
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x475e88
jmp 0x475e76
lea rcx, [rsp + 0x220]
mov r15d, dword [rsp + 0x50]
call fcn.00479f70
cmp r12, qword [rsp + 0xc0]
jne 0x475f86
lea rcx, [rsp + 0xc0]
mov rdx, r12
call fcn.004523c0
mov rsi, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
mov word [rsi + r12*2], 0
mov r13, qword [rsp + 0xc8]
test r13, r13
je 0x475557
inc r12
mov rax, qword [rsp + 0xc0]
jmp 0x474cd2
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
xor ebx, ebx
jmp 0x476373
mov qword [rsp + 0x1b8], rdx
lea r9, [rsp + 0x80]
xor ecx, ecx
cmp r15, 5
cmovne rcx, r15
je 0x475fe4
mov rdx, qword [rbx + 8]
mov r8d, 0xfffffff4
mov r15d, dword [rsp + 0x50]
call fcn.0047a050
test rax, rax
mov rdi, r13
je 0x47682f
mov rax, qword [rsp + 0x110]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov rcx, qword [rsp + 0x1b8]
call sub.KERNEL32.dll_CloseHandle
movzx ebx, byte [rsp + 0x118]
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x60], 0
jne 0x475b0b
jmp 0x475b15
cmp rsi, r8
movzx ebp, byte [rsp + 0xe8]
jb 0x476fdb
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.00453480
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rbx
call fcn.004701f0
test bpl, bpl
jne 0x47607e
lea rcx, [rsp + 0x60]
call fcn.00473130
mov rsi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.00479960
cmp qword [rsp + 0x60], 0
je 0x4760ad
mov edx, 1
mov rcx, rsi
call fcn.004244e0
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x128], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x120], 0
xor esi, esi
jmp 0x476165
lea rcx, [r10 + rdx]
inc rcx
mov rdx, r9
test rax, rax
cmovne rcx, rax
test rcx, rcx
je 0x476110
test rax, rax
cmove r8, rdx
add rcx, r8
sub rcx, rsi
cmp r15, rcx
jb 0x476110
mov qword [rsp + 0x70], rcx
mov r15, rcx
lea rcx, [rsp + 0x120]
mov rdx, rsi
mov r8, r15
call fcn.00479830
cmp qword [rsp + 0x60], 0
je 0x474640
mov edx, 1
mov rcx, rsi
call fcn.004244e0
jmp 0x474640
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x120], 1
mov sil, 1
cmp qword [rsp + 0x50], 0
je 0x47617c
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.004244e0
mov rdi, qword [rsp + 0x130]
test rdi, rdi
sete al
or sil, al
cmp sil, 1
jne 0x476248
lea rcx, [rsp + 0x120]
call fcn.00479a50
mov r12, qword [rsp + 0x118]
lea rdx, str.PATHRUST_MIN_STACKlibrary_std_src_sys_common_thread_info.rs
lea rcx, [rsp + 0xc0]
mov r8d, 4
call fcn.0046d9f0
cmp byte [rsp + 0xd8], 2
je 0x476a1d
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm1
mov rsi, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x100]
add rax, rsi
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rsi
mov word [rsp + 0x130], 0
mov byte [rsp + 0x138], 1
lea rbp, [rsp + 0x239]
lea r13, [rsp + 0x79]
lea r15, [rsp + 0x220]
lea r12, [rsp + 0x120]
jmp 0x47628e
mov r15, qword [rsp + 0x128]
mov r12, qword [rsp + 0x138]
mov qword [rsp + 0x120], r15
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], r12
mov r12, qword [rsp + 0x118]
jmp 0x474640
mov rdi, qword [rsp + 0x228]
test rdi, rdi
jne 0x476ce7
mov rcx, r15
mov rdx, r12
call fcn.0046f540
jmp 0x4762a6
mov rcx, r15
mov rdx, r12
call fcn.0046f540
movzx eax, byte [rsp + 0x238]
cmp al, 2
je 0x4769fd
mov rdx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
test r8, r8
jne 0x4762e4
test rdx, rdx
je 0x47629b
mov edx, 1
call fcn.004244e0
jmp 0x47629b
mov r9d, dword [rbp]
mov r10d, dword [rbp + 3]
mov dword [r13 + 3], r10d
mov dword [r13], r9d
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], r8
mov byte [rsp + 0x78], al
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rbx
call fcn.004701f0
cmp byte [rsp + 0xe8], 0
jne 0x47632b
lea rcx, [rsp + 0x60]
call fcn.00473130
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rcx, r15
mov rdx, rdi
call fcn.00479960
cmp qword [rsp + 0x60], 0
je 0x47627d
mov edx, 1
mov rcx, rdi
call fcn.004244e0
jmp 0x47627d
mov ebx, 2
xor edi, edi
mov rcx, rbx
mov rdx, r13
mov r8, rdi
call sub.ntdll.dll_memcpy
cmp qword [rsp + 0x50], 0
je 0x47638a
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.004244e0
test rbx, rbx
je 0x4767c0
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rsi
lea rdi, [0x004a5826]
xor r15d, r15d
lea r14, [rsp + 0x120]
mov r13, rdi
xor r12d, r12d
jmp 0x4763d7
mov r15d, eax
mov word [rbx + rsi*2], bp
inc rsi
mov qword [rsp + 0x130], rsi
test r13, r13
je 0x476471
test r15w, r15w
je 0x476411
xor eax, eax
mov ebp, r15d
cmp rsi, qword [rsp + 0x120]
jne 0x4763c5
mov r8, rdi
sub r8, r13
add r8, 0xb
shr r8, 2
sub r8, r12
inc r8
mov r15d, eax
jmp 0x47649d
lea rax, [0x004a582e]
cmp r13, rax
je 0x476471
movzx ebp, byte [r13]
test bpl, bpl
js 0x47642e
inc r13
xor eax, eax
jmp 0x4763eb
mov eax, ebp
and eax, 0x1f
movzx edx, byte [r13 + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x4764b8
movzx ecx, byte [r13 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x4764ca
movzx ebp, byte [r13 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
jne 0x4764d7
cmp r12, 1
je 0x47650e
mov r12d, 1
xor ebp, ebp
mov r13d, 0
mov r8d, 0
cmp rsi, qword [rsp + 0x120]
jne 0x4763c8
inc r8
mov rcx, r14
mov rdx, rsi
call fcn.00452480
mov rbx, qword [rsp + 0x128]
jmp 0x4763c8
add r13, 2
shl eax, 6
or eax, edx
mov ebp, eax
xor eax, eax
jmp 0x4763eb
add r13, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
jmp 0x4764db
add r13, 4
cmp ebp, 0xffff
ja 0x4764ea
xor eax, eax
jmp 0x4763eb
lea ecx, [rbp + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and ebp, 0x3ff
or ebp, 0xdc00
mov eax, ebp
mov ebp, ecx
jmp 0x4763eb
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x4767c3
lea rbp, [0x004a524a]
mov rdx, rbp
not rdx
add rdx, rbp
add rdx, 0x12
shr rdx, 2
cmp rdx, 4
mov ebx, 3
cmovae rbx, rdx
movabs rdx, 0x3fffffffffffffff
xor edi, edi
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rsi
cmp rbx, rdx
setne al
je 0x476fb8
mov dil, al
add rdi, rdi
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xe0]
mov rsi, qword [rax + 0x98]
mov rcx, qword [rax + 0xa0]
mov qword [rsp + 0xe8], rcx
movzx eax, byte [rax + 0xad]
mov byte [rsp + 0x178], al
lea r14, [rbx + rbx]
add r14, 2
mov rcx, r14
mov rdx, rdi
call fcn.00424450
test rax, rax
je 0x476fbf
mov rcx, rax
inc rbx
mov word [rax], 0x63
mov qword [rsp + 0x220], rbx
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], 1
lea rdi, [0x004a524b]
mov r14d, 1
xor r13d, r13d
lea r12, [0x004a5259]
lea r15, [rsp + 0x220]
jmp 0x47664b
mov rcx, qword [rsp + 0x228]
mov word [rcx + r14*2], r13w
inc r14
mov qword [rsp + 0x230], r14
mov r13d, ebx
test r13w, r13w
je 0x476670
xor ebx, ebx
cmp r14, qword [rsp + 0x220]
jne 0x476638
jmp 0x476760
cmp rdi, r12
je 0x476781
movzx r13d, byte [rdi]
test r13b, r13b
js 0x476696
inc rdi
xor ebx, ebx
cmp r14, qword [rsp + 0x220]
jne 0x476638
jmp 0x476760
mov eax, r13d
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp r13b, 0xdf
jbe 0x4766ea
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r13b, 0xf0
jb 0x476709
movzx r13d, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and r13d, 0x3f
or r13d, edx
or r13d, eax
cmp r13d, 0x110000
je 0x476781
add rdi, 4
jmp 0x476715
add rdi, 2
shl eax, 6
or eax, r8d
mov r13d, eax
xor ebx, ebx
cmp r14, qword [rsp + 0x220]
jne 0x476638
jmp 0x476760
add rdi, 3
shl eax, 0xc
or edx, eax
mov r13d, edx
cmp r13d, 0xffff
jbe 0x476651
lea eax, [r13 + 0xff0000]
shr eax, 0xa
or eax, 0xd800
and r13d, 0x3ff
or r13d, 0xdc00
mov ebx, r13d
mov r13d, eax
cmp r14, qword [rsp + 0x220]
jne 0x476638
nop word cs:[rax + rax]
mov r8, rbp
sub r8, rdi
add r8, 0x12
shr r8, 2
inc r8
mov rcx, r15
mov rdx, r14
call fcn.00452480
jmp 0x476630
mov r14, qword [rsp + 0x230]
mov qword [rsp + 0x70], r14
movups xmm0, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x60], xmm0
cmp r14, qword [rsp + 0x60]
jne 0x4767db
lea rcx, [rsp + 0x60]
mov rdx, r14
call fcn.004523c0
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x70]
jmp 0x4767e5
mov rax, rsi
mov rcx, qword [rsp + 0x110]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x4749b9
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x68]
mov word [r12 + r14*2], 0x22
inc r14
mov qword [rsp + 0x70], r14
lea rax, [rdx + rdx]
xor ecx, ecx
lea r15, [0x004a5290]
cmp rax, rcx
je 0x47681b
cmp word [rbx + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x476806
jmp 0x476bdd
mov rdi, rdx
sub rdi, 1
jae 0x476a29
xor eax, eax
jmp 0x476a40
xorps xmm0, xmm0
movups xmmword [rsp + 0x254], xmm0
movups xmmword [rsp + 0x248], xmm0
movups xmmword [rsp + 0x238], xmm0
movups xmmword [rsp + 0x228], xmm0
movups xmmword [rsp + 0x268], xmm0
movups xmmword [rsp + 0x278], xmm0
mov dword [rsp + 0x220], 0x68
test rdx, rdx
mov rax, qword [rsp + 0x1b8]
jne 0x476884
test rax, rax
jne 0x476884
test rdi, rdi
je 0x4768a7
mov dword [rsp + 0x25c], 0x100
mov qword [rsp + 0x270], rdi
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x280], rdx
mov r13, rdx
mov rbx, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x188]
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x220]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], r14d
mov r14, rcx
mov dword [rsp + 0x20], 1
mov rcx, rbx
mov rdx, r14
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_CreateProcessW
test eax, eax
je 0x476c67
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movups xmm2, xmmword [rsp + 0x80]
mov rax, qword [rsp + 0x110]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rax], xmm0
mov rcx, r13
call sub.KERNEL32.dll_CloseHandle
mov rcx, qword [rsp + 0x1b8]
call sub.KERNEL32.dll_CloseHandle
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
lea rcx, [rsp + 0x120]
call fcn.0047a7d0
mov rsi, qword [rsp + 0xe8]
cmp qword [rsp + 0xe0], 0
je 0x47698f
mov edx, 2
mov rcx, qword [rsp + 0x178]
call fcn.004244e0
test r12, r12
je 0x4769a1
mov edx, 2
mov rcx, rsi
call fcn.004244e0
cmp qword [rsp + 0x180], 0
je 0x4769b9
mov edx, 2
mov rcx, r14
call fcn.004244e0
cmp qword [rsp + 0x1a0], 0
je 0x4769d1
mov edx, 2
mov rcx, rbx
call fcn.004244e0
cmp qword [rsp + 0x1e0], 0
sete al
or r15b, al
jne 0x474aa5
mov rcx, qword [rsp + 0x1e8]
mov edx, 2
call fcn.004244e0
jmp 0x474aa5
cmp qword [rsp + 0xf0], 0
je 0x476a15
mov edx, 1
mov rcx, rsi
call fcn.004244e0
mov r12, qword [rsp + 0x118]
lea rax, [0x004a5808]
jmp 0x47462c
movzx ecx, word [rbx + rdi*2]
cmp cx, 0x5c
je 0x476bdd
xor eax, eax
test cx, cx
cmove rax, rbx
test rax, rax
cmove rdi, rdx
cmovne rbx, rax
mov r15, qword [rsp + 0x60]
mov rax, r15
sub rax, r14
cmp rax, rdi
jae 0x476a7a
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rdi
call fcn.00452480
mov r14, qword [rsp + 0x70]
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
lea r8, [rdi + rdi]
lea rcx, [r12 + r14*2]
mov rdx, rbx
call sub.ntdll.dll_memcpy
add r14, rdi
mov qword [rsp + 0x70], r14
cmp r14, r15
jne 0x476aae
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.004523c0
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
lea rax, [r14 + 1]
mov word [r12 + r14*2], 0x22
mov qword [rsp + 0x70], rax
cmp byte [rsp + 0x178], 0
je 0x476b35
mov rax, qword [rsp + 0xe8]
shl rax, 3
lea rbx, [rax + rax*4]
lea rdi, [rsp + 0x60]
test rbx, rbx
je 0x476c2d
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x476aff
mov rcx, rdi
call fcn.004523c0
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0x70], rdx
mov rcx, rdi
mov rdx, rsi
mov r8b, 1
call fcn.00479b00
mov r15, rax
add rsi, 0x28
add rbx, 0xffffffffffffffd8
test rax, rax
je 0x476add
jmp 0x476bdd
mov rax, qword [rsp + 0xe8]
lea rax, [rax + rax*4]
lea r12, [rsi + rax*8]
lea rbx, [rsp + 0x60]
lea r14, str._t____________
cmp rsi, r12
je 0x476c2d
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x476b73
mov rcx, rbx
call fcn.004523c0
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0x70], rdx
cmp qword [rsi], 0
je 0x476b90
xor edi, edi
jmp 0x476bbf
mov r15, qword [rsi + 0x10]
mov r13, qword [rsi + 0x18]
xor ebp, ebp
cmp r13, rbp
setne dil
je 0x476bbf
movzx ecx, byte [r15 + rbp]
mov r8d, 0x16
mov rdx, r14
call fcn.00429870
inc rbp
cmp rax, 1
jne 0x476b9a
mov rcx, rbx
mov rdx, rsi
mov r8d, edi
call fcn.00479b00
mov r15, rax
add rsi, 0x28
test rax, rax
je 0x476b51
cmp qword [rsp + 0x60], 0
je 0x476bf4
mov rcx, qword [rsp + 0x68]
mov edx, 2
call fcn.004244e0
mov rax, qword [rsp + 0x110]
mov qword [rax], r15
mov qword [rax + 0x10], 2
cmp qword [rsp + 0xf0], 0
je 0x4749b9
mov rcx, qword [rsp + 0xf8]
mov edx, 2
call fcn.004244e0
jmp 0x4749b9
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x476c94
lea rcx, [rsp + 0x60]
call fcn.004523c0
mov rbx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x70]
jmp 0x476c9c
mov r15, qword [rsp + 0x220]
mov r12, qword [rsp + 0x230]
jmp 0x476258
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x110]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
mov rcx, r13
call sub.KERNEL32.dll_CloseHandle
jmp 0x476013
mov rbx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x68]
mov word [rax + rdx*2], 0x22
inc rdx
mov rdi, qword [rsp + 0x60]
movups xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0xc0], xmm0
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xd0], rcx
xor r15d, r15d
mov r12, qword [rsp + 0x118]
jmp 0x4748b6
mov rsi, r12
jmp 0x475528
mov r15, qword [rsp + 0x220]
mov r12, qword [rsp + 0x230]
cmp qword [rsp + 0xf0], 0
je 0x476258
mov edx, 1
mov rcx, rsi
call fcn.004244e0
jmp 0x476258
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_90c541806f23a127002de5b4038be731ba1458calibrary_std_src_threadmod.rs
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrary_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.00428f60
jmp 0x476ff0
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x120], rax
lea rax, [0x0046e6a0]
mov qword [rsp + 0x128], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x120]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rdx, str.library_std_src_syswindowsprocess.rs
lea rcx, [rsp + 0x60]
call fcn.00428180
jmp 0x476ff0
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_90c541806f23a127002de5b4038be731ba1458calibrary_std_src_threadmod.rs
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrary_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.00428f60
jmp 0x476ff0
mov rcx, r12
mov rdx, r13
call fcn.00426000
jmp 0x476ff0
call fcn.00425fb0
jmp 0x476ff0
call fcn.00425fb0
jmp 0x476ff0
mov edx, 1
mov rcx, rdi
call fcn.00426000
jmp 0x476ff0
call fcn.00425fb0
jmp 0x476ff0
mov edx, 1
mov rcx, rdi
call fcn.00426000
jmp 0x476ff0
lea r8, str.library_std_src_syswindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.00428b00
jmp 0x476ff0
lea rax, str.library_std_src_syswindowsos.rs
mov rcx, r8
mov rdx, rdi
mov r8, rax
call fcn.00428b90
jmp 0x476ff0
lea r8, str.library_std_src_syswindowsos.rs
mov rdx, rdi
call fcn.00428b00
jmp 0x476ff0
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x004a3290]
mov edx, 0x21
call fcn.00428f60
jmp 0x476ff0
mov edx, 1
mov rcx, rbx
call fcn.00426000
jmp 0x476ff0
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00428f60
jmp 0x476ff0
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00428f60
jmp 0x476ff0
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x60], rax
lea rax, [0x0046e6a0]
mov qword [rsp + 0x68], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], 1
mov qword [rsp + 0x220], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x248], 1
lea rdx, str.library_std_src_syswindowsos.rs
lea rcx, [rsp + 0x220]
call fcn.00428180
jmp 0x476ff0
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00428f60
jmp 0x476ff0
call fcn.00425fb0
jmp 0x476ff0
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.00428b90
jmp 0x476ff0
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, rsi
mov rdx, rdi
call fcn.00428b90
jmp 0x476ff0
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_sliceiter.rs
call fcn.00428b00
jmp 0x476ff0
call fcn.00425fb0
jmp 0x476ff0
mov rcx, r14
mov rdx, rdi
call fcn.00426000
jmp 0x476ff0
mov edx, 2
mov rcx, rdi
call fcn.00426000
jmp 0x476ff0
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.00428b90
ud2