Function at 0x14025b5c0
Capabilities:
Create process on windows
Get common file path
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x628
movdqa xmmword [rsp + 0x610], xmm6
mov byte [rsp + 0x12f], r9b
mov qword [rsp + 0x1d0], r8
mov r12, rdx
mov qword [rsp + 0x148], rcx
mov r13, qword [rdx + 0x60]
movzx eax, byte [rdx + 0x68]
test al, al
jne 0x14025b61c
test r13, r13
jne 0x14025b61c
mov qword [rsp + 0x1d8], 0
xor r15d, r15d
jmp 0x14025c356
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x140], 0
test al, al
mov qword [rsp + 0xe0], r12
jne 0x14025b8a0
mov qword [rsp + 0x60], r13
call sub.kernel32.dll_GetEnvironmentStringsW
test rax, rax
je 0x14025ed94
lea r12, [rsp + 0x218]
lea rbx, [rsp + 0xf0]
lea r14, [rsp + 0x170]
lea rdi, [rsp + 0x200]
mov qword [rsp + 0x78], rax
mov r15, rax
nop
cmp word [r15], 0
je 0x14025b889
mov rbp, r15
mov rcx, 0xfffffffffffffffe
xor edx, edx
nop word [rax + rax]
mov r13, rdx
mov rax, rcx
inc rdx
add rcx, 2
cmp word [rbp + r13*2], 0
jne 0x14025b6a0
lea r15, [rdx*2]
add r15, rbp
cmp r13, 1
je 0x14025b680
test r13, r13
je 0x14025ece2
xor esi, esi
nop word cs:[rax + rax]
cmp word [rbp + rsi*2 + 2], 0x3d
je 0x14025b700
inc rsi
add rax, 0xfffffffffffffffe
jne 0x14025b6e0
jmp 0x14025b680
lea r8, [rsi + 1]
cmp rsi, r13
jae 0x14025ecfa
mov rcx, rbx
mov rdx, rbp
call fcn.1402368a0
add rsi, 2
mov r8, r13
sub r8, rsi
jb 0x14025ed14
lea rdx, [rsi*2]
add rdx, rbp
mov rcx, r14
call fcn.1402368a0
movups xmm0, xmmword [rsp + 0xf0]
movups xmm1, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x200], xmm0
movups xmm0, xmmword [rsp + 0x170]
movups xmm1, xmmword [rsp + 0x180]
movups xmmword [r12 + 0x18], xmm1
movups xmmword [r12 + 8], xmm0
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movaps xmm3, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0xb0], xmm3
cmp byte [rsp + 0x98], 2
je 0x14025b889
mov rsi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x90]
add rax, rsi
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], rax
mov word [rsp + 0x180], 0
mov rcx, rbx
mov rdx, r14
call fcn.14025f3b0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
movdqu xmm0, xmmword [rsp + 0xf0]
movdqa xmmword [rsp + 0x200], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x210], rax
mov rcx, r14
lea rdx, [rsp + 0x130]
mov r8, rdi
lea r9, [rsp + 0xa0]
call fcn.14025fc60
cmp byte [rsp + 0x188], 2
je 0x14025b680
cmp qword [rsp + 0x178], 0
je 0x14025b680
mov rcx, qword [rsp + 0x170]
mov edx, 1
call fcn.140026d90
jmp 0x14025b680
mov rcx, qword [rsp + 0x78]
call sub.kernel32.dll_FreeEnvironmentStringsW
mov r12, qword [rsp + 0xe0]
mov r13, qword [rsp + 0x60]
movabs rcx, 0x3ffffffffffffffe
mov rax, qword [r12 + 0x50]
mov rbx, qword [r12 + 0x58]
xor r14d, r14d
test rax, rax
setne r14b
cmove r13, rax
xor r12d, r12d
inc rcx
mov qword [rsp + 0x120], rcx
jmp 0x14025b8e2
xor eax, eax
test r13, r13
je 0x14025c18d
test r14, r14
je 0x14025b940
test r12, r12
jne 0x14025b940
mov r14d, 1
test rbx, rbx
je 0x14025b94a
mov rdx, rbx
and rdx, 7
je 0x14025b94f
mov rcx, rbx
and rcx, 0xfffffffffffffff8
mov r12, rax
nop word cs:[rax + rax]
mov r12, qword [r12 + 0x3d8]
dec rdx
jne 0x14025b920
cmp rbx, 8
jae 0x14025b960
jmp 0x14025b99f
test r14, r14
jne 0x14025b9a3
jmp 0x14025ec71
mov r12, rax
jmp 0x14025b99f
mov r12, rax
mov rcx, rbx
cmp rbx, 8
jb 0x14025b99f
nop dword [rax + rax]
mov rax, qword [r12 + 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 r12, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14025b960
xor ebx, ebx
xor eax, eax
movzx ecx, word [r12 + 0x3d2]
mov rsi, r12
mov r15, rbx
cmp rbx, rcx
jb 0x14025b9e8
nop word [rax + rax]
mov rcx, qword [rsi + 0x160]
test rcx, rcx
je 0x14025ea1f
movzx r15d, word [rsi + 0x3d0]
inc rax
mov rsi, rcx
cmp r15w, word [rcx + 0x3d2]
jae 0x14025b9c0
test rax, rax
je 0x14025ba80
mov r12, qword [rsi + r15*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x14025ba6f
mov rdx, rcx
and rdx, 7
je 0x14025ba26
mov rcx, rdx
nop dword [rax]
mov r12, qword [r12 + 0x3d8]
dec rcx
jne 0x14025ba10
not rdx
add rdx, rax
mov rcx, rdx
add rax, 0xfffffffffffffffe
cmp rax, 7
jb 0x14025ba6f
mov rax, qword [r12 + 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 r12, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14025ba30
xor ebx, ebx
jmp 0x14025ba87
lea rbx, [r15 + 1]
mov r12, rsi
dec r13
imul rax, r15, 0x38
lea rbp, [rsi + rax]
add rbp, 0x168
shl r15, 5
cmp byte [rsi + r15 + 0x18], 2
jne 0x14025bb00
mov rdi, qword [rsp + 0x130]
mov eax, 0
test rdi, rdi
je 0x14025b8e2
mov rsi, rbx
mov r9, qword [rbp]
mov rax, qword [rbp + 0x10]
mov rbx, qword [rsp + 0x138]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xf0]
mov rdx, rdi
mov r8, rbx
call fcn.14025f5b0
cmp qword [rsp + 0xf0], 0
je 0x14025bce4
xor eax, eax
mov rbx, rsi
jmp 0x14025b8e2
mov qword [rsp + 0x68], r14
mov r14, qword [rbp + 0x18]
mov rdi, qword [rbp + 0x28]
test rdi, rdi
mov qword [rsp + 0x58], rbx
je 0x14025bb3e
js 0x14025ec8e
movzx eax, byte [0x140545270]
mov edx, 1
mov rcx, rdi
call fcn.140026d00
mov rbx, rax
test rax, rax
jne 0x14025bb43
jmp 0x14025ecbe
mov ebx, 1
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call sub.msvcrt.dll_memcpy
movzx eax, byte [rbp + 0x30]
mov rdx, qword [rbp]
mov rbp, qword [rbp + 0x10]
mov r14d, 2
test rbp, rbp
mov qword [rsp + 0x60], r13
mov byte [rsp + 0x78], al
je 0x14025bbc0
cmp rbp, qword [rsp + 0x120]
ja 0x14025ec98
mov r13, rbp
add r13, rbp
je 0x14025bbc0
mov qword [rsp + 0xe8], rdx
movzx eax, byte [0x140545270]
mov edx, 2
mov rcx, r13
call fcn.140026d00
test rax, rax
je 0x14025ecd0
mov r14, rax
mov rdx, qword [rsp + 0xe8]
jmp 0x14025bbc3
xor r13d, r13d
add rsi, r15
mov rcx, r14
mov r8, r13
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x218], rbx
mov qword [rsp + 0x220], rdi
mov qword [rsp + 0x228], rdi
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0x230], al
mov qword [rsp + 0x200], r14
mov qword [rsp + 0x208], rbp
mov qword [rsp + 0x210], rbp
mov rbx, qword [rsi]
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x14025bc45
mov r13, qword [rsp + 0x60]
js 0x14025ecb4
movzx eax, byte [0x140545270]
mov edx, 1
mov rcx, rdi
call fcn.140026d00
mov r14, rax
test rax, rax
jne 0x14025bc50
jmp 0x14025eca2
mov r14d, 1
mov r13, qword [rsp + 0x60]
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
movzx eax, byte [rsi + 0x18]
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x90], rdi
mov byte [rsp + 0x98], al
lea rcx, [rsp + 0x170]
lea rdx, [rsp + 0x130]
lea r8, [rsp + 0x200]
lea r9, [rsp + 0x80]
call fcn.14025fc60
cmp byte [rsp + 0x188], 2
mov r14, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x58]
je 0x14025b8e0
cmp qword [rsp + 0x178], 0
je 0x14025b8e0
mov rcx, qword [rsp + 0x170]
mov edx, 1
call fcn.140026d90
jmp 0x14025b8e0
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov byte [rsp + 0x77], 0
test rdx, rdx
je 0x14025bea1
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x14025bdde
mov r8, rcx
and r8, 7
je 0x14025bd4e
mov rcx, r8
nop word [rax + rax]
movzx r9d, word [rax + 0x3d2]
mov rax, qword [rax + r9*8 + 0x3d8]
dec rcx
jne 0x14025bd30
not r8
add r8, rdx
mov rcx, r8
add rdx, 0xfffffffffffffffe
cmp rdx, 7
jb 0x14025bdde
nop dword [rax]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14025bd60
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], rcx
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0x158]
lea r8, [rsp + 0x77]
call fcn.14025f710
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x1c0], rax
movups xmm0, xmmword [rsp + 0x240]
movaps xmmword [rsp + 0x1b0], xmm0
movdqu xmm0, xmmword [rsp + 0x200]
movups xmm1, xmmword [rsp + 0x210]
movups xmm2, xmmword [rsp + 0x220]
movups xmm3, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x1a0], xmm3
movaps xmmword [rsp + 0x190], xmm2
movaps xmmword [rsp + 0x180], xmm1
movdqa xmmword [rsp + 0x170], xmm0
mov rdx, qword [rsp + 0x258]
mov rax, qword [rsp + 0x268]
movzx ecx, word [rdx + 0x3d2]
cmp rax, rcx
jae 0x14025bedc
mov rcx, rdx
jmp 0x14025bf19
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], rcx
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x77]
call fcn.14025f710
jmp 0x14025c033
mov r8, qword [rsp + 0x260]
nop word cs:[rax + rax]
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x14025bf14
movzx eax, word [rdx + 0x3d0]
inc r8
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x14025bef0
jmp 0x14025bf19
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 + 0x1a0]
mov qword [rcx + rdx + 0x198], r8
movaps xmm0, xmmword [rsp + 0x170]
movaps xmm1, xmmword [rsp + 0x180]
movaps xmm2, xmmword [rsp + 0x190]
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 + 0x1a8]
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 + 0x250], rax
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x240], xmm0
movdqa xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movaps xmm2, xmmword [rsp + 0xa0]
movaps xmm3, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x230], xmm3
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x210], xmm1
movdqa xmmword [rsp + 0x200], xmm0
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [rsp + 0x240]
movaps xmmword [rsp + 0xc0], xmm0
movdqa xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movaps xmm3, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xa0], xmm2
dec qword [rsp + 0x140]
movaps xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
cmp byte [rsp + 0x77], 0
je 0x14025c0df
test rbx, rbx
je 0x14025ed2b
mov rax, qword [rdi + 0x3d8]
mov qword [rsp + 0x130], rax
dec rbx
mov qword [rsp + 0x138], rbx
mov qword [rax + 0x160], 0
mov edx, 8
mov rcx, rdi
call fcn.140026d90
cmp byte [rsp + 0xb0], 2
mov eax, 0
mov rbx, rsi
je 0x14025b8e2
mov r15, r14
mov rbx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x78], rax
mov rdi, qword [rsp + 0xc0]
movzx ebp, byte [rsp + 0xd0]
cmp qword [rsp + 0xa0], 0
je 0x14025c142
mov rcx, qword [rsp + 0x98]
mov edx, 1
call fcn.140026d90
test r14, r14
je 0x14025c154
mov edx, 2
mov rcx, rbx
call fcn.140026d90
mov eax, 0
cmp bpl, 2
mov r14, r15
mov rbx, rsi
je 0x14025b8e2
mov eax, 0
test rdi, rdi
je 0x14025b8e2
mov edx, 1
mov rcx, qword [rsp + 0x78]
call fcn.140026d90
xor eax, eax
jmp 0x14025b8e2
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x1f0], rax
movdqu xmm0, xmmword [rsp + 0x130]
movdqu xmmword [rsp + 0x1e0], xmm0
mov qword [rsp + 0x1d8], 1
movzx eax, byte [0x140545270]
mov r13d, 4
mov ecx, 4
mov edx, 1
call fcn.140026d00
test rax, rax
je 0x14025ed48
mov rsi, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rax
mov word [rsp + 0x90], 0
lea rcx, [rsp + 0x170]
lea rdx, [rsp + 0x80]
call fcn.14025f3b0
mov r12, qword [rsp + 0xe0]
mov qword [rsp + 0x218], rsi
mov qword [rsp + 0x220], 4
mov qword [rsp + 0x228], 4
mov byte [rsp + 0x230], 0
movdqu xmm0, xmmword [rsp + 0x170]
movdqa xmmword [rsp + 0x200], xmm0
mov r15, qword [rsp + 0x180]
mov qword [rsp + 0x210], r15
mov rdi, qword [rsp + 0x200]
mov r14, qword [rsp + 0x1e0]
test r14, r14
mov qword [rsp + 0x60], rsi
je 0x14025c32c
mov r12, qword [rsp + 0x1e8]
lea rcx, [r14 + 0x168]
movzx ebp, word [r14 + 0x3d2]
imul rbx, rbp, 0x38
mov r13, 0xffffffffffffffff
nop
test rbx, rbx
je 0x14025c2f0
lea rsi, [rcx + 0x38]
mov r8, qword [rcx]
mov r9d, dword [rcx + 0x10]
mov dword [rsp + 0x20], 1
mov rcx, rdi
mov edx, r15d
call sub.kernel32.dll_CompareStringOrdinal
add rbx, 0xffffffffffffffc8
inc r13
mov rcx, rsi
cmp eax, 3
je 0x14025c2b0
cmp eax, 1
jne 0x14025c307
jmp 0x14025c2f3
mov r13, rbp
sub r12, 1
jb 0x14025c840
mov r14, qword [r14 + r13*8 + 0x3d8]
jmp 0x14025c294
cmp eax, 2
jne 0x14025ebe1
test r14, r14
mov r12, qword [rsp + 0xe0]
je 0x14025c32c
shl r13, 5
mov r15, qword [r14 + r13]
mov rbx, qword [r14 + r13 + 0x10]
jmp 0x14025c32f
xor r15d, r15d
mov edx, 1
mov rcx, qword [rsp + 0x60]
call fcn.140026d90
cmp qword [rsp + 0x208], 0
je 0x14025c356
mov edx, 2
mov rcx, rdi
call fcn.140026d90
mov r13, qword [r12 + 0x40]
lea rbp, str.program_path_has_no_file_name
test r13, r13
je 0x14025c3bf
mov rcx, qword [r12 + 0x30]
cmp r13, 4
mov qword [rsp + 0x60], rcx
jae 0x14025c380
lea rax, [0x1402610e0]
jmp 0x14025c3ad
mov eax, dword [rcx]
bswap eax
xor ecx, ecx
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
adc ecx, 0xffffffff
lea rcx, [0x1402610d0]
lea rax, [0x1402610e0]
cmove rax, rcx
mov rcx, qword [rsp + 0x60]
movzx esi, byte [r13 + rcx - 1]
mov ecx, esi
call rax
test al, al
je 0x14025c441
cmp r13, 4
jb 0x14025c4f9
mov rdx, qword [rsp + 0x60]
movzx eax, byte [r13 + rdx - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x14025c502
movzx eax, byte [rdx + r13 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x14025c502
movzx eax, byte [rdx + r13 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x14025c4f9
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x14025c4fb
xor eax, eax
mov rdx, qword [rsp + 0x60]
jmp 0x14025c504
xor eax, eax
lea rcx, [rdx + r13]
mov qword [rsp + 0x78], rcx
xor ecx, ecx
nop
cmp r13, rcx
je 0x14025c59f
mov rdx, qword [rsp + 0x60]
movzx edx, byte [rdx + rcx]
cmp edx, 0x2f
je 0x14025c52f
inc rcx
cmp edx, 0x5c
jne 0x14025c510
test al, al
je 0x14025c670
lea rcx, [rsp + 0x200]
mov rdx, qword [rsp + 0x60]
mov r8, r13
call fcn.140235270
mov rcx, qword [rsp + 0x200]
mov rax, qword [rsp + 0x208]
test rcx, rcx
je 0x14025c7c6
mov rdx, qword [rsp + 0x210]
mov qword [rsp + 0x200], rcx
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], rdx
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0x200]
call fcn.140261270
jmp 0x14025d273
xor r8d, r8d
lea rbp, str.X_tL_
mov rax, qword [rsp + 0x60]
jmp 0x14025c5bc
xor r8d, r8d
test cx, cx
je 0x14025c3bf
mov cx, 1
test r8w, r8w
jne 0x14025c5b0
cmp rax, qword [rsp + 0x78]
je 0x14025c812
movzx edx, byte [rax]
test dl, dl
js 0x14025c5dd
inc rax
jmp 0x14025c63c
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14025c62e
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x14025c646
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 0x14025c63c
jmp 0x14025c65c
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
xor r8d, r8d
mov ecx, edx
jmp 0x14025c5b3
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x14025c63c
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x14025c5b3
test r13, r13
js 0x14025ee24
movzx eax, byte [0x140545270]
mov edx, 1
mov rcx, r13
call fcn.140026d00
test rax, rax
je 0x14025ed48
mov rsi, rax
mov rcx, rax
mov rdx, qword [rsp + 0x60]
mov r8, r13
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x90], r13
mov byte [rsp + 0x98], 0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x210], rax
movzx eax, byte [rsp + 0x98]
mov byte [rsp + 0x218], al
mov eax, dword [rsp + 0x99]
mov dword [rsp + 0x219], eax
movzx eax, word [rsp + 0x9d]
mov word [rsp + 0x21d], ax
movzx eax, byte [rsp + 0x9f]
mov byte [rsp + 0x21f], al
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x208], rax
lea rdx, str..exeprogram_not_found
lea rcx, [rsp + 0x200]
mov r8d, 4
call fcn.140253f60
movdqa xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
mov rsi, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
lea rcx, [rsp + 0x170]
mov rdx, rsi
mov r8, rdi
call fcn.1402610f0
cmp qword [rsp + 0x170], 0
je 0x14025c7df
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x140], rax
movdqu xmm0, xmmword [rsp + 0x170]
movdqa xmmword [rsp + 0x130], xmm0
jmp 0x14025d25b
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x130], 0
jmp 0x14025d273
mov rcx, rsi
mov rdx, rdi
call fcn.14025a4c0
test rax, rax
je 0x14025d1e8
cmp rdx, 2
jne 0x14025c850
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x14025c850
mov r8d, 2
mov r9, rax
jmp 0x14025d1bd
cmp r13, 0xf
ja 0x14025c895
xor eax, eax
mov qword [rsp + 0xe8], rax
xor eax, eax
mov rcx, qword [rsp + 0x60]
nop dword [rax]
cmp byte [rcx + rax], 0x2e
je 0x14025c8ab
inc rax
cmp r13, rax
jne 0x14025c830
jmp 0x14025c8b8
mov r12, qword [rsp + 0xe0]
xor r15d, r15d
jmp 0x14025c32f
xor r9d, r9d
mov r8, rdx
nop word cs:[rax + rax]
test r8, r8
je 0x14025c8a6
mov rcx, r8
dec r8
cmp byte [rax + rcx - 1], 0x2e
jne 0x14025c860
mov r10, rdx
sub r10, rcx
jb 0x14025ee5f
test r8, r8
je 0x14025d1b7
mov r9, rax
add rax, rcx
mov rdx, r10
jmp 0x14025d1bf
mov cl, 0x2e
mov rdx, qword [rsp + 0x60]
mov r8, r13
call fcn.14005aed0
jmp 0x14025c8b0
jmp 0x14025d1bf
mov eax, 1
mov qword [rsp + 0xe8], rax
test r15, r15
je 0x14025c907
add rbx, r15
mov qword [rsp + 0x170], r15
mov qword [rsp + 0x178], rbx
mov word [rsp + 0x180], 0
mov byte [rsp + 0x188], 1
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0x170]
call fcn.140253420
movzx eax, byte [rsp + 0x218]
cmp al, 2
jne 0x14025cc07
lea r15, [rsp + 0x219]
lea rbp, [rsp + 0x99]
lea rsi, [rsp + 0x200]
lea rdi, [rsp + 0x170]
lea rbx, [rsp + 0x80]
jmp 0x14025cc5b
mov r9, rax
mov r8, rdx
xor eax, eax
test r9, r9
cmovne rax, r9
test rax, rax
je 0x14025d1e8
test r9, r9
cmove r8, rdx
add rax, r8
sub rax, rsi
cmp rdi, rax
jb 0x14025d1e8
mov qword [rsp + 0x90], rax
mov rdi, rax
lea rcx, [rsp + 0x200]
mov rdx, rsi
mov r8, rdi
call fcn.140235270
mov rcx, qword [rsp + 0x200]
lea rcx, [0x1404ee977]
lea r8, str._rustc_cc66ad468955717ab92600c770da8c1601a4ff33library_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.1400519b0
jmp 0x14025eeba
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x170], rax
lea rax, [fcn.1402525d0]
mov qword [rsp + 0x178], 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 + 0x170]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
lea rdx, str.library_std_src_syswindowsprocess.rs
lea rcx, [rsp + 0x80]
call fcn.14004fdf0
jmp 0x14025eeba
lea rcx, [0x1404ee977]
lea r8, str._rustc_cc66ad468955717ab92600c770da8c1601a4ff33library_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.1400519b0
jmp 0x14025eeba
call fcn.14004a140
jmp 0x14025eeba
call fcn.14004a140
jmp 0x14025eeba
mov ecx, 1
mov rdx, rdi
call fcn.14004a180
jmp 0x14025eeba
call fcn.14004a140
jmp 0x14025eeba
mov ecx, 1
mov rdx, rdi
call fcn.14004a180
jmp 0x14025eeba
mov ecx, 2
mov rdx, r13
call fcn.14004a180
jmp 0x14025eeba
lea r8, str.library_std_src_syswindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.140050080
jmp 0x14025eeba
lea rax, str.library_std_src_syswindowsos.rs
mov rcx, r8
mov rdx, r13
mov r8, rax
call fcn.140051130
jmp 0x14025eeba
lea r8, str.library_std_src_syswindowsos.rs
mov rcx, rsi
mov rdx, r13
call fcn.140050080
jmp 0x14025eeba
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x1404be278]
mov edx, 0x21
call fcn.1400519b0
jmp 0x14025eeba
mov ecx, 1
mov rdx, r13
call fcn.14004a180
jmp 0x14025eeba
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x170], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 0x80], rax
lea rax, [fcn.1402525d0]
mov qword [rsp + 0x88], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x208], 1
mov qword [rsp + 0x220], 0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x218], 1
lea rdx, str.library_std_src_syswindowsos.rs
lea rcx, [rsp + 0x200]
call fcn.14004fdf0
jmp 0x14025eeba
call fcn.14004a140
jmp 0x14025eeba
lea r8, str._rustc_cc66ad468955717ab92600c770da8c1601a4ff33librarycore_src_sliceiter.rs
call fcn.140050080
jmp 0x14025eeba