Function at 0x44b3a0
Capabilities:
Create process on windows
Encode data using base64
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, 0x688
movdqa xmmword [rsp + 0x670], xmm6
mov byte [rsp + 0x1c0], r9b
mov qword [rsp + 0x1c8], r8
mov r12, rdx
mov qword [rsp + 0x160], rcx
mov r9, qword [rdx + 0x60]
movzx eax, byte [rdx + 0x68]
test al, al
jne 0x44b3fb
test r9, r9
jne 0x44b3fb
mov qword [rsp + 0x240], 0
xor ebx, ebx
jmp 0x44bf4a
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x188], 0
test al, al
mov qword [rsp + 0x78], r12
jne 0x44b5ce
mov qword [rsp + 0x70], r9
call sub.KERNEL32.dll_GetEnvironmentStringsW
test rax, rax
je 0x44edcf
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], rax
lea rbp, [rsp + 0x290]
lea r13, [rsp + 0x98]
lea rsi, [rsp + 0x270]
lea rdi, [rsp + 0x220]
lea rbx, [rsp + 0x1d0]
lea r14, [rsp + 0xe0]
lea r15, [rsp + 0x178]
lea r12, [rsp + 0x80]
nop word cs:[rax + rax]
mov rcx, rsi
mov rdx, rdi
call fcn.004469e0
cmp byte [rsp + 0x288], 2
je 0x44b5b7
movups xmm0, xmmword [rsp + 0x270]
movups xmm1, xmmword [rsp + 0x280]
movaps xmmword [rsp + 0x150], xmm1
movaps xmmword [rsp + 0x140], xmm0
movdqu xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movaps xmmword [rsp + 0x1a0], xmm1
movdqa xmmword [rsp + 0x190], xmm0
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
mov word [rsp + 0xf0], 0
mov rcx, rbx
mov rdx, r14
call fcn.004164b0
movups xmm0, xmmword [rsp + 0x270]
movups xmm1, xmmword [rsp + 0x280]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movups xmm0, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0x90], rax
movdqu xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movaps xmmword [rsp + 0xf0], xmm1
movdqa xmmword [rsp + 0xe0], xmm0
mov rcx, rbx
mov rdx, r15
mov r8, r12
mov r9, r14
call fcn.0040b160
cmp byte [rsp + 0x1e8], 2
je 0x44b490
mov rdx, qword [rsp + 0x1d8]
test rdx, rdx
je 0x44b490
mov rcx, qword [rsp + 0x1d0]
mov r8d, 1
call fcn.004024f0
jmp 0x44b490
mov rcx, qword [rsp + 0x220]
call sub.KERNEL32.dll_FreeEnvironmentStringsW
mov r12, qword [rsp + 0x78]
mov r9, qword [rsp + 0x70]
movabs r8, 0x3fffffffffffffff
mov rax, qword [r12 + 0x50]
mov rcx, qword [r12 + 0x58]
xor edx, edx
test rax, rax
setne dl
cmove r9, rax
mov qword [rsp + 0x1d0], rdx
mov qword [rsp + 0x1d8], 0
mov qword [rsp + 0x1e0], rax
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x1f0], rdx
mov qword [rsp + 0x1f8], 0
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x210], r9
lea r12, [rsp + 0x288]
lea r14, [rsp + 0x1d0]
mov r13, qword [0x004e92c8]
inc r8
mov qword [rsp + 0x70], r8
nop dword [rax]
mov rcx, r14
call fcn.00402570
mov rbp, rax
test rax, rax
je 0x44bd3d
mov rsi, rdx
cmp byte [rdx + 0x18], 2
jne 0x44b890
mov rsi, qword [rsp + 0x178]
test rsi, rsi
je 0x44b660
mov r9, qword [rbp]
mov rax, qword [rbp + 0x10]
mov rbp, qword [rsp + 0x180]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x190]
mov rdx, rsi
mov r8, rbp
call fcn.0040f3f0
cmp qword [rsp + 0x190], 0
jne 0x44b660
mov rax, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x1a8]
mov byte [rsp + 0x67], 0
test rdx, rdx
je 0x44ba6c
mov rcx, qword [rax + rcx*8 + 0x3d8]
mov rax, rdx
dec rax
je 0x44b7be
add rdx, 0xfffffffffffffffe
mov r8, rax
and r8, 7
je 0x44b72b
xor r9d, r9d
nop dword [rax + rax]
movzx r10d, word [rcx + 0x3d2]
mov rcx, qword [rcx + r10*8 + 0x3d8]
inc r9
cmp r8, r9
jne 0x44b710
sub rax, r9
cmp rdx, 7
jb 0x44b7be
nop word cs:[rax + rax]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
add rax, 0xfffffffffffffff8
jne 0x44b740
movzx eax, word [rcx + 0x3d2]
dec rax
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], 0
mov qword [rsp + 0x230], rax
lea rcx, [rsp + 0x270]
lea rdx, [rsp + 0x220]
lea r8, [rsp + 0x67]
call fcn.0040e830
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x130], rax
movups xmm0, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0x120], xmm0
movdqu xmm0, xmmword [rsp + 0x270]
movups xmm1, xmmword [rsp + 0x280]
movups xmm2, xmmword [rsp + 0x290]
movups xmm3, xmmword [rsp + 0x2a0]
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movdqa xmmword [rsp + 0xe0], xmm0
mov rdx, qword [rsp + 0x2c8]
mov rax, qword [rsp + 0x2d8]
movzx ecx, word [rdx + 0x3d2]
cmp rax, rcx
jae 0x44baa7
mov rcx, rdx
jmp 0x44bad9
mov rdi, qword [rbp + 0x18]
mov r15, qword [rbp + 0x28]
test r15, r15
je 0x44b8c2
js 0x44ed28
movzx eax, byte [r13]
mov edx, 1
mov rcx, r15
call fcn.004024e0
mov rbx, rax
test rax, rax
jne 0x44b8c7
jmp 0x44ed32
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call sub.msvcrt.dll_memcpy
movzx eax, byte [rbp + 0x30]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], r15
mov byte [rsp + 0x98], al
mov r15, qword [rbp]
mov r14, qword [rbp + 0x10]
test r14, r14
je 0x44b941
xor edi, edi
cmp r14, qword [rsp + 0x70]
setb al
jae 0x44ed44
lea rbp, [r14 + r14]
mov dil, al
add rdi, rdi
test rbp, rbp
je 0x44b94a
movzx eax, byte [r13]
mov rcx, rbp
mov rdx, rdi
call fcn.004024e0
mov rbx, rax
test rbx, rbx
jne 0x44b956
jmp 0x44ed4e
mov ebx, 2
xor ebp, ebp
jmp 0x44b956
mov rbx, rdi
test rbx, rbx
je 0x44ed4e
mov rcx, rbx
mov rdx, r15
mov r8, rbp
call sub.msvcrt.dll_memcpy
movdqu xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movdqu xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm1
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0x278], r14
mov qword [rsp + 0x280], r14
mov rdi, qword [rsi]
mov r15, qword [rsi + 0x10]
test r15, r15
je 0x44b9d2
lea r14, [rsp + 0x1d0]
js 0x44ed5e
movzx eax, byte [r13]
mov edx, 1
mov rcx, r15
call fcn.004024e0
mov rbx, rax
test rax, rax
jne 0x44b9df
jmp 0x44ed16
mov ebx, 1
lea r14, [rsp + 0x1d0]
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call sub.msvcrt.dll_memcpy
movzx eax, byte [rsi + 0x18]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], r15
mov byte [rsp + 0x98], al
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x178]
lea r8, [rsp + 0x270]
lea r9, [rsp + 0x80]
call fcn.0040b160
cmp byte [rsp + 0xf8], 2
je 0x44b660
mov rdx, qword [rsp + 0xe8]
test rdx, rdx
je 0x44b660
mov rcx, qword [rsp + 0xe0]
mov r8d, 1
call fcn.004024f0
jmp 0x44b660
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], rcx
lea rcx, [rsp + 0x270]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x67]
call fcn.0040e830
jmp 0x44bbf3
mov r8, qword [rsp + 0x2d0]
nop
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x44bad4
movzx eax, word [rdx + 0x3d0]
inc r8
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x44bab0
jmp 0x44bad9
mov rax, r8
xor ecx, ecx
imul rdx, rax, 0x38
shl rax, 5
mov r8, qword [rcx + rdx + 0x198]
mov qword [rsp + 0xb0], r8
movups xmm0, xmmword [rcx + rdx + 0x168]
movups xmm1, xmmword [rcx + rdx + 0x178]
movups xmm2, xmmword [rcx + rdx + 0x188]
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov r8, qword [rsp + 0x110]
mov qword [rcx + rdx + 0x198], r8
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movups xmmword [rcx + rdx + 0x188], xmm2
movups xmmword [rcx + rdx + 0x178], xmm1
movups xmmword [rcx + rdx + 0x168], xmm0
movups xmm0, xmmword [rcx + rax]
movups xmm1, xmmword [rcx + rax + 0x10]
lea rdx, [rsp + 0xb8]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rdx, [rsp + 0x118]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x2c0], rax
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x2b0], xmm0
movdqa xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmm2, xmmword [rsp + 0xa0]
movaps xmm3, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x2a0], xmm3
movaps xmmword [rsp + 0x290], xmm2
movaps xmmword [rsp + 0x280], xmm1
movdqa xmmword [rsp + 0x270], xmm0
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0xc0], xmm0
movdqa xmm0, xmmword [rsp + 0x270]
movaps xmm1, xmmword [rsp + 0x280]
movaps xmm2, xmmword [rsp + 0x290]
movaps xmm3, xmmword [rsp + 0x2a0]
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xa0], xmm2
dec qword [rsp + 0x188]
movaps xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
cmp byte [rsp + 0x67], 0
je 0x44bca5
test rbp, rbp
je 0x44ed68
mov rax, qword [rsi + 0x3d8]
mov qword [rsp + 0x178], rax
dec rbp
mov qword [rsp + 0x180], rbp
mov qword [rax + 0x160], 0
mov edx, 0x438
mov r8d, 8
mov rcx, rsi
call fcn.004024f0
cmp byte [rsp + 0xb0], 2
je 0x44b660
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xb8]
mov r15, qword [rsp + 0xc0]
movzx ebp, byte [rsp + 0xd0]
test rdx, rdx
je 0x44bcfb
mov rcx, qword [rsp + 0x98]
mov r8d, 1
call fcn.004024f0
test rbx, rbx
je 0x44bd14
add rbx, rbx
mov r8d, 2
mov rcx, rdi
mov rdx, rbx
call fcn.004024f0
cmp bpl, 2
je 0x44b660
test r15, r15
je 0x44b660
mov r8d, 1
mov rcx, rsi
mov rdx, r15
call fcn.004024f0
jmp 0x44b660
movdqu xmm0, xmmword [rsp + 0x178]
movdqu xmmword [rsp + 0x248], xmm0
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x258], rax
mov qword [rsp + 0x240], 1
movzx eax, byte [r13]
mov r13d, 4
mov esi, 1
mov ecx, 4
mov edx, 1
call fcn.004024e0
test rax, rax
je 0x44ed85
mov dword [rax], 0x48544150
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 4
mov qword [rsp + 0x90], 4
mov byte [rsp + 0x98], 0
mov rcx, rax
add rcx, 4
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], rcx
mov word [rsp + 0x280], 0
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x270]
call fcn.004164b0
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x288], xmm0
movups xmmword [rsp + 0x298], xmm1
movdqu xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0x270], xmm0
mov rbx, qword [rsp + 0xf0]
mov qword [rsp + 0x280], rbx
mov rsi, qword [rsp + 0x270]
mov r12, qword [rsp + 0x248]
test r12, r12
je 0x44bf05
mov r13, qword [rsp + 0x250]
lea rcx, [r12 + 0x168]
movzx eax, word [r12 + 0x3d2]
mov qword [rsp + 0x70], rax
imul rdi, rax, 0x38
lea r14, [r12 - 0x10]
mov rbp, 0xffffffffffffffff
test rdi, rdi
je 0x44bec0
lea r15, [rcx + 0x38]
mov r8, qword [rcx]
mov r9d, dword [rcx + 0x10]
mov dword [rsp + 0x20], 1
mov rcx, rsi
mov edx, ebx
call sub.KERNEL32.dll_CompareStringOrdinal
add rdi, 0xffffffffffffffc8
add r14, 0x20
inc rbp
mov rcx, r15
cmp eax, 3
je 0x44be80
cmp eax, 1
jne 0x44bedc
jmp 0x44bec5
mov rbp, qword [rsp + 0x70]
sub r13, 1
jb 0x44c4e8
mov r12, qword [r12 + rbp*8 + 0x3d8]
jmp 0x44be5a
cmp eax, 2
jne 0x44ec86
test r12, r12
je 0x44bf05
mov rbx, qword [r14 - 0x10]
mov rdi, qword [r14]
mov r12, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x290]
test rdx, rdx
jne 0x44bf19
jmp 0x44bf2c
xor ebx, ebx
mov r12, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x290]
test rdx, rdx
je 0x44bf2c
mov rcx, qword [rsp + 0x288]
mov r8d, 1
call fcn.004024f0
mov rdx, qword [rsp + 0x278]
test rdx, rdx
je 0x44bf4a
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call fcn.004024f0
mov r13, qword [r12 + 0x40]
lea rbp, [0x004c5918]
test r13, r13
je 0x44bf9e
mov rcx, qword [r12 + 0x30]
cmp r13, 4
jae 0x44bf6f
lea rdx, [0x00447d40]
jmp 0x44bf87
cmp dword [rcx], 0x5c3f5c5c
lea rax, [0x00447d50]
lea rdx, [0x00447d40]
cmove rdx, rax
mov qword [rsp + 0x68], rcx
movzx esi, byte [r13 + rcx - 1]
mov ecx, esi
call rdx
test al, al
je 0x44c020
mov rax, qword [rsp + 0x160]
mov qword [rax], rbp
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x240], 0
je 0x44c0c3
mov rcx, qword [rsp + 0x248]
test rcx, rcx
je 0x44c09a
mov rdx, qword [rsp + 0x250]
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0x278], 0
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x288], rdx
mov qword [rsp + 0x298], 0
mov qword [rsp + 0x2a0], rcx
mov qword [rsp + 0x2a8], rdx
mov ecx, 1
jmp 0x44c09e
mov r14, rbx
cmp r13, 4
jb 0x44c0f7
mov rbx, qword [rsp + 0x68]
movzx eax, byte [r13 + rbx - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x44c100
movzx eax, byte [rbx + r13 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x44c100
movzx eax, byte [rbx + r13 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x44c100
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x44c102
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x270], rcx
mov qword [rsp + 0x290], rcx
mov qword [rsp + 0x2b0], rax
lea rcx, [rsp + 0x270]
call fcn.004050d0
cmp qword [rsp + 0x1c8], 3
jb 0x44c0db
mov rcx, qword [rsp + 0x268]
call sub.KERNEL32.dll_CloseHandle
movaps xmm6, xmmword [rsp + 0x670]
add rsp, 0x688
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
mov rbx, qword [rsp + 0x68]
jmp 0x44c102
xor eax, eax
lea rcx, [rbx + r13]
mov qword [rsp + 0x70], rcx
xor ecx, ecx
nop dword [rax]
cmp r13, rcx
je 0x44c194
movzx edx, byte [rbx + rcx]
cmp edx, 0x2f
je 0x44c126
inc rcx
cmp edx, 0x5c
jne 0x44c110
test al, al
je 0x44c25e
lea rcx, [rsp + 0x270]
mov rdx, rbx
mov r8, r13
call fcn.00451c90
mov rcx, qword [rsp + 0x270]
mov rax, qword [rsp + 0x278]
test rcx, rcx
je 0x44c3bd
mov rdx, qword [rsp + 0x280]
mov qword [rsp + 0x270], rcx
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x280], rdx
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x270]
call fcn.00440450
jmp 0x44c824
xor r8d, r8d
lea rbp, str.nul_byte_found_in_provided_data
jmp 0x44c1ac
xor r8d, r8d
test cx, cx
je 0x44bf9e
mov cx, 1
test r8w, r8w
jne 0x44c1a0
cmp rbx, qword [rsp + 0x70]
je 0x44c4b1
movzx r8d, byte [rbx]
test r8b, r8b
js 0x44c1d2
inc rbx
mov edx, r8d
jmp 0x44c22e
mov edx, r8d
and edx, 0x1f
movzx r10d, byte [rbx + 1]
and r10d, 0x3f
cmp r8b, 0xdf
jbe 0x44c224
movzx r9d, byte [rbx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r8b, 0xf0
jb 0x44c238
movzx r8d, byte [rbx + 3]
add rbx, 4
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or edx, r8d
cmp edx, 0xffff
jbe 0x44c22e
jmp 0x44c24a
add rbx, 2
shl edx, 6
or edx, r10d
xor r8d, r8d
mov ecx, edx
jmp 0x44c1a3
add rbx, 3
shl edx, 0xc
or edx, r9d
cmp edx, 0xffff
jbe 0x44c22e
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x44c1a3
test r13, r13
js 0x44ee5f
mov rsi, r13
not rsi
shr rsi, 0x3f
mov rax, qword [0x004e92c8]
movzx eax, byte [rax]
mov rcx, r13
mov rdx, rsi
call fcn.004024e0
test rax, rax
je 0x44ed85
mov rdi, rax
mov rcx, rax
mov rdx, rbx
mov r8, r13
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], r13
mov byte [rsp + 0x98], 0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x280], rax
movzx eax, byte [rsp + 0x98]
mov byte [rsp + 0x288], al
mov eax, dword [rsp + 0x99]
mov dword [rsp + 0x289], eax
movzx eax, word [rsp + 0x9d]
mov word [rsp + 0x28d], ax
movzx eax, byte [rsp + 0x9f]
mov byte [rsp + 0x28f], al
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x270], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x278], rax
lea rdx, str..exeprogram_not_found
lea rcx, [rsp + 0x270]
mov r8d, 4
call fcn.004472e0
movdqa xmm0, xmmword [rsp + 0x270]
movaps xmm1, xmmword [rsp + 0x280]
movaps xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
lea rcx, [rsp + 0xe0]
mov rdx, rsi
mov r8, rdi
call fcn.0044f5e0
cmp qword [rsp + 0xe0], 0
je 0x44c3d6
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x150], rax
movdqu xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0x140], xmm0
jmp 0x44c809
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x140], 0
jmp 0x44c824
mov rcx, rsi
mov rdx, rdi
call fcn.00435140
test rax, rax
je 0x44c44b
cmp rdx, 2
jne 0x44c3fe
movzx r8d, word [rax]
mov ecx, 2
cmp r8d, 0x2e2e
je 0x44c435
mov r8, rdx
nop word cs:[rax + rax]
test r8, r8
je 0x44c432
mov rcx, r8
dec r8
cmp byte [rax + rcx - 1], 0x2e
jne 0x44c410
cmp rdx, rcx
jb 0x44ee9a
test r8, r8
cmovne rdx, r8
mov rcx, rdx
add rax, rcx
sub rax, rsi
cmp rdi, rax
jb 0x44c44b
mov qword [rsp + 0x90], rax
mov rdi, rax
lea rcx, [rsp + 0x270]
mov rdx, rsi
mov r8, rdi
call fcn.00451c90
mov rcx, qword [rsp + 0x270]
mov rax, qword [rsp + 0x278]
test rcx, rcx
je 0x44c7f5
mov rdx, qword [rsp + 0x280]
mov qword [rsp + 0x270], rcx
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x280], rdx
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x270]
call fcn.00440450
jmp 0x44c809
cmp r13, 0xf
ja 0x44c505
lea rax, [r13 - 1]
xor ecx, ecx
mov r8, qword [rsp + 0x68]
nop word cs:[rax + rax]
cmp byte [r8 + rcx], 0x2e
sete bl
je 0x44c51b
lea rdx, [rcx + 1]
cmp rax, rcx
mov rcx, rdx
jne 0x44c4d0
jmp 0x44c51b
mov r12, qword [rsp + 0x78]
xor ebx, ebx
mov rdx, qword [rsp + 0x290]
test rdx, rdx
jne 0x44bf19
jmp 0x44bf2c
mov cl, 0x2e
mov rdx, qword [rsp + 0x68]
mov r8, r13
call fcn.0049f7b0
cmp rax, 1
sete bl
test r14, r14
mov byte [rsp + 0xd8], bl
je 0x44c579
add rdi, r14
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xe8], rdi
mov word [rsp + 0xf0], 0
mov byte [rsp + 0xf8], 1
lea rcx, [rsp + 0x270]
lea rdx, [rsp + 0xe0]
call fcn.00446bb0
movzx eax, byte [rsp + 0x288]
cmp al, 2
jne 0x44cae4
movzx ebx, byte [rsp + 0xd8]
lea rcx, [rsp + 0xe0]
call fcn.00446df0
cmp byte [rsp + 0xf8], 2
jne 0x44c5a2
lea rcx, [rsp + 0xe0]
call fcn.00405e10
jmp 0x44c6af
movdqu xmm0, xmmword [rsp + 0xe0]
movups xmm1, xmmword [rsp + 0xf0]
movdqa xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm1
mov rcx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x90]
mov rdx, rsi
call fcn.00434fe0
test rax, rax
mov r8, qword [rsp + 0x68]
je 0x44c5f3
cmp rsi, rdx
jb 0x44c5f3
mov qword [rsp + 0x90], rdx
movdqa xmm0, xmmword [rsp + 0x80]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x288], rax
movdqa xmmword [rsp + 0x270], xmm0
lea rcx, [rsp + 0x270]
mov rdx, r8
mov r8, r13
call fcn.00433dd0
test bl, bl
jne 0x44c656
lea rdx, str.exeNULexit_code:
lea rcx, [rsp + 0x270]
mov r8d, 3
call fcn.00434b30
mov rsi, qword [rsp + 0x270]
mov r8, qword [rsp + 0x280]
lea rcx, [rsp + 0x1d0]
mov rdx, rsi
call fcn.0044f5e0
mov rdx, qword [rsp + 0x278]
test rdx, rdx
je 0x44c691
mov r8d, 1
mov rcx, rsi
call fcn.004024f0
mov rcx, qword [rsp + 0x1d0]
test rcx, rcx
je 0x44c6af
mov rax, rcx
movdqu xmm6, xmmword [rsp + 0x1d8]
jmp 0x44cee7
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x190], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x198], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov r12d, 0xffffffff
xor ebx, ebx
xor ebp, ebp
cmp r8, 0x201
jb 0x44c70f
jmp 0x44c730
jae 0x44ca1f
cmp r8, 0x201
jae 0x44c730
lea r15, [rsp + 0x270]
mov edi, 0x200
mov r14, r8
jmp 0x44c78c
sub r8, rbp
sub rbx, rbp
cmp rbx, r8
mov rbx, qword [rsp + 0x50]
jae 0x44c765
lea rcx, [rsp + 0x190]
mov rdx, rbp
call fcn.00410520
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x58], rax
mov rbx, qword [rsp + 0x198]
cmp rbx, r12
mov ebp, 0xffffffff
cmovb rbp, rbx
mov qword [rsp + 0x1a0], rbp
mov rax, rbx
mov qword [rsp + 0x50], rbx
mov r15, qword [rsp + 0x58]
mov rdi, rbp
mov r14, rbp
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, r15
mov edx, r14d
call sub.KERNEL32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x44c7b1
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x44cc0e
mov r8d, esi
cmp r14, r8
jne 0x44c700
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x44ed95
add r14, r14
mov eax, 0xffffffff
cmp r14, rax
mov r12d, 0xffffffff
cmovae r14, rax
mov r8, r14
cmp r8, 0x201
jae 0x44c730
jmp 0x44c70f
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x140], 0
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x44c824
mov r8d, 1
mov rcx, rsi
call fcn.004024f0
mov r13, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x148]
test r13, r13
je 0x44bf9e
mov r8, qword [rsp + 0x150]
cmp r8, 5
jb case.0x44c889.68
cmp word [r13 + r8*2 - 0xa], 0x2e
jne case.0x44c889.68
cmp word [r13 + r8*2 - 2], 0
jne case.0x44c889.68
movzx eax, word [r13 + r8*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x44c889.68
lea rdx, [0x0044f41c]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx ecx, word [r13 + r8*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x44c8a7
movzx ecx, word [r13 + r8*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x44c8d7
cmp ax, 0x43
jne case.0x44c889.68
movzx eax, word [r13 + r8*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x44c889.68
movzx eax, word [r13 + r8*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x44c889.68
mov qword [rsp + 0x170], r8
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x80], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x88], xmm0
mov eax, 0x200
mov ecx, 2
mov qword [rsp + 0x68], rcx
xor ecx, ecx
mov qword [rsp + 0x70], rcx
mov r14d, 0xffffffff
xor r13d, r13d
xor edi, edi
cmp rax, 0x201
jb 0x44c93e
jmp 0x44c953
mov r12, r15
jae 0x44da21
cmp rax, 0x201
jae 0x44c953
mov r15, r12
lea rbp, [rsp + 0x270]
mov esi, 0x200
mov r12, rax
jmp 0x44c9b5
sub rax, rdi
sub r13, rdi
cmp r13, rax
mov r13, qword [rsp + 0x70]
jae 0x44c98b
lea rcx, [rsp + 0x80]
mov rdx, rdi
mov r8, rax
call fcn.00410520
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x68], rax
mov r13, qword [rsp + 0x88]
mov r15, r12
cmp r13, r14
mov edi, 0xffffffff
cmovb rdi, r13
mov qword [rsp + 0x90], rdi
mov rax, r13
mov qword [rsp + 0x70], r13
mov rbp, qword [rsp + 0x68]
mov rsi, rdi
mov r12, rdi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rbp
mov edx, r12d
call sub.KERNEL32.dll_GetSystemDirectoryW
mov ebx, eax
test eax, eax
jne 0x44c9da
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x44de4d
mov eax, ebx
cmp r12, rax
jne 0x44c92d
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x44ee69
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
mov r14d, 0xffffffff
cmovae r12, rax
mov rax, r12
mov r12, r15
cmp rax, 0x201
jae 0x44c953
jmp 0x44c93e
cmp rdi, r8
movzx ebx, byte [rsp + 0xd8]
jb 0x44ee83
lea rcx, [rsp + 0x80]
mov rdx, r15
call fcn.00431590
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x80]
mov r8, r13
call fcn.00433dd0
test bl, bl
jne 0x44ca73
lea rdx, str.exeNULexit_code:
lea rcx, [rsp + 0x80]
mov r8d, 3
call fcn.00434b30
mov rdi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x90]
lea rcx, [rsp + 0x1d0]
mov rdx, rdi
call fcn.0044f5e0
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x44caae
mov r8d, 1
mov rcx, rdi
call fcn.004024f0
movdqu xmm0, xmmword [rsp + 0x1d0]
movdqu xmmword [rsp + 0xe8], xmm0
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xe0], 0
mov sil, 1
jmp 0x44cc31
lea rbp, [rsp + 0x289]
lea r14, [rsp + 0x99]
lea rsi, [rsp + 0x270]
lea rdi, [rsp + 0xe0]
lea rbx, [rsp + 0x80]
jmp 0x44cb2b
mov rcx, rsi
mov rdx, rdi
call fcn.00446bb0
movzx eax, byte [rsp + 0x288]
cmp al, 2
je 0x44c571
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x278]
mov r8, qword [rsp + 0x280]
test r8, r8
jne 0x44cb5a
test rdx, rdx
je 0x44cb10
mov r8d, 1
call fcn.004024f0
jmp 0x44cb10
mov r9d, dword [rbp]
mov r10d, dword [rbp + 3]
mov dword [r14 + 3], r10d
mov dword [r14], r9d
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], r8
mov byte [rsp + 0x98], al
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
mov r8, r13
call fcn.00433dd0
cmp byte [rsp + 0xd8], 0
jne 0x44cbb7
mov r8d, 3
mov rcx, rbx
lea rdx, str.exeNULexit_code:
call fcn.00434b30
mov r15, qword [rsp + 0x80]
mov r8, qword [rsp + 0x90]
mov rcx, rsi
mov rdx, r15
call fcn.0044f5e0
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x44cbed
mov r8d, 1
mov rcx, r15
call fcn.004024f0
mov rax, qword [rsp + 0x270]
test rax, rax
jne 0x44e014
mov rcx, rsi
mov rdx, rdi
call fcn.00446bb0
jmp 0x44cb1b
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xe0], 1
xor esi, esi
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x44cc4e
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x58]
call fcn.004024f0
test sil, sil
je 0x44cc6b
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
mov r12, qword [rsp + 0x78]
jne 0x44cedb
jmp 0x44cc78
lea rcx, [rsp + 0xe8]
call fcn.00405e10
mov qword [rsp + 0x190], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x198], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov ebx, 0xffffffff
xor r12d, r12d
xor ebp, ebp
cmp r8, 0x201
jb 0x44cccf
jmp 0x44ccf0
jae 0x44cdb4
cmp r8, 0x201
jae 0x44ccf0
lea r15, [rsp + 0x270]
mov edi, 0x200
mov r14, r8
jmp 0x44cd4c
sub r8, rbp
sub r12, rbp
cmp r12, r8
mov r12, qword [rsp + 0x50]
jae 0x44cd25
lea rcx, [rsp + 0x190]
mov rdx, rbp
call fcn.00410520
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x58], rax
mov r12, qword [rsp + 0x198]
cmp r12, rbx
mov ebp, 0xffffffff
cmovb rbp, r12
mov qword [rsp + 0x1a0], rbp
mov rax, r12
mov qword [rsp + 0x50], r12
mov r15, qword [rsp + 0x58]
mov rdi, rbp
mov r14, rbp
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, r15
mov edx, r14d
call sub.KERNEL32.dll_GetWindowsDirectoryW
mov esi, eax
test eax, eax
jne 0x44cd71
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x44ce7c
mov r8d, esi
cmp r14, r8
jne 0x44ccc0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x44edb2
add r14, r14
mov eax, 0xffffffff
cmp r14, rax
mov ebx, 0xffffffff
cmovae r14, rax
mov r8, r14
cmp r8, 0x201
jae 0x44ccf0
jmp 0x44cccf
cmp rdi, r8
movzx esi, byte [rsp + 0xd8]
jb 0x44eea8
lea rcx, [rsp + 0x80]
mov rdx, r15
call fcn.00431590
mov r12, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x80]
mov r8, r13
call fcn.00433dd0
test sil, sil
jne 0x44ce0e
lea rdx, str.exeNULexit_code:
lea rcx, [rsp + 0x80]
mov r8d, 3
call fcn.00434b30
mov rdi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x90]
lea rcx, [rsp + 0x1d0]
mov rdx, rdi
call fcn.0044f5e0
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x44ce49
mov r8d, 1
mov rcx, rdi
call fcn.004024f0
movdqu xmm0, xmmword [rsp + 0x1d0]
movdqu xmmword [rsp + 0xe8], xmm0
mov rax, qword [rsp + 0x1e0]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0xe0], 0
mov sil, 1
jmp 0x44cea4
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xe0], 1
xor esi, esi
mov r12, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x44cec1
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x58]
call fcn.004024f0
test sil, sil
je 0x44d818
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x44d825
mov rax, rcx
movdqu xmm6, xmmword [rsp + 0xf0]
mov r13, rcx
movq rbp, xmm6
pshufd xmm0, xmm6, 0xee
movq r8, xmm0
cmp r8, 5
jae 0x44c84f
mov rdi, qword [r12 + 0x90]
mov rsi, qword [r12 + 0xa0]
movzx ebx, byte [r12 + 0xad]
mov qword [rsp + 0x80], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x88], xmm0
lea rcx, [rsp + 0x80]
xor edx, edx
call fcn.0040f960
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0x90], rcx
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x270], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x278], rax
mov word [rsp + 0x280], 0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x270]
call fcn.00416330
mov rdx, qword [rsp + 0x90]
cmp rdx, qword [rsp + 0x88]
jne 0x44cfc5
lea rcx, [rsp + 0x80]
call fcn.0040f960
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x80]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0x90], rdx
shl rsi, 3
lea r14, [rsi + rsi*4]
lea r15, [rsp + 0x80]
nop
test r14, r14
je 0x44d07e
mov rdx, qword [rsp + 0x90]
cmp rdx, qword [rsp + 0x88]
jne 0x44d01b
mov rcx, r15
call fcn.0040f960
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x80]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0x90], rdx
mov rcx, r15
mov rdx, rdi
mov r8d, ebx
call fcn.0043ff90
mov rsi, rax
add rdi, 0x28
add r14, 0xffffffffffffffd8
test rax, rax
je 0x44cff0
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x44d18d
mov rcx, qword [rsp + 0x80]
add rdx, rdx
mov r8d, 2
call fcn.004024f0
jmp 0x44d18d
mov rax, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
test rax, rax
je 0x44d18d
mov rdx, qword [rsp + 0x90]
mov cl, 1
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x180], rsi
mov qword [rsp + 0x188], rdx
cmp rdx, rsi
jne 0x44d0ec
lea rcx, [rsp + 0x178]
call fcn.0040f960
mov rax, qword [rsp + 0x178]
mov rdx, qword [rsp + 0x188]
mov word [rax + rdx*2], 0
inc rdx
mov qword [rsp + 0x188], rdx
cmp byte [r12 + 0xac], 0
mov eax, 0x400
mov rcx, r12
mov r12d, 0x608
cmove r12d, eax
mov qword [rsp + 0x78], rcx
or r12d, dword [rcx + 0xa8]
cmp qword [rsp + 0x240], 0
je 0x44d1c9
mov qword [rsp + 0x58], rbp
mov rbx, qword [rsp + 0x258]
mov qword [rsp + 0x230], rbx
movdqu xmm0, xmmword [rsp + 0x248]
movdqa xmmword [rsp + 0x220], xmm0
mov qword [rsp + 0x140], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x148], xmm0
test rbx, rbx
mov qword [rsp + 0x50], r13
je 0x44d20c
mov edi, 2
xor ebp, ebp
jmp 0x44d23f
mov rax, qword [rsp + 0x160]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
xor esi, esi
test rbp, rbp
je 0x44d1bb
add rbp, rbp
mov r8d, 2
mov rcx, r13
mov rdx, rbp
call fcn.004024f0
test sil, sil
je 0x44bfb1
jmp 0x44c0c3
mov r14d, 2
xor r15d, r15d
xor edi, edi
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + 0x88], 2
jne 0x44dadc
xor eax, eax
mov qword [rsp + 0x170], rax
mov eax, 2
mov qword [rsp + 0x218], rax
xor eax, eax
mov qword [rsp + 0x260], rax
jmp 0x44dc64
mov sil, 1
lea rcx, [rsp + 0x140]
xor edx, edx
call fcn.0040f960
mov rdi, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x150]
mov word [rdi + rbp*2], 0
inc rbp
mov qword [rsp + 0x150], rbp
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
xor edx, edx
test rax, rax
setne dl
cmove rbx, rax
mov qword [rsp + 0x270], rdx
mov qword [rsp + 0x278], 0
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], rcx
mov qword [rsp + 0x290], rdx
mov qword [rsp + 0x298], 0
mov qword [rsp + 0x2a0], rax
mov qword [rsp + 0x2a8], rcx
mov qword [rsp + 0x2b0], rbx
lea rcx, [rsp + 0x1d0]
lea rdx, [rsp + 0x270]
call fcn.0040c660
mov r8, qword [rsp + 0x1d0]
test r8, r8
je 0x44da66
mov r9, qword [rsp + 0x1e0]
imul r10, r9, 0x38
mov rbx, qword [r8 + r10 + 0x168]
mov r13, qword [r8 + r10 + 0x170]
mov rsi, qword [r8 + r10 + 0x178]
mov rcx, qword [r8 + r10 + 0x180]
mov rdx, qword [r8 + r10 + 0x188]
mov rax, qword [r8 + r10 + 0x190]
movzx r11d, byte [r8 + r10 + 0x198]
mov r14d, dword [r8 + r10 + 0x19c]
mov dword [rsp + 0x83], r14d
mov r10d, dword [r8 + r10 + 0x199]
mov dword [rsp + 0x80], r10d
shl r9, 5
movups xmm0, xmmword [r8 + r9]
movups xmm1, xmmword [r8 + r9 + 0x10]
lea r8, [rsp + 0x87]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
mov r8, qword [rsp + 0x9f]
mov qword [rsp + 0xff], r8
mov r8d, dword [rsp + 0x80]
movzx r9d, word [rsp + 0x84]
movzx r10d, byte [rsp + 0x86]
mov r14, qword [rsp + 0x87]
movzx r15d, byte [rsp + 0x8f]
movdqu xmm0, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0xf0], xmm0
mov dword [rsp + 0xe0], r8d
mov word [rsp + 0xe4], r9w
mov byte [rsp + 0xe6], r10b
mov qword [rsp + 0xe7], r14
mov byte [rsp + 0xef], r15b
cmp r11b, 2
je 0x44da66
lea r8, [rsp + 0xe7]
movdqu xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movaps xmmword [rsp + 0x1e0], xmm1
movdqa xmmword [rsp + 0x1d0], xmm0
add rax, rcx
xor r11d, r11d
mov r8, rcx
jmp 0x44d41d
xor r11d, r11d
test r9w, r9w
je 0x44d774
mov r9w, 1
test r11w, r11w
jne 0x44d410
cmp r8, rax
je 0x44d4d8
movzx r11d, byte [r8]
test r11b, r11b
js 0x44d442
inc r8
mov r10d, r11d
jmp 0x44d4a3
mov r10d, r11d
and r10d, 0x1f
movzx r15d, byte [r8 + 1]
and r15d, 0x3f
cmp r11b, 0xdf
jbe 0x44d498
movzx r14d, byte [r8 + 2]
shl r15d, 6
and r14d, 0x3f
or r14d, r15d
cmp r11b, 0xf0
jb 0x44d4ae
movzx r11d, byte [r8 + 3]
add r8, 4
and r10d, 7
shl r10d, 0x12
shl r14d, 6
and r11d, 0x3f
or r11d, r14d
or r10d, r11d
cmp r10d, 0xffff
jbe 0x44d4a3
jmp 0x44d4c2
add r8, 2
shl r10d, 6
or r10d, r15d
xor r11d, r11d
mov r9d, r10d
jmp 0x44d413
add r8, 3
shl r10d, 0xc
or r10d, r14d
cmp r10d, 0xffff
jbe 0x44d4a3
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x44d413
test rdx, rdx
je 0x44d4e8
mov r8d, 1
call fcn.004024f0
mov rax, qword [rsp + 0x148]
sub rax, rbp
cmp rax, rsi
jae 0x44d51b
lea rcx, [rsp + 0x140]
mov rdx, rbp
mov r8, rsi
call fcn.00410520
mov rdi, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x150]
lea r8, [rsi + rsi]
lea rcx, [rdi + rbp*2]
mov rdx, rbx
call sub.msvcrt.dll_memcpy
add rbp, rsi
mov qword [rsp + 0x150], rbp
test r13, r13
je 0x44d54f
add r13, r13
mov r8d, 2
mov rcx, rbx
mov rdx, r13
call fcn.004024f0
cmp rbp, qword [rsp + 0x148]
jne 0x44d580
lea rcx, [rsp + 0x140]
mov rdx, rbp
mov r13, qword [rsp + 0x50]
call fcn.0040f960
mov rdi, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x150]
jmp 0x44d585
mov r13, qword [rsp + 0x50]
mov word [rdi + rbp*2], 0x3d
inc rbp
mov qword [rsp + 0x150], rbp
mov rsi, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x1e0]
movzx edx, byte [rsp + 0x1e8]
lea rax, [rsi + rcx]
xor r11d, r11d
mov r8, rsi
jmp 0x44d5cf
xor r11d, r11d
test r9w, r9w
je 0x44d9d4
mov r9w, 1
test r11w, r11w
jne 0x44d5c2
cmp r8, rax
je 0x44d67e
movzx r11d, byte [r8]
test r11b, r11b
js 0x44d5f4
inc r8
mov r10d, r11d
jmp 0x44d65d
mov r10d, r11d
and r10d, 0x1f
movzx ebp, byte [r8 + 1]
and ebp, 0x3f
cmp r11b, 0xdf
jbe 0x44d63c
movzx edi, byte [r8 + 2]
shl ebp, 6
and edi, 0x3f
or edi, ebp
cmp r11b, 0xf0
jb 0x44d649
movzx r11d, byte [r8 + 3]
add r8, 4
and r10d, 7
shl r10d, 0x12
shl edi, 6
and r11d, 0x3f
or r11d, edi
or r10d, r11d
jmp 0x44d654
add r8, 2
shl r10d, 6
or r10d, ebp
jmp 0x44d65d
add r8, 3
shl r10d, 0xc
or r10d, edi
cmp r10d, 0xffff
ja 0x44d668
xor r11d, r11d
mov r9d, r10d
jmp 0x44d5c5
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x44d5c5
cmp dl, 2
je 0x44ec27
lea r9, [rsp + 0x1e9]
mov r8d, dword [r9]
mov r9d, dword [r9 + 3]
lea r10, [rsp + 0x87]
mov dword [r10 + 0x15], r9d
mov dword [r10 + 0x12], r8d
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rcx
mov byte [rsp + 0x98], dl
mov qword [rsp + 0x190], rsi
mov qword [rsp + 0x198], rax
mov word [rsp + 0x1a0], 0
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x190]
call fcn.00416330
test rbx, rbx
je 0x44d70a
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.004024f0
mov rbp, qword [rsp + 0x150]
cmp rbp, qword [rsp + 0x148]
jne 0x44d746
lea rcx, [rsp + 0x140]
mov rdx, rbp
call fcn.0040f960
lea rcx, [rsp + 0x1d0]
lea rdx, [rsp + 0x270]
mov rbp, qword [rsp + 0x150]
jmp 0x44d756
lea rcx, [rsp + 0x1d0]
lea rdx, [rsp + 0x270]
mov rdi, qword [rsp + 0x140]
mov word [rdi + rbp*2], 0
inc rbp
mov qword [rsp + 0x150], rbp
jmp 0x44d2bb
test rdx, rdx
je 0x44d784
mov r8d, 1
call fcn.004024f0
mov rdx, qword [rsp + 0x1d8]
test rdx, rdx
je 0x44d7a4
mov rcx, qword [rsp + 0x1d0]
mov r8d, 1
call fcn.004024f0
lea rdi, str.nul_byte_found_in_provided_data
test r13, r13
je 0x44d7c4
add r13, r13
mov r8d, 2
mov rcx, rbx
mov rdx, r13
call fcn.004024f0
mov r13, qword [rsp + 0x50]
xor esi, esi
lea rcx, [rsp + 0x270]
call fcn.004050d0
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x44d7fb
mov rcx, qword [rsp + 0x140]
add rdx, rdx
mov r8d, 2
call fcn.004024f0
mov rbp, qword [rsp + 0x58]
mov rax, qword [rsp + 0x160]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
jmp 0x44dfbe
lea rcx, [rsp + 0xe8]
call fcn.00405e10
lea rdx, str.PATHlibrary_std_src_sys_commonprocess.rs
lea rcx, [rsp + 0x190]
mov r8d, 4
call fcn.00423520
cmp byte [rsp + 0x1a8], 2
je 0x44da15
movdqu xmm0, xmmword [rsp + 0x190]
movups xmm1, xmmword [rsp + 0x1a0]
movdqa xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1e0], xmm1
mov rsi, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x1e0]
add rax, rsi
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], rax
mov word [rsp + 0xf0], 0
mov byte [rsp + 0xf8], 1
lea rbp, [rsp + 0x289]
lea r14, [rsp + 0x99]
lea rdi, [rsp + 0x270]
lea rbx, [rsp + 0xe0]
jmp 0x44d8d7
mov rax, qword [rsp + 0x270]
test rax, rax
jne 0x44e80c
mov rcx, rdi
mov rdx, rbx
call fcn.00446bb0
jmp 0x44d8ef
mov rcx, rdi
mov rdx, rbx
call fcn.00446bb0
movzx eax, byte [rsp + 0x288]
cmp al, 2
je 0x44d9fa
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x278]
mov r8, qword [rsp + 0x280]
test r8, r8
jne 0x44d92e
test rdx, rdx
je 0x44d8e4
mov r8d, 1
call fcn.004024f0
jmp 0x44d8e4
mov r9d, dword [rbp]
mov r10d, dword [rbp + 3]
mov dword [r14 + 3], r10d
mov dword [r14], r9d
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], r8
mov byte [rsp + 0x98], al
lea rcx, [rsp + 0x80]
mov rdx, qword [rsp + 0x68]
mov r8, r13
call fcn.00433dd0
cmp byte [rsp + 0xd8], 0
jne 0x44d995
mov r8d, 3
lea rcx, [rsp + 0x80]
lea rdx, str.exeNULexit_code:
call fcn.00434b30
mov r15, qword [rsp + 0x80]
mov r8, qword [rsp + 0x90]
mov rcx, rdi
mov rdx, r15
call fcn.0044f5e0
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x44d8c6
mov r8d, 1
mov rcx, r15
call fcn.004024f0
jmp 0x44d8c6
lea rdi, str.nul_byte_found_in_provided_data
test rbx, rbx
je 0x44d7c9
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.004024f0
jmp 0x44d7c9
mov rdx, qword [rsp + 0x1d8]
test rdx, rdx
je 0x44da15
mov r8d, 1
mov rcx, rsi
call fcn.004024f0
lea rbp, [0x004c5948]
jmp 0x44bf9e
cmp rsi, rax
jb 0x44eebf
test ebx, ebx
mov r13, qword [rsp + 0x50]
je 0x44e024
mov rbx, rax
lea rdi, [rax + rax]
mov rax, qword [0x004e92c8]
movzx eax, byte [rax]
mov edx, 2
mov rcx, rdi
call fcn.004024e0
test rax, rax
je 0x44eed3
mov rsi, rax
jmp 0x44e02e
xor esi, esi
lea rcx, [rsp + 0x270]
mov r13, qword [rsp + 0x50]
call fcn.004050d0
cmp rbp, qword [rsp + 0x148]
jne 0x44daa6
xor esi, esi
lea rcx, [rsp + 0x140]
mov rdx, rbp
call fcn.0040f960
mov rdi, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x150]
mov word [rdi + rbp*2], 0
mov r14, qword [rsp + 0x140]
test r14, r14
je 0x44d7fb
mov r15, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + 0x88], 2
je 0x44d1e6
mov rax, qword [rcx + 0x70]
mov rcx, qword [rcx + 0x80]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x44daff
xor r10d, r10d
test r8w, r8w
je 0x44dbb0
mov r8w, 1
test r10w, r10w
jne 0x44daf2
cmp rdx, rcx
je 0x44dbcf
movzx r10d, byte [rdx]
test r10b, r10b
js 0x44db24
inc rdx
mov r9d, r10d
jmp 0x44db8f
mov r9d, r10d
and r9d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r10b, 0xdf
jbe 0x44db6e
movzx r11d, byte [rdx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r10b, 0xf0
jb 0x44db7b
movzx r10d, byte [rdx + 3]
add rdx, 4
and r9d, 7
shl r9d, 0x12
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
or r9d, r10d
jmp 0x44db86
add rdx, 2
shl r9d, 6
or r9d, esi
jmp 0x44db8f
add rdx, 3
shl r9d, 0xc
or r9d, r11d
cmp r9d, 0xffff
ja 0x44db9a
xor r10d, r10d
mov r8d, r9d
jmp 0x44daf5
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x44daf5
lea rax, str.nul_byte_found_in_provided_data
mov rcx, qword [rsp + 0x160]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x44dfa5
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], rcx
mov word [rsp + 0x280], 0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x270]
call fcn.004164b0
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov rax, rcx
mov qword [rsp + 0x170], rcx
cmp rdx, rcx
jne 0x44dc43
lea rcx, [rsp + 0x80]
call fcn.0040f960
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x170], rax
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
mov word [rcx + rdx*2], 0
mov rax, rcx
mov qword [rsp + 0x260], rcx
mov qword [rsp + 0x218], rcx
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x1d0], xmm0
mov qword [rsp + 0x1e0], 0
lea rbx, [0x004fb190]
mov rcx, rbx
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [0x004fb150]
shl rax, 1
test rax, rax
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x168], r14
mov qword [rsp + 0x1b8], r15
je 0x44dcc3
call fcn.0043cf00
mov esi, eax
xor sil, 1
jmp 0x44dcc5
xor esi, esi
movzx eax, byte [0x004fb198]
mov byte [rsp + 0x66], al
test al, al
je 0x44dce3
mov qword [rsp + 0xe8], rbx
mov eax, 1
jmp 0x44dced
mov qword [rsp + 0xe8], rbx
xor eax, eax
mov byte [rsp + 0xf0], sil
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0xa0], 0
mov rbp, qword [rsp + 0x78]
mov rax, qword [rbp]
mov r13, qword [rbp + 0x10]
xor edx, edx
cmp rax, 5
mov r8, rbp
cmove r8, rdx
cmp byte [rsp + 0x1c0], 0
mov ecx, 1
cmovne rcx, qword [rsp + 0x1c8]
lea r14, [rsp + 0x268]
lea r9, [rsp + 0x190]
cmovne r9, r14
add r8, 8
cmp rax, 5
cmovne rcx, rax
cmove r8, r9
lea r15, [rbp + 0x10]
cmp r13, 5
cmove r15, rdx
mov rbx, qword [rbp + 0x20]
add rbp, 0x20
cmp rbx, 5
cmove rbp, rdx
mov rdx, qword [r8]
lea r9, [rsp + 0x80]
mov r8d, 0xfffffff6
call fcn.0044f6c0
test rax, rax
je 0x44dde3
mov rax, qword [rsp + 0x160]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov rbp, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x168]
mov r15, qword [rsp + 0x1b8]
movzx ebx, byte [rsp + 0x66]
jmp 0x44dee7
mov qword [rsp + 0x78], rdx
add r15, 8
cmp r13, 5
cmove r13, qword [rsp + 0x1c8]
lea r9, [rsp + 0x90]
cmove r15, r14
mov rdx, qword [r15]
mov rcx, r13
mov r8d, 0xfffffff5
call fcn.0044f6c0
test rax, rax
mov r13, qword [rsp + 0x50]
mov r15, qword [rsp + 0x1b8]
je 0x44de6b
mov rax, qword [rsp + 0x160]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov rbp, qword [rsp + 0x58]
mov r14, qword [rsp + 0x168]
jmp 0x44ded8
call sub.KERNEL32.dll_GetLastError
mov edi, eax
shl rdi, 0x20
or rdi, 2
xor esi, esi
mov r12, r15
mov r13, qword [rsp + 0x50]
jmp 0x44e03f
mov qword [rsp + 0x1c0], rdx
add rbp, 8
cmp rbx, 5
cmove rbx, qword [rsp + 0x1c8]
lea r9, [rsp + 0xa0]
cmove rbp, r14
mov rdx, qword [rbp]
mov rcx, rbx
mov r8d, 0xfffffff4
call fcn.0044f6c0
test rax, rax
mov rbp, qword [rsp + 0x58]
mov r14, qword [rsp + 0x168]
je 0x44e619
mov rax, qword [rsp + 0x160]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov rcx, qword [rsp + 0x1c0]
call sub.KERNEL32.dll_CloseHandle
movzx ebx, byte [rsp + 0x66]
mov rcx, qword [rsp + 0x78]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x80], 0
je 0x44deff
mov rcx, qword [rsp + 0x88]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x90], 0
je 0x44df17
mov rcx, qword [rsp + 0x98]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0xa0], 0
je 0x44df2f
mov rcx, qword [rsp + 0xa8]
call sub.KERNEL32.dll_CloseHandle
movabs rax, 0x7fffffffffffffff
test bl, bl
je 0x44df55
test sil, sil
jne 0x44df76
mov rcx, qword [0x004fb150]
test rcx, rax
je 0x44df76
call fcn.0043cf00
jmp 0x44df6b
test sil, sil
jne 0x44df76
mov rcx, qword [0x004fb150]
test rcx, rax
je 0x44df76
call fcn.0043cf00
test al, al
jne 0x44df76
mov byte [0x004fb198], 1
lea rcx, [0x004fb190]
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rdx, qword [rsp + 0x170]
test rdx, rdx
je 0x44dfa5
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x218]
call fcn.004024f0
test r15, r15
je 0x44dfbe
add r15, r15
mov r8d, 2
mov rcx, r14
mov rdx, r15
call fcn.004024f0
mov rdx, qword [rsp + 0x180]
test rdx, rdx
je 0x44dfe1
mov rcx, qword [rsp + 0x178]
add rdx, rdx
mov r8d, 2
call fcn.004024f0
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x44e001
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0xd8]
call fcn.004024f0
mov sil, 1
cmp byte [rsp + 0x68], 0
jne 0x44c0c3
jmp 0x44d1a2
movups xmm6, xmmword [rsp + 0x278]
mov r13, rax
jmp 0x44ceea
mov rbx, rax
mov esi, 2
xor edi, edi
mov rcx, rsi
mov rdx, rbp
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov rdi, rbx
mov rdx, qword [rsp + 0x70]
test rdx, rdx
mov rbp, qword [rsp + 0x58]
je 0x44e061
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x68]
call fcn.004024f0
test rsi, rsi
je 0x44e5e6
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], rdi
mov r14, rdi
mov qword [rsp + 0xf0], rdi
lea rdx, str.cmd.exefallback_RNG_broken:
lea rcx, [rsp + 0x270]
mov r8d, 8
call fcn.004a2a10
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x96], rax
movups xmm0, xmmword [rsp + 0x270]
movups xmmword [rsp + 0x86], xmm0
mov qword [rsp + 0x270], 1
mov qword [rsp + 0x280], 1
mov word [rsp + 0x288], 0
mov rax, qword [rsp + 0x8e]
mov qword [rsp + 0x298], rax
mov rax, qword [rsp + 0x96]
mov qword [rsp + 0x2a0], rax
movdqu xmm0, xmmword [rsp + 0x80]
movdqu xmmword [rsp + 0x28a], xmm0
mov r15, qword [rsp + 0x290]
test r15, r15
mov qword [rsp + 0x78], r12
je 0x44e329
lea rbx, [rsp + 0x290]
mov r12, qword [rsp + 0x298]
movzx edi, word [rsp + 0x2a0]
lea rax, [r12 + 3]
mov qword [rsp + 0x70], rax
xor ebp, ebp
mov rdx, r14
jmp 0x44e164
mov word [rsi + rdx*2], di
inc rdx
mov qword [rsp + 0xf0], rdx
mov edi, r14d
test r15, r15
cmovne r15, rbx
je 0x44e20a
test di, di
jne 0x44e248
mov r10, rdx
mov rdx, qword [r15]
cmp rdx, r12
je 0x44e1fb
lea rax, [rdx + 1]
mov qword [r15], rax
movzx eax, byte [rdx]
test al, al
jns 0x44e274
mov ecx, eax
and ecx, 0x1f
lea r8, [rdx + 2]
mov qword [r15], r8
movzx r9d, byte [rdx + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x44e26c
lea r8, [rdx + 3]
mov qword [r15], r8
movzx r8d, byte [rdx + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp al, 0xf0
jb 0x44e2d7
lea rax, [rdx + 4]
mov qword [r15], rax
movzx eax, byte [rdx + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and eax, 0x3f
or eax, r8d
or eax, ecx
cmp eax, 0x110000
jne 0x44e2e0
mov qword [rsp + 0x290], 0
mov rdx, r10
cmp rbp, 1
je 0x44e355
lea rax, [rbp + 1]
mov qword [rsp + 0x278], rax
mov r14d, edi
movzx ecx, word [rsp + rbp*2 + 0x288]
mov rbp, rax
mov edi, ecx
mov r15, qword [rsp + 0x290]
cmp rdx, qword [rsp + 0xe8]
jne 0x44e152
jmp 0x44e292
mov word [rsp + 0x2a0], 0
xor r14d, r14d
mov r15, qword [rsp + 0x290]
cmp rdx, qword [rsp + 0xe8]
je 0x44e292
jmp 0x44e152
shl ecx, 6
or ecx, r9d
mov eax, ecx
mov rdx, r10
xor r14d, r14d
mov edi, eax
mov r15, qword [rsp + 0x290]
cmp rdx, qword [rsp + 0xe8]
jne 0x44e152
test r15, r15
je 0x44e2ab
mov r8, qword [rsp + 0x70]
sub r8, r15
shr r8, 2
sub r8, rbp
inc r8
jmp 0x44e2b4
mov r8d, 1
sub r8, rbp
inc r8
lea rcx, [rsp + 0xe0]
mov r13, rdx
call fcn.00410520
mov rsi, qword [rsp + 0xe0]
mov rdx, r13
jmp 0x44e152
shl ecx, 0xc
or r8d, ecx
mov eax, r8d
cmp eax, 0xffff
mov rdx, r10
jbe 0x44e277
lea edi, [rax + 0xff0000]
shr edi, 0xa
or edi, 0xd800
and eax, 0x3ff
or eax, 0xdc00
mov word [rsp + 0x2a0], ax
mov r14d, eax
mov r15, qword [rsp + 0x290]
cmp rdx, qword [rsp + 0xe8]
jne 0x44e152
jmp 0x44e292
mov rdx, r14
cmp r14, r14
jne 0x44e34f
lea rcx, [rsp + 0xe0]
mov r8d, 1
call fcn.00410520
mov rsi, qword [rsp + 0xe0]
mov rdx, r14
mov word [rsi + rdx*2], 0
mov rax, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
test rax, rax
je 0x44e5dc
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x70], rdi
mov rax, qword [rsp + 0x78]
mov r15, qword [rax + 0x90]
mov rcx, qword [rax + 0xa0]
mov qword [rsp + 0x168], rcx
movzx eax, byte [rax + 0xad]
mov byte [rsp + 0x1b8], al
lea rdx, [0x004c51e2]
lea rcx, [rsp + 0x80]
mov r8d, 0xf
mov rbp, qword [rsp + 0x58]
call fcn.004a2a10
mov rbx, qword [rsp + 0x80]
mov r12, qword [rsp + 0x88]
movzx eax, word [rsp + 0x90]
test ax, ax
je 0x44e5f6
mov qword [rsp + 0x68], rax
xor r13d, r13d
lea rbp, [r12 + 3]
mov rax, rbp
sub rax, rbx
shr rax, 2
cmp rax, 4
mov r14d, 3
cmovae r14, rax
movabs rax, 0x3fffffffffffffff
xor esi, esi
cmp r14, rax
setne al
je 0x44eee2
mov sil, al
add rsi, rsi
lea rdi, [r14 + r14]
add rdi, 2
mov rax, qword [0x004e92c8]
movzx eax, byte [rax]
mov rcx, rdi
mov rdx, rsi
call fcn.004024e0
test rax, rax
je 0x44eee9
mov rcx, rax
inc r14
mov rax, qword [rsp + 0x68]
mov word [rcx], ax
mov qword [rsp + 0x270], rcx
mov qword [rsp + 0x278], r14
mov qword [rsp + 0x280], 1
mov esi, 1
lea rdi, [rsp + 0x270]
jmp 0x44e4a1
mov rcx, qword [rsp + 0x270]
mov word [rcx + rsi*2], r13w
inc rsi
mov qword [rsp + 0x280], rsi
mov r13d, r14d
test r13w, r13w
je 0x44e4af
xor r14d, r14d
jmp 0x44e56a
cmp rbx, r12
je 0x44e595
movzx r13d, byte [rbx]
test r13b, r13b
js 0x44e4cc
inc rbx
xor r14d, r14d
jmp 0x44e56a
mov eax, r13d
and eax, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp r13b, 0xdf
jbe 0x44e51c
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r13b, 0xf0
jb 0x44e52e
movzx r13d, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and r13d, 0x3f
or r13d, edx
or r13d, eax
cmp r13d, 0x110000
je 0x44e595
add rbx, 4
jmp 0x44e53a
add rbx, 2
shl eax, 6
or eax, r8d
mov r13d, eax
xor r14d, r14d
jmp 0x44e56a
add rbx, 3
shl eax, 0xc
or edx, eax
mov r13d, edx
cmp r13d, 0xffff
jbe 0x44e4a7
lea eax, [r13 + 0xff0000]
shr eax, 0xa
or eax, 0xd800
and r13d, 0x3ff
or r13d, 0xdc00
mov r14d, r13d
mov r13d, eax
cmp rsi, qword [rsp + 0x278]
jne 0x44e48e
mov r8, rbp
sub r8, rbx
shr r8, 2
inc r8
mov rcx, rdi
mov rdx, rsi
call fcn.00410520
jmp 0x44e486
mov rdi, qword [rsp + 0x280]
mov qword [rsp + 0xf0], rdi
movdqu xmm0, xmmword [rsp + 0x270]
movdqa xmmword [rsp + 0xe0], xmm0
cmp rdi, qword [rsp + 0xe8]
mov rbp, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x170]
je 0x44e8ee
jmp 0x44e906
mov rbp, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov rax, qword [rsp + 0x160]
mov qword [rax], rdi
jmp 0x44d198
cmp rbx, r12
je 0x44e8c6
movzx r9d, byte [rbx]
test r9b, r9b
js 0x44e869
mov qword [rsp + 0x68], r9
inc rbx
jmp 0x44e3e9
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x2a4], xmm0
movdqu xmmword [rsp + 0x298], xmm0
movdqu xmmword [rsp + 0x288], xmm0
movdqu xmmword [rsp + 0x278], xmm0
movdqu xmmword [rsp + 0x2b8], xmm0
movdqu xmmword [rsp + 0x2c8], xmm0
mov dword [rsp + 0x270], 0x68
test rdx, rdx
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1c0]
jne 0x44e67a
test rcx, rcx
jne 0x44e67a
test rax, rax
je 0x44e69d
mov dword [rsp + 0x2ac], 0x100
mov qword [rsp + 0x2c0], rax
mov qword [rsp + 0x2c8], rcx
mov qword [rsp + 0x2d0], rdx
mov rbx, rdx
mov rcx, qword [rsp + 0x178]
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x270]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov rdi, rcx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0xd8]
mov rdx, rdi
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_CreateProcessW
test eax, eax
je 0x44e83c
movups xmm0, xmmword [rsp + 0x80]
movups xmm1, xmmword [rsp + 0x90]
movups xmm2, xmmword [rsp + 0xa0]
mov rax, qword [rsp + 0x160]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movdqa xmm0, xmmword [rsp + 0x1d0]
movdqu xmmword [rax], xmm0
mov rcx, rbx
call sub.KERNEL32.dll_CloseHandle
mov rcx, qword [rsp + 0x1c0]
call sub.KERNEL32.dll_CloseHandle
mov rcx, qword [rsp + 0x78]
call sub.KERNEL32.dll_CloseHandle
lea rcx, [rsp + 0xe0]
call fcn.00405790
mov rdx, qword [rsp + 0x170]
test rdx, rdx
je 0x44e78a
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x218]
call fcn.004024f0
test r15, r15
je 0x44e7a3
add r15, r15
mov r8d, 2
mov rcx, r14
mov rdx, r15
call fcn.004024f0
mov rdx, qword [rsp + 0x180]
test rdx, rdx
je 0x44e7c1
add rdx, rdx
mov r8d, 2
mov rcx, rdi
call fcn.004024f0
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x44e7e1
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0xd8]
call fcn.004024f0
test rbp, rbp
sete al
mov ecx, dword [rsp + 0x68]
or cl, al
jne 0x44c0c3
add rbp, rbp
mov r8d, 2
mov rcx, r13
mov rdx, rbp
call fcn.004024f0
jmp 0x44c0c3
mov r13, rax
movdqu xmm6, xmmword [rsp + 0x278]
mov rdx, qword [rsp + 0x1d8]
test rdx, rdx
je 0x44ceea
mov r8d, 1
mov rcx, rsi
call fcn.004024f0
jmp 0x44ceea
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x160]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
mov rcx, rbx
call sub.KERNEL32.dll_CloseHandle
jmp 0x44decb
mov eax, r9d
and eax, 0x1f
movzx edx, byte [rbx + 1]
and edx, 0x3f
cmp r9b, 0xdf
jbe 0x44ec19
mov r8, r15
movzx ecx, byte [rbx + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r9b, 0xf0
jb 0x44ec2f
movzx edx, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, eax
mov qword [rsp + 0x68], rdx
cmp edx, 0x110000
mov rbp, qword [rsp + 0x58]
mov r15, r8
jne 0x44ec41
mov qword [rsp + 0xe0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xe8], xmm0
xor edi, edi
mov r13, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x170]
lea rcx, [rsp + 0xe0]
mov rdx, rdi
call fcn.0040f960
mov rdi, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xe0]
mov word [r14 + rdi*2], 0x22
inc rdi
mov qword [rsp + 0xf0], rdi
lea rax, [rbx + rbx]
xor ecx, ecx
lea rsi, [0x004c5228]
cmp rax, rcx
je 0x44e944
cmp word [r13 + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x44e92d
jmp 0x44eb57
movzx eax, word [r13 + rbx*2 - 2]
cmp ax, 0x5c
je 0x44eb57
lea rsi, [rbx - 1]
mov rcx, rbx
xor ebx, ebx
test ax, ax
cmove rbx, r13
test rbx, rbx
cmove rsi, rcx
cmove rbx, r13
mov r12, qword [rsp + 0xe8]
mov rax, r12
sub rax, rdi
cmp rax, rsi
jae 0x44e9ad
lea rcx, [rsp + 0xe0]
mov rdx, rdi
mov r8, rsi
call fcn.00410520
mov rdi, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xe8]
lea r8, [rsi + rsi]
lea rcx, [r14 + rdi*2]
mov rdx, rbx
call sub.msvcrt.dll_memcpy
add rdi, rsi
mov qword [rsp + 0xf0], rdi
cmp rdi, r12
jne 0x44e9ed
lea rcx, [rsp + 0xe0]
mov rdx, r12
call fcn.0040f960
mov r14, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xf0]
lea rax, [rdi + 1]
mov word [r14 + rdi*2], 0x22
mov qword [rsp + 0xf0], rax
cmp byte [rsp + 0x1b8], 0
je 0x44ea89
mov rax, qword [rsp + 0x168]
shl rax, 3
lea rbx, [rax + rax*4]
lea rdi, [rsp + 0xe0]
test rbx, rbx
je 0x44ebb6
mov rdx, qword [rsp + 0xf0]
cmp rdx, qword [rsp + 0xe8]
jne 0x44ea4d
mov rcx, rdi
call fcn.0040f960
mov rdx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xf0], rdx
mov rcx, rdi
mov rdx, r15
mov r8b, 1
call fcn.0043ff90
mov rsi, rax
add r15, 0x28
add rbx, 0xffffffffffffffd8
test rax, rax
je 0x44ea22
jmp 0x44eb57
mov rax, qword [rsp + 0x168]
lea rax, [rax + rax*4]
mov rcx, r15
lea r15, [r15 + rax*8]
lea rbx, str._t____________
cmp rcx, r15
je 0x44ebb6
mov rdi, rcx
mov rdx, qword [rsp + 0xf0]
cmp rdx, qword [rsp + 0xe8]
jne 0x44ead6
lea rcx, [rsp + 0xe0]
call fcn.0040f960
mov rdx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xf0], rdx
cmp qword [rdi], 0
je 0x44eaf9
xor esi, esi
jmp 0x44eb2c
mov rax, rdi
mov r14, qword [rdi + 8]
mov r12, qword [rdi + 0x18]
xor r13d, r13d
cmp r12, r13
setne sil
je 0x44eb2c
movzx ecx, byte [r14 + r13]
mov r8d, 0x16
mov rdx, rbx
call fcn.0049f7b0
inc r13
cmp rax, 1
jne 0x44eb07
lea rcx, [rsp + 0xe0]
mov rdx, rdi
mov r8d, esi
mov r13, qword [rsp + 0x50]
call fcn.0043ff90
mov rsi, rax
mov rcx, rdi
add rcx, 0x28
test rax, rax
je 0x44eaa3
mov rdx, qword [rsp + 0xe8]
test rdx, rdx
je 0x44eb7a
mov rcx, qword [rsp + 0xe0]
add rdx, rdx
mov r8d, 2
call fcn.004024f0
mov rax, qword [rsp + 0x160]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x44d1a0
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0xd8]
call fcn.004024f0
jmp 0x44d1a0
mov rdx, qword [rsp + 0xf0]
cmp rdx, qword [rsp + 0xe8]
jne 0x44ebdd
lea rcx, [rsp + 0xe0]
call fcn.0040f960
mov rdx, qword [rsp + 0xf0]
mov r12, qword [rsp + 0x78]
mov rax, qword [rsp + 0xe0]
mov word [rax + rdx*2], 0x22
mov rax, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
test rax, rax
je 0x44eb7a
inc rdx
mov dword [rsp + 0x68], 0
jmp 0x44d0b2
add rbx, 2
shl eax, 6
or eax, edx
jmp 0x44e3e4
mov rdi, rsi
jmp 0x44d7c9
add rbx, 3
shl eax, 0xc
or ecx, eax
mov eax, ecx
mov qword [rsp + 0x68], rax
jmp 0x44ec45
add rbx, 4
cmp dword [rsp + 0x68], 0xffff
ja 0x44ec57
mov r15, r8
jmp 0x44e3e9
mov r13, qword [rsp + 0x68]
lea eax, [r13 + 0xff0000]
shr eax, 0xa
or eax, 0xd800
and r13d, 0x3ff
or r13d, 0xdc00
mov qword [rsp + 0x68], rax
mov r15, r8
jmp 0x44e3ec
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x1d0], rax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0xe0], rax
lea rax, [0x00428180]
mov qword [rsp + 0xe8], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
mov qword [rsp + 0xa0], 0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
lea rdx, str.library_std_src_syswindowsprocess.rs
lea rcx, [rsp + 0x80]
call fcn.00499500
jmp 0x44eef4
mov ecx, 1
mov rdx, r15
call fcn.0048a8b0
jmp 0x44eef4
call fcn.0048a870
jmp 0x44eef4
mov ecx, 1
mov rdx, r15
call fcn.0048a8b0
jmp 0x44eef4
call fcn.0048a870
jmp 0x44eef4
mov rcx, rdi
mov rdx, rbp
call fcn.0048a8b0
jmp 0x44eef4
call fcn.0048a870
jmp 0x44eef4
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x004c0fd0]
mov edx, 0x21
call fcn.00499580
jmp 0x44eef4
mov rcx, rsi
mov rdx, r13
call fcn.0048a8b0
jmp 0x44eef4
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00499580
jmp 0x44eef4
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00499580
jmp 0x44eef4
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x80], rax
lea rax, [0x00428180]
mov qword [rsp + 0x88], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 1
mov qword [rsp + 0x290], 0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], 1
lea rdx, str.library_std_src_syswindowsos.rs
lea rcx, [rsp + 0x270]
call fcn.00499500
jmp 0x44eef4
call fcn.0048a870
jmp 0x44eef4
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.00499580
jmp 0x44eef4
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rdi
mov r8, rax
call fcn.004a02a0
jmp 0x44eef4
lea r8, str._rustc_eb26296b556cef10fb713a38f3d16b9886080f26librarycore_src_sliceiter.rs
call fcn.004a0220
jmp 0x44eef4
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rdi
mov r8, rax
call fcn.004a02a0
jmp 0x44eef4
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, rax
mov rdx, rsi
call fcn.004a02a0
jmp 0x44eef4
mov ecx, 2
mov rdx, rdi
call fcn.0048a8b0
jmp 0x44eef4
call fcn.0048a870
jmp 0x44eef4
mov rcx, rsi
mov rdx, rdi
call fcn.0048a8b0
ud2