Function at 0x4ad630
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 0x4ad682
test r14, r14
jne 0x4ad682
mov qword [rsp + 0x1f8], 0
lea r12, [rsp + 0x200]
xor ebp, ebp
jmp 0x4ae45e
xorps xmm0, xmm0
movups xmmword [rsp + 0x1a8], xmm0
test al, al
jne 0x4ad9b3
call sub.KERNEL32.dll_GetEnvironmentStringsW
test rax, rax
je 0x4b0d57
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 0x4ad99c
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 0x4ad6e0
cmp rdi, 1
je 0x4ad6c0
test rdi, rdi
je 0x4b0ca8
mov r15, 0xfffffffffffffffc
xor r14d, r14d
nop word cs:[rax + rax]
cmp word [rsi + r14*2 + 2], 0x3d
je 0x4ad740
inc r14
add r15, 0xfffffffffffffffe
add rax, 0xfffffffffffffffe
jne 0x4ad720
jmp 0x4ad6c0
lea r8, [r14 + 1]
cmp r14, rdi
jae 0x4b0cc0
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.0048cc20
lea rcx, [r14 + 2]
cmp rdi, rcx
jb 0x4b0cda
sub rbp, r14
add rbp, 0xfffffffffffffffd
sub rsi, r15
lea rcx, [rsp + 0x120]
mov rdx, rsi
mov r8, rbp
call fcn.0048cc20
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 0x4ad99c
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.004b1340
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.004b1540
cmp byte [rsp + 0x108], 2
je 0x4ad6c0
cmp qword [rsp + 0xf0], 0
je 0x4ad6c0
mov rcx, qword [rsp + 0xf8]
mov edx, 1
call fcn.0040c7c0
jmp 0x4ad6c0
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 0x4ad9d2
xor eax, eax
test r14, r14
je 0x4ae268
test r12, r12
je 0x4ada00
cmp r12, 2
mov rdx, qword [rsp + 0x50]
jne 0x4ada82
jmp 0x4b0c39
mov r12d, 1
test rax, rax
je 0x4ada7e
mov rdx, rax
mov rcx, rax
and rdx, 7
je 0x4ada2c
and rcx, 0xfffffffffffffff8
nop dword [rax + rax]
mov rsi, qword [rsi + 0x3d8]
dec rdx
jne 0x4ada20
cmp rax, 8
jb 0x4ada7e
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 0x4ada40
xor edx, edx
xor eax, eax
movzx ecx, word [rsi + 0x3d2]
mov rbp, rsi
mov rbx, rdx
cmp rdx, rcx
jb 0x4adac6
nop word cs:[rax + rax]
mov rcx, qword [rbp + 0x160]
test rcx, rcx
je 0x4b0b98
movzx ebx, word [rbp + 0x3d0]
inc rax
mov rbp, rcx
cmp bx, word [rcx + 0x3d2]
jae 0x4adaa0
test rax, rax
je 0x4adb60
mov rsi, qword [rbp + rbx*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x4adb4e
lea rdx, [rax - 2]
mov r8, rcx
and r8, 7
je 0x4adb05
mov rcx, r8
nop
mov rsi, qword [rsi + 0x3d8]
dec rcx
jne 0x4adaf0
not r8
add rax, r8
mov rcx, rax
cmp rdx, 7
jb 0x4adb4e
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 0x4adb10
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x4adb6c
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 0x4adbf0
mov r13, qword [rsp + 0x1a8]
mov eax, 0
test r13, r13
je 0x4ad9d2
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.004b29e0
cmp qword [rsp + 0xf0], 0
je 0x4adcb9
xor eax, eax
mov r12, rdi
jmp 0x4ad9d2
mov qword [rsp + 0x58], r14
mov r14, qword [r15 + 8]
mov rdi, qword [r15 + 0x10]
test rdi, rdi
mov qword [rsp + 0xe8], r12
je 0x4adc2a
js 0x4b0c8c
mov edx, 1
mov rcx, rdi
call fcn.0040c730
mov r12, rax
test rax, rax
jne 0x4adc30
jmp 0x4b0c96
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 0x4adcab
xor r13d, r13d
movabs rax, 0x3fffffffffffffff
cmp r15, rax
setbe al
ja 0x4b0c66
lea r12, [r15 + r15]
mov r13b, al
add r13, r13
test r12, r12
je 0x4adeb8
mov rcx, r12
mov rdx, r13
call fcn.0040c730
mov r14, rax
test r14, r14
jne 0x4adec4
jmp 0x4b0c56
mov r14d, 2
xor r12d, r12d
jmp 0x4adec4
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov byte [rsp + 0x180], 0
test rdx, rdx
je 0x4adfc2
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x4addbe
lea r8, [rdx - 2]
mov r9, rcx
and r9, 7
je 0x4add2e
mov rcx, r9
nop word cs:[rax + rax]
movzx r10d, word [rax + 0x3d2]
mov rax, qword [rax + r10*8 + 0x3d8]
dec rcx
jne 0x4add10
not r9
add rdx, r9
mov rcx, rdx
cmp r8, 7
jb 0x4addbe
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 0x4add40
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.004b2b40
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 0x4adff7
nop word cs:[rax + rax]
mov rax, qword [rdx + 0x160]
test rax, rax
je 0x4adff4
movzx ecx, word [rdx + 0x3d0]
mov rdx, rax
cmp cx, word [rax + 0x3d2]
jae 0x4ade90
jmp 0x4adff7
mov r14, r13
test r14, r14
je 0x4b0c56
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 0x4adf34
js 0x4b0c70
mov edx, 1
mov rcx, rdi
call fcn.0040c730
mov r12, rax
test rax, rax
jne 0x4adf3a
jmp 0x4b0c7a
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.004b1540
cmp byte [rsp + 0x138], 2
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0xe8]
je 0x4ad9d0
cmp qword [rsp + 0x120], 0
je 0x4ad9d0
mov rcx, qword [rsp + 0x128]
mov edx, 1
call fcn.0040c7c0
jmp 0x4ad9d0
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.004b2b40
jmp 0x4ae123
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 0x4ae1ca
test r12, r12
je 0x4b0cee
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.0040c7c0
cmp byte [rsp + 0x78], 2
mov eax, 0
mov r12, rdi
je 0x4ad9d2
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 0x4ae21f
mov rcx, qword [rsp + 0x68]
mov edx, 1
call fcn.0040c7c0
test r15, r15
je 0x4ae231
mov edx, 2
mov rcx, r14
call fcn.0040c7c0
mov eax, 0
cmp bpl, 2
mov r14, r12
mov r12, rdi
je 0x4ad9d2
mov eax, 0
test rbx, rbx
je 0x4ad9d2
mov edx, 1
mov rcx, r13
call fcn.0040c7c0
xor eax, eax
jmp 0x4ad9d2
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.0040c730
test rax, rax
je 0x4b0d0b
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.004b1340
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 0x4ae41f
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 0x4ae3d0
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 0x4ae390
cmp eax, 1
jne 0x4ae3f4
jmp 0x4ae3d5
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0xe0]
sub r12, 1
jb 0x4af3ef
mov r14, qword [r14 + rbp*8 + 0x3d8]
jmp 0x4ae36c
cmp eax, 2
mov rdi, qword [rsp + 0xe0]
jne 0x4b0bb5
test r14, r14
je 0x4ae41f
mov rbp, qword [r13 - 8]
mov r15, qword [r13]
cmp qword [rsp + 0x220], 0
jne 0x4ae42c
jmp 0x4ae43e
xor ebp, ebp
cmp qword [rsp + 0x220], 0
je 0x4ae43e
mov rcx, qword [rsp + 0x228]
mov edx, 1
call fcn.0040c7c0
cmp qword [rsp + 0x240], 0
je 0x4ae456
mov edx, 2
mov rcx, rsi
call fcn.0040c7c0
lea r12, [rsp + 0x200]
mov r14, qword [rdi + 0x28]
mov rbx, qword [rdi + 0x30]
test rbx, rbx
je 0x4ae4a5
cmp rbx, 4
jae 0x4ae47a
lea rdx, [0x004b36a0]
jmp 0x4ae493
cmp dword [r14], 0x5c3f5c5c
lea rax, [0x004b3690]
lea rdx, [0x004b36a0]
cmove rdx, rax
movzx esi, byte [rbx + r14 - 1]
mov ecx, esi
call rdx
test al, al
je 0x4ae67a
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 0x4ae653
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.0x4aebab.68
cmp word [rax + rcx*2 - 0xa], 0x2e
jne case.0x4aebab.68
cmp word [rax + rcx*2 - 2], 0
je 0x4aeb8a
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.0048bc20
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.0048baa0
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x4ae5b9
lea rcx, [rsp + 0x60]
call fcn.0048bc20
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 0x4ae6f3
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x4ae602
mov rcx, rbx
call fcn.0048bc20
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.004b3980
mov rdi, rax
add rsi, 0x28
add r14, 0xffffffffffffffd8
test rax, rax
je 0x4ae5e0
cmp qword [rsp + 0x60], 0
je 0x4ae826
mov rcx, qword [rsp + 0x68]
mov edx, 2
call fcn.0040c7c0
jmp 0x4ae826
mov rax, qword [rsp + 0x110]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x1f8], 0
jne 0x4ae86d
jmp 0x4ae925
cmp rbx, 3
jbe 0x4ae8ae
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 0x4ae8ae
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 0x4ae8ae
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 0x4ae8ae
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete cl
jmp 0x4ae8b0
mov rdi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x4ae826
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 0x4ae790
lea rcx, [rsp + 0x180]
call fcn.0048bc20
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 0x4aeb45
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 0x4aed38
mov esi, 2
xor r12d, r12d
jmp 0x4aed69
mov rax, qword [rsp + 0x110]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
xor esi, esi
cmp qword [rsp + 0x1e0], 0
je 0x4ae858
mov rcx, qword [rsp + 0x1e8]
mov edx, 2
call fcn.0040c7c0
cmp qword [rsp + 0x1f8], 0
sete al
or sil, al
jne 0x4ae925
mov rcx, qword [rsp + 0x208]
test rcx, rcx
je 0x4ae8f9
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 0x4ae900
xor ecx, ecx
lea rax, [r14 + rbx]
xor edx, edx
nop word cs:[rax + rax]
cmp rbx, rdx
je 0x4ae93a
movzx r8d, byte [r14 + rdx]
cmp r8d, 0x2f
je 0x4ae8d9
inc rdx
cmp r8d, 0x5c
jne 0x4ae8c0
test cl, cl
je 0x4aea19
lea rcx, [rsp + 0x120]
mov rdx, r14
mov r8, rbx
call fcn.004b36b0
jmp 0x4ae4c0
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.004b3df0
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 0x4ae95c
xor r9d, r9d
test dx, dx
je 0x4aeb39
mov dx, 1
test r9w, r9w
jne 0x4ae950
cmp rcx, rax
je 0x4af332
movzx r8d, byte [rcx]
test r8b, r8b
js 0x4ae97d
inc rcx
jmp 0x4ae9e1
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x4ae9d3
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x4ae9ec
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 0x4ae9e1
jmp 0x4aea03
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
xor r9d, r9d
mov edx, r8d
jmp 0x4ae953
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xffff
jbe 0x4ae9e1
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x4ae953
test rbx, rbx
js 0x4b0df8
mov edx, 1
mov rcx, rbx
call fcn.0040c730
test rax, rax
je 0x4b0d0b
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.004a95b0
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.004b37e0
cmp qword [rsp + 0x228], 0
je 0x4af2f8
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x130], rax
movups xmm0, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x120], xmm0
jmp 0x4affa3
lea rax, str.nul_byte_found_in_provided_data
jmp 0x4ae4ac
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 0x4af20a
xor ecx, ecx
mov eax, 2
xor edx, edx
xor r12d, r12d
jmp 0x4af83a
movzx edx, word [rax + rcx*2 - 8]
lea r8d, [rdx - 0x42]
cmp r8d, 0x21
ja case.0x4aebab.68
lea r9, [0x004b1240]
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 0x4aebce
movzx r8d, word [rax + rcx*2 - 4]
or r8d, 0x20
cmp r8d, 0x74
je 0x4aebfc
cmp dx, 0x43
jne case.0x4aebab.68
movzx edx, word [rax + rcx*2 - 6]
or edx, 0x20
cmp edx, 0x6d
jne case.0x4aebab.68
movzx eax, word [rax + rcx*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x4aebab.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 0x4aec5f
jmp 0x4aec80
jae 0x4afaef
cmp rsi, 0x201
jae 0x4aec80
lea r13, [rsp + 0x220]
mov edi, 0x200
mov rbp, rsi
jmp 0x4aecd1
sub rsi, r12
sub r15, r12
cmp r15, rsi
jae 0x4aecaf
lea rcx, [rsp + 0x60]
mov rdx, r12
mov r8, rsi
call fcn.0048bce0
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 0x4aecf5
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x4afe2e
mov esi, ebx
cmp rbp, rsi
jne 0x4aec50
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x4b0d3a
add rbp, rbp
mov eax, 0xffffffff
cmp rbp, rax
mov r14d, 0xffffffff
cmovae rbp, rax
mov rsi, rbp
cmp rsi, 0x201
jae 0x4aec80
jmp 0x4aec5f
lea rcx, [rsp + 0xc0]
xor edx, edx
call fcn.0048bc20
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.004ad320
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x4afdca
mov r9, qword [rsp + 0x70]
imul r10, r9, 0x38
cmp byte [r8 + r10 + 0x180], 2
je 0x4afdca
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 0x4aee6d
xor r11d, r11d
test r9w, r9w
je 0x4af1b7
mov r9w, 1
test r11w, r11w
jne 0x4aee60
cmp r8, rdx
je 0x4aef41
movzx r10d, byte [r8]
test r10b, r10b
js 0x4aee92
inc r8
jmp 0x4aef20
mov r11d, r10d
and r11d, 0x1f
movzx ebx, byte [r8 + 1]
and ebx, 0x3f
cmp r10b, 0xdf
jbe 0x4aeeda
movzx edi, byte [r8 + 2]
shl ebx, 6
and edi, 0x3f
or edi, ebx
cmp r10b, 0xf0
jb 0x4aeef2
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 0x4aef00
add r8, 2
shl r11d, 6
or r11d, ebx
mov r10d, r11d
mov rbx, qword [rsp + 0xe0]
jmp 0x4aef20
add r8, 3
shl r11d, 0xc
or edi, r11d
mov r10d, edi
mov rbx, qword [rsp + 0xe0]
cmp r10d, 0xffff
ja 0x4aef2b
nop word cs:[rax + rax]
xor r11d, r11d
mov r9d, r10d
jmp 0x4aee63
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x4aee63
test rax, rax
je 0x4aef50
mov edx, 1
call fcn.0040c7c0
mov rax, qword [rsp + 0xc0]
sub rax, r12
cmp rax, r15
jae 0x4aef83
lea rcx, [rsp + 0xc0]
mov rdx, r12
mov r8, r15
call fcn.0048bce0
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 0x4aefb0
mov edx, 2
mov rcx, r13
call fcn.0040c7c0
cmp r12, qword [rsp + 0xc0]
lea rbp, [rsp + 0x220]
jne 0x4aefe9
lea rcx, [rsp + 0xc0]
mov rdx, r12
call fcn.0048bc20
lea r13, [rsp + 0x60]
mov rsi, qword [rsp + 0xc8]
mov r12, qword [rsp + 0xd0]
jmp 0x4aefee
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 0x4af03d
xor r11d, r11d
test r9w, r9w
je 0x4af38f
mov r9w, 1
test r11w, r11w
jne 0x4af030
cmp r8, rdx
je 0x4af0f6
movzx r10d, byte [r8]
test r10b, r10b
js 0x4af05f
inc r8
jmp 0x4af0be
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [r8 + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x4af0b0
movzx esi, byte [r8 + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp r10b, 0xf0
jb 0x4af0c9
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 0x4af0be
jmp 0x4af0e0
add r8, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
xor r11d, r11d
mov r9d, r10d
jmp 0x4af033
add r8, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
cmp r10d, 0xffff
jbe 0x4af0be
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x4af033
cmp cl, 2
je 0x4b0b5f
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.0048baa0
test r12, r12
je 0x4af16e
mov edx, 1
mov rcx, r15
call fcn.0040c7c0
mov r12, qword [rsp + 0xd0]
cmp r12, qword [rsp + 0xc0]
jne 0x4af198
lea rcx, [rsp + 0xc0]
mov rdx, r12
call fcn.0048bc20
mov r12, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xc8]
mov word [rsi + r12*2], 0
inc r12
mov qword [rsp + 0xd0], r12
jmp 0x4aedcd
test rax, rax
je 0x4af1c6
mov edx, 1
call fcn.0040c7c0
cmp qword [rsp + 0x120], 0
mov r15d, dword [rsp + 0x50]
je 0x4af1e8
mov rcx, qword [rsp + 0x128]
mov edx, 1
call fcn.0040c7c0
lea rsi, str.nul_byte_found_in_provided_data
test rbp, rbp
je 0x4af3ad
mov edx, 2
mov rcx, r13
call fcn.0040c7c0
jmp 0x4af3ad
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 0x4af23d
xor r10d, r10d
test r8w, r8w
je 0x4af370
mov r8w, 1
test r10w, r10w
jne 0x4af230
cmp rdx, rcx
je 0x4af7da
movzx r9d, byte [rdx]
test r9b, r9b
js 0x4af25f
inc rdx
jmp 0x4af2c0
mov r10d, r9d
and r10d, 0x1f
movzx edi, byte [rdx + 1]
and edi, 0x3f
cmp r9b, 0xdf
jbe 0x4af2b2
movzx r11d, byte [rdx + 2]
shl edi, 6
and r11d, 0x3f
or r11d, edi
cmp r9b, 0xf0
jb 0x4af2cb
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 0x4af2c0
jmp 0x4af2e2
add rdx, 2
shl r10d, 6
or r10d, edi
mov r9d, r10d
xor r10d, r10d
mov r8d, r9d
jmp 0x4af233
add rdx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x4af2c0
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x4af233
mov rcx, rsi
mov rdx, r15
call fcn.004ace50
test rax, rax
je 0x4aff90
cmp rdx, 2
jne 0x4af405
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x4af405
mov r8d, 2
xor ecx, ecx
jmp 0x4af44e
cmp rbx, 0xf
ja 0x4af453
lea rax, [rbx - 1]
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [r14 + rcx], 0x2e
sete dil
je 0x4af468
lea rdx, [rcx + 1]
cmp rax, rcx
mov rcx, rdx
jne 0x4af350
jmp 0x4af468
lea rax, str.nul_byte_found_in_provided_data
mov rcx, qword [rsp + 0x110]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x4afa92
lea rsi, str.nul_byte_found_in_provided_data
test r12, r12
je 0x4af3a8
mov edx, 1
mov rcx, r15
call fcn.0040c7c0
mov r15d, dword [rsp + 0x50]
lea rcx, [rsp + 0x220]
call fcn.004b3df0
cmp qword [rsp + 0xc0], 0
je 0x4af3d7
mov rcx, qword [rsp + 0xc8]
mov edx, 2
call fcn.0040c7c0
mov rax, qword [rsp + 0x110]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
jmp 0x4afaa4
xor ebp, ebp
cmp qword [rsp + 0x220], 0
jne 0x4ae42c
jmp 0x4ae43e
xor r11d, r11d
mov rcx, rax
nop dword [rax + rax]
cmp rdx, r11
je 0x4afc27
mov r9, r11
lea r10, [rcx - 1]
inc r11
cmp byte [rcx + rdx - 1], 0x2e
mov rcx, r10
jne 0x4af410
mov r8, rdx
sub r8, r11
lea rcx, [r8 + 1]
cmp rdx, rcx
jb 0x4b0e2a
cmp rdx, r11
jne 0x4aff60
xor ecx, ecx
mov r8, rdx
jmp 0x4aff6a
mov cl, 0x2e
mov rdx, r14
mov r8, rbx
call fcn.00412860
cmp rax, 1
sete dil
test rbp, rbp
mov byte [rsp + 0xe8], dil
mov qword [rsp + 0x118], r12
je 0x4af4cf
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.004a8dd0
movzx eax, byte [rsp + 0x238]
cmp al, 2
jne 0x4afb22
movzx edi, byte [rsp + 0xe8]
lea rcx, [rsp + 0x120]
call fcn.004a93b0
cmp byte [rsp + 0x138], 2
jne 0x4af4f8
lea rcx, [rsp + 0x120]
call fcn.0048cb80
jmp 0x4af5d9
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.004aaf10
test rax, rax
je 0x4af533
cmp rsi, rdx
jb 0x4af533
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.004a9a80
test dil, dil
jne 0x4af57f
lea rcx, [rsp + 0x220]
call fcn.004acfb0
mov rsi, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.004b37e0
cmp qword [rsp + 0x220], 0
je 0x4af5b7
mov edx, 1
mov rcx, rsi
call fcn.0040c7c0
mov rdi, qword [rsp + 0xf8]
test rdi, rdi
je 0x4af5d9
mov r15, qword [rsp + 0xf0]
mov r12, qword [rsp + 0x100]
jmp 0x4b00d8
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 0x4af64f
jmp 0x4af670
jae 0x4af733
cmp r8, 0x201
jae 0x4af670
lea rdi, [rsp + 0x220]
mov esi, 0x200
mov r13, r8
jmp 0x4af6c9
sub r8, rbp
sub r12, rbp
cmp r12, r8
jae 0x4af6a5
lea rcx, [rsp + 0xc0]
mov rdx, rbp
call fcn.0048bce0
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 0x4af6ef
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x4afc31
mov r8d, r15d
cmp r13, r8
jne 0x4af640
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x4b0d1d
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
mov r14d, 0xffffffff
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x4af670
jmp 0x4af64f
cmp rsi, r8
movzx ebp, byte [rsp + 0xe8]
jb 0x4b0dff
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.0048cc20
mov r14, qword [rsp + 0x178]
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rbx
call fcn.004a9a80
test bpl, bpl
jne 0x4af778
lea rcx, [rsp + 0x60]
call fcn.004acfb0
mov rsi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.004b37e0
cmp qword [rsp + 0x60], 0
je 0x4af7a7
mov edx, 1
mov rcx, rsi
call fcn.0040c7c0
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 0x4afc5d
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.004b1340
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
cmp rdx, rcx
jne 0x4af829
lea rcx, [rsp + 0x60]
call fcn.0048bc20
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, [0x00542120]
mov rcx, rdi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [0x005421b8]
shl rax, 1
test rax, rax
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0x218], r12
je 0x4af8ba
call fcn.0048e520
mov ebp, eax
xor bpl, 1
jmp 0x4af8bc
xor ebp, ebp
movzx ecx, byte [0x00542128]
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.004b3ed0
mov r13, rdx
test rax, rax
je 0x4af9f1
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 0x4af995
mov rcx, qword [rsp + 0x68]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x70], 0
je 0x4af9a7
mov rcx, qword [rsp + 0x78]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x80], 0
je 0x4af9bf
mov rcx, qword [rsp + 0x88]
call sub.KERNEL32.dll_CloseHandle
movabs rax, 0x7fffffffffffffff
test bl, bl
je 0x4afa40
test bpl, bpl
mov r13, qword [rsp + 0xe8]
jne 0x4afa69
mov rcx, qword [0x005421b8]
test rcx, rax
je 0x4afa69
call fcn.0048e520
jmp 0x4afa5e
lea r9, [rsp + 0x70]
xor ecx, ecx
cmp rdi, 5
cmovne rcx, rdi
je 0x4afa07
mov rdx, qword [r12 + 8]
mov r8d, 0xfffffff5
call fcn.004b3ed0
mov r12, qword [rsp + 0x58]
test rax, rax
je 0x4afe44
mov rax, qword [rsp + 0x110]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov r15d, dword [rsp + 0x50]
mov rdi, r13
jmp 0x4afea0
test bpl, bpl
mov r13, qword [rsp + 0xe8]
jne 0x4afa69
mov rcx, qword [0x005421b8]
test rcx, rax
je 0x4afa69
call fcn.0048e520
test al, al
jne 0x4afa69
mov byte [0x00542128], 1
lea rcx, [0x00542120]
call fcn.004cd398
cmp qword [rsp + 0xe0], 0
je 0x4afa92
mov edx, 2
mov rcx, qword [rsp + 0x178]
call fcn.0040c7c0
test r12, r12
je 0x4afaa4
mov edx, 2
mov rcx, r13
call fcn.0040c7c0
cmp qword [rsp + 0x180], 0
je 0x4afac1
mov rcx, qword [rsp + 0x188]
mov edx, 2
call fcn.0040c7c0
cmp qword [rsp + 0x1a0], 0
je 0x4afade
mov rcx, qword [rsp + 0x1a8]
mov edx, 2
call fcn.0040c7c0
mov sil, 1
test r15b, r15b
je 0x4ae83b
jmp 0x4ae925
cmp rdi, rsi
jb 0x4b0e16
test ebx, ebx
je 0x4b01de
lea rdi, [rsi + rsi]
mov edx, 2
mov rcx, rdi
call fcn.0040c730
test rax, rax
je 0x4b0e4c
mov rbx, rax
jmp 0x4b01e5
lea r13, [rsp + 0x239]
lea rbp, [rsp + 0x79]
lea rsi, [rsp + 0x220]
lea r15, [rsp + 0x120]
lea r12, [rsp + 0x60]
jmp 0x4afb6b
mov rcx, rsi
mov rdx, r15
call fcn.004a8dd0
movzx eax, byte [rsp + 0x238]
cmp al, 2
je 0x4af4c7
mov rdx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
test r8, r8
jne 0x4afb99
test rdx, rdx
je 0x4afb50
mov edx, 1
call fcn.0040c7c0
jmp 0x4afb50
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.004a9a80
cmp byte [rsp + 0xe8], 0
jne 0x4afbdc
mov rcx, r12
call fcn.004acfb0
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rcx, rsi
mov rdx, rdi
call fcn.004b37e0
cmp qword [rsp + 0x60], 0
je 0x4afc06
mov edx, 1
mov rcx, rdi
call fcn.0040c7c0
mov rdi, qword [rsp + 0x228]
test rdi, rdi
jne 0x4b0ad2
mov rcx, rsi
mov rdx, r15
call fcn.004a8dd0
jmp 0x4afb5b
mov rcx, rax
xor eax, eax
jmp 0x4aff6a
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 0x4afc74
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.0040c7c0
mov rdi, qword [rsp + 0x130]
test rdi, rdi
sete al
or sil, al
cmp sil, 1
jne 0x4b00c8
lea rcx, [rsp + 0x120]
call fcn.004b38d0
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 0x4afcf6
jmp 0x4afd08
jae 0x4afec1
cmp r8, 0x201
jae 0x4afd08
lea rdi, [rsp + 0x220]
mov esi, 0x200
mov r13, r8
jmp 0x4afd66
sub r8, rbp
sub r12, rbp
cmp r12, r8
jae 0x4afd3d
lea rcx, [rsp + 0xc0]
mov rdx, rbp
call fcn.0048bce0
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 0x4afd8c
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x4affc1
mov r8d, r15d
cmp r13, r8
jne 0x4afce7
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x4b0dde
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x4afd08
jmp 0x4afcf6
lea rcx, [rsp + 0x220]
mov r15d, dword [rsp + 0x50]
call fcn.004b3df0
cmp r12, qword [rsp + 0xc0]
jne 0x4afe06
lea rcx, [rsp + 0xc0]
mov rdx, r12
call fcn.0048bc20
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 0x4af3d7
inc r12
mov rax, qword [rsp + 0xc0]
jmp 0x4aeb52
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
xor ebx, ebx
jmp 0x4b01f3
mov qword [rsp + 0x1b8], rdx
lea r9, [rsp + 0x80]
xor ecx, ecx
cmp r15, 5
cmovne rcx, r15
je 0x4afe64
mov rdx, qword [rbx + 8]
mov r8d, 0xfffffff4
mov r15d, dword [rsp + 0x50]
call fcn.004b3ed0
test rax, rax
mov rdi, r13
je 0x4b06af
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 0x4af98b
jmp 0x4af995
cmp rsi, r8
movzx ebp, byte [rsp + 0xe8]
jb 0x4b0e5b
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.0048cc20
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rbx
call fcn.004a9a80
test bpl, bpl
jne 0x4afefe
lea rcx, [rsp + 0x60]
call fcn.004acfb0
mov rsi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
lea rcx, [rsp + 0xf0]
mov rdx, rsi
call fcn.004b37e0
cmp qword [rsp + 0x60], 0
je 0x4aff2d
mov edx, 1
mov rcx, rsi
call fcn.0040c7c0
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 0x4affe5
lea rcx, [r10 + rdx]
inc rcx
mov rdx, r9
test rax, rax
cmovne rcx, rax
test rcx, rcx
je 0x4aff90
test rax, rax
cmove r8, rdx
add rcx, r8
sub rcx, rsi
cmp r15, rcx
jb 0x4aff90
mov qword [rsp + 0x70], rcx
mov r15, rcx
lea rcx, [rsp + 0x120]
mov rdx, rsi
mov r8, r15
call fcn.004b36b0
cmp qword [rsp + 0x60], 0
je 0x4ae4c0
mov edx, 1
mov rcx, rsi
call fcn.0040c7c0
jmp 0x4ae4c0
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 0x4afffc
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.0040c7c0
mov rdi, qword [rsp + 0x130]
test rdi, rdi
sete al
or sil, al
cmp sil, 1
jne 0x4b00c8
lea rcx, [rsp + 0x120]
call fcn.004b38d0
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.004a7190
cmp byte [rsp + 0xd8], 2
je 0x4b089d
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 0x4b010e
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 0x4ae4c0
mov rdi, qword [rsp + 0x228]
test rdi, rdi
jne 0x4b0b67
mov rcx, r15
mov rdx, r12
call fcn.004a8dd0
jmp 0x4b0126
mov rcx, r15
mov rdx, r12
call fcn.004a8dd0
movzx eax, byte [rsp + 0x238]
cmp al, 2
je 0x4b087d
mov rdx, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
test r8, r8
jne 0x4b0164
test rdx, rdx
je 0x4b011b
mov edx, 1
call fcn.0040c7c0
jmp 0x4b011b
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.004a9a80
cmp byte [rsp + 0xe8], 0
jne 0x4b01ab
lea rcx, [rsp + 0x60]
call fcn.004acfb0
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rcx, r15
mov rdx, rdi
call fcn.004b37e0
cmp qword [rsp + 0x60], 0
je 0x4b00fd
mov edx, 1
mov rcx, rdi
call fcn.0040c7c0
jmp 0x4b00fd
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 0x4b020a
mov edx, 2
mov rcx, qword [rsp + 0x58]
call fcn.0040c7c0
test rbx, rbx
je 0x4b0640
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x130], rsi
lea rdi, [0x0050908e]
xor r15d, r15d
lea r14, [rsp + 0x120]
mov r13, rdi
xor r12d, r12d
jmp 0x4b0257
mov r15d, eax
mov word [rbx + rsi*2], bp
inc rsi
mov qword [rsp + 0x130], rsi
test r13, r13
je 0x4b02f1
test r15w, r15w
je 0x4b0291
xor eax, eax
mov ebp, r15d
cmp rsi, qword [rsp + 0x120]
jne 0x4b0245
mov r8, rdi
sub r8, r13
add r8, 0xb
shr r8, 2
sub r8, r12
inc r8
mov r15d, eax
jmp 0x4b031d
lea rax, [0x00509096]
cmp r13, rax
je 0x4b02f1
movzx ebp, byte [r13]
test bpl, bpl
js 0x4b02ae
inc r13
xor eax, eax
jmp 0x4b026b
mov eax, ebp
and eax, 0x1f
movzx edx, byte [r13 + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x4b0338
movzx ecx, byte [r13 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x4b034a
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 0x4b0357
cmp r12, 1
je 0x4b038e
mov r12d, 1
xor ebp, ebp
mov r13d, 0
mov r8d, 0
cmp rsi, qword [rsp + 0x120]
jne 0x4b0248
inc r8
mov rcx, r14
mov rdx, rsi
call fcn.0048bce0
mov rbx, qword [rsp + 0x128]
jmp 0x4b0248
add r13, 2
shl eax, 6
or eax, edx
mov ebp, eax
xor eax, eax
jmp 0x4b026b
add r13, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
jmp 0x4b035b
add r13, 4
cmp ebp, 0xffff
ja 0x4b036a
xor eax, eax
jmp 0x4b026b
lea ecx, [rbp + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and ebp, 0x3ff
or ebp, 0xdc00
mov eax, ebp
mov ebp, ecx
jmp 0x4b026b
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x4b0643
lea rbp, [0x00508ab2]
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 0x4b0e38
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.0040c730
test rax, rax
je 0x4b0e3f
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, [0x00508ab3]
mov r14d, 1
xor r13d, r13d
lea r12, [0x00508ac1]
lea r15, [rsp + 0x220]
jmp 0x4b04cb
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 0x4b04f0
xor ebx, ebx
cmp r14, qword [rsp + 0x220]
jne 0x4b04b8
jmp 0x4b05e0
cmp rdi, r12
je 0x4b0601
movzx r13d, byte [rdi]
test r13b, r13b
js 0x4b0516
inc rdi
xor ebx, ebx
cmp r14, qword [rsp + 0x220]
jne 0x4b04b8
jmp 0x4b05e0
mov eax, r13d
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp r13b, 0xdf
jbe 0x4b056a
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r13b, 0xf0
jb 0x4b0589
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 0x4b0601
add rdi, 4
jmp 0x4b0595
add rdi, 2
shl eax, 6
or eax, r8d
mov r13d, eax
xor ebx, ebx
cmp r14, qword [rsp + 0x220]
jne 0x4b04b8
jmp 0x4b05e0
add rdi, 3
shl eax, 0xc
or edx, eax
mov r13d, edx
cmp r13d, 0xffff
jbe 0x4b04d1
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 0x4b04b8
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.0048bce0
jmp 0x4b04b0
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 0x4b065b
lea rcx, [rsp + 0x60]
mov rdx, r14
call fcn.0048bc20
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov r14, qword [rsp + 0x70]
jmp 0x4b0665
mov rax, rsi
mov rcx, qword [rsp + 0x110]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x4ae839
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, [0x00508af8]
cmp rax, rcx
je 0x4b069b
cmp word [rbx + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x4b0686
jmp 0x4b0a5d
mov rdi, rdx
sub rdi, 1
jae 0x4b08a9
xor eax, eax
jmp 0x4b08c0
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 0x4b0704
test rax, rax
jne 0x4b0704
test rdi, rdi
je 0x4b0727
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 0x4b0ae7
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.004b4650
mov rsi, qword [rsp + 0xe8]
cmp qword [rsp + 0xe0], 0
je 0x4b080f
mov edx, 2
mov rcx, qword [rsp + 0x178]
call fcn.0040c7c0
test r12, r12
je 0x4b0821
mov edx, 2
mov rcx, rsi
call fcn.0040c7c0
cmp qword [rsp + 0x180], 0
je 0x4b0839
mov edx, 2
mov rcx, r14
call fcn.0040c7c0
cmp qword [rsp + 0x1a0], 0
je 0x4b0851
mov edx, 2
mov rcx, rbx
call fcn.0040c7c0
cmp qword [rsp + 0x1e0], 0
sete al
or r15b, al
jne 0x4ae925
mov rcx, qword [rsp + 0x1e8]
mov edx, 2
call fcn.0040c7c0
jmp 0x4ae925
cmp qword [rsp + 0xf0], 0
je 0x4b0895
mov edx, 1
mov rcx, rsi
call fcn.0040c7c0
mov r12, qword [rsp + 0x118]
lea rax, [0x00509070]
jmp 0x4ae4ac
movzx ecx, word [rbx + rdi*2]
cmp cx, 0x5c
je 0x4b0a5d
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 0x4b08fa
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rdi
call fcn.0048bce0
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 0x4b092e
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.0048bc20
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 0x4b09b5
mov rax, qword [rsp + 0xe8]
shl rax, 3
lea rbx, [rax + rax*4]
lea rdi, [rsp + 0x60]
test rbx, rbx
je 0x4b0aad
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x4b097f
mov rcx, rdi
call fcn.0048bc20
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.004b3980
mov r15, rax
add rsi, 0x28
add rbx, 0xffffffffffffffd8
test rax, rax
je 0x4b095d
jmp 0x4b0a5d
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 0x4b0aad
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x4b09f3
mov rcx, rbx
call fcn.0048bc20
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 0x4b0a10
xor edi, edi
jmp 0x4b0a3f
mov r15, qword [rsi + 0x10]
mov r13, qword [rsi + 0x18]
xor ebp, ebp
cmp r13, rbp
setne dil
je 0x4b0a3f
movzx ecx, byte [r15 + rbp]
mov r8d, 0x16
mov rdx, r14
call fcn.00412860
inc rbp
cmp rax, 1
jne 0x4b0a1a
mov rcx, rbx
mov rdx, rsi
mov r8d, edi
call fcn.004b3980
mov r15, rax
add rsi, 0x28
test rax, rax
je 0x4b09d1
cmp qword [rsp + 0x60], 0
je 0x4b0a74
mov rcx, qword [rsp + 0x68]
mov edx, 2
call fcn.0040c7c0
mov rax, qword [rsp + 0x110]
mov qword [rax], r15
mov qword [rax + 0x10], 2
cmp qword [rsp + 0xf0], 0
je 0x4ae839
mov rcx, qword [rsp + 0xf8]
mov edx, 2
call fcn.0040c7c0
jmp 0x4ae839
mov rdx, qword [rsp + 0x70]
cmp rdx, qword [rsp + 0x60]
jne 0x4b0b14
lea rcx, [rsp + 0x60]
call fcn.0048bc20
mov rbx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x70]
jmp 0x4b0b1c
mov r15, qword [rsp + 0x220]
mov r12, qword [rsp + 0x230]
jmp 0x4b00d8
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 0x4afe93
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 0x4ae736
mov rsi, r12
jmp 0x4af3a8
mov r15, qword [rsp + 0x220]
mov r12, qword [rsp + 0x230]
cmp qword [rsp + 0xf0], 0
je 0x4b00d8
mov edx, 1
mov rcx, rsi
call fcn.0040c7c0
jmp 0x4b00d8
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrary_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.00411f40
jmp 0x4b0e70
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, [fcn.004a7e40]
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.00411160
jmp 0x4b0e70
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrary_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.00411f40
jmp 0x4b0e70
mov rcx, r12
mov rdx, r13
call fcn.0040e250
jmp 0x4b0e70
call fcn.0040e200
jmp 0x4b0e70
call fcn.0040e200
jmp 0x4b0e70
mov edx, 1
mov rcx, rdi
call fcn.0040e250
jmp 0x4b0e70
call fcn.0040e200
jmp 0x4b0e70
mov edx, 1
mov rcx, rdi
call fcn.0040e250
jmp 0x4b0e70
lea r8, str.library_std_src_syswindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.00411ae0
jmp 0x4b0e70
lea rax, str.library_std_src_syswindowsos.rs
mov rcx, r8
mov rdx, rdi
mov r8, rax
call fcn.00411b70
jmp 0x4b0e70
lea r8, str.library_std_src_syswindowsos.rs
mov rdx, rdi
call fcn.00411ae0
jmp 0x4b0e70
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x00506bf8]
mov edx, 0x21
call fcn.00411f40
jmp 0x4b0e70
mov edx, 1
mov rcx, rbx
call fcn.0040e250
jmp 0x4b0e70
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00411f40
jmp 0x4b0e70
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00411f40
jmp 0x4b0e70
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, [fcn.004a7e40]
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.00411160
jmp 0x4b0e70
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00411f40
jmp 0x4b0e70
call fcn.0040e200
jmp 0x4b0e70
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.00411b70
jmp 0x4b0e70
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, rsi
mov rdx, rdi
call fcn.00411b70
jmp 0x4b0e70
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_sliceiter.rs
call fcn.00411ae0
jmp 0x4b0e70
call fcn.0040e200
jmp 0x4b0e70
mov rcx, r14
mov rdx, rdi
call fcn.0040e250
jmp 0x4b0e70
mov edx, 2
mov rcx, rdi
call fcn.0040e250
jmp 0x4b0e70
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.00411b70
ud2