Function at 0x4e4040
Capabilities:
Create process on windows
Encode data using base64
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
mov qword [rsp + 0x170], rcx
cmp byte [rdx + 0x58], 0
mov qword [rsp + 0x178], rdx
je 0x4e408a
xorps xmm0, xmm0
movups xmmword [rsp + 0x188], xmm0
mov r9, qword [rdx + 0x50]
mov r13, qword [rdx + 0x48]
test r13, r13
jne 0x4e42ff
jmp 0x4e4d8e
mov rsi, qword [rdx + 0x50]
test rsi, rsi
je 0x4e5454
xorps xmm0, xmm0
movups xmmword [rsp + 0x188], xmm0
call sub.kernel32.dll_GetEnvironmentStringsW
test rax, rax
je 0x4e6ef7
mov qword [rsp + 0x60], rsi
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov rsi, rax
jmp 0x4e40d5
lea rcx, [rsp + 0x70]
cmp word [rsi], 0
je 0x4e42db
mov rbx, rsi
mov rdx, 0xfffffffffffffffe
xor ebp, ebp
nop dword [rax + rax]
mov rdi, rbp
mov rax, rdx
inc rbp
cmp word [rsi], 0
lea rsi, [rsi + 2]
lea rdx, [rdx + 2]
jne 0x4e40f0
cmp rdi, 1
je 0x4e40d5
test rdi, rdi
je 0x4e6e56
mov r15, 0xfffffffffffffffc
xor r12d, r12d
cmp word [rbx + r12*2 + 2], 0x3d
je 0x4e4140
inc r12
add r15, 0xfffffffffffffffe
add rax, 0xfffffffffffffffe
jne 0x4e4120
jmp 0x4e40d5
lea r8, [r12 + 1]
cmp r12, rdi
jae 0x4e6eb2
mov rdx, rbx
call fcn.004c4310
lea rcx, [r12 + 2]
cmp rdi, rcx
jb 0x4e6ecc
sub rbp, r12
add rbp, 0xfffffffffffffffd
sub rbx, r15
lea rcx, [rsp + 0xe0]
mov rdx, rbx
mov r8, rbp
call fcn.004c4310
mov rbp, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xe8]
lea rax, [rsp + 0x100]
movups xmm0, xmmword [rax - 0x10]
movaps xmmword [rsp + 0x150], xmm0
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
movzx r14d, byte [rsp + 0x88]
lea rcx, [rsp + 0x80]
mov eax, dword [rcx + 9]
mov ecx, dword [rcx + 0xc]
mov dword [rsp + 0x1ab], ecx
mov dword [rsp + 0x1a8], eax
cmp r14b, 2
lea r13, [rsp + 0x70]
je 0x4e42db
lea rax, [rdi + r12]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x80], 0
lea rcx, [rsp + 0x1c0]
mov rdx, r13
call fcn.004e1150
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0xf0], r12
mov byte [rsp + 0xf8], r14b
mov eax, dword [rsp + 0x1a8]
mov ecx, dword [rsp + 0x1ab]
lea rdx, [rsp + 0x100]
mov dword [rdx - 4], ecx
mov dword [rdx - 7], eax
mov rax, qword [rsp + 0x1d0]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rdx], xmm0
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], r15
movaps xmm0, xmmword [rsp + 0x150]
lea rax, [rsp + 0x80]
movups xmmword [rax], xmm0
lea rcx, [rsp + 0x1c0]
lea rdx, [rsp + 0x180]
lea r8, [rsp + 0xe0]
mov r9, r13
call fcn.004d1230
cmp byte [rsp + 0x1d8], 2
je 0x4e40d0
cmp qword [rsp + 0x1c0], 0
je 0x4e40d0
mov r8, qword [rsp + 0x1c8]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x4e40d0
mov rcx, qword [rsp + 0x58]
call sub.kernel32.dll_FreeEnvironmentStringsW
mov rdx, qword [rsp + 0x178]
mov r9, qword [rsp + 0x60]
mov r13, qword [rdx + 0x48]
test r13, r13
je 0x4e4d8e
test r9, r9
je 0x4e4d8e
mov rax, qword [rsp + 0x178]
mov rax, qword [rax + 0x40]
xor ecx, ecx
mov qword [rsp + 0x50], rcx
lea rcx, str._repos_rust_1.70.0_library_alloc_src_collections_btree_map_entry.rs
mov qword [rsp + 0x220], rcx
lea rcx, str.called__Option::unwrap____on_a__None__value
mov qword [rsp + 0x1a0], rcx
jmp 0x4e435d
call sub.kernel32.dll_HeapFree
mov eax, 0
mov r9, qword [rsp + 0x60]
dec r9
mov rdx, qword [rsp + 0x58]
je 0x4e4d8e
cmp qword [rsp + 0x50], 0
jne 0x4e43f2
mov ecx, 1
mov qword [rsp + 0x50], rcx
test rax, rax
je 0x4e43ee
mov rdx, rax
mov rcx, rax
and rdx, 7
je 0x4e439c
and rcx, 0xfffffffffffffff8
nop dword [rax + rax]
mov r13, qword [r13 + 0x3d8]
dec rdx
jne 0x4e4390
cmp rax, 8
jb 0x4e43ee
nop word cs:[rax + rax]
mov rax, qword [r13 + 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 r13, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x4e43b0
xor eax, eax
xor edx, edx
movzx ecx, word [r13 + 0x3d2]
mov rbx, r13
mov rbp, rdx
cmp rdx, rcx
jb 0x4e4436
nop word cs:[rax + rax]
mov rcx, qword [rbx + 0x160]
test rcx, rcx
je 0x4e6d60
movzx ebp, word [rbx + 0x3d0]
inc rax
mov rbx, rcx
cmp bp, word [rcx + 0x3d2]
jae 0x4e4410
test rax, rax
mov qword [rsp + 0x60], r9
je 0x4e44e0
mov r13, qword [rbx + rbp*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x4e44ce
lea rdx, [rax - 2]
mov r8, rcx
and r8, 7
je 0x4e4485
mov rcx, r8
nop word cs:[rax + rax]
mov r13, qword [r13 + 0x3d8]
dec rcx
jne 0x4e4470
not r8
add rax, r8
mov rcx, rax
cmp rdx, 7
jb 0x4e44ce
nop dword [rax + rax]
mov rax, qword [r13 + 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 r13, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x4e4490
xor esi, esi
jmp 0x4e44e7
lea rsi, [rbp + 1]
mov r13, rbx
imul rax, rbp, 0x38
lea r15, [rbx + rax]
add r15, 0x168
shl rbp, 5
cmp byte [rbx + rbp + 0x18], 2
mov qword [rsp + 0x58], rsi
jne 0x4e45e0
mov rdi, qword [rsp + 0x188]
test rdi, rdi
je 0x4e4345
mov rsi, qword [rsp + 0x180]
lea eax, [rsi + 7]
mov dword [rsp + 0xd8], eax
lea rbp, [rdi + 0x168]
movzx r12d, word [rdi + 0x3d2]
imul rbx, r12, 0x38
mov r14, 0xffffffffffffffff
nop word [rax + rax]
test rbx, rbx
je 0x4e45b0
mov rcx, qword [r15 + 0x28]
mov edx, dword [r15 + 0x30]
mov r8, qword [rbp + 0x28]
mov r9d, dword [rbp + 0x30]
mov dword [rsp + 0x20], 1
call sub.kernel32.dll_CompareStringOrdinal
mov ecx, eax
dec ecx
cmp ecx, 3
jae 0x4e6d7d
add rbp, 0x38
add rbx, 0xffffffffffffffc8
inc r14
cmp cl, 2
je 0x4e4550
movzx eax, cl
cmp eax, 1
je 0x4e4640
test rsi, rsi
jne 0x4e45bc
jmp 0x4e4345
mov r14, r12
test rsi, rsi
je 0x4e4345
mov rdi, qword [rdi + r14*8 + 0x3d8]
dec rsi
mov eax, dword [rsp + 0xd8]
add al, 7
jmp 0x4e4526
mov rdi, qword [r15 + 8]
mov r12, qword [r15 + 0x10]
test r12, r12
je 0x4e483c
js 0x4e6e4c
mov rax, qword [0x00576170]
test rax, rax
jne 0x4e4618
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x4e6e04
mov qword [0x00576170], rax
mov rcx, rax
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x4e4842
jmp 0x4e6e04
mov byte [rsp + 0x1a8], 0
test rsi, rsi
je 0x4e4a2c
mov rax, qword [rdi + r14*8 + 0x3d8]
mov rcx, rsi
dec rcx
je 0x4e473e
lea rdx, [rsi - 2]
test cl, 7
je 0x4e46b6
movzx ecx, byte [rsp + 0xd8]
and ecx, 7
neg rcx
mov r8d, 1
nop word cs:[rax + rax]
movzx r9d, word [rax + 0x3d2]
mov rax, qword [rax + r9*8 + 0x3d8]
lea r9, [rcx + r8]
inc r9
inc r8
cmp r9, 1
jne 0x4e4690
sub rsi, r8
mov rcx, rsi
cmp rdx, 7
jb 0x4e473e
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 0x4e46c0
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rcx
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x1a8]
call fcn.004b41b0
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x210], rax
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x200], xmm0
movups xmm0, xmmword [rsp + 0xe0]
movups xmm1, xmmword [rsp + 0xf0]
movups xmm2, xmmword [rsp + 0x100]
movups xmm3, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x1f0], xmm3
movaps xmmword [rsp + 0x1e0], xmm2
movaps xmmword [rsp + 0x1d0], xmm1
movaps xmmword [rsp + 0x1c0], xmm0
mov rcx, qword [rsp + 0x138]
mov r8, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x148]
movzx r9d, word [r8 + 0x3d2]
mov rax, r8
cmp rdx, r9
jb 0x4e4a64
nop dword [rax]
mov rax, qword [r8 + 0x160]
test rax, rax
je 0x4e4a61
movzx edx, word [r8 + 0x3d0]
inc rcx
mov r8, rax
cmp dx, word [rax + 0x3d2]
jae 0x4e4810
jmp 0x4e4a64
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, r12
call sub.msvcrt.dll_memcpy
movzx ecx, byte [r15 + 0x18]
mov rdx, qword [r15 + 0x28]
mov rsi, qword [r15 + 0x30]
test rsi, rsi
mov qword [rsp + 0xd8], r12
mov byte [rsp + 0xd0], cl
je 0x4e48d8
xor r15d, r15d
mov rax, rsi
shr rax, 0x3e
sete al
jne 0x4e6e38
lea rdi, [rsi + rsi]
mov r15b, al
add r15, r15
test rdi, rdi
je 0x4e48e2
mov rax, qword [0x00576170]
test rax, rax
mov qword [rsp + 0x68], rdx
jne 0x4e48b9
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x4e6e28
mov qword [0x00576170], rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapAlloc
mov r12, rax
mov rdx, qword [rsp + 0x68]
test r12, r12
jne 0x4e48ee
jmp 0x4e6e28
mov r12d, 2
xor edi, edi
jmp 0x4e48ee
mov r12, r15
test r12, r12
je 0x4e6e28
add rbx, rbp
mov rcx, r12
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], rax
movzx eax, byte [rsp + 0xd0]
mov byte [rsp + 0xf8], al
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x73]
lea rdx, [rsp + 0xf9]
mov dword [rdx], eax
mov dword [rdx + 3], ecx
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x110], rsi
mov rdi, qword [rbx + 8]
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x4e49a6
js 0x4e6e42
mov rax, qword [0x00576170]
test rax, rax
jne 0x4e498c
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x4e6e16
mov qword [0x00576170], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x4e49ac
jmp 0x4e6e16
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
movzx eax, byte [rbx + 0x18]
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rsi
mov byte [rsp + 0x88], al
lea rcx, [rsp + 0x1c0]
lea rdx, [rsp + 0x180]
lea r8, [rsp + 0xe0]
lea r9, [rsp + 0x70]
call fcn.004d1230
cmp byte [rsp + 0x1d8], 2
je 0x4e4345
cmp qword [rsp + 0x1c0], 0
je 0x4e4345
mov r8, qword [rsp + 0x1c8]
mov rcx, qword [0x00576170]
xor edx, edx
jmp 0x4e4340
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], r14
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x1a8]
call fcn.004b41b0
jmp 0x4e4c3f
mov rax, r8
lea r8, [rsp + 0x1f8]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
imul r8, rdx, 0x38
mov r9, rdx
shl r9, 5
mov r10, qword [rax + r8 + 0x198]
mov qword [rsp + 0xa0], r10
movups xmm0, xmmword [rax + r8 + 0x168]
movups xmm1, xmmword [rax + r8 + 0x178]
movups xmm2, xmmword [rax + r8 + 0x188]
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov r10, qword [rsp + 0x1f0]
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmm1, xmmword [rsp + 0x1d0]
movaps xmm2, xmmword [rsp + 0x1e0]
movups xmmword [rax + r8 + 0x168], xmm0
movups xmmword [rax + r8 + 0x178], xmm1
movups xmmword [rax + r8 + 0x188], xmm2
mov qword [rax + r8 + 0x198], r10
movups xmm0, xmmword [rax + r9]
movups xmm1, xmmword [rax + r9 + 0x10]
lea r8, [rsp + 0xa8]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movups xmmword [rax + r9], xmm0
movups xmmword [rax + r9 + 0x10], xmm1
test rcx, rcx
je 0x4e4bce
mov rax, qword [rax + rdx*8 + 0x3e0]
mov rdx, rcx
dec rdx
je 0x4e4bce
lea r8, [rcx - 2]
mov r9, rdx
and r9, 7
je 0x4e4b85
mov rdx, r9
nop
mov rax, qword [rax + 0x3d8]
dec rdx
jne 0x4e4b70
not r9
add rcx, r9
mov rdx, rcx
cmp r8, 7
jb 0x4e4bce
nop dword [rax + rax]
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 rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
add rdx, 0xfffffffffffffff8
jne 0x4e4b90
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x130], rcx
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x120], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movaps xmm3, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0xc0], rax
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmm3, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xa0], xmm3
movaps xmmword [rsp + 0x90], xmm2
dec qword [rsp + 0x190]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
cmp byte [rsp + 0x1a8], 0
je 0x4e4d03
mov r8, qword [rsp + 0x188]
test r8, r8
je 0x4e6e93
mov rax, qword [rsp + 0x180]
test rax, rax
je 0x4e6e6e
mov rcx, qword [r8 + 0x3d8]
mov qword [rsp + 0x188], rcx
dec rax
mov qword [rsp + 0x180], rax
mov qword [rcx + 0x160], 0
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp byte [rsp + 0x88], 2
je 0x4e4345
mov r14, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
movzx ebp, byte [rsp + 0xc0]
cmp qword [rsp + 0x70], 0
je 0x4e4d54
mov r8, qword [rsp + 0x78]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
test r14, r14
je 0x4e4d6a
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
cmp bpl, 2
je 0x4e4345
test rbx, rbx
je 0x4e4345
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rsi
jmp 0x4e4340
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x240], rax
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x228], 1
mov rcx, qword [0x00576170]
test rcx, rcx
jne 0x4e4dde
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x4e6ee0
mov rcx, rax
mov qword [0x00576170], rax
mov ebx, 4
mov r8d, 4
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x4e6ee5
mov r15, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], r15
mov word [rsp + 0xf0], 0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0xe0]
call fcn.004e1150
mov qword [rsp + 0xe0], 4
mov qword [rsp + 0xe8], r15
mov qword [rsp + 0xf0], 4
mov byte [rsp + 0xf8], 0
mov eax, dword [rsp + 0x1c0]
mov ecx, dword [rsp + 0x1c3]
mov dword [rsp + 0xf9], eax
mov dword [rsp + 0xfc], ecx
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0x100], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x110], rax
mov r14, qword [rsp + 0x238]
test r14, r14
je 0x4e4f5b
mov qword [rsp + 0x58], r15
mov r12, qword [rsp + 0x230]
mov rbx, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x110]
lea rsi, [r14 + 0x168]
movzx eax, word [r14 + 0x3d2]
mov qword [rsp + 0x60], rax
imul r15, rax, 0x38
lea rbp, [r14 - 0x10]
mov r13, 0xffffffffffffffff
nop word cs:[rax + rax]
test r15, r15
je 0x4e4f30
mov r8, qword [rsi + 0x28]
mov r9, qword [rsi + 0x30]
mov rcx, rbx
mov rdx, rdi
call fcn.004e3f90
add rsi, 0x38
add r15, 0xffffffffffffffc8
add rbp, 0x20
inc r13
cmp al, 1
je 0x4e4ef0
movzx eax, al
test eax, eax
jne 0x4e4f35
jmp 0x4e4f4c
mov r13, qword [rsp + 0x60]
sub r12, 1
jb 0x4e5ff9
mov r14, qword [r14 + r13*8 + 0x3d8]
jmp 0x4e4ec1
mov rsi, qword [rbp - 8]
mov rdi, qword [rbp]
mov r15, qword [rsp + 0x58]
jmp 0x4e4f5d
xor esi, esi
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x100], 0
je 0x4e4f8f
mov r8, qword [rsp + 0x108]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
lea r13, [rsp + 0x230]
xor ebp, ebp
mov rax, qword [rsp + 0x178]
mov r14, qword [rax + 0x28]
mov rbx, qword [rax + 0x30]
mov qword [rsp + 0x180], r14
mov qword [rsp + 0x188], rbx
test rbx, rbx
je 0x4e4ff6
cmp rbx, 4
jae 0x4e4fcd
lea rdx, [0x004d8910]
jmp 0x4e4fe6
cmp dword [r14], 0x5c3f5c5c
lea rax, [0x004d8920]
lea rdx, [0x004d8910]
cmove rdx, rax
movzx ecx, byte [rbx + r14 - 1]
call rdx
test al, al
je 0x4e51d1
lea rax, [0x0053a440]
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], 0
mov r14, qword [rsp + 0x1c0]
mov rbx, qword [rsp + 0x1c8]
test rbx, rbx
je 0x4e51b0
mov rsi, qword [rsp + 0x1d0]
cmp rsi, 5
jb case.0x4e57fb.68
cmp word [rbx + rsi*2 - 0xa], 0x2e
jne case.0x4e57fb.68
cmp word [rbx + rsi*2 - 2], 0
je 0x4e57dc
mov rax, qword [rsp + 0x178]
mov r15, qword [rax + 0x28]
mov r12, qword [rax + 0x30]
mov rsi, qword [rax + 0x98]
mov rdi, qword [rax + 0xa0]
movzx ebp, byte [rax + 0xad]
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 2
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x70]
xor edx, edx
call fcn.004b6440
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0x80], rcx
add r12, r15
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0xe8], r15
mov word [rsp + 0xf0], 0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0xe0]
call fcn.004e0b30
mov rdx, qword [rsp + 0x80]
cmp rdx, qword [rsp + 0x70]
jne 0x4e5109
lea rcx, [rsp + 0x70]
call fcn.004b6440
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x78]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0x80], rdx
shl rdi, 3
lea r12, [rdi + rdi*4]
lea rdi, [rsp + 0x70]
nop dword [rax]
test r12, r12
je 0x4e5251
mov rdx, qword [rsp + 0x80]
cmp rdx, qword [rsp + 0x70]
jne 0x4e5158
mov rcx, rdi
call fcn.004b6440
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x78]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0x80], rdx
mov rcx, rdi
mov rdx, rsi
mov r8d, ebp
call fcn.004df1f0
mov r15, rax
add rsi, 0x28
add r12, 0xffffffffffffffd8
test rax, rax
je 0x4e5130
cmp qword [rsp + 0x70], 0
je 0x4e535d
mov r8, qword [rsp + 0x78]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x4e535d
mov rax, qword [rsp + 0x170]
mov qword [rax], r14
mov qword [rax + 0x10], 2
test bpl, bpl
je 0x4e539d
jmp 0x4e540a
cmp rbx, 3
jbe 0x4e541f
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 0x4e5472
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 0x4e54fc
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 0x4e54fc
movzx eax, byte [r14 + rbx - 1]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
sete al
jmp 0x4e54fe
mov r15, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x4e535d
mov rdx, qword [rsp + 0x80]
mov bpl, 1
mov qword [rsp + 0xd8], rbx
mov rdi, r14
mov qword [rsp + 0x1a8], r15
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rdx
cmp rdx, r15
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x58], ebp
jne 0x4e52bd
lea rcx, [rsp + 0x1a8]
call fcn.004b6440
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x1b8]
mov word [rcx + rdx*2], 0
inc qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x178]
cmp byte [rcx + 0xac], 0
mov eax, 0x400
mov edx, 0x608
cmove edx, eax
or edx, dword [rcx + 0xa8]
mov dword [rsp + 0x220], edx
cmp qword [rsp + 0x228], 0
je 0x4e54b4
mov rsi, qword [r13 + 0x10]
mov qword [rsp + 0x190], rsi
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 2
mov qword [rsp + 0x160], 0
test rsi, rsi
mov qword [rsp + 0x50], r14
je 0x4e5969
xor ebp, ebp
mov r13, qword [rsp + 0x178]
jmp 0x4e59a1
mov rax, qword [rsp + 0x170]
mov qword [rax], r15
mov qword [rax + 0x10], 2
xor esi, esi
test r14, r14
je 0x4e5388
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x228], 0
sete al
or sil, al
cmp sil, 1
je 0x4e540a
mov rcx, qword [rsp + 0x238]
test rcx, rcx
je 0x4e53de
mov rdx, qword [rsp + 0x230]
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], rcx
xor ecx, ecx
jmp 0x4e53e5
mov ecx, 2
xor eax, eax
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0xe0]
call fcn.004d2810
nop
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
nop word cs:[rax + rax]
cmp rbx, rax
je 0x4e5591
movzx ecx, byte [r14 + rax]
cmp ecx, 0x2f
je 0x4e5543
inc rax
cmp ecx, 0x5c
jne 0x4e5430
jmp 0x4e5543
mov qword [rsp + 0x228], 0
mov bpl, 1
lea r13, [rsp + 0x230]
xor esi, esi
jmp 0x4e4f99
mov r14, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x188]
xor eax, eax
nop word cs:[rax + rax]
cmp rbx, rax
je 0x4e5591
movzx ecx, byte [r14 + rax]
cmp ecx, 0x2f
je 0x4e5543
inc rax
cmp ecx, 0x5c
jne 0x4e5490
jmp 0x4e5543
mov r15d, 2
xor eax, eax
mov qword [rsp + 0xd0], rax
xor eax, eax
mov qword [rsp + 0x250], rax
mov r13, qword [rsp + 0x178]
cmp byte [r13 + 0x18], 2
jne 0x4e60c3
mov eax, 2
mov qword [rsp + 0x218], rax
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
jmp 0x4e623c
xor eax, eax
mov r14, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x188]
xor ecx, ecx
cmp rbx, rcx
je 0x4e5591
movzx edx, byte [r14 + rcx]
cmp edx, 0x2f
je 0x4e5527
inc rcx
cmp edx, 0x5c
jne 0x4e5510
test al, al
je 0x4e5543
lea rcx, [rsp + 0x1c0]
mov rdx, r14
mov r8, rbx
call fcn.004dfc80
jmp 0x4e5011
test rbx, rbx
je 0x4e5675
js 0x4e6f7b
mov rcx, qword [0x00576170]
test rcx, rcx
jne 0x4e5576
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x4e6ee5
mov rcx, rax
mov qword [0x00576170], rax
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapAlloc
mov rsi, rax
test rax, rax
jne 0x4e567a
jmp 0x4e6ee5
lea rax, [r14 + rbx]
xor r9d, r9d
mov rcx, r14
jmp 0x4e55ac
xor r9d, r9d
test dx, dx
je 0x4e5669
mov dx, 1
test r9w, r9w
jne 0x4e55a0
cmp rcx, rax
je 0x4e6000
movzx r8d, byte [rcx]
test r8b, r8b
js 0x4e55cd
inc rcx
jmp 0x4e5631
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x4e5623
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x4e563c
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 0x4e5631
jmp 0x4e5653
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
xor r9d, r9d
mov edx, r8d
jmp 0x4e55a3
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xffff
jbe 0x4e5631
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x4e55a3
lea rax, str.nul_byte_found_in_provided_data
jmp 0x4e4ffd
mov esi, 1
mov rcx, rsi
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], rbx
mov byte [rsp + 0x88], 0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xf0], rax
movzx eax, byte [rsp + 0x88]
mov byte [rsp + 0xf8], al
mov eax, dword [rsp + 0x89]
mov dword [rsp + 0xf9], eax
movzx eax, word [rsp + 0x8d]
mov word [rsp + 0xfd], ax
movzx eax, byte [rsp + 0x8f]
mov byte [rsp + 0xff], al
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xe8], rax
lea rdx, str..exeprogram_not_found
lea rcx, [rsp + 0xe0]
mov r8d, 4
call fcn.004e8d70
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov rsi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.004e73e0
cmp qword [rsp + 0xe8], 0
je 0x4e5789
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x1d0], rax
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x1c0], xmm0
jmp 0x4e57ba
lea rdx, str.ntdll.dll
lea rcx, [rsp + 0x70]
xor r8d, r8d
call fcn.004c1c70
mov rsi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
lea rcx, [rsp + 0x1c0]
mov rdx, rsi
call fcn.004dfc80
cmp qword [rsp + 0x70], 0
je 0x4e5011
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
jmp 0x4e5011
movzx eax, word [rbx + rsi*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x4e57fb.68
lea rdx, [0x004e733c]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx ecx, word [rbx + rsi*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x4e5817
movzx ecx, word [rbx + rsi*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x4e5845
cmp ax, 0x43
jne case.0x4e57fb.68
movzx eax, word [rbx + rsi*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x4e57fb.68
movzx eax, word [rbx + rsi*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x4e57fb.68
lea rcx, [rsp + 0xe0]
call fcn.004dbec0
mov rdi, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xe8]
test rax, rax
je 0x4e6086
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rcx
lea rax, [0x0053a496]
mov qword [rsp + 0x100], rax
lea rax, [0x0053a48e]
mov qword [rsp + 0x108], rax
mov word [rsp + 0x110], 0
mov qword [rsp + 0xe0], 1
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 1
mov word [rsp + 0xf8], 0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0xe0]
call fcn.004e0cc0
mov rdi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x4e6086
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x178]
mov r9, qword [rcx + 0x98]
mov rax, qword [rcx + 0xa0]
movzx ecx, byte [rcx + 0xad]
mov byte [rsp + 0x28], cl
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xe0]
mov rdx, rbx
mov r8, rsi
call fcn.004df6b0
mov r15, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x4e6bd1
xor ebp, ebp
mov rdx, qword [rsp + 0xf0]
jmp 0x4e527a
lea rcx, [rsp + 0x150]
xor edx, edx
call fcn.004b6440
mov r13, qword [rsp + 0x178]
mov rax, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x160]
mov word [rax + rbp*2], 0
inc rbp
mov qword [rsp + 0x160], rbp
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
xor edx, edx
test rcx, rcx
sete dl
cmove rsi, rcx
add rdx, rdx
mov qword [rsp + 0xe0], rdx
lea r15, [rsp + 0xe8]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x120], rsi
test rsi, rsi
je 0x4e5ec2
dec rsi
mov qword [rsp + 0x120], rsi
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x4e5a2f
cmp eax, 2
jne 0x4e5aea
jmp 0x4e6f82
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xf0]
test rdx, rdx
je 0x4e5abe
mov r8, rdx
mov rcx, rdx
and r8, 7
je 0x4e5a6c
and rcx, 0xfffffffffffffff8
nop word cs:[rax + rax]
mov rax, qword [rax + 0x3d8]
dec r8
jne 0x4e5a60
cmp rdx, 8
jb 0x4e5abe
nop word cs:[rax + rax]
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 rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x4e5a80
mov qword [rsp + 0xe0], 1
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 0
lea rcx, [rsp + 0x70]
mov rdx, r15
call fcn.004b58d0
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x4e5efe
mov rdx, qword [rsp + 0x80]
imul r9, rdx, 0x38
cmp byte [rcx + r9 + 0x180], 2
je 0x4e5efe
lea r10, [rcx + r9]
add r10, 0x168
mov rax, qword [rcx + r9 + 0x168]
mov r8, qword [rcx + r9 + 0x170]
mov r13, qword [rcx + r9 + 0x188]
mov r14, qword [rcx + r9 + 0x190]
mov r15, qword [rcx + r9 + 0x198]
shl rdx, 5
mov r9, qword [rcx + rdx]
mov qword [rsp + 0xd0], r9
mov r9, qword [rcx + rdx + 8]
mov qword [rsp + 0x68], r9
mov rsi, qword [rcx + rdx + 0x10]
movzx ecx, byte [rcx + rdx + 0x18]
mov byte [rsp + 0x1a0], cl
mov rcx, qword [r10 + 0x10]
add rcx, r8
xor r11d, r11d
mov rdx, r8
jmp 0x4e5b9d
xor r11d, r11d
test r9w, r9w
je 0x4e5f57
mov r9w, 1
test r11w, r11w
jne 0x4e5b90
cmp rdx, rcx
je 0x4e5c58
movzx r10d, byte [rdx]
test r10b, r10b
js 0x4e5bbf
inc rdx
jmp 0x4e5c20
mov r11d, r10d
and r11d, 0x1f
movzx r12d, byte [rdx + 1]
and r12d, 0x3f
cmp r10b, 0xdf
jbe 0x4e5c12
movzx edi, byte [rdx + 2]
shl r12d, 6
and edi, 0x3f
or edi, r12d
cmp r10b, 0xf0
jb 0x4e5c2b
movzx r10d, byte [rdx + 3]
add rdx, 4
and r11d, 7
shl r11d, 0x12
shl edi, 6
and r10d, 0x3f
or r10d, edi
or r10d, r11d
cmp r10d, 0xffff
jbe 0x4e5c20
jmp 0x4e5c42
add rdx, 2
shl r11d, 6
or r11d, r12d
mov r10d, r11d
xor r11d, r11d
mov r9d, r10d
jmp 0x4e5b93
add rdx, 3
shl r11d, 0xc
or edi, r11d
mov r10d, edi
cmp r10d, 0xffff
jbe 0x4e5c20
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x4e5b93
test rax, rax
je 0x4e5c73
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rbp, qword [rsp + 0x160]
mov rax, qword [rsp + 0x150]
sub rax, rbp
cmp rax, r15
jae 0x4e5c9e
lea rcx, [rsp + 0x150]
mov rdx, rbp
mov r8, r15
call fcn.004b6820
mov rbp, qword [rsp + 0x160]
lea r8, [r15 + r15]
mov rcx, rbp
add rcx, rbp
add rcx, qword [rsp + 0x158]
mov rdx, r14
call sub.msvcrt.dll_memcpy
add rbp, r15
mov qword [rsp + 0x160], rbp
test r13, r13
je 0x4e5ce1
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov rbp, qword [rsp + 0x160]
cmp rbp, qword [rsp + 0x150]
mov r13, qword [rsp + 0x178]
lea r15, [rsp + 0xe8]
jne 0x4e5d1a
lea rcx, [rsp + 0x150]
mov rdx, rbp
mov r14, qword [rsp + 0x50]
call fcn.004b6440
mov rbp, qword [rsp + 0x160]
jmp 0x4e5d1f
mov r14, qword [rsp + 0x50]
mov rax, qword [rsp + 0x158]
mov word [rax + rbp*2], 0x3d
inc rbp
mov qword [rsp + 0x160], rbp
mov rax, qword [rsp + 0x68]
add rsi, rax
xor r8d, r8d
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x58]
jmp 0x4e5d5c
xor r8d, r8d
test cx, cx
je 0x4e603f
mov cx, 1
test r8w, r8w
jne 0x4e5d50
cmp rax, rsi
je 0x4e5e0e
movzx edx, byte [rax]
test dl, dl
js 0x4e5d7b
inc rax
jmp 0x4e5dda
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x4e5dcc
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x4e5de4
movzx edx, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
cmp edx, 0xffff
jbe 0x4e5dda
jmp 0x4e5dfa
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
xor r8d, r8d
mov ecx, edx
jmp 0x4e5d53
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x4e5dda
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x4e5d53
cmp byte [rsp + 0x1a0], 2
je 0x4e6d53
mov qword [rsp + 0x1c0], rsi
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x1c8], rax
mov word [rsp + 0x1d0], 0
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x1c0]
call fcn.004e0b30
cmp qword [rsp + 0xd0], 0
je 0x4e5e6e
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, qword [rsp + 0x68]
call sub.kernel32.dll_HeapFree
mov rbp, qword [rsp + 0x160]
cmp rbp, qword [rsp + 0x150]
jne 0x4e5e98
lea rcx, [rsp + 0x150]
mov rdx, rbp
call fcn.004b6440
mov rbp, qword [rsp + 0x160]
mov rax, qword [rsp + 0x158]
mov word [rax + rbp*2], 0
inc rbp
mov qword [rsp + 0x160], rbp
mov rsi, qword [rsp + 0x120]
test rsi, rsi
jne 0x4e5a09
mov rax, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
mov qword [rsp + 0xe0], 2
test rax, rax
je 0x4e6c0a
cmp rax, 1
jne 0x4e5efe
test r8, r8
jne 0x4e6d04
lea rcx, [rsp + 0xe0]
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x58]
call fcn.004d2810
mov rax, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x160]
cmp rdx, rax
jne 0x4e6096
lea rcx, [rsp + 0x150]
call fcn.004b6440
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0x160]
jmp 0x4e609e
test rax, rax
je 0x4e5f6a
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xd0], 0
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x58]
je 0x4e5f91
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, qword [rsp + 0x68]
call sub.kernel32.dll_HeapFree
lea rsi, str.nul_byte_found_in_provided_data
test r13, r13
je 0x4e5fae
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov r14, qword [rsp + 0x50]
lea rcx, [rsp + 0xe0]
call fcn.004d2810
cmp qword [rsp + 0x150], 0
je 0x4e5fe1
mov r8, qword [rsp + 0x158]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x170]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
jmp 0x4e6465
xor esi, esi
jmp 0x4e4f54
cmp rbx, 0x10
jae 0x4e606d
test rbx, rbx
je 0x4e651e
dec rbx
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [r14 + rcx], 0x2e
sete al
je 0x4e6520
lea rdx, [rcx + 1]
cmp rbx, rcx
mov rcx, rdx
jne 0x4e6020
jmp 0x4e6520
lea rsi, str.nul_byte_found_in_provided_data
cmp qword [rsp + 0xd0], 0
je 0x4e5fb3
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, qword [rsp + 0x68]
call sub.kernel32.dll_HeapFree
jmp 0x4e5fb3
mov cl, 0x2e
mov rdx, r14
mov r8, rbx
call fcn.00430270
cmp rax, 1
sete al
jmp 0x4e6520
mov rax, qword [rsp + 0x170]
mov qword [rax], rdi
jmp 0x4e5368
mov qword [rsp + 0xd0], rax
mov r15, qword [rsp + 0x158]
mov word [r15 + rdx*2], 0
mov rax, r15
mov qword [rsp + 0x250], r15
cmp byte [r13 + 0x18], 2
je 0x4e54e1
mov rax, qword [r13 + 8]
mov rcx, qword [r13 + 0x10]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x4e60ed
xor r10d, r10d
test r8w, r8w
je 0x4e61a8
mov r8w, 1
test r10w, r10w
jne 0x4e60e0
cmp rdx, rcx
je 0x4e61c7
movzx r9d, byte [rdx]
test r9b, r9b
js 0x4e610f
inc rdx
jmp 0x4e6170
mov r10d, r9d
and r10d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x4e6162
movzx r11d, byte [rdx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r9b, 0xf0
jb 0x4e617b
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 0x4e6170
jmp 0x4e6192
add rdx, 2
shl r10d, 6
or r10d, esi
mov r9d, r10d
xor r10d, r10d
mov r8d, r9d
jmp 0x4e60e3
add rdx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x4e6170
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x4e60e3
lea rax, str.nul_byte_found_in_provided_data
mov rcx, qword [rsp + 0x170]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x4e6449
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov word [rsp + 0xf0], 0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0xe0]
call fcn.004e1150
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x80]
mov rax, rcx
mov qword [rsp + 0x68], rcx
cmp rdx, rcx
jne 0x4e6229
lea rcx, [rsp + 0x70]
call fcn.004b6440
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x78]
mov word [rax + rdx*2], 0
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x248], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], 0
lea rsi, [0x00576180]
mov rcx, rsi
call sub.kernel32.dll_AcquireSRWLockExclusive
mov rax, qword [0x005761d8]
shl rax, 1
test rax, rax
mov qword [rsp + 0x1a0], r15
je 0x4e6290
call fcn.004c20e0
mov r12d, eax
xor r12b, 1
jmp 0x4e6293
xor r12d, r12d
movzx ebp, byte [0x00576188]
xor eax, eax
test bpl, bpl
setne al
mov qword [rsp + 0x1c8], rsi
mov byte [rsp + 0x1d0], r12b
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x90], 0
mov rax, qword [r13 + 0x60]
mov rdx, qword [r13 + 0x68]
xor ecx, ecx
cmp rax, 5
mov r8, r13
mov r13, qword [r13 + 0x70]
mov rsi, qword [r8 + 0x80]
cmovne rcx, rax
lea r9, [rsp + 0x70]
mov r8d, 0xfffffff6
call fcn.004e7650
mov r15, rdx
test rax, rax
je 0x4e63a8
mov rax, qword [rsp + 0x170]
mov qword [rax], r15
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x70], 0
mov r15, qword [rsp + 0x1a0]
je 0x4e6344
mov rcx, qword [rsp + 0x78]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x80], 0
je 0x4e635c
mov rcx, qword [rsp + 0x88]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x90], 0
je 0x4e6374
mov rcx, qword [rsp + 0x98]
call sub.kernel32.dll_CloseHandle
movabs rax, 0x7fffffffffffffff
test bpl, bpl
je 0x4e63f5
test r12b, r12b
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x58]
jne 0x4e641f
mov rcx, qword [0x005761d8]
test rcx, rax
je 0x4e641f
call fcn.004c20e0
jmp 0x4e6414
lea r9, [rsp + 0x80]
xor ecx, ecx
cmp r13, 5
cmovne rcx, r13
mov rdi, qword [rsp + 0x178]
mov rdx, qword [rdi + 0x78]
mov r8d, 0xfffffff5
call fcn.004e7650
mov r13, rdx
test rax, rax
je 0x4e64b2
mov rax, qword [rsp + 0x170]
mov qword [rax], r13
mov qword [rax + 0x10], 2
jmp 0x4e64fd
test r12b, r12b
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x58]
jne 0x4e641f
mov rcx, qword [0x005761d8]
test rcx, rax
je 0x4e641f
call fcn.004c20e0
test al, al
jne 0x4e641f
mov byte [0x00576188], 1
lea rcx, [0x00576180]
call sub.kernel32.dll_ReleaseSRWLockExclusive
cmp qword [rsp + 0x68], 0
je 0x4e6449
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, qword [rsp + 0x218]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xd0], 0
je 0x4e6465
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x1a8], 0
je 0x4e6486
mov r8, qword [rsp + 0x1b0]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
test rdi, rdi
je 0x4e64a1
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, qword [rsp + 0xd8]
call sub.kernel32.dll_HeapFree
mov sil, 1
test bpl, bpl
je 0x4e5372
jmp 0x4e540a
lea r9, [rsp + 0x90]
xor ecx, ecx
cmp rsi, 5
cmovne rcx, rsi
mov rdx, qword [rdi + 0x88]
mov r8d, 0xfffffff4
call fcn.004e7650
mov rsi, rdx
test rax, rax
je 0x4e69f2
mov rax, qword [rsp + 0x170]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
mov rcx, r13
call sub.kernel32.dll_CloseHandle
mov rcx, r15
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x70], 0
mov r15, qword [rsp + 0x1a0]
jne 0x4e633a
jmp 0x4e6344
xor eax, eax
mov byte [rsp + 0x1a8], al
test rsi, rsi
je 0x4e6683
add rdi, rsi
mov qword [rsp + 0x1c0], rdi
mov qword [rsp + 0x1c8], rsi
mov word [rsp + 0x1d0], 0
mov byte [rsp + 0x1d8], 1
lea r12, [rsp + 0x89]
lea r15, [rsp + 0xf9]
lea rsi, [rsp + 0xe0]
lea rbx, [rsp + 0x1c0]
lea r14, [rsp + 0x70]
jmp 0x4e6591
mov rdi, qword [rsp + 0xe8]
test rdi, rdi
jne 0x4e6821
mov rcx, rsi
mov rdx, rbx
call fcn.004d86b0
movzx eax, byte [rsp + 0xf8]
cmp al, 2
je 0x4e6683
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x4e6667
mov r9d, dword [r15]
mov r10d, dword [r15 + 3]
mov dword [r12 + 3], r10d
mov dword [r12], r9d
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x80], rdx
mov byte [rsp + 0x88], al
mov rdx, qword [rsp + 0x180]
mov r8, qword [rsp + 0x188]
mov rcx, r14
call fcn.004c0ba0
cmp byte [rsp + 0x1a8], 0
jne 0x4e662d
mov r8d, 3
mov rcx, r14
lea rdx, str.exeNULcmd.exe__
call fcn.004c1c70
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
mov rcx, rsi
mov rdx, rdi
call fcn.004e73e0
cmp qword [rsp + 0x70], 0
je 0x4e6580
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
jmp 0x4e6580
test rcx, rcx
je 0x4e6591
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x4e6591
lea rcx, [rsp + 0x70]
call fcn.004dc520
cmp byte [rsp + 0x88], 2
jne 0x4e66a6
lea rcx, [rsp + 0x70]
call fcn.004e74e0
jmp 0x4e6798
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
mov rcx, rsi
mov rdx, rbx
call fcn.004c1b10
cmp rbx, rdx
cmovb rdx, rbx
test rax, rax
cmove rdx, rbx
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], rdx
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xf8], rax
mov rdx, qword [rsp + 0x180]
mov r8, qword [rsp + 0x188]
lea rcx, [rsp + 0xe0]
call fcn.004c0ba0
cmp byte [rsp + 0x1a8], 0
jne 0x4e673a
lea rdx, str.exeNULcmd.exe__
lea rcx, [rsp + 0xe0]
mov r8d, 3
call fcn.004c1c70
mov rsi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
lea rcx, [rsp + 0x1c0]
mov rdx, rsi
call fcn.004e73e0
cmp qword [rsp + 0xe0], 0
je 0x4e6776
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rdi, qword [rsp + 0x1c8]
test rdi, rdi
je 0x4e6798
mov rsi, qword [rsp + 0x1c0]
mov rbx, qword [rsp + 0x1d0]
jmp 0x4e6831
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x180]
lea r8, [rsp + 0x1a8]
call fcn.004db330
cmp qword [rsp + 0xe0], 0
jne 0x4e67cd
mov rdi, qword [rsp + 0xf0]
test rdi, rdi
jne 0x4e680f
lea rcx, [rsp + 0xe0]
call fcn.004e7590
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x180]
lea r8, [rsp + 0x1a8]
call fcn.004dbc00
cmp qword [rsp + 0xe0], 0
jne 0x4e684e
mov rdi, qword [rsp + 0xf0]
test rdi, rdi
je 0x4e684e
mov rsi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf8]
jmp 0x4e6831
mov rsi, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xf0]
mov qword [rsp + 0x1c0], rsi
mov qword [rsp + 0x1c8], rdi
mov qword [rsp + 0x1d0], rbx
jmp 0x4e5011
lea rcx, [rsp + 0xe0]
call fcn.004e7590
lea rdx, str.PATHprogram_path_has_no_file_name
lea rcx, [rsp + 0x150]
mov r8d, 4
call fcn.004d82f0
cmp byte [rsp + 0x168], 2
je 0x4e6c57
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x160]
add rax, rcx
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x1c8], rcx
mov word [rsp + 0x1d0], 0
mov byte [rsp + 0x1d8], 1
lea rsi, [rsp + 0x89]
lea rbx, [rsp + 0xf9]
lea r14, [rsp + 0xe0]
lea r15, [rsp + 0x1c0]
lea r12, [rsp + 0x70]
jmp 0x4e6902
mov rdi, qword [rsp + 0xe8]
test rdi, rdi
jne 0x4e6c90
mov rcx, r14
mov rdx, r15
call fcn.004d86b0
movzx eax, byte [rsp + 0xf8]
cmp al, 2
je 0x4e6c3c
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
test rdx, rdx
je 0x4e69d6
mov r9d, dword [rbx]
mov r10d, dword [rbx + 3]
mov dword [rsi + 3], r10d
mov dword [rsi], r9d
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x80], rdx
mov byte [rsp + 0x88], al
mov rdx, qword [rsp + 0x180]
mov r8, qword [rsp + 0x188]
mov rcx, r12
call fcn.004c0ba0
cmp byte [rsp + 0x1a8], 0
jne 0x4e699c
mov r8d, 3
mov rcx, r12
lea rdx, str.exeNULcmd.exe__
call fcn.004c1c70
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
mov rcx, r14
mov rdx, rdi
call fcn.004e73e0
cmp qword [rsp + 0x70], 0
je 0x4e68f1
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
jmp 0x4e68f1
test rcx, rcx
je 0x4e6902
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x4e6902
xorps xmm0, xmm0
movups xmmword [rsp + 0x114], xmm0
movups xmmword [rsp + 0x108], xmm0
movups xmmword [rsp + 0xf8], xmm0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0x128], xmm0
movups xmmword [rsp + 0x138], xmm0
mov dword [rsp + 0xe0], 0x68
test rsi, rsi
jne 0x4e6a3f
test r13, r13
jne 0x4e6a3f
test r15, r15
je 0x4e6a62
mov dword [rsp + 0x11c], 0x100
mov qword [rsp + 0x130], r15
mov qword [rsp + 0x138], r13
mov qword [rsp + 0x140], rsi
mov rdx, qword [rsp + 0x1b0]
lea rax, [rsp + 0x150]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x248]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x220]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0xd8]
xor r8d, r8d
xor r9d, r9d
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x4e6c63
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
movups xmm2, xmmword [rsp + 0x90]
mov rax, qword [rsp + 0x170]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [rsp + 0x150]
movups xmmword [rax], xmm0
mov rcx, rsi
call sub.kernel32.dll_CloseHandle
mov rcx, r13
call sub.kernel32.dll_CloseHandle
mov rcx, r15
call sub.kernel32.dll_CloseHandle
lea rcx, [rsp + 0x1c0]
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x58]
mov r15, qword [rsp + 0x1a0]
call fcn.004e7e50
cmp qword [rsp + 0x68], 0
je 0x4e6b54
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, qword [rsp + 0x218]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xd0], 0
je 0x4e6b70
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x1a8], 0
je 0x4e6b91
mov r8, qword [rsp + 0x1b0]
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
test rdi, rdi
je 0x4e6bac
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, qword [rsp + 0xd8]
call sub.kernel32.dll_HeapFree
test r14, r14
sete al
or bpl, al
jne 0x4e540a
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
jmp 0x4e540a
mov rax, qword [rsp + 0x170]
mov qword [rax], r15
mov qword [rax + 0x10], 2
test rdi, rdi
je 0x4e5370
mov rcx, qword [0x00576170]
xor esi, esi
xor edx, edx
mov r8, qword [rsp + 0xd8]
call sub.kernel32.dll_HeapFree
jmp 0x4e5372
test rsi, rsi
je 0x4e6c35
mov rcx, rsi
mov rax, rsi
and rcx, 7
je 0x4e6c2b
and rax, 0xfffffffffffffff8
mov r8, qword [r8 + 0x3d8]
dec rcx
jne 0x4e6c1f
cmp rsi, 8
jae 0x4e6cc4
xor esi, esi
jmp 0x4e6d04
cmp qword [rsp + 0x60], 0
je 0x4e6c57
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, qword [rsp + 0x58]
call sub.kernel32.dll_HeapFree
lea rax, [0x0053a470]
jmp 0x4e4ffd
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x170]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
mov rcx, rsi
call sub.kernel32.dll_CloseHandle
jmp 0x4e64f5
mov rsi, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xf0]
cmp qword [rsp + 0x60], 0
je 0x4e6831
mov rcx, qword [0x00576170]
xor edx, edx
mov r8, qword [rsp + 0x58]
call sub.kernel32.dll_HeapFree
jmp 0x4e6831
xor esi, esi
mov rcx, qword [r8 + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov r8, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
jne 0x4e6cc6
mov r15d, 0x3d8
mov r12d, 8
jmp 0x4e6d2f
mov rcx, qword [0x00576170]
xor edx, edx
call sub.kernel32.dll_HeapFree
inc rsi
mov r8, rdi
test rdi, rdi
je 0x4e5efe
mov rdi, qword [r8 + 0x160]
test rsi, rsi
mov eax, 0x438
cmove rax, r15
test rax, rax
je 0x4e6d20
cmp r12d, 0x11
jb 0x4e6d12
mov r8, qword [r8 - 8]
jmp 0x4e6d12
mov rsi, qword [rsp + 0xd0]
jmp 0x4e5fb3
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._repos_rust_1.70.0_library_alloc_src_collections_btree_navigate.rs
mov edx, 0x2b
call fcn.0042f210
jmp 0x4e6f9a
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x1c0], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x70], rax
lea rax, [fcn.004da610]
mov qword [rsp + 0x78], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 1
mov qword [rsp + 0xe0], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 1
lea rdx, str.library_std_src_sys_windows_process.rs
lea rcx, [rsp + 0xe0]
call fcn.0042f1d0
jmp 0x4e6f9a
mov edx, 1
mov rcx, r12
call fcn.004043b0
jmp 0x4e6f9a
mov edx, 1
mov rcx, rsi
call fcn.004043b0
jmp 0x4e6f9a
mov rcx, rdi
mov rdx, r15
call fcn.004043b0
jmp 0x4e6f9a
call fcn.00403940
jmp 0x4e6f9a
call fcn.00403940
jmp 0x4e6f9a
call fcn.00403940
jmp 0x4e6f9a
lea r8, str.library_std_src_sys_windows_os.rs
mov ecx, 1
xor edx, edx
call fcn.004307d0
jmp 0x4e6f9a
mov edx, 0x21
lea rax, str.assertion_failed:_self.height___0
mov qword [rsp + 0x1a0], rax
lea rax, [0x0053a900]
mov qword [rsp + 0x220], rax
jmp 0x4e6e98
mov edx, 0x2b
mov rcx, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x220]
call fcn.0042f210
jmp 0x4e6f9a
lea rax, str.library_std_src_sys_windows_os.rs
mov rcx, r8
mov rdx, rdi
mov r8, rax
call fcn.00430740
jmp 0x4e6f9a
lea r8, str.library_std_src_sys_windows_os.rs
mov rdx, rdi
call fcn.004307d0
jmp 0x4e6f9a
mov ebx, 4
mov edx, 1
mov rcx, rbx
call fcn.004043b0
jmp 0x4e6f9a
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x1c0], rax
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x70], rax
lea rax, [fcn.004da610]
mov qword [rsp + 0x78], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 1
mov qword [rsp + 0xe0], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 1
lea rdx, str.library_std_src_sys_windows_os.rs
lea rcx, [rsp + 0xe0]
call fcn.0042f1d0
jmp 0x4e6f9a
call fcn.00403940
jmp 0x4e6f9a
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._repos_rust_1.70.0_library_alloc_src_collections_btree_navigate.rs
mov edx, 0x2b
call fcn.0042f210
ud2