Function at 0x1400245a0
Capabilities:
Create process on windows
Encode data using base64
Encrypt data using speck
Get common file path
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x688
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x5f0], xmm6
mov qword [rbp + 0x5e8], 0xfffffffffffffffe
mov qword [rbp + 0x448], r8
mov qword [rbp + 0x4f8], rcx
movzx eax, byte [rdx + 0xa0]
mov qword [rbp + 0x578], rdx
mov rbx, qword [rdx + 0x98]
test al, al
jne 0x14002460d
test rbx, rbx
jne 0x14002460d
mov qword [rbp + 0x410], 0
xor r12d, r12d
jmp 0x1400252d1
mov qword [rbp + 0x4e0], 0
mov qword [rbp + 0x4f0], 0
test al, al
jne 0x140024846
mov qword [rbp + 0x5d8], rbx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test rax, rax
je 0x140027fb4
lea rbx, [rbp]
lea rsi, [rbp + 0x460]
lea r14, [rbp + 0x580]
mov qword [rbp + 0x5a8], rax
mov rdi, rax
nop dword [rax]
cmp word [rdi], 0
je 0x140024832
mov r12, rdi
mov rcx, 0xfffffffffffffffe
xor edx, edx
nop word cs:[rax + rax]
mov r15, rdx
mov rax, rcx
inc rdx
add rcx, 2
cmp word [r12 + r15*2], 0
jne 0x140024680
lea rdi, [r12 + rdx*2]
cmp r15, 1
je 0x140024660
test r15, r15
je 0x140027eeb
xor r13d, r13d
nop dword [rax + rax]
cmp word [r12 + r13*2 + 2], 0x3d
je 0x1400246d0
inc r13
add rax, 0xfffffffffffffffe
jne 0x1400246b0
jmp 0x140024660
lea r8, [r13 + 1]
cmp r13, r15
jae 0x140027f03
mov rcx, rsi
mov rdx, r12
call fcn.14001c2c0
add r13, 2
mov r8, r15
sub r8, r13
jb 0x140027f1d
lea rdx, [r12 + r13*2]
lea rcx, [rbp - 0x20]
call fcn.14001c2c0
mov r9, qword [rbp + 0x460]
mov r8, qword [rbp + 0x468]
movdqu xmm6, xmmword [rbp + 0x470]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
movups xmm0, xmmword [rbx - 0x10]
movaps xmmword [rbp + 0x4c0], xmm0
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x140024832
mov qword [rbp + 0x5d0], r9
mov qword [rbp + 0x5b0], rdx
mov qword [rbp + 0x5c0], rcx
movq rax, xmm6
add rax, r8
mov qword [rbp + 0x460], r8
mov qword [rbp + 0x468], rax
mov word [rbp + 0x470], 0
mov r15, r14
mov rcx, r14
mov rdx, rsi
mov qword [rbp + 0x5b8], r8
call fcn.140029570
mov rax, qword [rbp + 0x5d0]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x5b8]
mov qword [rbp - 0x18], rax
movdqu xmmword [rbp - 0x10], xmm6
mov rax, qword [rbp + 0x590]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rbp + 0x580]
movups xmmword [rbx], xmm0
mov rax, qword [rbp + 0x5b0]
mov qword [rbp + 0x460], rax
mov rax, qword [rbp + 0x5c0]
mov qword [rbp + 0x468], rax
movaps xmm0, xmmword [rbp + 0x4c0]
lea rax, [rbp + 0x470]
movups xmmword [rax], xmm0
mov byte [rbp + 0x5a7], 0
mov rcx, r15
lea rdx, [rbp + 0x4e0]
lea r8, [rbp - 0x20]
mov r9, rsi
call fcn.1400297d0
mov rax, qword [rbp + 0x580]
shl rax, 1
test rax, rax
je 0x140024660
mov r8, qword [rbp + 0x588]
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140024660
mov rcx, qword [rbp + 0x5a8]
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rbx, qword [rbp + 0x5d8]
mov rcx, qword [rbp + 0x578]
mov rax, qword [rcx + 0x88]
mov rcx, qword [rcx + 0x90]
mov qword [rbp + 0x5b0], rcx
xor edi, edi
test rax, rax
setne dil
cmove rbx, rax
xor esi, esi
jmp 0x140024882
xor eax, eax
test rbx, rbx
je 0x1400250e2
test rdi, rdi
je 0x1400248e0
test rsi, rsi
jne 0x1400248e0
mov edi, 1
mov r8, qword [rbp + 0x5b0]
test r8, r8
je 0x1400248f1
mov rdx, r8
and rdx, 7
je 0x1400248f6
mov rcx, r8
and rcx, 0xfffffffffffffff8
mov rsi, rax
nop dword [rax]
mov rsi, qword [rsi + 0x3d8]
dec rdx
jne 0x1400248c0
cmp r8, 8
jae 0x140024910
jmp 0x14002494e
test rdi, rdi
mov rdx, qword [rbp + 0x5b0]
jne 0x140024952
jmp 0x140027e68
mov rsi, rax
jmp 0x14002494e
mov rsi, rax
mov rcx, r8
cmp r8, 8
jb 0x14002494e
nop word cs:[rax + rax]
mov rax, qword [rsi + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rsi, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x140024910
xor edx, edx
xor eax, eax
movzx ecx, word [rsi + 0x3d2]
mov r15, rsi
mov r12, rdx
cmp rdx, rcx
jb 0x140024998
nop word cs:[rax + rax]
mov rcx, qword [r15 + 0x160]
test rcx, rcx
je 0x1400277c6
inc rax
movzx r12d, word [r15 + 0x3d0]
mov r15, rcx
cmp r12w, word [rcx + 0x3d2]
jae 0x140024970
test rax, rax
je 0x140024a30
mov rsi, qword [r15 + r12*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x140024a1e
mov rdx, rcx
and rdx, 7
je 0x1400249d5
mov rcx, rdx
nop dword [rax]
mov rsi, qword [rsi + 0x3d8]
dec rcx
jne 0x1400249c0
not rdx
add rdx, rax
mov rcx, rdx
add rax, 0xfffffffffffffffe
cmp rax, 7
jb 0x140024a1e
nop
mov rax, qword [rsi + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rsi, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x1400249e0
xor r13d, r13d
jmp 0x140024a38
lea r13, [r12 + 1]
mov rsi, r15
dec rbx
imul rax, r12, 0x38
lea r14, [r15 + rax]
add r14, 0x168
shl r12, 5
movabs rax, 0x8000000000000000
cmp qword [r15 + r12], rax
mov qword [rbp + 0x5b0], r13
jne 0x140024ac0
mov r13, qword [rbp + 0x4e0]
mov eax, 0
test r13, r13
je 0x140024882
mov r15, rdi
mov r9, qword [r14 + 0x28]
mov rax, qword [r14 + 0x30]
mov rdi, qword [rbp + 0x4e8]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x580]
mov rdx, r13
mov r8, rdi
call fcn.14002af20
cmp qword [rbp + 0x580], 0
je 0x140024cf9
xor eax, eax
mov rdi, r15
jmp 0x140024882
mov qword [rbp + 0x5a8], rdi
mov rdi, qword [r14 + 8]
mov rax, qword [r14 + 0x10]
mov qword [rbp + 0x5d0], rax
test rax, rax
je 0x140024b26
js 0x140027ee1
movzx eax, byte [0x1400b6d30]
mov rax, qword [0x1400b6ca0]
test rax, rax
jne 0x140024b0a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140027eb0
mov qword [0x1400b6ca0], rax
mov rcx, rax
xor edx, edx
mov r8, qword [rbp + 0x5d0]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140024b2b
jmp 0x140027eb0
mov eax, 1
mov qword [rbp + 0x5d8], rbx
mov qword [rbp + 0x5b8], rax
mov rcx, rax
mov rdx, rdi
mov r8, qword [rbp + 0x5d0]
call fcn.1400420d0
movzx ebx, byte [r14 + 0x18]
mov rdi, qword [r14 + 0x28]
mov r14, qword [r14 + 0x30]
test r14, r14
je 0x140024baf
mov rax, r14
shr rax, 0x3e
jne 0x140027ec6
lea r13, [r14 + r14]
movzx eax, byte [0x1400b6d30]
mov rax, qword [0x1400b6ca0]
test rax, rax
jne 0x140024b97
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140027e9e
mov qword [0x1400b6ca0], rax
mov rcx, rax
xor edx, edx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140024bb7
jmp 0x140027e9e
mov eax, 2
xor r13d, r13d
mov qword [rbp + 0x5c0], rax
add r15, r12
mov rcx, rax
mov rdx, rdi
mov r8, r13
call fcn.1400420d0
mov rax, qword [rbp + 0x5d0]
mov qword [rbp - 0x20], rax
mov rcx, qword [rbp + 0x5b8]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
mov byte [rbp - 8], bl
mov qword [rbp], r14
mov rax, qword [rbp + 0x5c0]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], r14
mov r13, qword [r15 + 8]
mov rdi, qword [r15 + 0x10]
test rdi, rdi
mov qword [rbp + 0x570], r14
je 0x140024c64
mov rbx, qword [rbp + 0x5d8]
js 0x140027ed0
movzx eax, byte [0x1400b6d30]
mov rax, qword [0x1400b6ca0]
test rax, rax
jne 0x140024c49
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140027e85
mov qword [0x1400b6ca0], rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
jne 0x140024c71
jmp 0x140027e85
mov r12d, 1
mov rbx, qword [rbp + 0x5d8]
mov rcx, r12
mov rdx, r13
mov r8, rdi
call fcn.1400420d0
movzx eax, byte [r15 + 0x18]
mov qword [rbp + 0x460], rdi
mov qword [rbp + 0x468], r12
mov qword [rbp + 0x470], rdi
mov byte [rbp + 0x478], al
mov byte [rbp + 0x5ca], 0
lea rcx, [rbp + 0x580]
lea rdx, [rbp + 0x4e0]
lea r8, [rbp - 0x20]
lea r9, [rbp + 0x460]
call fcn.1400297d0
mov rax, qword [rbp + 0x580]
shl rax, 1
test rax, rax
mov rdi, qword [rbp + 0x5a8]
je 0x140024880
mov r8, qword [rbp + 0x588]
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140024880
mov rax, qword [rbp + 0x588]
mov rdx, qword [rbp + 0x590]
mov rcx, qword [rbp + 0x598]
mov byte [rbp + 0x400], 0
test rdx, rdx
je 0x140024e83
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x140024dee
mov r8, rcx
and r8, 7
je 0x140024d5e
mov rcx, r8
nop
movzx r9d, word [rax + 0x3d2]
mov rax, qword [rax + r9*8 + 0x3d8]
dec rcx
jne 0x140024d40
not r8
add r8, rdx
mov rcx, r8
add rdx, 0xfffffffffffffffe
cmp rdx, 7
jb 0x140024dee
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 0x140024d70
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rbp + 0x4c0], rax
mov qword [rbp + 0x4c8], 0
mov qword [rbp + 0x4d0], rcx
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0x4c0]
lea r8, [rbp + 0x400]
call fcn.14002b0c0
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x4b0], rax
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x4a0], xmm0
movups xmm0, xmmword [rbp - 0x20]
movups xmm1, xmmword [rbp - 0x10]
movups xmm2, xmmword [rbp]
movups xmm3, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x490], xmm3
movaps xmmword [rbp + 0x480], xmm2
movaps xmmword [rbp + 0x470], xmm1
movaps xmmword [rbp + 0x460], xmm0
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x48]
movzx ecx, word [rdx + 0x3d2]
cmp rax, rcx
jae 0x140024eb8
mov rcx, rdx
jmp 0x140024ee9
mov qword [rbp + 0x460], rax
mov qword [rbp + 0x468], 0
mov qword [rbp + 0x470], rcx
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0x460]
lea r8, [rbp + 0x400]
call fcn.14002b0c0
jmp 0x140024fd9
mov r8, qword [rbp + 0x40]
nop dword [rax]
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x140024ee4
inc r8
movzx eax, word [rdx + 0x3d0]
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x140024ec0
jmp 0x140024ee9
mov rax, r8
xor ecx, ecx
imul rdx, rax, 0x38
shl rax, 5
mov r8, qword [rcx + rdx + 0x198]
mov qword [rbp + 0x530], r8
movups xmm0, xmmword [rcx + rdx + 0x168]
movups xmm1, xmmword [rcx + rdx + 0x178]
movups xmm2, xmmword [rcx + rdx + 0x188]
movaps xmmword [rbp + 0x520], xmm2
movaps xmmword [rbp + 0x510], xmm1
movaps xmmword [rbp + 0x500], xmm0
mov r8, qword [rbp + 0x490]
mov qword [rcx + rdx + 0x198], r8
movaps xmm0, xmmword [rbp + 0x460]
movaps xmm1, xmmword [rbp + 0x470]
movaps xmm2, xmmword [rbp + 0x480]
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, [rbp + 0x538]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rdx, [rbp + 0x498]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
mov rax, qword [rbp + 0x550]
mov qword [rbp + 0x30], rax
movaps xmm0, xmmword [rbp + 0x540]
movaps xmmword [rbp + 0x20], xmm0
movaps xmm0, xmmword [rbp + 0x500]
movaps xmm1, xmmword [rbp + 0x510]
movaps xmm2, xmmword [rbp + 0x520]
movaps xmm3, xmmword [rbp + 0x530]
movaps xmmword [rbp + 0x10], xmm3
movaps xmmword [rbp], xmm2
movaps xmmword [rbp - 0x10], xmm1
movaps xmmword [rbp - 0x20], xmm0
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov rax, qword [rbp]
mov qword [rbp + 0x5d0], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x5d8], rax
dec qword [rbp + 0x4f0]
mov r12, qword [rbp + 0x18]
mov r14, qword [rbp + 0x20]
cmp byte [rbp + 0x400], 0
je 0x140025069
mov qword [rbp + 0x5b8], rdx
mov qword [rbp + 0x5c0], r8
test rdi, rdi
je 0x140027f34
mov rax, qword [r13 + 0x3d8]
mov qword [rbp + 0x4e0], rax
dec rdi
mov qword [rbp + 0x4e8], rdi
mov qword [rax + 0x160], 0
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rbp + 0x5c0]
mov rdx, qword [rbp + 0x5b8]
mov eax, 0
movabs rcx, 0x8000000000000000
cmp rdx, rcx
mov rdi, r15
je 0x140024882
test rdx, rdx
je 0x140025098
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x5d0], 0
je 0x1400250b8
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5d8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
shl r12, 1
mov eax, 0
test r12, r12
je 0x140024882
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
jmp 0x140024882
mov rax, qword [rbp + 0x4f0]
mov qword [rbp + 0x428], rax
movups xmm0, xmmword [rbp + 0x4e0]
movups xmmword [rbp + 0x418], xmm0
mov qword [rbp + 0x410], 1
movzx eax, byte [0x1400b6d30]
mov rcx, qword [0x1400b6ca0]
test rcx, rcx
jne 0x140025135
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140027f5f
mov rcx, rax
mov qword [0x1400b6ca0], rax
mov r8d, 4
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140027f5f
mov dword [rax], 0x48544150
mov rcx, rax
add rcx, 4
mov qword [rbp + 0x500], rax
mov qword [rbp + 0x508], rcx
mov word [rbp + 0x510], 0
lea rcx, [rbp + 0x460]
lea rdx, [rbp + 0x500]
mov qword [rbp + 0x5d0], rax
call fcn.140029570
mov qword [rbp - 0x20], 4
mov r8, qword [rbp + 0x5d0]
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x10], 4
mov byte [rbp - 8], 0
movups xmm0, xmmword [rbp + 0x460]
movups xmmword [rbp], xmm0
mov r14, qword [rbp + 0x470]
mov qword [rbp + 0x10], r14
mov rsi, qword [rbp + 8]
mov rbx, qword [rbp + 0x418]
test rbx, rbx
je 0x14002529a
mov rax, qword [rbp + 0x420]
mov qword [rbp + 0x5b0], rax
mov r13, qword [sym.imp.KERNEL32.dll_CompareStringOrdinal]
lea rcx, [rbx + 0x168]
movzx eax, word [rbx + 0x3d2]
mov qword [rbp + 0x5d8], rax
imul rdi, rax, 0x38
mov r15, 0xffffffffffffffff
nop dword [rax + rax]
test rdi, rdi
je 0x140025250
lea r12, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, rsi
mov edx, r14d
call r13
inc r15
add rdi, 0xffffffffffffffc8
mov rcx, r12
cmp eax, 3
je 0x140025210
cmp eax, 1
jne 0x14002527c
jmp 0x140025257
mov r15, qword [rbp + 0x5d8]
mov rax, qword [rbp + 0x5b0]
sub rax, 1
jb 0x1400257c1
mov qword [rbp + 0x5b0], rax
mov rbx, qword [rbx + r15*8 + 0x3d8]
jmp 0x1400251e8
cmp eax, 2
jne 0x140027de2
test rbx, rbx
je 0x14002529f
shl r15, 5
mov r12, qword [rbx + r15 + 8]
mov rdi, qword [rbx + r15 + 0x10]
jmp 0x1400252a2
xor r12d, r12d
jmp 0x1400252a9
xor r12d, r12d
mov r8, qword [rbp + 0x5d0]
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp], 0
je 0x1400252d1
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp + 0x578]
mov r8, qword [rax + 0x10]
lea rbx, str.program_path_has_no_file_name
test r8, r8
je 0x140025647
mov rdx, qword [rax + 8]
cmp r8, 4
jae 0x1400252ff
lea rax, [0x14002b5d0]
jmp 0x140025327
mov eax, dword [rdx]
bswap eax
xor ecx, ecx
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
adc ecx, 0xffffffff
lea rcx, [0x14002b5c0]
lea rax, [0x14002b5d0]
cmove rax, rcx
mov qword [rbp + 0x5b0], rdx
mov qword [rbp + 0x5d0], r8
movzx esi, byte [r8 + rdx - 1]
mov byte [rbp + 0x5e7], 1
mov ecx, esi
call rax
test al, al
jne 0x140025647
mov r15, qword [rbp + 0x5d0]
cmp r15, 3
jbe 0x1400253c2
mov rbx, qword [rbp + 0x5b0]
movzx eax, byte [r15 + rbx - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x1400253cd
movzx eax, byte [rbx + r15 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x1400253cd
movzx eax, byte [rbx + r15 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x1400253cd
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x1400253cf
xor eax, eax
mov rbx, qword [rbp + 0x5b0]
jmp 0x1400253cf
xor eax, eax
lea r14, [rbx + r15]
xor ecx, ecx
nop word cs:[rax + rax]
cmp r15, rcx
je 0x140025449
movzx edx, byte [rbx + rcx]
cmp edx, 0x2f
je 0x1400253f6
inc rcx
cmp edx, 0x5c
jne 0x1400253e0
test al, al
mov qword [rbp + 0x5b8], r14
je 0x140025523
mov byte [rbp + 0x5e7], 1
lea rcx, [rbp - 0x20]
mov rdx, rbx
mov r8, r15
call fcn.14001a2a0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
movabs rdx, 0x8000000000000000
cmp rcx, rdx
jne 0x1400256f1
mov qword [rbp + 0x4e8], rax
mov qword [rbp + 0x4e0], rdx
jmp 0x140025eea
xor r8d, r8d
lea r11, str.x__n_
mov rax, rbx
jmp 0x14002546c
xor r8d, r8d
test cx, cx
je 0x140025644
mov cx, 1
test r8w, r8w
jne 0x140025460
cmp rax, r14
je 0x14002573e
movzx r9d, byte [rax]
movzx edx, r9b
test dl, dl
js 0x140025490
inc rax
jmp 0x1400254f2
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x1400254e4
movzx edx, byte [rax + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
cmp r9b, 0xf0
jb 0x1400254fc
movzx r9d, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x1400254f2
jmp 0x14002550f
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
xor r8d, r8d
mov ecx, edx
jmp 0x140025463
add rax, 3
shl r8d, 0xc
or edx, r8d
cmp edx, 0xffff
jbe 0x1400254f2
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x140025463
test r15, r15
js 0x14002805e
movzx eax, byte [0x1400b6d30]
mov rcx, qword [0x1400b6ca0]
test rcx, rcx
jne 0x140025558
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x140028045
mov rcx, rax
mov qword [0x1400b6ca0], rax
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140028045
mov rsi, rax
mov rcx, rax
mov rdx, rbx
mov r8, r15
call fcn.1400420d0
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x10], r15
mov byte [rbp - 8], 0
lea rdx, str..exeprogram_not_found
lea rcx, [rbp - 0x20]
mov r8d, 4
mov qword [rbp + 0x5d8], rsi
call fcn.14001fc30
mov r15, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x18]
mov rsi, qword [rbp - 0x10]
mov qword [rbp + 0x3f8], rbx
mov qword [rbp + 0x3f0], r15
mov byte [rbp + 0x5a6], 1
lea rcx, [rbp + 0x500]
mov rdx, rbx
mov r8, rsi
call fcn.14002b6c0
movabs rdi, 0x8000000000000000
cmp qword [rbp + 0x500], rdi
jne 0x14002571d
mov qword [rbp + 0x5d8], r15
mov qword [rbp + 0x5d0], rbx
mov rcx, rbx
mov rdx, rsi
call fcn.140023b60
test rax, rax
je 0x1400257b5
cmp rdx, 2
jne 0x140025770
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x140025770
mov r8d, 2
xor r9d, r9d
mov r11, qword [rbp + 0x5d0]
jmp 0x140025e59
mov rbx, r11
mov rsi, rbx
mov rax, qword [rbp + 0x4f8]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
cmp qword [rbp + 0x410], 0
je 0x1400256c0
mov rcx, qword [rbp + 0x418]
test rcx, rcx
je 0x1400256a7
mov rdx, qword [rbp + 0x420]
mov rax, qword [rbp + 0x428]
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rdx
mov qword [rbp + 8], 0
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov ecx, 1
jmp 0x1400256ab
xor ecx, ecx
xor eax, eax
mov qword [rbp - 0x20], rcx
mov qword [rbp], rcx
mov qword [rbp + 0x20], rax
lea rcx, [rbp - 0x20]
call fcn.1400294a0
mov rsi, qword [rbp + 0x448]
cmp dword [rsi], 4
jb 0x1400256d6
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movaps xmm6, xmmword [rbp + 0x5f0]
add rsp, 0x688
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, qword [rbp - 0x10]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rdx
mov byte [rbp + 0x5e7], 1
lea rcx, [rbp + 0x4e0]
lea rdx, [rbp - 0x20]
call fcn.14002b5e0
jmp 0x140025eea
mov rax, qword [rbp + 0x510]
mov qword [rbp + 0x4f0], rax
movups xmm0, xmmword [rbp + 0x500]
movaps xmmword [rbp + 0x4e0], xmm0
jmp 0x140025ed3
cmp r15, 0xf
mov qword [rbp + 0x5b8], r14
ja 0x1400257c9
xor eax, eax
mov qword [rbp + 0x5c0], rax
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rbx + rax], 0x2e
je 0x1400257e2
inc rax
cmp r15, rax
jne 0x140025760
jmp 0x1400257ee
mov r8, rdx
mov r11, qword [rbp + 0x5d0]
nop word [rax + rax]
test r8, r8
je 0x1400257d8
mov rcx, r8
dec r8
cmp byte [rax + rcx - 1], 0x2e
jne 0x140025780
mov r10, rdx
sub r10, rcx
jb 0x1400280a3
test r8, r8
je 0x140025e53
mov r9, rax
add r9, rcx
mov rdx, r10
jmp 0x140025e59
mov r11, qword [rbp + 0x5d0]
jmp 0x140025e79
xor r12d, r12d
jmp 0x1400252a2
mov cl, 0x2e
mov rdx, rbx
mov r8, r15
call fcn.14000a700
jmp 0x1400257e7
mov r9, rax
xor eax, eax
jmp 0x140025e59
mov eax, 1
mov qword [rbp + 0x5c0], rax
test r12, r12
je 0x140025842
add rdi, r12
mov qword [rbp + 0x500], r12
mov qword [rbp + 0x508], rdi
mov word [rbp + 0x510], 0
mov byte [rbp + 0x518], 1
mov byte [rbp + 0x5e7], 1
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0x500]
call fcn.14001f980
mov rax, qword [rbp - 0x20]
movabs rbx, 0x8000000000000000
cmp rax, rbx
jne 0x140025cb1
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], 2
mov qword [rbp + 0x590], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5d8], rax
xor esi, esi
xor ebx, ebx
xor r12d, r12d
cmp r8, 0x201
jb 0x14002589f
jmp 0x1400258b0
jae 0x14002596d
cmp r8, 0x201
jae 0x1400258b0
mov r14d, 0x200
lea r13, [rbp - 0x20]
mov r15, r8
jmp 0x140025908
sub r8, r12
sub rbx, r12
cmp rbx, r8
jae 0x1400258df
lea rcx, [rbp + 0x580]
mov rdx, r12
call fcn.1400434f0
mov rsi, qword [rbp + 0x580]
mov rax, qword [rbp + 0x588]
mov qword [rbp + 0x5d8], rax
add byte [rax], al
mov eax, 0xffffffff
cmp rsi, rax
mov r12d, 0xffffffff
cmovb r12, rsi
mov qword [rbp + 0x590], r12
mov rbx, rsi
mov r14, r12
mov r13, qword [rbp + 0x5d8]
mov r15, r12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor ecx, ecx
leave
mov rdx, r13
mov r8d, r15d
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, eax
test eax, eax
jne 0x14002592e
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400259a3
mov r8d, edi
cmp r15, r8
jne 0x140025890
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
clc
jp 0x140025953
test dword [rcx], esi
add byte es:[rax], al
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jae 0x1400258b0
jmp 0x14002589f
cmp r14, r8
jb 0x14002808c
lea rcx, [rbp + 0x500]
mov rdx, r13
call fcn.14001c2c0
movups xmm0, xmmword [rbp + 0x500]
movups xmm1, xmmword [rbp + 0x510]
movaps xmmword [rbp + 0x470], xmm1
movaps xmmword [rbp + 0x460], xmm0
jmp 0x1400259c9
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x468], rax
movabs rax, 0x8000000000000000
mov qword [rbp + 0x460], rax
test rsi, rsi
je 0x1400259e4
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5d8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbp + 0x460]
movabs rax, 0x8000000000000000
cmp rcx, rax
jne 0x140025a12
lea rcx, [rbp + 0x468]
mov byte [rbp + 0x5e7], 1
call fcn.140001260
jmp 0x140025ae7
mov qword [rbp + 0x5a8], rcx
mov rcx, qword [rbp + 0x468]
mov rsi, qword [rbp + 0x470]
mov rdi, qword [rbp + 0x478]
mov byte [rbp + 0x5a5], 0
mov qword [rbp + 0x5d8], rcx
mov rdx, rsi
call fcn.1400223d0
mov r12, qword [rbp + 0x5b0]
cmp rsi, rdx
cmovb rdx, rsi
test rax, rax
cmove rdx, rsi
mov rax, qword [rbp + 0x5a8]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x5d8]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rdi
lea rcx, [rbp - 0x20]
mov rdx, r12
mov r8, qword [rbp + 0x5d0]
call fcn.140020e70
cmp qword [rbp + 0x5c0], 1
je 0x140025a9d
lea rcx, [rbp - 0x20]
call fcn.140023c90
mov rsi, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
lea rcx, [rbp + 0x500]
mov rdx, rsi
call fcn.14002b6c0
cmp qword [rbp - 0x20], 0
je 0x140025acd
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp + 0x500]
movabs rcx, 0x8000000000000000
mov ecx, 0
add byte [rax], al
add byte [rax + 0xfc83948], al
test dword [rdx + 3], edx
add byte [rax], al
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], 2
mov qword [rbp + 0x590], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5d8], rax
xor ebx, ebx
xor esi, esi
xor r15d, r15d
cmp r8, 0x201
jb 0x140025b3f
jmp 0x140025b50
jae 0x140025c0f
cmp r8, 0x201
jae 0x140025b50
mov r12d, 0x200
lea r14, [rbp - 0x20]
mov r13, r8
jmp 0x140025ba8
sub r8, r15
sub rsi, r15
cmp rsi, r8
jae 0x140025b7f
lea rcx, [rbp + 0x580]
mov rdx, r15
call fcn.1400434f0
mov rbx, qword [rbp + 0x580]
mov rax, qword [rbp + 0x588]
test dword [rax + 0x48000005], ecx
mov dword [rbp + 0x5d8], eax
mov eax, 0xffffffff
cmp rbx, rax
mov r15d, 0xffffffff
cmovb r15, rbx
sti
mov qword [rbp + 0x590], r15
mov rsi, rbx
mov r12, r15
mov r14, qword [rbp + 0x5d8]
mov r13, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
adc eax, 0x20570
mov rcx, r14
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov edi, eax
test eax, eax
jne 0x140025bd0
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140025da2
invalid
mov r8d, edi
cmp r13, r8
jne 0x140025b30
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140027f97
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
mov eax, ebp
cmp r8, 0x201
jae 0x140025b50
jmp 0x140025b3f
cmp r12, r8
jb 0x1400280b1
invalid
cdq
and al, 0
invalid
lea rcx, [rbp + 0x500]
mov rdx, r14
call fcn.14001c2c0
lea rcx, [rbp + 0x500]
add eax, 0x8b480000
xchg ebp, eax
mov al, 5
add byte [rax], al
mov r8, qword [rbp + 0x5d0]
call fcn.140020e70
cmp qword [rbp + 0x5c0], 1
je 0x140025c57
lea rcx, [rbp + 0x500]
call fcn.140023c90
mov rdi, qword [rbp + 0x508]
mov r8, qword [rbp + 0x510]
lea rcx, [rbp + 0x460]
mov rdx, rdi
call fcn.14002b6c0
cmp qword [rbp + 0x500], 0
je 0x140025c90
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, rdi
clc
call qword [sym.imp.KERNEL32.dll_HeapFree]
movups xmm0, xmmword [rbp + 0x460]
movaps xmmword [rbp + 0x4c0], xmm0
mov rax, qword [rbp + 0x470]
mov qword [rbp + 0x4d0], rax
jmp 0x140025dc8
lea rsi, [rbp - 0x20]
lea rdi, [rbp + 0x500]
mov r12, qword [sym.imp.KERNEL32.dll_HeapFree]
add al, byte [rax]
lea r15, [rbp + 0x460]
jmp 0x140025ceb
mov byte [rbp + 0x5e7], 1
mov rcx, rsi
mov rdx, rdi
call fcn.14001f980
invalid
mov rax, qword [rbp - 0x20]
cmp rax, rbx
je 0x140025842
mov r8, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
test rcx, rcx
leave
je 0x140025d88
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rdx
mov rcx, rsi
mov ecx, esi
mov rdx, qword [rbp + 0x5b0]
mov r8, qword [rbp + 0x5d0]
call fcn.140020e70
dec dword [rax - 0x7d]
mov ebp, 0x5c0
invalid
je 0x140025d38
mov rcx, rsi
call fcn.140023c90
mov r14, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
mov eax, dword [rbp - 0x10]
mov rcx, r15
mov rdx, r14
call fcn.14002b6c0
cmp qword [rbp - 0x20], 0
je 0x140025d61
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, r14
call r12
mov rax, qword [rbp + 0x460]
cmp rax, rbx
jne 0x1400269fb
mov byte [rbp + 0x5e7], 1
mov rcx, rsi
mov rdx, rdi
call fcn.14001f980
jmp 0x140025cde
test rax, rax
je 0x140025ccc
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call r12
jmp 0x140025ccc
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x4c8], rax
movabs rax, 0x8000000000000001
add byte [rax - 0x3f7a76b8], al
add al, 0
invalid
test rbx, rbx
je case.0x140020467.284
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5d8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp + 0x4c0]
movabs rdx, 0x8000000000000001
cmp rax, rdx
jg 0x140025e2d
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x140026a2b
cmp rax, rdx
jne 0x140026a15
lea rcx, [rbp + 0x4c8]
mov byte [rbp + 0x5e7], 1
call fcn.140001260
mov ah, 0xfd
invalid
jmp 0x140026a2b
mov qword [rbp + 0x5d0], rax
jmp 0x140026c88
mov qword [rbp + 0x5d0], rax
mov rsi, qword [rbp + 0x508]
mov rdi, qword [rbp + 0x510]
jmp 0x140025f20
add byte [rax], al
xor r9d, r9d
mov r8, rdx
test rax, rax
cmovne r9, rax
test r9, r9
je 0x140025e79
test rax, rax
cmove r8, rdx
add r9, r8
sub r9, r11
cmp rsi, r9
cmovae rsi, r9
lea rcx, [rbp - 0x20]
mov rdx, r11
mov r8, rsi
call fcn.14001a2a0
dec dword [rax - 0x75]
loopne 0x140025ed5
mov eax, dword [rbp - 0x18]
cmp rcx, rdi
jne 0x140025ea5
mov qword [rbp + 0x4e8], rax
mov qword [rbp + 0x4e0], rdi
jmp 0x140025ec5
mov rdx, qword [rbp - 0x10]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rdx
lea rcx, [rbp + 0x4e0]
lea rdx, [rbp - 0x20]
call fcn.14002b5e0
mov rbx, qword [rbp + 0x5d0]
mov r15, qword [rbp + 0x5d8]
test r15, r15
je 0x140025eea
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbp + 0x4e0]
mov rsi, qword [rbp + 0x4e8]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14002564a
mov qword [rbp + 0x5d0], rcx
mov rdi, qword [rbp + 0x4f0]
invalid
add al, 0
add byte [rax], al
mov r12, qword [rbp + 0x5b0]
cmp rdi, 5
mov qword [rbp + 0x5b0], rsi
jb case.0x140026229.68
cmp word [rsi + rdi*2 - 0xa], 0x2e
jne case.0x140026229.68
cmp word [rsi + rdi*2 - 2], 0
je 0x14002620a
mov rax, qword [rbp + 0x578]
mov rsi, qword [rax + 0x28]
mov rbx, qword [rax + 0x30]
mov dil, byte [rax + 0xc5]
mov qword [rbp + 0x500], 0
mov qword [rbp + 0x508], 2
add byte [rax], al
add al, byte [rax]
add byte [rax], al
mov qword [rbp + 0x510], 0
lea rcx, [rbp + 0x500]
xor edx, edx
call fcn.14000fcd0
mov rax, qword [rbp + 0x508]
mov rcx, qword [rbp + 0x510]
lea edx, [rax]
add eax, 0xc7660000
add al, 0x48
and al, byte [rax]
inc rcx
mov qword [rbp + 0x510], rcx
mov qword [rbp - 0x20], r12
mov rax, qword [rbp + 0x5b8]
mov eax, 0x48000005
mov dword [rbp - 0x18], eax
mov word [rbp - 0x10], 0
lea rcx, [rbp + 0x500]
lea rdx, [rbp - 0x20]
call fcn.14001a510
invalid
dec dword [rax - 0x75]
xchg ebp, eax
adc byte [0x17b4a5fd2], al
add byte [rax + 0x3b], cl
xchg ebp, eax
add byte [0x153775fd9], al
lea rcx, [rbp + 0x500]
call fcn.14000fcd0
mov rdx, qword [rbp + 0x510]
invalid
mov rax, qword [rbp + 0x508]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rbp + 0x510], rdx
lea rax, [rbx + rbx*4]
lea r15, [rsi + rax*8]
lea r14, [rbp + 0x500]
add eax, 0x66660000
nop word cs:[rax + rax]
invalid
cmp rsi, r15
je 0x140026097
mov rdx, qword [rbp + 0x510]
cmp rdx, qword [rbp + 0x500]
jne 0x140026044
mov rcx, r14
call fcn.14000fcd0
mov rdx, qword [rbp + 0x510]
mov rax, qword [rbp + 0x508]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rbp + 0x510], rdx
mov rcx, r14
mov rdx, rsi
mov r8d, edi
call fcn.14002b790
mov rbx, rax
add rsi, 0x28
test rax, rax
je 0x140026020
cmp qword [rbp + 0x500], 0
je 0x1400260b4
mov r8, qword [rbp + 0x508]
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400260b4
mov rax, qword [rbp + 0x500]
mov rbx, qword [rbp + 0x508]
movabs rcx, 0x8000000000000000
cmp rax, rcx
jne 0x1400260f8
mov rcx, qword [rbp + 0x5d0]
mov rax, qword [rbp + 0x4f8]
mov qword [rax], rbx
mov qword [rax + 0x10], 2
xor esi, esi
test rcx, rcx
je 0x1400260ea
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5b0]
call qword [sym.imp.KERNEL32.dll_HeapFree]
test sil, sil
je 0x14002565c
jmp 0x1400256c0
mov rdx, qword [rbp + 0x510]
mov r13b, 1
mov dword [rbp + 0x444], 0
mov r8, qword [rbp + 0x5d0]
rol byte [0xcb4a6115], 1
lea esi, [rax + 0x48000005]
mov dword [rbp + 0x5d8], ecx
mov qword [rbp + 0x5b8], r8
mov qword [rbp + 0x4e0], rax
mov qword [rbp + 0x4e8], rbx
mov qword [rbp + 0x4f0], rdx
add byte [rax], al
cmp rdx, rax
jne 0x140026166
mov byte [rbp + 0x5cc], 1
lea rcx, [rbp + 0x4e0]
mov rdx, rax
call fcn.14000fcd0
mov rbx, qword [rbp + 0x4e8]
mov rdx, qword [rbp + 0x4f0]
mov word [rbx + rdx*2], 0
inc rdx
mov qword [rbp + 0x4f0], rdx
mov rcx, qword [rbp + 0x578]
cmp byte [rcx + 0xc4], 0
mov eax, 0x400
mov r15d, 0x608
cmove r15d, eax
or r15d, dword [rcx + 0xc0]
cmp qword [rbp + 0x410], 0
je 0x1400263af
mov rsi, qword [rbp + 0x418]
mov rdi, qword [rbp + 0x420]
mov rbx, qword [rbp + 0x428]
mov qword [rbp + 0x4c0], rsi
mov qword [rbp + 0x4c8], rdi
mov qword [rbp + 0x4d0], rbx
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], 2
mov qword [rbp + 0x590], 0
test rbx, rbx
je 0x1400264fb
mov r14d, 2
xor r12d, r12d
jmp 0x14002652f
movzx eax, word [rsi + rdi*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x140026229.68
lea rdx, [0x1400a5c7c]
movsxd rcx, dword [rdx + rcx*4]
invalid
or al, 0x8a
add rcx, rdx
jmp rcx
movzx ecx, word [rsi + rdi*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x140026245
movzx ecx, word [rsi + rdi*2 - 4]
or ecx, 0x20
and byte [rbx + 0x2e7474f9], al
cmp ax, 0x43
jne case.0x140026229.68
movzx eax, word [rsi + rdi*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x140026229.68
movzx eax, word [rsi + rdi*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x140026229.68
mov qword [rbp + 0x5a8], rdi
mov qword [rbp + 0x500], 0
mov qword [rbp + 0x508], 2
mov qword [rbp + 0x510], 0
mov esi, 0x200
mov eax, 2
mov qword [rbp + 0x5b8], rax
xor eax, eax
mov qword [rbp + 0x5d8], rax
xor edi, edi
xor r14d, r14d
cmp rsi, 0x201
jb 0x1400262d4
jmp 0x1400262e3
jae 0x140026ccf
cmp rsi, 0x201
jae 0x1400262e3
mov r12d, 0x200
lea r15, [rbp - 0x20]
mov r13, rsi
jmp 0x140026349
sub rsi, r14
sub rdi, r14
cmp rdi, rsi
jae 0x14002631c
lea rcx, [rbp + 0x500]
mov rdx, r14
mov r8, rsi
call fcn.1400434f0
mov rax, qword [rbp + 0x500]
mov qword [rbp + 0x5d8], rax
mov rax, qword [rbp + 0x508]
mov qword [rbp + 0x5b8], rax
mov rdi, qword [rbp + 0x5d8]
mov eax, 0xffffffff
cmp rdi, rax
mov r14d, 0xffffffff
cmovb r14, rdi
mov qword [rbp + 0x510], r14
mov r12, r14
mov r15, qword [rbp + 0x5b8]
mov r13, r14
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, r15
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ebx, eax
test eax, eax
jne 0x140026371
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140026ee8
mov esi, ebx
cmp r13, rsi
jne 0x1400262c5
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14002806f
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov rsi, r13
cmp rsi, 0x201
jae 0x1400262e3
jmp 0x1400262d4
mov rax, rcx
mov ecx, 2
mov qword [rbp + 0x5a8], rcx
xor r14d, r14d
xor edx, edx
mov qword [rbp + 0x5c0], rdx
movabs rsi, 0x8000000000000000
cmp qword [rax + 0x38], rsi
jne 0x140026f92
mov eax, 2
xor r12d, r12d
xor ecx, ecx
mov qword [rbp + 0x4b8], rcx
mov qword [rbp + 0x430], rax
mov qword [rbp + 0x3e8], r14
xorps xmm0, xmm0
movaps xmmword [rbp + 0x4c0], xmm0
mov qword [rbp + 0x4d0], 0
lea rdi, [0x1400b6cb0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x1400b6c80]
shl rax, 1
mov r14d, r13d
test rax, rax
jne 0x140027691
xor esi, esi
mov r13b, byte [0x1400b6cb8]
xor eax, eax
test r13b, r13b
setne al
mov qword [rbp + 0x588], rdi
mov byte [rbp + 0x590], sil
mov qword [rbp + 0x580], rax
mov qword [rbp + 0x460], 0
mov qword [rbp + 0x470], 0
mov qword [rbp + 0x480], 0
mov dword [rbp - 0x30], 2
mov rdx, qword [rbp + 0x578]
lea rax, [rdx + 0x58]
cmp dword [rdx + 0x58], 6
lea rcx, [rbp - 0x30]
cmovne rcx, rax
cmp dword [rdx + 0x68], 6
lea rbx, [rdx + 0x68]
mov rax, qword [rbp + 0x448]
cmove rbx, rax
lea rdi, [rdx + 0x78]
cmp dword [rdx + 0x78], 6
cmove rdi, rax
lea r8, [rbp + 0x460]
mov edx, 0xfffffff6
call fcn.14002bcd0
mov qword [rbp + 0x570], rdx
test rax, rax
je 0x140026c9b
mov rax, qword [rbp + 0x4f8]
mov rcx, qword [rbp + 0x570]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
jmp 0x140027c99
mov byte [rbp + 0x5cd], 1
lea rcx, [rbp + 0x580]
xor edx, edx
call fcn.14000fcd0
mov r14, qword [rbp + 0x588]
mov r12, qword [rbp + 0x590]
mov word [r14 + r12*2], 0
inc r12
mov qword [rbp + 0x590], r12
xor eax, eax
test rsi, rsi
cmove rbx, rsi
setne al
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rdi
mov qword [rbp], rax
mov qword [rbp + 8], 0
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], rbx
lea rcx, [rbp + 0x500]
lea rdx, [rbp - 0x20]
movabs rdi, 0x8000000000000000
mov dword [rbp + 0x458], r13d
call fcn.140024200
mov rcx, qword [rbp + 0x500]
test rcx, rcx
je 0x140026f07
mov r9, qword [rbp + 0x510]
imul rdx, r9, 0x38
mov rax, qword [rcx + rdx + 0x168]
cmp rax, rdi
je 0x140026f07
mov r8, qword [rcx + rdx + 0x170]
mov r10, qword [rcx + rdx + 0x188]
mov qword [rbp + 0x4b8], r10
mov r10, qword [rcx + rdx + 0x190]
mov qword [rbp + 0x570], r10
mov rdi, qword [rcx + rdx + 0x198]
shl r9, 5
mov r10, qword [rcx + r9]
mov qword [rbp + 0x5c0], r10
mov r10, qword [rcx + r9 + 8]
mov qword [rbp + 0x5a8], r10
mov r13, qword [rcx + r9 + 0x10]
mov rcx, qword [rcx + rdx + 0x178]
add rcx, r8
xor r11d, r11d
mov rdx, r8
jmp 0x14002662d
xor r11d, r11d
test r9w, r9w
je 0x140026935
mov r9w, 1
test r11w, r11w
jne 0x140026620
cmp rdx, rcx
je 0x1400266e5
movzx esi, byte [rdx]
movzx r10d, sil
test r10b, r10b
js 0x140026655
inc rdx
jmp 0x1400266da
mov r11d, r10d
and r11d, 0x1f
movzx ebx, byte [rdx + 1]
and ebx, 0x3f
cmp r10b, 0xdf
jbe 0x1400266a0
movzx r10d, byte [rdx + 2]
shl ebx, 6
and r10d, 0x3f
or r10d, ebx
cmp sil, 0xf0
jb 0x1400266b0
movzx esi, byte [rdx + 3]
add rdx, 4
and r11d, 7
shl r11d, 0x12
shl r10d, 6
and esi, 0x3f
or esi, r10d
or esi, r11d
mov r10d, esi
jmp 0x1400266bb
add rdx, 2
shl r11d, 6
or r11d, ebx
mov r10d, r11d
jmp 0x1400266da
add rdx, 3
shl r11d, 0xc
or r10d, r11d
cmp r10d, 0xffff
jbe 0x1400266da
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x140026623
xor r11d, r11d
mov r9d, r10d
jmp 0x140026623
test rax, rax
je 0x1400266f9
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp + 0x580]
sub rax, r12
cmp rax, rdi
jae 0x140026728
lea rcx, [rbp + 0x580]
mov rdx, r12
mov r8, rdi
call fcn.1400434f0
mov r14, qword [rbp + 0x588]
mov r12, qword [rbp + 0x590]
lea r8, [rdi + rdi]
mov rsi, r14
lea rcx, [r14 + r12*2]
mov rbx, qword [rbp + 0x570]
mov rdx, rbx
call fcn.1400420d0
add r12, rdi
mov qword [rbp + 0x590], r12
cmp qword [rbp + 0x4b8], 0
je 0x140026768
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp r12, qword [rbp + 0x580]
movabs rdi, 0x8000000000000000
jne 0x14002679f
mov byte [rbp + 0x5cb], 1
lea rcx, [rbp + 0x580]
mov rdx, r12
call fcn.14000fcd0
mov rsi, qword [rbp + 0x588]
mov r12, qword [rbp + 0x590]
mov word [rsi + r12*2], 0x3d
inc r12
mov qword [rbp + 0x590], r12
mov r14, qword [rbp + 0x5a8]
add r13, r14
xor r8d, r8d
mov rax, r14
jmp 0x1400267ce
xor r8d, r8d
test cx, cx
je 0x1400269e8
mov cx, 1
test r8w, r8w
jne 0x1400267c2
cmp rax, r13
je 0x140026882
movzx r9d, byte [rax]
movzx edx, r9b
test dl, dl
js 0x1400267f5
inc rax
jmp 0x140026878
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x140026841
movzx edx, byte [rax + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
cmp r9b, 0xf0
jb 0x140026851
movzx r9d, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, r8d
mov edx, r9d
jmp 0x14002685c
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x140026878
add rax, 3
shl r8d, 0xc
or edx, r8d
cmp edx, 0xffff
jbe 0x140026878
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x1400267c5
xor r8d, r8d
mov ecx, edx
jmp 0x1400267c5
cmp qword [rbp + 0x5c0], rdi
je 0x140027dd6
mov qword [rbp + 0x460], r14
mov qword [rbp + 0x468], r13
mov word [rbp + 0x470], 0
lea rcx, [rbp + 0x580]
lea rdx, [rbp + 0x460]
call fcn.14001a510
cmp qword [rbp + 0x5c0], 0
je 0x1400268d9
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5a8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rbp + 0x590]
cmp r12, qword [rbp + 0x580]
jne 0x140026906
mov byte [rbp + 0x5cb], 0
lea rcx, [rbp + 0x580]
mov rdx, r12
call fcn.14000fcd0
mov r12, qword [rbp + 0x590]
mov r13d, dword [rbp + 0x458]
lea rcx, [rbp + 0x500]
lea rdx, [rbp - 0x20]
mov r14, qword [rbp + 0x588]
mov word [r14 + r12*2], 0
inc r12
mov qword [rbp + 0x590], r12
jmp 0x140026583
test rax, rax
je 0x140026949
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x5c0], 0
mov r13d, dword [rbp + 0x458]
mov r8, qword [rbp + 0x5a8]
mov r14, qword [rbp + 0x570]
je 0x140026977
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x4b8], 0
je 0x140026993
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea r14, str.x__n_
mov byte [rbp + 0x5cd], 0
lea rcx, [rbp - 0x20]
call fcn.1400294a0
cmp qword [rbp + 0x580], 0
je 0x1400269ca
mov r8, qword [rbp + 0x588]
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp + 0x5b8]
mov rax, qword [rbp + 0x4f8]
mov qword [rax], r14
mov qword [rax + 0x10], 2
jmp 0x140027d50
cmp qword [rbp + 0x5c0], 0
mov r13d, dword [rbp + 0x458]
jne 0x140026981
jmp 0x140026993
mov qword [rbp + 0x5d0], rax
mov rsi, qword [rbp + 0x468]
mov rdi, qword [rbp + 0x470]
jmp 0x140025f19
mov r8, qword [rbp + 0x4c8]
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], 2
mov qword [rbp + 0x590], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5d8], rax
xor ebx, ebx
xor esi, esi
xor r15d, r15d
cmp r8, 0x201
jb 0x140026a7f
jmp 0x140026a8e
jae 0x140026b4d
cmp r8, 0x201
jae 0x140026a8e
mov r12d, 0x200
lea r14, [rbp - 0x20]
mov r13, r8
jmp 0x140026ae6
sub r8, r15
sub rsi, r15
cmp rsi, r8
jae 0x140026abd
lea rcx, [rbp + 0x580]
mov rdx, r15
call fcn.1400434f0
mov rbx, qword [rbp + 0x580]
mov rax, qword [rbp + 0x588]
mov qword [rbp + 0x5d8], rax
mov eax, 0xffffffff
cmp rbx, rax
mov r15d, 0xffffffff
cmovb r15, rbx
mov qword [rbp + 0x590], r15
mov rsi, rbx
mov r12, r15
mov r14, qword [rbp + 0x5d8]
mov r13, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, r14
mov edx, r13d
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov edi, eax
test eax, eax
jne 0x140026b0e
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140026bf6
mov r8d, edi
cmp r13, r8
jne 0x140026a70
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140028028
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x140026a8e
jmp 0x140026a7f
cmp r12, r8
jb 0x1400280c8
lea rcx, [rbp + 0x500]
mov rdx, r14
call fcn.14001c2c0
lea rcx, [rbp + 0x500]
mov rdx, qword [rbp + 0x5b0]
mov r8, qword [rbp + 0x5d0]
call fcn.140020e70
cmp qword [rbp + 0x5c0], 1
je 0x140026b95
lea rcx, [rbp + 0x500]
call fcn.140023c90
mov rdi, qword [rbp + 0x508]
mov r8, qword [rbp + 0x510]
lea rcx, [rbp + 0x460]
mov rdx, rdi
call fcn.14002b6c0
cmp qword [rbp + 0x500], 0
movabs rsi, 0x8000000000000001
je 0x140026bd8
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
movups xmm0, xmmword [rbp + 0x460]
movaps xmmword [rbp + 0x4c0], xmm0
mov rax, qword [rbp + 0x470]
mov qword [rbp + 0x4d0], rax
jmp 0x140026c1c
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x4c8], rax
movabs rsi, 0x8000000000000001
mov qword [rbp + 0x4c0], rsi
test rbx, rbx
je 0x140026c37
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5d8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbp + 0x4c0]
movabs rax, 0x8000000000000002
cmp rcx, rax
jge 0x140026c81
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x140026d1f
cmp rcx, rsi
jne 0x140026d09
lea rcx, [rbp + 0x4c8]
mov byte [rbp + 0x5e7], 1
call fcn.140001260
jmp 0x140026d1f
mov qword [rbp + 0x5d0], rcx
mov rsi, qword [rbp + 0x4c8]
mov rdi, qword [rbp + 0x4d0]
jmp 0x140025f19
lea r8, [rbp + 0x470]
mov rcx, rbx
mov edx, 0xfffffff5
call fcn.14002bcd0
test rax, rax
je 0x1400270ff
mov rax, qword [rbp + 0x4f8]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
jmp 0x140027c8c
cmp r12, rsi
jb 0x1400280df
test ebx, ebx
je 0x14002713d
lea rbx, [rsi + rsi]
movzx eax, byte [0x1400b6d30]
mov edx, 2
mov rcx, rbx
call fcn.140006780
test rax, rax
je 0x1400280f3
mov rdi, rax
jmp 0x140027144
mov r8, qword [rbp + 0x4c8]
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [rbp + 0x5e7], 1
lea rdx, str.PATHlibrary_std_src_sys_commonprocess.rs
lea rcx, [rbp + 0x460]
mov r8d, 4
call fcn.14001e2e0
mov rcx, qword [rbp + 0x460]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x140026edc
mov qword [rbp + 0x5d8], rcx
mov rcx, qword [rbp + 0x468]
mov rax, qword [rbp + 0x470]
add rax, rcx
mov qword [rbp + 0x5a8], rcx
mov qword [rbp + 0x500], rcx
mov qword [rbp + 0x508], rax
mov word [rbp + 0x510], 0
mov byte [rbp + 0x518], 1
lea rsi, [rbp - 0x20]
lea rdi, [rbp + 0x500]
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
lea r15, [rbp + 0x580]
mov r12, qword [rbp + 0x5b0]
mov rcx, rsi
mov rdx, rdi
call fcn.14001f980
jmp 0x140026dce
mov rcx, rsi
mov rdx, rdi
call fcn.14001f980
mov rax, qword [rbp - 0x20]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x140026ebc
mov r8, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
test rcx, rcx
jne 0x140026e04
test rax, rax
je 0x140026dc3
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call rbx
jmp 0x140026dc3
mov rdx, qword [rbp - 8]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rdx
mov rcx, rsi
mov rdx, r12
mov r8, qword [rbp + 0x5d0]
call fcn.140020e70
cmp qword [rbp + 0x5c0], 1
je 0x140026e3c
mov rcx, rsi
call fcn.140023c90
mov r14, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
mov rcx, r15
mov rdx, r14
call fcn.14002b6c0
cmp qword [rbp - 0x20], 0
je 0x140026e64
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, r14
call rbx
mov rax, qword [rbp + 0x580]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x140026db6
mov qword [rbp + 0x5d0], rax
mov rsi, qword [rbp + 0x588]
mov rdi, qword [rbp + 0x590]
cmp qword [rbp + 0x5d8], 0
je 0x140025f20
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5a8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140025f20
cmp qword [rbp + 0x5d8], 0
je 0x140026edc
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5a8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rbx, [0x1400a3cc8]
jmp 0x140025647
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
shl rdi, 0x20
or rdi, 2
movabs rsi, 0x8000000000000000
jmp 0x140027152
mov byte [rbp + 0x5cd], 0
lea rcx, [rbp - 0x20]
call fcn.1400294a0
cmp r12, qword [rbp + 0x580]
jne 0x140026f44
mov byte [rbp + 0x5cd], 0
lea rcx, [rbp + 0x580]
mov rdx, r12
call fcn.14000fcd0
mov r14, qword [rbp + 0x588]
mov r12, qword [rbp + 0x590]
mov word [r14 + r12*2], 0
mov rdx, qword [rbp + 0x580]
cmp rdx, rdi
mov rax, qword [rbp + 0x578]
mov rsi, qword [rbp + 0x5b8]
je 0x1400269d1
mov rcx, qword [rbp + 0x588]
mov qword [rbp + 0x5a8], rcx
mov qword [rbp + 0x5c0], rdx
movabs rsi, 0x8000000000000000
cmp qword [rax + 0x38], rsi
je 0x1400263de
mov rcx, rax
mov rax, qword [rax + 0x40]
mov rcx, qword [rcx + 0x48]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x140026fb5
xor r10d, r10d
test r8w, r8w
je 0x140027070
mov r8w, 1
test r10w, r10w
jne 0x140026fa8
cmp rdx, rcx
je 0x140027095
movzx r11d, byte [rdx]
movzx r9d, r11b
test r9b, r9b
js 0x140026fde
inc rdx
jmp 0x140027065
mov r10d, r9d
and r10d, 0x1f
movzx edi, byte [rdx + 1]
and edi, 0x3f
cmp r9b, 0xdf
jbe 0x14002702b
movzx r9d, byte [rdx + 2]
shl edi, 6
and r9d, 0x3f
or r9d, edi
cmp r11b, 0xf0
jb 0x14002703b
movzx r11d, byte [rdx + 3]
add rdx, 4
and r10d, 7
shl r10d, 0x12
shl r9d, 6
and r11d, 0x3f
or r11d, r9d
or r11d, r10d
mov r9d, r11d
jmp 0x140027046
add rdx, 2
shl r10d, 6
or r10d, edi
mov r9d, r10d
jmp 0x140027065
add rdx, 3
shl r10d, 0xc
or r9d, r10d
cmp r9d, 0xffff
jbe 0x140027065
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x140026fab
xor r10d, r10d
mov r8d, r9d
jmp 0x140026fab
lea r12, str.x__n_
mov rax, qword [rbp + 0x4f8]
mov qword [rax], r12
mov qword [rax + 0x10], 2
mov rsi, qword [rbp + 0x5b8]
jmp 0x140027d30
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rcx
mov word [rbp - 0x10], 0
lea rcx, [rbp + 0x500]
lea rdx, [rbp - 0x20]
call fcn.140029570
mov rcx, qword [rbp + 0x500]
mov rdx, qword [rbp + 0x510]
cmp rdx, rcx
jne 0x1400270e0
lea rcx, [rbp + 0x500]
call fcn.14000fcd0
mov rcx, qword [rbp + 0x500]
mov rdx, qword [rbp + 0x510]
mov r12, qword [rbp + 0x508]
mov word [r12 + rdx*2], 0
mov rax, r12
cmp rcx, rsi
jne 0x1400263e8
jmp 0x140027077
mov qword [rbp + 0x450], rdx
lea r8, [rbp + 0x480]
mov rcx, rdi
mov edx, 0xfffffff4
call fcn.14002bcd0
mov r8, rdx
test rax, rax
je 0x1400276a1
mov rax, qword [rbp + 0x4f8]
mov qword [rax], r8
mov qword [rax + 0x10], 2
jmp 0x140027c7f
mov edi, 2
xor ebx, ebx
mov rcx, rdi
mov rdx, r15
mov r8, rbx
call fcn.1400420d0
cmp qword [rbp + 0x5d8], 0
mov qword [rbp + 0x5d8], rdi
je 0x140027180
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5b8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x5d8]
movabs rcx, 0x8000000000000000
cmp rsi, rcx
jne 0x14002719b
mov rcx, qword [rbp + 0x5d0]
jmp 0x1400273b3
mov qword [rbp + 0x460], rsi
mov qword [rbp + 0x468], rdi
mov qword [rbp + 0x470], rsi
lea r13, [0x1400a3d1f]
xor r15d, r15d
lea rdi, [rbp + 0x460]
xor ebx, ebx
mov r14, r13
mov rax, qword [rbp + 0x578]
jmp 0x1400271ee
mov ebx, ecx
mov rcx, qword [rbp + 0x5d8]
mov qword [rbp + 0x5d8], rcx
mov word [rcx + rsi*2], r12w
inc rsi
mov qword [rbp + 0x470], rsi
mov rcx, qword [rbp + 0x5d0]
test r13, r13
je 0x1400272cb
test bx, bx
je 0x140027246
xor ecx, ecx
mov r12d, ebx
cmp rsi, qword [rbp + 0x460]
jne 0x1400271cf
mov rax, r14
sub rax, r13
add rax, 0xa
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov r8, rdx
shr r8, 1
cmp cx, 1
mov rax, r15
adc rax, 0xffffffffffffffff
sub r8, rax
inc r8
mov ebx, ecx
jmp 0x140027301
lea rdx, [0x1400a3d27]
cmp r13, rdx
je 0x1400272cb
movzx edx, byte [r13]
movzx r12d, dl
test r12b, r12b
js 0x140027267
inc r13
xor ecx, ecx
jmp 0x140027208
mov eax, r12d
and eax, 0x1f
movzx r8d, byte [r13 + 1]
and r8d, 0x3f
cmp r12b, 0xdf
jbe 0x140027322
movzx ecx, byte [r13 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x14002733d
movzx r12d, byte [r13 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r12d, 0x3f
or r12d, ecx
or r12d, eax
cmp r12d, 0x110000
mov rax, qword [rbp + 0x578]
mov rcx, qword [rbp + 0x5d0]
jne 0x140027352
mov r9, qword [rbp + 0x460]
cmp r15, 1
je 0x140027396
mov r15d, 1
xor r12d, r12d
mov r13d, 0
mov r8d, 0
cmp rsi, r9
mov rcx, qword [rbp + 0x5d8]
jne 0x1400271d8
inc r8
mov rcx, rdi
mov rdx, rsi
call fcn.1400434f0
mov rcx, qword [rbp + 0x468]
mov rax, qword [rbp + 0x578]
jmp 0x1400271d8
add r13, 2
shl eax, 6
or eax, r8d
mov r12d, eax
mov rax, qword [rbp + 0x578]
xor ecx, ecx
jmp 0x140027208
add r13, 3
shl eax, 0xc
or ecx, eax
mov r12d, ecx
mov rax, qword [rbp + 0x578]
jmp 0x140027356
add r13, 4
cmp r12d, 0xffff
jbe 0x14002738f
lea eax, [r12 + 0xff0000]
shr eax, 0xa
or eax, 0xd800
and r12d, 0x3ff
or r12d, 0xdc00
mov ecx, r12d
mov r12d, eax
mov rax, qword [rbp + 0x578]
jmp 0x140027208
xor ecx, ecx
jmp 0x140027208
mov rdx, qword [rbp + 0x468]
mov qword [rbp + 0x5d8], rdx
movabs rdx, 0x8000000000000000
cmp r9, rdx
jne 0x1400273c9
mov rax, qword [rbp + 0x4f8]
mov rdx, qword [rbp + 0x5d8]
mov qword [rax], rdx
jmp 0x1400260c5
mov rsi, r9
movzx ecx, byte [rax + 0xc5]
mov byte [rbp + 0x570], cl
test cl, cl
setne byte [rbp + 0x5c0]
mov rcx, rax
mov al, 1
test al, al
mov qword [rbp + 0x5b8], r9
je 0x140028102
mov rax, qword [rcx + 0x28]
mov qword [rbp + 0x4b8], rax
mov rax, qword [rcx + 0x30]
mov qword [rbp + 0x458], rax
movzx eax, byte [0x1400b6d30]
mov ecx, 0xc
mov edx, 2
call fcn.140006780
test rax, rax
je 0x140028109
mov ecx, 6
mov word [rax], 0x63
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], 1
lea r15, [0x1400a37d1]
mov edi, 1
xor r14d, r14d
lea r12, [0x1400a37df]
lea r13, [0x1400a37d0]
lea rbx, [rbp - 0x20]
jmp 0x140027482
mov rax, qword [rbp - 0x18]
mov word [rax + rdi*2], r14w
inc rdi
mov qword [rbp - 0x10], rdi
mov r14d, esi
mov rsi, qword [rbp + 0x5b8]
test r14w, r14w
jne 0x140027549
cmp r15, r12
je 0x14002758b
movzx r8d, byte [r15]
movzx r14d, r8b
test r14b, r14b
js 0x1400274aa
inc r15
jmp 0x140027549
mov ecx, r14d
and ecx, 0x1f
movzx r9d, byte [r15 + 1]
and r9d, 0x3f
cmp r14b, 0xdf
jbe 0x1400274ff
movzx edx, byte [r15 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14002750e
movzx r14d, byte [r15 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r14d, 0x3f
or r14d, edx
or r14d, ecx
cmp r14d, 0x110000
je 0x14002758b
add r15, 4
jmp 0x14002751a
add r15, 2
shl ecx, 6
or ecx, r9d
mov r14d, ecx
jmp 0x140027549
add r15, 3
shl ecx, 0xc
or edx, ecx
mov r14d, edx
cmp r14d, 0xffff
jbe 0x140027549
lea ecx, [r14 + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and r14d, 0x3ff
or r14d, 0xdc00
mov esi, r14d
mov r14d, ecx
jmp 0x14002754b
xor esi, esi
cmp rdi, qword [rbp - 0x20]
jne 0x14002746c
mov rax, r13
sub rax, r15
add rax, 0x11
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
cmp si, 1
sbb rdx, 0
lea r8, [rdx + 2]
mov rcx, rbx
mov rdx, rdi
call fcn.1400434f0
jmp 0x140027468
mov rdi, qword [rbp - 0x10]
mov qword [rbp + 0x510], rdi
movups xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0x500], xmm0
cmp rdi, qword [rbp + 0x500]
jne 0x1400275d7
lea rcx, [rbp + 0x500]
mov rdx, rdi
call fcn.14000fcd0
mov r8, qword [rbp + 0x5a8]
mov rdi, qword [rbp + 0x510]
mov rdx, qword [rbp + 0x5b0]
mov rsi, qword [rbp + 0x5b8]
jmp 0x1400275e5
mov rdx, qword [rbp + 0x5b0]
mov r8, qword [rbp + 0x5a8]
mov r12, qword [rbp + 0x508]
mov word [r12 + rdi*2], 0x22
inc rdi
mov qword [rbp + 0x510], rdi
lea rax, [r8 + r8]
xor ecx, ecx
lea rbx, [0x1400a3818]
cmp rax, rcx
je 0x14002761f
cmp word [rdx + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x14002760a
jmp 0x140027b72
movzx eax, word [rdx + r8*2 - 2]
cmp ax, 0x5c
je 0x140027b72
lea rbx, [r8 - 1]
xor r14d, r14d
test ax, ax
cmove r14, rdx
test r14, r14
cmove rbx, r8
cmove r14, rdx
mov r15, qword [rbp + 0x500]
mov rax, r15
sub rax, rdi
cmp rax, rbx
jae 0x140027972
lea rcx, [rbp + 0x500]
mov rdx, rdi
mov r8, rbx
call fcn.1400434f0
mov sil, byte [rbp + 0x570]
mov rdi, qword [rbp + 0x510]
mov r15, qword [rbp + 0x500]
mov r12, qword [rbp + 0x508]
jmp 0x140027979
call fcn.1400457e0
mov esi, eax
xor sil, 1
jmp 0x14002643a
xorps xmm0, xmm0
movups xmmword [rbp + 0x534], xmm0
movups xmmword [rbp + 0x528], xmm0
movups xmmword [rbp + 0x518], xmm0
movups xmmword [rbp + 0x508], xmm0
movups xmmword [rbp + 0x548], xmm0
movups xmmword [rbp + 0x558], xmm0
test r8, r8
mov rcx, qword [rbp + 0x450]
jne 0x1400276e9
test rcx, rcx
jne 0x1400276e9
cmp qword [rbp + 0x570], 0
je 0x14002770f
mov dword [rbp + 0x53c], pe_nt_image_headers64
mov rax, qword [rbp + 0x570]
mov qword [rbp + 0x550], rax
mov qword [rbp + 0x558], rcx
mov qword [rbp + 0x560], r8
mov rdx, qword [rbp + 0x578]
mov rbx, qword [rdx + 0xb8]
test rbx, rbx
mov qword [rbp + 0x438], r8
je 0x1400277e3
add rdx, 0xa8
mov dword [rbp + 0x500], 0x70
lea rcx, [rbp + 0x400]
call fcn.14002ca30
mov rdi, qword [rbp + 0x400]
mov rcx, qword [rbp + 0x408]
test rdi, rdi
je 0x140027c60
mov qword [rbp + 0x578], rcx
or r15d, 0x80000
mov rax, qword [rbp + 0x560]
mov qword [rbp + 0x40], rax
movups xmm0, xmmword [rbp + 0x550]
movaps xmmword [rbp + 0x30], xmm0
movups xmm0, xmmword [rbp + 0x540]
movaps xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rbp + 0x500]
movups xmm1, xmmword [rbp + 0x510]
movups xmm2, xmmword [rbp + 0x520]
movups xmm3, xmmword [rbp + 0x530]
movaps xmmword [rbp + 0x10], xmm3
movaps xmmword [rbp], xmm2
movaps xmmword [rbp - 0x10], xmm1
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp + 0x48], rdi
lea rax, [rbp - 0x20]
jmp 0x1400277f4
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_srccollections_btree_navigate.rs
lea r8, [0x1400a1b68]
mov edx, 0x2b
call fcn.140042f80
jmp 0x140028118
mov dword [rbp + 0x500], 0x68
lea rax, [rbp + 0x500]
mov rdx, qword [rbp + 0x4e8]
lea rcx, [rbp + 0x4c0]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov rax, qword [rbp + 0x3e8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r15d
mov r15, rdx
mov dword [rsp + 0x20], 1
mov rcx, qword [rbp + 0x5d8]
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140027c2a
movups xmm0, xmmword [rbp + 0x460]
movups xmm1, xmmword [rbp + 0x470]
movups xmm2, xmmword [rbp + 0x480]
mov rax, qword [rbp + 0x4f8]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [rbp + 0x4c0]
movups xmmword [rax], xmm0
test rbx, rbx
je 0x14002788e
mov rcx, rdi
mov rdx, qword [rbp + 0x578]
call fcn.14002cf00
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x438]
call rsi
mov rcx, qword [rbp + 0x450]
call rsi
mov rcx, qword [rbp + 0x570]
call rsi
lea rcx, [rbp + 0x580]
call fcn.14002cf40
cmp qword [rbp + 0x4b8], 0
je 0x1400278dc
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x430]
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x5c0], 0
mov rsi, qword [rbp + 0x448]
je 0x140027903
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5a8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x4e0], 0
je 0x14002791f
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x5b8], 0
je 0x14002793f
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5d8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x5d0], 0
setne al
xor r14b, 1
test al, r14b
je 0x1400256c7
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5b0]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400256c7
movzx esi, byte [rbp + 0x570]
lea r8, [rbx + rbx]
lea rcx, [r12 + rdi*2]
mov rdx, r14
call fcn.1400420d0
add rdi, rbx
mov qword [rbp + 0x510], rdi
cmp rdi, r15
jne 0x1400279b5
lea rcx, [rbp + 0x500]
mov rdx, r15
call fcn.14000fcd0
mov r12, qword [rbp + 0x508]
mov rdi, qword [rbp + 0x510]
mov word [r12 + rdi*2], 0x22
inc rdi
mov qword [rbp + 0x510], rdi
mov rax, qword [rbp + 0x458]
lea rax, [rax + rax*4]
lea r14, [0x1400a3837]
and r14, 0xfffffffffffffff8
lea r15, str._t____________
sub r14, r15
sete cl
cmp r14, 0x16
mov edx, 0x16
cmovae r14, rdx
mov rdi, qword [rbp + 0x4b8]
lea r13, [rdi + rax*8]
test r14, r14
sete r12b
or r12b, cl
cmp rdi, r13
je 0x140027bd1
mov rbx, rdi
mov rdx, qword [rbp + 0x510]
cmp rdx, qword [rbp + 0x500]
jne 0x140027a3a
lea rcx, [rbp + 0x500]
call fcn.14000fcd0
mov rdx, qword [rbp + 0x510]
lea rax, [rdx + 1]
mov rcx, qword [rbp + 0x508]
mov word [rcx + rdx*2], 0x20
mov qword [rbp + 0x510], rax
movzx eax, byte [rbp + 0x5c0]
mov r8d, eax
test sil, sil
jne 0x140027b49
cmp qword [rbx], 0
movzx eax, byte [rbp + 0x5c0]
mov r8d, eax
jne 0x140027b49
mov rax, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
add rcx, rax
cmp rax, rcx
je 0x140027b41
movzx edx, byte [rax]
xor r8d, r8d
test r12b, r12b
je 0x140027af5
movzx r9d, dl
movabs r10, 0x101010101010101
imul r9, r10
mov r10, qword [r8 + r15]
xor r10, r9
movabs rdi, 0xfefefefefefefeff
lea r11, [r10 + rdi]
not r10
and r10, r11
xor r9, qword [r8 + r15 + 8]
lea r11, [r9 + rdi]
not r9
and r9, r11
or r9, r10
movabs r10, 0x8080808080808080
test r9, r10
je 0x140027b0e
lea r10, [r15 + r8]
mov r9d, 0x16
sub r9, r8
jmp 0x140027b24
cmp byte [r8 + r15], dl
je 0x140027b46
inc r8
cmp r14, r8
jne 0x140027af5
mov r8, r14
cmp r14, 6
jbe 0x140027a98
jmp 0x140027b12
add r8, 0x10
mov r9, r8
sub r9, 0x16
je 0x140027b35
add r8, r15
neg r9
mov r10, r8
xor r8d, r8d
cmp byte [r10 + r8], dl
je 0x140027b46
inc r8
cmp r9, r8
jne 0x140027b27
inc rax
cmp rax, rcx
jne 0x140027a8d
xor r8d, r8d
jmp 0x140027b49
mov r8b, 1
lea rcx, [rbp + 0x500]
mov rdi, rbx
mov rdx, rbx
call fcn.14002b790
mov rbx, rax
add rdi, 0x28
test rax, rax
je 0x140027a0b
mov rsi, qword [rbp + 0x5b8]
cmp qword [rbp + 0x500], 0
je 0x140027b92
mov r8, qword [rbp + 0x508]
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp + 0x4f8]
mov qword [rax], rbx
mov qword [rax + 0x10], 2
test rsi, rsi
je 0x140027bc3
mov rcx, qword [0x1400b6ca0]
xor esi, esi
xor edx, edx
mov r8, qword [rbp + 0x5d8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140027bc5
xor esi, esi
mov rcx, qword [rbp + 0x5d0]
jmp 0x1400260cf
mov rax, qword [rbp + 0x500]
mov rdx, qword [rbp + 0x510]
cmp rdx, rax
jne 0x140027bfe
lea rcx, [rbp + 0x500]
call fcn.14000fcd0
mov rax, qword [rbp + 0x500]
mov rdx, qword [rbp + 0x510]
mov rbx, qword [rbp + 0x508]
mov word [rbx + rdx*2], 0x22
movabs rcx, 0x8000000000000000
cmp rax, rcx
jne 0x140027dbc
mov rsi, qword [rbp + 0x5b8]
jmp 0x140027b92
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov rcx, qword [rbp + 0x4f8]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
test rbx, rbx
je 0x140027c72
mov rcx, rdi
mov rdx, qword [rbp + 0x578]
call fcn.14002cf00
jmp 0x140027c72
mov rax, qword [rbp + 0x4f8]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
mov rcx, qword [rbp + 0x438]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x450]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x570]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x460], 0
je 0x140027cb0
mov rcx, qword [rbp + 0x468]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x470], 0
je 0x140027cc7
mov rcx, qword [rbp + 0x478]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x480], 0
je 0x140027cde
mov rcx, qword [rbp + 0x488]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r13b, r13b
test sil, sil
mov r13d, r14d
jne 0x140027cfc
mov rax, qword [0x1400b6c80]
shl rax, 1
test rax, rax
jne 0x140027da3
lea rcx, [0x1400b6cb0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [rbp + 0x4b8], 0
mov rsi, qword [rbp + 0x5b8]
je 0x140027d30
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x430]
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x5c0], 0
je 0x140027d50
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5a8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x4e0], 0
je 0x140027d70
mov r8, qword [rbp + 0x4e8]
mov rcx, qword [0x1400b6ca0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rsi, rsi
je 0x140027d8b
mov rcx, qword [0x1400b6ca0]
xor edx, edx
mov r8, qword [rbp + 0x5d8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov sil, 1
test r13b, r13b
mov rcx, qword [rbp + 0x5d0]
jne 0x1400256c0
jmp 0x1400260cf
call fcn.1400457e0
test al, al
jne 0x140027cfc
mov byte [0x1400b6cb8], 1
jmp 0x140027cfc
inc rdx
mov cl, 1
mov dword [rbp + 0x444], ecx
xor r13d, r13d
mov r8, qword [rbp + 0x5b8]
jmp 0x140026121
mov r13d, dword [rbp + 0x458]
jmp 0x14002699a
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x580], rax
lea rax, [rbp + 0x580]
mov qword [rbp + 0x460], rax
lea rax, [0x14001efe0]
mov qword [rbp + 0x468], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rbp + 0x500], rax
mov qword [rbp + 0x508], 1
mov qword [rbp + 0x520], 0
lea rax, [rbp + 0x460]
mov qword [rbp + 0x510], rax
mov qword [rbp + 0x518], 1
lea rdx, str.8__n_
lea rcx, [rbp + 0x500]
call fcn.140042dc0
jmp 0x140028118
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_srcio_borrowed_buf.rs_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_alloc_srccollections_btree_navigate.rs
lea r8, [0x1400a10a0]
mov edx, 0x2b
call fcn.140042f80
jmp 0x140028118
mov byte [rbp + 0x5ca], 1
mov ecx, 1
mov rdx, rdi
call fcn.140042cf0
jmp 0x140028118
mov ecx, 2
mov rdx, r13
call fcn.140042cf0
jmp 0x140028118
mov ecx, 1
mov rdx, qword [rbp + 0x5d0]
call fcn.140042cf0
jmp 0x140028118
call fcn.140006820
jmp 0x140028118
mov byte [rbp + 0x5ca], 1
call fcn.140006820
jmp 0x140028118
call fcn.140006820
jmp 0x140028118
lea r8, str.library_std_src_syswindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.140042e00
jmp 0x140028118
lea rax, str.library_std_src_syswindowsos.rs
mov rcx, r8
mov rdx, r15
mov r8, rax
call fcn.140042f00
jmp 0x140028118
lea r8, str.library_std_src_syswindowsos.rs
mov rcx, r13
mov rdx, r15
call fcn.140042e00
jmp 0x140028118
mov qword [rbp + 0x5b0], r12
mov qword [rbp + 0x5a8], r14
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x1400a1810]
mov edx, 0x21
call fcn.140042f80
jmp 0x140028118
mov byte [rbp + 0x5e7], 1
mov ecx, 1
mov edx, 4
call fcn.140042cf0
jmp 0x140028118
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.UB_n_
mov edx, 0x28
call fcn.140042f80
jmp 0x140028118
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.UB_n_
mov edx, 0x28
call fcn.140042f80
jmp 0x140028118
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x580], rax
lea rax, [rbp + 0x580]
mov qword [rbp + 0x460], rax
lea rax, [0x14001efe0]
mov qword [rbp + 0x468], rax
lea rax, str.0:_n_
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 1
mov qword [rbp], 0
lea rax, [rbp + 0x460]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], 1
lea rdx, str.X9_n_
lea rcx, [rbp - 0x20]
call fcn.140042dc0
jmp 0x140028118
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.UB_n_
mov edx, 0x28
call fcn.140042f80
jmp 0x140028118
mov byte [rbp + 0x5e7], 1
mov ecx, 1
mov rdx, r15
call fcn.140042cf0
jmp 0x140028118
mov byte [rbp + 0x5e7], 1
call fcn.140006820
jmp 0x140028118
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.UB_n_
mov edx, 0x28
call fcn.140042f80
jmp 0x140028118
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.140042f00
jmp 0x140028118
lea r8, str._rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_sliceiter.rs
call fcn.140042e00
jmp 0x140028118
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r12
mov r8, rax
call fcn.140042f00
jmp 0x140028118
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r12
mov r8, rax
call fcn.140042f00
jmp 0x140028118
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, rsi
mov rdx, r12
call fcn.140042f00
jmp 0x140028118
mov ecx, 2
mov rdx, rbx
call fcn.140042cf0
jmp 0x140028118
call fcn.140006820
jmp 0x140028118
mov ecx, 2
mov edx, 0xc
call fcn.140042cf0
ud2