Function at 0x4707f0
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 0x470842
test r14, r14
jne 0x470842
mov qword [rsp + 0x1f8], 0
lea r12, [rsp + 0x200]
xor ebp, ebp
jmp 0x47161e
xorps xmm0, xmm0
movups xmmword [rsp + 0x1a8], xmm0
test al, al
jne 0x470b73
call sub.KERNEL32.dll_GetEnvironmentStringsW
test rax, rax
je 0x473f17
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 0x470b5c
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 0x4708a0
cmp rdi, 1
je 0x470880
test rdi, rdi
je 0x473e68
mov r15, 0xfffffffffffffffc
xor r14d, r14d
nop word cs:[rax + rax]
cmp word [rsi + r14*2 + 2], 0x3d
je 0x470900
inc r14
add r15, 0xfffffffffffffffe
add rax, 0xfffffffffffffffe
jne 0x4708e0
jmp 0x470880
lea r8, [r14 + 1]
cmp r14, rdi
jae 0x473e80
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.004504c0
lea rcx, [r14 + 2]
cmp rdi, rcx
jb 0x473e9a
sub rbp, r14
add rbp, 0xfffffffffffffffd
sub rsi, r15
lea rcx, [rsp + 0x120]
mov rdx, rsi
mov r8, rbp
call fcn.004504c0
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 0x470b5c
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.00474500
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.00474700
cmp byte [rsp + 0x108], 2
je 0x470880
cmp qword [rsp + 0xf0], 0
je 0x470880
mov rcx, qword [rsp + 0xf8]
mov edx, 1
call fcn.00424380
jmp 0x470880
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 0x470b92
xor eax, eax
test r14, r14
je 0x471428
test r12, r12
je 0x470bc0
cmp r12, 2
mov rdx, qword [rsp + 0x50]
jne 0x470c42
jmp 0x473df9
mov r12d, 1
test rax, rax
je 0x470c3e
mov rdx, rax
mov rcx, rax
and rdx, 7
je 0x470bec
and rcx, 0xfffffffffffffff8
nop dword [rax + rax]
mov rsi, qword [rsi + 0x3d8]
dec rdx
jne 0x470be0
cmp rax, 8
jb 0x470c3e
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 0x470c00
xor edx, edx
xor eax, eax
movzx ecx, word [rsi + 0x3d2]
mov rbp, rsi
mov rbx, rdx
cmp rdx, rcx
jb 0x470c86
nop word cs:[rax + rax]
mov rcx, qword [rbp + 0x160]
test rcx, rcx
je 0x473d58
movzx ebx, word [rbp + 0x3d0]
inc rax
mov rbp, rcx
cmp bx, word [rcx + 0x3d2]
jae 0x470c60
test rax, rax
je 0x470d20
mov rsi, qword [rbp + rbx*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x470d0e
lea rdx, [rax - 2]
mov r8, rcx
and r8, 7
je 0x470cc5
mov rcx, r8
nop
mov rsi, qword [rsi + 0x3d8]
dec rcx
jne 0x470cb0
not r8
add rax, r8
mov rcx, rax
cmp rdx, 7
jb 0x470d0e
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 0x470cd0
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x470d2c
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 0x470db0
mov r13, qword [rsp + 0x1a8]
mov eax, 0
test r13, r13
je 0x470b92
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.00475ba0
cmp qword [rsp + 0xf0], 0
je 0x470e79
xor eax, eax
mov r12, rdi
jmp 0x470b92
mov qword [rsp + 0x58], r14
mov r14, qword [r15 + 8]
mov rdi, qword [r15 + 0x10]
test rdi, rdi
mov qword [rsp + 0xe8], r12
je 0x470dea
js 0x473e4c
mov edx, 1
mov rcx, rdi
call fcn.004242f0
mov r12, rax
test rax, rax
jne 0x470df0
jmp 0x473e56
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 0x470e6b
xor r13d, r13d
movabs rax, 0x3fffffffffffffff
cmp r15, rax
setbe al
ja 0x473e26
lea r12, [r15 + r15]
mov r13b, al
add r13, r13
test r12, r12
je 0x471078
mov rcx, r12
mov rdx, r13
call fcn.004242f0
mov r14, rax
test r14, r14
jne 0x471084
jmp 0x473e16
mov r14d, 2
xor r12d, r12d
jmp 0x471084
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov byte [rsp + 0x180], 0
test rdx, rdx
je 0x471182
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x470f7e
lea r8, [rdx - 2]
mov r9, rcx
and r9, 7
je 0x470eee
mov rcx, r9
nop word cs:[rax + rax]
movzx r10d, word [rax + 0x3d2]
mov rax, qword [rax + r10*8 + 0x3d8]
dec rcx
jne 0x470ed0
not r9
add rdx, r9
mov rcx, rdx
cmp r8, 7
jb 0x470f7e
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 0x470f00
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.00475d00
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 0x4711b7
nop word cs:[rax + rax]
mov rax, qword [rdx + 0x160]
test rax, rax
je 0x4711b4
movzx ecx, word [rdx + 0x3d0]
mov rdx, rax
cmp cx, word [rax + 0x3d2]
jae 0x471050
jmp 0x4711b7
mov r14, r13
test r14, r14
je 0x473e16
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 0x4710f4
js 0x473e30
mov edx, 1
mov rcx, rdi
call fcn.004242f0
mov r12, rax
test rax, rax
jne 0x4710fa
jmp 0x473e3a
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.00474700
cmp byte [rsp + 0x138], 2
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0xe8]
je 0x470b90
cmp qword [rsp + 0x120], 0
je 0x470b90
mov rcx, qword [rsp + 0x128]
mov edx, 1
call fcn.00424380
jmp 0x470b90
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.00475d00
jmp 0x4712e3
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 0x47138a
test r12, r12
je 0x473eae
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.00424380
cmp byte [rsp + 0x78], 2
mov eax, 0
mov r12, rdi
je 0x470b92
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 0x4713df
mov rcx, qword [rsp + 0x68]
mov edx, 1
call fcn.00424380
test r15, r15
je 0x4713f1
mov edx, 2
mov rcx, r14
call fcn.00424380
mov eax, 0
cmp bpl, 2
mov r14, r12
mov r12, rdi
je 0x470b92
mov eax, 0
test rbx, rbx
je 0x470b92
mov edx, 1
mov rcx, r13
call fcn.00424380
xor eax, eax
jmp 0x470b92
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.004242f0
test rax, rax
je 0x473ecb
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.00474500
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 0x4715df
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 0x471590
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 0x471550
cmp eax, 1
jne 0x4715b4
jmp 0x471595
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0xe0]
sub r12, 1
jb 0x4725af
mov r14, qword [r14 + rbp*8 + 0x3d8]
jmp 0x47152c
cmp eax, 2
mov rdi, qword [rsp + 0xe0]
jne 0x473d75
test r14, r14
je 0x4715df
mov rbp, qword [r13 - 8]
mov r15, qword [r13]
cmp qword [rsp + 0x220], 0
jne 0x4715ec
jmp 0x4715fe
xor ebp, ebp
cmp qword [rsp + 0x220], 0
je 0x4715fe
mov rcx, qword [rsp + 0x228]
mov edx, 1
call fcn.00424380
cmp qword [rsp + 0x240], 0
je 0x471616
mov edx, 2
mov rcx, rsi
call fcn.00424380
lea r12, [rsp + 0x200]
mov r14, qword [rdi + 0x28]
mov rbx, qword [rdi + 0x30]
test rbx, rbx
je 0x471665
cmp rbx, 4
jae 0x47163a
lea rdx, [0x00476860]
jmp 0x471653
cmp dword [r14], 0x5c3f5c5c
lea rax, [0x00476850]
lea rdx, [0x00476860]
cmove rdx, rax
movzx esi, byte [rbx + r14 - 1]
mov ecx, esi
call rdx
test al, al
je 0x47183a
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 0x471813
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.0x471d6b.68
cmp word [rax + rcx*2 - 0xa], 0x2e
jne case.0x471d6b.68
cmp word [rax + rcx*2 - 2], 0
je 0x471d4a
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.0044f400
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.0044f280
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x471779
lea rcx, [rsp + 0x60]
call fcn.0044f400
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 0x4718b3
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x4717c2
mov rcx, rbx
call fcn.0044f400
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.00476b40
mov rdi, rax
add rsi, 0x28
add r14, 0xffffffffffffffd8
test rax, rax
je 0x4717a0
cmp qword [rsp + 0x60], 0
je 0x4719e6
mov rcx, qword [rsp + 0x68]
mov edx, 2
call fcn.00424380
jmp 0x4719e6
mov rax, qword [rsp + 0x110]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x1f8], 0
jne 0x471a2d
jmp 0x471ae5
cmp rbx, 3
jbe 0x471a6e
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 0x471a6e
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 0x471a6e
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 0x471a6e
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete cl
jmp 0x471a70
mov rdi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x4719e6
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 0x471950
lea rcx, [rsp + 0x180]
call fcn.0044f400
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 0x471d05
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 0x471ef8
mov esi, 2
xor r12d, r12d
jmp 0x471f29
mov rax, qword [rsp + 0x110]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
xor esi, esi
cmp qword [rsp + 0x1e0], 0
je 0x471a18
mov rcx, qword [rsp + 0x1e8]
mov edx, 2
call fcn.00424380
cmp qword [rsp + 0x1f8], 0
sete al
or sil, al
jne 0x471ae5
mov rcx, qword [rsp + 0x208]
test rcx, rcx
je 0x471ab9
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 0x471ac0
xor ecx, ecx
lea rax, [r14 + rbx]
xor edx, edx
nop word cs:[rax + rax]
cmp rbx, rdx
je 0x471afa
movzx r8d, byte [r14 + rdx]
cmp r8d, 0x2f
je 0x471a99
inc rdx
cmp r8d, 0x5c
jne 0x471a80
test cl, cl
je 0x471bd9
lea rcx, [rsp + 0x120]
mov rdx, r14
mov r8, rbx
call fcn.00476870
jmp 0x471680
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.00476fb0
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 0x471b1c
xor r9d, r9d
test dx, dx
je 0x471cf9
mov dx, 1
test r9w, r9w
jne 0x471b10
cmp rcx, rax
je 0x4724f2
movzx r8d, byte [rcx]
test r8b, r8b
js 0x471b3d
inc rcx
jmp 0x471ba1
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x471b93
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x471bac
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 0x471ba1
jmp 0x471bc3
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
xor r9d, r9d
mov edx, r8d
jmp 0x471b13
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xffff
jbe 0x471ba1
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x471b13
test rbx, rbx
js 0x473fb8
mov edx, 1
mov rcx, rbx
call fcn.004242f0
test rax, rax
je 0x473ecb
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.0046cd60
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.004769a0
cmp qword [rsp + 0x228], 0
je 0x4724b8
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x130], rax
movups xmm0, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x120], xmm0
jmp 0x473163
lea rax, str.nul_byte_found_in_provided_data
jmp 0x47166c
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 0x4723ca
xor ecx, ecx
mov eax, 2
xor edx, edx
xor r12d, r12d
jmp 0x4729fa
movzx edx, word [rax + rcx*2 - 8]
lea r8d, [rdx - 0x42]
cmp r8d, 0x21
ja case.0x471d6b.68
lea r9, [0x00474400]
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 0x471d8e
movzx r8d, word [rax + rcx*2 - 4]
or r8d, 0x20
cmp r8d, 0x74
je 0x471dbc
cmp dx, 0x43
jne case.0x471d6b.68
movzx edx, word [rax + rcx*2 - 6]
or edx, 0x20
cmp edx, 0x6d
jne case.0x471d6b.68
movzx eax, word [rax + rcx*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x471d6b.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 0x471e1f
jmp 0x471e40
jae 0x472caf
cmp rsi, 0x201
jae 0x471e40
lea r13, [rsp + 0x220]
mov edi, 0x200
mov rbp, rsi
jmp 0x471e91
sub rsi, r12
sub r15, r12
cmp r15, rsi
jae 0x471e6f
lea rcx, [rsp + 0x60]
mov rdx, r12
mov r8, rsi
call fcn.0044f4c0
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 0x471eb5
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x472fee
mov esi, ebx
cmp rbp, rsi
jne 0x471e10
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x473efa
add rbp, rbp
mov eax, 0xffffffff
cmp rbp, rax
mov r14d, 0xffffffff
cmovae rbp, rax
mov rsi, rbp
cmp rsi, 0x201
jae 0x471e40
jmp 0x471e1f
lea rcx, [rsp + 0xc0]
xor edx, edx
call fcn.0044f400
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.004704e0
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x472f8a
mov r9, qword [rsp + 0x70]
imul r10, r9, 0x38
cmp byte [r8 + r10 + 0x180], 2
je 0x472f8a
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 0x47202d
xor r11d, r11d
test r9w, r9w
je 0x472377
mov r9w, 1
test r11w, r11w
jne 0x472020
cmp r8, rdx
je 0x472101
movzx r10d, byte [r8]
test r10b, r10b
js 0x472052
inc r8
jmp 0x4720e0
mov r11d, r10d
and r11d, 0x1f
movzx ebx, byte [r8 + 1]
and ebx, 0x3f
cmp r10b, 0xdf
jbe 0x47209a
movzx edi, byte [r8 + 2]
shl ebx, 6
and edi, 0x3f
or edi, ebx
cmp r10b, 0xf0
jb 0x4720b2
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 0x4720c0
add r8, 2
shl r11d, 6
or r11d, ebx
mov r10d, r11d
mov rbx, qword [rsp + 0xe0]
jmp 0x4720e0
add r8, 3
shl r11d, 0xc
or edi, r11d
mov r10d, edi
mov rbx, qword [rsp + 0xe0]
cmp r10d, 0xffff
ja 0x4720eb
nop word cs:[rax + rax]
xor r11d, r11d
mov r9d, r10d
jmp 0x472023
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x472023
test rax, rax
je 0x472110
mov edx, 1
call fcn.00424380
mov rax, qword [rsp + 0xc0]
sub rax, r12
cmp rax, r15
jae 0x472143
lea rcx, [rsp + 0xc0]
mov rdx, r12
mov r8, r15
call fcn.0044f4c0
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 0x472170
mov edx, 2
mov rcx, r13
call fcn.00424380
cmp r12, qword [rsp + 0xc0]
lea rbp, [rsp + 0x220]
jne 0x4721a9
lea rcx, [rsp + 0xc0]
mov rdx, r12
call fcn.0044f400
lea r13, [rsp + 0x60]
mov rsi, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
jmp 0x4721ae
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 0x4721fd
xor r11d, r11d
test r9w, r9w
je 0x47254f
mov r9w, 1
test r11w, r11w
jne 0x4721f0
cmp r8, rdx
je 0x4722b6
movzx r10d, byte [r8]
test r10b, r10b
js 0x47221f
inc r8
jmp 0x47227e
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [r8 + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x472270
movzx esi, byte [r8 + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp r10b, 0xf0
jb 0x472289
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 0x47227e
jmp 0x4722a0
add r8, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
xor r11d, r11d
mov r9d, r10d
jmp 0x4721f3
add r8, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
cmp r10d, 0xffff
jbe 0x47227e
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x4721f3
cmp cl, 2
je 0x473d1f
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.0044f280
test r12, r12
je 0x47232e
mov edx, 1
mov rcx, r15
call fcn.00424380
mov r12, qword [rsp + 0xd0]
cmp r12, qword [rsp + 0xc0]
jne 0x472358
lea rcx, [rsp + 0xc0]
mov rdx, r12
call fcn.0044f400
mov r12, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xc8]
mov word [rsi + r12*2], 0
inc r12
mov qword [rsp + 0xd0], r12
jmp 0x471f8d
test rax, rax
je 0x472386
mov edx, 1
call fcn.00424380
cmp qword [rsp + 0x120], 0
mov r15d, dword [rsp + 0x50]
je 0x4723a8
mov rcx, qword [rsp + 0x128]
mov edx, 1
call fcn.00424380
lea rsi, str.nul_byte_found_in_provided_data
test rbp, rbp
je 0x47256d
mov edx, 2
mov rcx, r13
call fcn.00424380
jmp 0x47256d
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 0x4723fd
xor r10d, r10d
test r8w, r8w
je 0x472530
mov r8w, 1
test r10w, r10w
jne 0x4723f0
cmp rdx, rcx
je 0x47299a
movzx r9d, byte [rdx]
test r9b, r9b
js 0x47241f
inc rdx
jmp 0x472480
mov r10d, r9d
and r10d, 0x1f
movzx edi, byte [rdx + 1]
and edi, 0x3f
cmp r9b, 0xdf
jbe 0x472472
movzx r11d, byte [rdx + 2]
shl edi, 6
and r11d, 0x3f
or r11d, edi
cmp r9b, 0xf0
jb 0x47248b
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 0x472480
jmp 0x4724a2
add rdx, 2
shl r10d, 6
or r10d, edi
mov r9d, r10d
xor r10d, r10d
mov r8d, r9d
jmp 0x4723f3
add rdx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x472480
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x4723f3
mov rcx, rsi
mov rdx, r15
call fcn.00470010
test rax, rax
je 0x473150
cmp rdx, 2
jne 0x4725c5
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x4725c5
mov r8d, 2
xor ecx, ecx
jmp 0x47260e
cmp rbx, 0xf
ja 0x472613
lea rax, [rbx - 1]
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [r14 + rcx], 0x2e
sete dil
je 0x472628
lea rdx, [rcx + 1]
cmp rax, rcx
mov rcx, rdx
jne 0x472510
jmp 0x472628
lea rax, str.nul_byte_found_in_provided_data
mov rcx, qword [rsp + 0x110]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x472c52
lea rsi, str.nul_byte_found_in_provided_data
test r12, r12
je 0x472568
mov edx, 1
mov rcx, r15
call fcn.00424380
mov r15d, dword [rsp + 0x50]
lea rcx, [rsp + 0x220]
call fcn.00476fb0
cmp qword [rsp + 0xc0], 0
je 0x472597
mov rcx, qword [rsp + 0xc8]
mov edx, 2
call fcn.00424380
mov rax, qword [rsp + 0x110]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
jmp 0x472c64
xor ebp, ebp
cmp qword [rsp + 0x220], 0
jne 0x4715ec
jmp 0x4715fe
xor r11d, r11d
mov rcx, rax
nop dword [rax + rax]
cmp rdx, r11
je 0x472de7
mov r9, r11
lea r10, [rcx - 1]
inc r11
cmp byte [rcx + rdx - 1], 0x2e
mov rcx, r10
jne 0x4725d0
mov r8, rdx
sub r8, r11
lea rcx, [r8 + 1]
cmp rdx, rcx
jb 0x473fea
cmp rdx, r11
jne 0x473120
xor ecx, ecx
mov r8, rdx
jmp 0x47312a
mov cl, 0x2e
mov rdx, r14
mov r8, rbx
call fcn.00429730
cmp rax, 1
sete dil
test rbp, rbp
mov byte [rsp + 0xe8], dil
mov qword [rsp + 0x118], r12
je 0x47268f
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.0046c580
movzx eax, byte [rsp + 0x238]
cmp al, 2
jne 0x472ce2
movzx edi, byte [rsp + 0xe8]
lea rcx, [rsp + 0x120]
call fcn.0046cb60
cmp byte [rsp + 0x138], 2
jne 0x4726b8
lea rcx, [rsp + 0x120]
call fcn.00450420
jmp 0x472799
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.0046e6c0
test rax, rax
je 0x4726f3
cmp rsi, rdx
jb 0x4726f3
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.0046d230
test dil, dil
jne 0x47273f
lea rcx, [rsp + 0x220]
call fcn.00470170
mov rsi, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.004769a0
cmp qword [rsp + 0x220], 0
je 0x472777
mov edx, 1
mov rcx, rsi
call fcn.00424380
mov rdi, qword [rsp + 0xf8]
test rdi, rdi
je 0x472799
mov r15, qword [rsp + 0xf0]
mov r12, qword [rsp + 0x100]
jmp 0x473298
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 0x47280f
jmp 0x472830
jae 0x4728f3
cmp r8, 0x201
jae 0x472830
lea rdi, [rsp + 0x220]
mov esi, 0x200
mov r13, r8
jmp 0x472889
sub r8, rbp
sub r12, rbp
cmp r12, r8
jae 0x472865
lea rcx, [rsp + 0xc0]
mov rdx, rbp
call fcn.0044f4c0
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 0x4728af
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x472df1
mov r8d, r15d
cmp r13, r8
jne 0x472800
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x473edd
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
mov r14d, 0xffffffff
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x472830
jmp 0x47280f
cmp rsi, r8
movzx ebp, byte [rsp + 0xe8]
jb 0x473fbf
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.004504c0
mov r14, qword [rsp + 0x178]
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rbx
call fcn.0046d230
test bpl, bpl
jne 0x472938
lea rcx, [rsp + 0x60]
call fcn.00470170
mov rsi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.004769a0
cmp qword [rsp + 0x60], 0
je 0x472967
mov edx, 1
mov rcx, rsi
call fcn.00424380
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 0x472e1d
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.00474500
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
cmp rdx, rcx
jne 0x4729e9
lea rcx, [rsp + 0x60]
call fcn.0044f400
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, [0x004b4148]
mov rcx, rdi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [0x004b41e0]
shl rax, 1
test rax, rax
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0x218], r12
je 0x472a7a
call fcn.00451dc0
mov ebp, eax
xor bpl, 1
jmp 0x472a7c
xor ebp, ebp
movzx ecx, byte [0x004b4150]
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.00477090
mov r13, rdx
test rax, rax
je 0x472bb1
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 0x472b55
mov rcx, qword [rsp + 0x68]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x70], 0
je 0x472b67
mov rcx, qword [rsp + 0x78]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x80], 0
je 0x472b7f
mov rcx, qword [rsp + 0x88]
call sub.KERNEL32.dll_CloseHandle
movabs rax, 0x7fffffffffffffff
test bl, bl
je 0x472c00
test bpl, bpl
mov r13, qword [rsp + 0xe8]
jne 0x472c29
mov rcx, qword [0x004b41e0]
test rcx, rax
je 0x472c29
call fcn.00451dc0
jmp 0x472c1e
lea r9, [rsp + 0x70]
xor ecx, ecx
cmp rdi, 5
cmovne rcx, rdi
je 0x472bc7
mov rdx, qword [r12 + 8]
mov r8d, 0xfffffff5
call fcn.00477090
mov r12, qword [rsp + 0x58]
test rax, rax
je 0x473004
mov rax, qword [rsp + 0x110]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov r15d, dword [rsp + 0x50]
mov rdi, r13
jmp 0x473060
test bpl, bpl
mov r13, qword [rsp + 0xe8]
jne 0x472c29
mov rcx, qword [0x004b41e0]
test rcx, rax
je 0x472c29
call fcn.00451dc0
test al, al
jne 0x472c29
mov byte [0x004b4150], 1
lea rcx, [0x004b4148]
call fcn.0048de60
cmp qword [rsp + 0xe0], 0
je 0x472c52
mov edx, 2
mov rcx, qword [rsp + 0x178]
call fcn.00424380
test r12, r12
je 0x472c64
mov edx, 2
mov rcx, r13
call fcn.00424380
cmp qword [rsp + 0x180], 0
je 0x472c81
mov rcx, qword [rsp + 0x188]
mov edx, 2
call fcn.00424380
cmp qword [rsp + 0x1a0], 0
je 0x472c9e
mov rcx, qword [rsp + 0x1a8]
mov edx, 2
call fcn.00424380
mov sil, 1
test r15b, r15b
je 0x4719fb
jmp 0x471ae5
cmp rdi, rsi
jb 0x473fd6
test ebx, ebx
je 0x47339e
lea rdi, [rsi + rsi]
mov edx, 2
mov rcx, rdi
call fcn.004242f0
test rax, rax
je 0x47400c
mov rbx, rax
jmp 0x4733a5
lea r13, [rsp + 0x239]
lea rbp, [rsp + 0x79]
lea rsi, [rsp + 0x220]
lea r15, [rsp + 0x120]
lea r12, [rsp + 0x60]
jmp 0x472d2b
mov rcx, rsi
mov rdx, r15
call fcn.0046c580
movzx eax, byte [rsp + 0x238]
cmp al, 2
je 0x472687
mov rdx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
test r8, r8
jne 0x472d59
test rdx, rdx
je 0x472d10
mov edx, 1
call fcn.00424380
jmp 0x472d10
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.0046d230
cmp byte [rsp + 0xe8], 0
jne 0x472d9c
mov rcx, r12
call fcn.00470170
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rcx, rsi
mov rdx, rdi
call fcn.004769a0
cmp qword [rsp + 0x60], 0
je 0x472dc6
mov edx, 1
mov rcx, rdi
call fcn.00424380
mov rdi, qword [rsp + 0x228]
test rdi, rdi
jne 0x473c92
mov rcx, rsi
mov rdx, r15
call fcn.0046c580
jmp 0x472d1b
mov rcx, rax
xor eax, eax
jmp 0x47312a
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 0x472e34
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.00424380
mov rdi, qword [rsp + 0x130]
test rdi, rdi
sete al
or sil, al
cmp sil, 1
jne 0x473288
lea rcx, [rsp + 0x120]
call fcn.00476a90
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 0x472eb6
jmp 0x472ec8
jae 0x473081
cmp r8, 0x201
jae 0x472ec8
lea rdi, [rsp + 0x220]
mov esi, 0x200
mov r13, r8
jmp 0x472f26
sub r8, rbp
sub r12, rbp
cmp r12, r8
jae 0x472efd
lea rcx, [rsp + 0xc0]
mov rdx, rbp
call fcn.0044f4c0
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 0x472f4c
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x473181
mov r8d, r15d
cmp r13, r8
jne 0x472ea7
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x473f9e
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x472ec8
jmp 0x472eb6
lea rcx, [rsp + 0x220]
mov r15d, dword [rsp + 0x50]
call fcn.00476fb0
cmp r12, qword [rsp + 0xc0]
jne 0x472fc6
lea rcx, [rsp + 0xc0]
mov rdx, r12
call fcn.0044f400
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 0x472597
inc r12
mov rax, qword [rsp + 0xc0]
jmp 0x471d12
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
xor ebx, ebx
jmp 0x4733b3
mov qword [rsp + 0x1b8], rdx
lea r9, [rsp + 0x80]
xor ecx, ecx
cmp r15, 5
cmovne rcx, r15
je 0x473024
mov rdx, qword [rbx + 8]
mov r8d, 0xfffffff4
mov r15d, dword [rsp + 0x50]
call fcn.00477090
test rax, rax
mov rdi, r13
je 0x47386f
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 0x472b4b
jmp 0x472b55
cmp rsi, r8
movzx ebp, byte [rsp + 0xe8]
jb 0x47401b
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.004504c0
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rbx
call fcn.0046d230
test bpl, bpl
jne 0x4730be
lea rcx, [rsp + 0x60]
call fcn.00470170
mov rsi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.004769a0
cmp qword [rsp + 0x60], 0
je 0x4730ed
mov edx, 1
mov rcx, rsi
call fcn.00424380
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 0x4731a5
lea rcx, [r10 + rdx]
inc rcx
mov rdx, r9
test rax, rax
cmovne rcx, rax
test rcx, rcx
je 0x473150
test rax, rax
cmove r8, rdx
add rcx, r8
sub rcx, rsi
cmp r15, rcx
jb 0x473150
mov qword [rsp + 0x70], rcx
mov r15, rcx
lea rcx, [rsp + 0x120]
mov rdx, rsi
mov r8, r15
call fcn.00476870
cmp qword [rsp + 0x60], 0
je 0x471680
mov edx, 1
mov rcx, rsi
call fcn.00424380
jmp 0x471680
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 0x4731bc
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.00424380
mov rdi, qword [rsp + 0x130]
test rdi, rdi
sete al
or sil, al
cmp sil, 1
jne 0x473288
lea rcx, [rsp + 0x120]
call fcn.00476a90
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.0046aa30
cmp byte [rsp + 0xd8], 2
je 0x473a5d
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 0x4732ce
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 0x471680
mov rdi, qword [rsp + 0x228]
test rdi, rdi
jne 0x473d27
mov rcx, r15
mov rdx, r12
call fcn.0046c580
jmp 0x4732e6
mov rcx, r15
mov rdx, r12
call fcn.0046c580
movzx eax, byte [rsp + 0x238]
cmp al, 2
je 0x473a3d
mov rdx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
test r8, r8
jne 0x473324
test rdx, rdx
je 0x4732db
mov edx, 1
call fcn.00424380
jmp 0x4732db
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.0046d230
cmp byte [rsp + 0xe8], 0
jne 0x47336b
lea rcx, [rsp + 0x60]
call fcn.00470170
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rcx, r15
mov rdx, rdi
call fcn.004769a0
cmp qword [rsp + 0x60], 0
je 0x4732bd
mov edx, 1
mov rcx, rdi
call fcn.00424380
jmp 0x4732bd
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 0x4733ca
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.00424380
test rbx, rbx
je 0x473800
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rsi
lea rdi, [0x004a1256]
xor r15d, r15d
lea r14, [rsp + 0x120]
mov r13, rdi
xor r12d, r12d
jmp 0x473417
mov r15d, eax
mov word [rbx + rsi*2], bp
inc rsi
mov qword [rsp + 0x130], rsi
test r13, r13
je 0x4734b1
test r15w, r15w
je 0x473451
xor eax, eax
mov ebp, r15d
cmp rsi, qword [rsp + 0x120]
jne 0x473405
mov r8, rdi
sub r8, r13
add r8, 0xb
shr r8, 2
sub r8, r12
inc r8
mov r15d, eax
jmp 0x4734dd
lea rax, [0x004a125e]
cmp r13, rax
je 0x4734b1
movzx ebp, byte [r13]
test bpl, bpl
js 0x47346e
inc r13
xor eax, eax
jmp 0x47342b
mov eax, ebp
and eax, 0x1f
movzx edx, byte [r13 + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x4734f8
movzx ecx, byte [r13 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x47350a
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 0x473517
cmp r12, 1
je 0x47354e
mov r12d, 1
xor ebp, ebp
mov r13d, 0
mov r8d, 0
cmp rsi, qword [rsp + 0x120]
jne 0x473408
inc r8
mov rcx, r14
mov rdx, rsi
call fcn.0044f4c0
mov rbx, qword [rsp + 0x128]
jmp 0x473408
add r13, 2
shl eax, 6
or eax, edx
mov ebp, eax
xor eax, eax
jmp 0x47342b
add r13, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
jmp 0x47351b
add r13, 4
cmp ebp, 0xffff
ja 0x47352a
xor eax, eax
jmp 0x47342b
lea ecx, [rbp + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and ebp, 0x3ff
or ebp, 0xdc00
mov eax, ebp
mov ebp, ecx
jmp 0x47342b
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x473803
lea rbp, [0x004a0c7a]
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 0x473ff8
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.004242f0
test rax, rax
je 0x473fff
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, [0x004a0c7b]
mov r14d, 1
xor r13d, r13d
lea r12, [0x004a0c89]
lea r15, [rsp + 0x220]
jmp 0x47368b
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 0x4736b0
xor ebx, ebx
cmp r14, qword [rsp + 0x220]
jne 0x473678
jmp 0x4737a0
cmp rdi, r12
je 0x4737c1
movzx r13d, byte [rdi]
test r13b, r13b
js 0x4736d6
inc rdi
xor ebx, ebx
cmp r14, qword [rsp + 0x220]
jne 0x473678
jmp 0x4737a0
mov eax, r13d
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp r13b, 0xdf
jbe 0x47372a
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r13b, 0xf0
jb 0x473749
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 0x4737c1
add rdi, 4
jmp 0x473755
add rdi, 2
shl eax, 6
or eax, r8d
mov r13d, eax
xor ebx, ebx
cmp r14, qword [rsp + 0x220]
jne 0x473678
jmp 0x4737a0
add rdi, 3
shl eax, 0xc
or edx, eax
mov r13d, edx
cmp r13d, 0xffff
jbe 0x473691
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 0x473678
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.0044f4c0
jmp 0x473670
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 0x47381b
lea rcx, [rsp + 0x60]
mov rdx, r14
call fcn.0044f400
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x70]
jmp 0x473825
mov rax, rsi
mov rcx, qword [rsp + 0x110]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x4719f9
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, [0x004a0cc0]
cmp rax, rcx
je 0x47385b
cmp word [rbx + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x473846
jmp 0x473c1d
mov rdi, rdx
sub rdi, 1
jae 0x473a69
xor eax, eax
jmp 0x473a80
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 0x4738c4
test rax, rax
jne 0x4738c4
test rdi, rdi
je 0x4738e7
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 0x473ca7
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.00477810
mov rsi, qword [rsp + 0xe8]
cmp qword [rsp + 0xe0], 0
je 0x4739cf
mov edx, 2
mov rcx, qword [rsp + 0x178]
call fcn.00424380
test r12, r12
je 0x4739e1
mov edx, 2
mov rcx, rsi
call fcn.00424380
cmp qword [rsp + 0x180], 0
je 0x4739f9
mov edx, 2
mov rcx, r14
call fcn.00424380
cmp qword [rsp + 0x1a0], 0
je 0x473a11
mov edx, 2
mov rcx, rbx
call fcn.00424380
cmp qword [rsp + 0x1e0], 0
sete al
or r15b, al
jne 0x471ae5
mov rcx, qword [rsp + 0x1e8]
mov edx, 2
call fcn.00424380
jmp 0x471ae5
cmp qword [rsp + 0xf0], 0
je 0x473a55
mov edx, 1
mov rcx, rsi
call fcn.00424380
mov r12, qword [rsp + 0x118]
lea rax, [0x004a1238]
jmp 0x47166c
movzx ecx, word [rbx + rdi*2]
cmp cx, 0x5c
je 0x473c1d
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 0x473aba
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rdi
call fcn.0044f4c0
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 0x473aee
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.0044f400
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 0x473b75
mov rax, qword [rsp + 0xe8]
shl rax, 3
lea rbx, [rax + rax*4]
lea rdi, [rsp + 0x60]
test rbx, rbx
je 0x473c6d
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x473b3f
mov rcx, rdi
call fcn.0044f400
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.00476b40
mov r15, rax
add rsi, 0x28
add rbx, 0xffffffffffffffd8
test rax, rax
je 0x473b1d
jmp 0x473c1d
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 0x473c6d
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x473bb3
mov rcx, rbx
call fcn.0044f400
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 0x473bd0
xor edi, edi
jmp 0x473bff
mov r15, qword [rsi + 0x10]
mov r13, qword [rsi + 0x18]
xor ebp, ebp
cmp r13, rbp
setne dil
je 0x473bff
movzx ecx, byte [r15 + rbp]
mov r8d, 0x16
mov rdx, r14
call fcn.00429730
inc rbp
cmp rax, 1
jne 0x473bda
mov rcx, rbx
mov rdx, rsi
mov r8d, edi
call fcn.00476b40
mov r15, rax
add rsi, 0x28
test rax, rax
je 0x473b91
cmp qword [rsp + 0x60], 0
je 0x473c34
mov rcx, qword [rsp + 0x68]
mov edx, 2
call fcn.00424380
mov rax, qword [rsp + 0x110]
mov qword [rax], r15
mov qword [rax + 0x10], 2
cmp qword [rsp + 0xf0], 0
je 0x4719f9
mov rcx, qword [rsp + 0xf8]
mov edx, 2
call fcn.00424380
jmp 0x4719f9
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x473cd4
lea rcx, [rsp + 0x60]
call fcn.0044f400
mov rbx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x70]
jmp 0x473cdc
mov r15, qword [rsp + 0x220]
mov r12, qword [rsp + 0x230]
jmp 0x473298
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 0x473053
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 0x4718f6
mov rsi, r12
jmp 0x472568
mov r15, qword [rsp + 0x220]
mov r12, qword [rsp + 0x230]
cmp qword [rsp + 0xf0], 0
je 0x473298
mov edx, 1
mov rcx, rsi
call fcn.00424380
jmp 0x473298
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.00428e20
jmp 0x474030
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, [0x0046b6e0]
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.00428040
jmp 0x474030
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.00428e20
jmp 0x474030
mov rcx, r12
mov rdx, r13
call fcn.00425ea0
jmp 0x474030
call fcn.00425e50
jmp 0x474030
call fcn.00425e50
jmp 0x474030
mov edx, 1
mov rcx, rdi
call fcn.00425ea0
jmp 0x474030
call fcn.00425e50
jmp 0x474030
mov edx, 1
mov rcx, rdi
call fcn.00425ea0
jmp 0x474030
lea r8, str.library_std_src_syswindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.004289c0
jmp 0x474030
lea rax, str.library_std_src_syswindowsos.rs
mov rcx, r8
mov rdx, rdi
mov r8, rax
call fcn.00428a50
jmp 0x474030
lea r8, str.library_std_src_syswindowsos.rs
mov rdx, rdi
call fcn.004289c0
jmp 0x474030
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x0049ecc0]
mov edx, 0x21
call fcn.00428e20
jmp 0x474030
mov edx, 1
mov rcx, rbx
call fcn.00425ea0
jmp 0x474030
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00428e20
jmp 0x474030
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00428e20
jmp 0x474030
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, [0x0046b6e0]
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.00428040
jmp 0x474030
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00428e20
jmp 0x474030
call fcn.00425e50
jmp 0x474030
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.00428a50
jmp 0x474030
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, rsi
mov rdx, rdi
call fcn.00428a50
jmp 0x474030
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_sliceiter.rs
call fcn.004289c0
jmp 0x474030
call fcn.00425e50
jmp 0x474030
mov rcx, r14
mov rdx, rdi
call fcn.00425ea0
jmp 0x474030
mov edx, 2
mov rcx, rdi
call fcn.00425ea0
jmp 0x474030
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.00428a50
ud2