Function at 0x140112cc0
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, 0x648
movdqa xmmword [rsp + 0x630], xmm6
mov qword [rsp + 0x1d0], r8
mov r14, rdx
mov qword [rsp + 0x50], rcx
movzx eax, byte [rdx + 0x68]
mov r13, qword [rdx + 0x60]
test al, al
jne 0x140112d11
test r13, r13
jne 0x140112d11
mov qword [rsp + 0x1e8], 0
xor r15d, r15d
jmp 0x140113a86
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x130], 0
test al, al
mov qword [rsp + 0xa0], r14
jne 0x140112f6e
call sub.kernel32.dll_GetEnvironmentStringsW
test rax, rax
je 0x1401166da
mov qword [rsp + 0x58], r13
lea rdi, [rsp + 0x140]
lea r14, [rsp + 0x220]
lea rsi, [rsp + 0x80]
mov qword [rsp + 0x60], rax
mov r15, rax
nop dword [rax]
cmp word [r15], 0
je 0x140112f57
mov r13, r15
mov rcx, 0xfffffffffffffffe
xor edx, edx
nop word [rax + rax]
mov rbx, rdx
mov rax, rcx
inc rdx
add rcx, 2
cmp word [r13 + rbx*2], 0
jne 0x140112d90
lea r15, [rdx*2]
add r15, r13
cmp rbx, 1
je 0x140112d70
test rbx, rbx
je 0x14011661d
xor ebp, ebp
nop word cs:[rax + rax]
cmp word [r13 + rbp*2 + 2], 0x3d
je 0x140112df0
inc rbp
add rax, 0xfffffffffffffffe
jne 0x140112dd0
jmp 0x140112d70
lea r8, [rbp + 1]
cmp rbp, rbx
jae 0x140116635
mov rcx, rdi
mov rdx, r13
call fcn.1400f2be0
add rbp, 2
mov r8, rbx
sub r8, rbp
jb 0x14011664f
lea rdx, [rbp*2]
add rdx, r13
mov rcx, r14
call fcn.1400f2be0
mov r13, qword [rsp + 0x140]
mov r12, qword [rsp + 0x148]
movdqu xmm6, xmmword [rsp + 0x150]
mov rbx, qword [rsp + 0x220]
mov rbp, qword [rsp + 0x228]
lea rax, [rsp + 0x230]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1a0], xmm0
movdqa xmmword [rsp + 0x620], xmm6
cmp byte [rsp + 0x628], 2
je 0x140112f57
movq rax, xmm6
add rax, r13
mov qword [rsp + 0x140], r13
mov qword [rsp + 0x148], rax
mov word [rsp + 0x150], 0
mov rcx, rsi
mov rdx, rdi
call fcn.140117030
mov qword [rsp + 0x238], r13
mov qword [rsp + 0x240], r12
movdqu xmmword [rsp + 0x248], xmm6
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x220], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rbp
movdqa xmm0, xmmword [rsp + 0x1a0]
lea rax, [rsp + 0x150]
movdqu xmmword [rax], xmm0
mov rcx, rsi
lea rdx, [rsp + 0x120]
mov r8, r14
mov r9, rdi
call fcn.140117260
cmp byte [rsp + 0x98], 2
je 0x140112d70
cmp qword [rsp + 0x88], 0
je 0x140112d70
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x140112d70
mov rcx, qword [rsp + 0x60]
call sub.kernel32.dll_FreeEnvironmentStringsW
mov r14, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x58]
movabs rcx, 0x3ffffffffffffffe
mov rax, qword [r14 + 0x50]
mov rbp, qword [r14 + 0x58]
xor esi, esi
test rax, rax
setne sil
cmove r13, rax
xor r15d, r15d
inc rcx
mov qword [rsp + 0xa8], rcx
jmp 0x140112fa2
xor eax, eax
test r13, r13
je 0x140113895
test rsi, rsi
je 0x140113000
test r15, r15
jne 0x140113000
mov esi, 1
test rbp, rbp
je 0x14011300a
mov rdx, rbp
and rdx, 7
je 0x14011300f
mov rcx, rbp
and rcx, 0xfffffffffffffff8
mov r15, rax
nop word cs:[rax + rax]
mov r15, qword [r15 + 0x3d8]
dec rdx
jne 0x140112fe0
cmp rbp, 8
jae 0x140113020
jmp 0x14011305e
test rsi, rsi
jne 0x140113062
jmp 0x1401165ac
mov r15, rax
jmp 0x14011305e
mov r15, rax
mov rcx, rbp
cmp rbp, 8
jb 0x14011305e
nop dword [rax + rax]
mov rax, qword [r15 + 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 r15, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x140113020
xor ebp, ebp
xor eax, eax
movzx ecx, word [r15 + 0x3d2]
mov r14, r15
mov r12, rbp
cmp rbp, rcx
jb 0x1401130a8
nop word cs:[rax + rax]
mov rcx, qword [r14 + 0x160]
test rcx, rcx
je 0x140116056
inc rax
movzx r12d, word [r14 + 0x3d0]
mov r14, rcx
cmp r12w, word [rcx + 0x3d2]
jae 0x140113080
test rax, rax
je 0x140113140
mov r15, qword [r14 + r12*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x14011312e
mov rdx, rcx
and rdx, 7
je 0x1401130e5
mov rcx, rdx
nop dword [rax]
mov r15, qword [r15 + 0x3d8]
dec rcx
jne 0x1401130d0
not rdx
add rdx, rax
mov rcx, rdx
add rax, 0xfffffffffffffffe
cmp rax, 7
jb 0x14011312e
nop
mov rax, qword [r15 + 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 r15, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x1401130f0
xor ebp, ebp
jmp 0x140113148
lea rbp, [r12 + 1]
mov r15, r14
dec r13
imul rax, r12, 0x38
lea rbx, [r14 + rax]
add rbx, 0x168
shl r12, 5
cmp byte [r14 + r12 + 0x18], 2
jne 0x1401131c0
mov rdi, qword [rsp + 0x120]
mov eax, 0
test rdi, rdi
je 0x140112fa2
mov r14, rbp
mov r9, qword [rbx]
mov rax, qword [rbx + 0x10]
mov rbp, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
mov rdx, rdi
mov r8, rbp
call fcn.140118790
cmp qword [rsp + 0x80], 0
je 0x140113406
xor eax, eax
mov rbp, r14
jmp 0x140112fa2
mov qword [rsp + 0x60], rsi
mov rsi, qword [rbx + 0x18]
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x140113217
js 0x140116601
movzx eax, byte [0x1401be180]
mov rax, qword [0x1401be0e8]
test rax, rax
jne 0x140113200
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401165c9
mov qword [0x1401be0e8], rax
mov rcx, rax
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapAlloc
test rax, rax
jne 0x14011321c
jmp 0x1401165c9
mov eax, 1
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x78], rax
mov rcx, rax
mov rdx, rsi
mov r8, rdi
call sub.msvcrt.dll_memcpy
movzx esi, byte [rbx + 0x30]
mov rdx, qword [rbx]
mov rbp, qword [rbx + 0x10]
mov ebx, 2
test rbp, rbp
mov qword [rsp + 0x58], r13
je 0x1401132c0
cmp rbp, qword [rsp + 0xa8]
ja 0x1401165ed
mov r13, rbp
add r13, rbp
je 0x1401132c0
mov qword [rsp + 0x70], rdx
movzx eax, byte [0x1401be180]
mov rax, qword [0x1401be0e8]
test rax, rax
jne 0x140113291
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14011660b
mov qword [0x1401be0e8], rax
mov rcx, rax
xor edx, edx
mov r8, r13
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14011660b
mov rbx, rax
mov rdx, qword [rsp + 0x70]
jmp 0x1401132c3
xor r13d, r13d
add r14, r12
mov rcx, rbx
mov r8, r13
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x240], rdi
mov qword [rsp + 0x248], rdi
mov byte [rsp + 0x250], sil
mov qword [rsp + 0x220], rbx
mov qword [rsp + 0x228], rbp
mov qword [rsp + 0x230], rbp
mov r13, qword [r14]
mov rsi, qword [r14 + 0x10]
test rsi, rsi
je 0x140113362
js 0x1401165f7
movzx eax, byte [0x1401be180]
mov rax, qword [0x1401be0e8]
test rax, rax
jne 0x140113348
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401165db
mov qword [0x1401be0e8], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
mov r12, rax
test rax, rax
jne 0x140113368
jmp 0x1401165db
mov r12d, 1
mov rcx, r12
mov rdx, r13
mov r8, rsi
call sub.msvcrt.dll_memcpy
movzx eax, byte [r14 + 0x18]
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x150], rsi
mov byte [rsp + 0x158], al
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x120]
lea r8, [rsp + 0x220]
lea r9, [rsp + 0x140]
call fcn.140117260
cmp byte [rsp + 0x98], 2
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
je 0x140112fa0
cmp qword [rsp + 0x88], 0
je 0x140112fa0
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x140112fa0
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
mov byte [rsp + 0x208], 0
test rdx, rdx
je 0x1401135c4
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x1401134fe
mov r8, rcx
and r8, 7
je 0x14011346e
mov rcx, r8
nop
movzx r9d, word [rax + 0x3d2]
mov rax, qword [rax + r9*8 + 0x3d8]
dec rcx
jne 0x140113450
not r8
add r8, rdx
mov rcx, r8
add rdx, 0xfffffffffffffffe
cmp rdx, 7
jb 0x1401134fe
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 0x140113480
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], rcx
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x208]
call fcn.1401188f0
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x190], rax
movups xmm0, xmmword [rsp + 0x260]
movaps xmmword [rsp + 0x180], xmm0
movdqu xmm0, xmmword [rsp + 0x220]
movups xmm1, xmmword [rsp + 0x230]
movups xmm2, xmmword [rsp + 0x240]
movups xmm3, xmmword [rsp + 0x250]
movaps xmmword [rsp + 0x170], xmm3
movaps xmmword [rsp + 0x160], xmm2
movaps xmmword [rsp + 0x150], xmm1
movdqa xmmword [rsp + 0x140], xmm0
mov rdx, qword [rsp + 0x278]
mov rax, qword [rsp + 0x288]
movzx ecx, word [rdx + 0x3d2]
cmp rax, rcx
jae 0x140113602
mov rcx, rdx
jmp 0x140113639
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rcx
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x140]
lea r8, [rsp + 0x208]
call fcn.1401188f0
jmp 0x140113753
mov r8, qword [rsp + 0x280]
nop word [rax + rax]
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x140113634
inc r8
movzx eax, word [rdx + 0x3d0]
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x140113610
jmp 0x140113639
mov rax, r8
xor ecx, ecx
imul rdx, rax, 0x38
shl rax, 5
mov r8, qword [rcx + rdx + 0x198]
mov qword [rsp + 0xe0], r8
movups xmm0, xmmword [rcx + rdx + 0x168]
movups xmm1, xmmword [rcx + rdx + 0x178]
movups xmm2, xmmword [rcx + rdx + 0x188]
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov r8, qword [rsp + 0x170]
mov qword [rcx + rdx + 0x198], r8
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movaps xmm2, xmmword [rsp + 0x160]
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 + 0xe8]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rdx, [rsp + 0x178]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x270], rax
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x260], xmm0
movdqa xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmm2, xmmword [rsp + 0xd0]
movaps xmm3, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x250], xmm3
movaps xmmword [rsp + 0x240], xmm2
movaps xmmword [rsp + 0x230], xmm1
movdqa xmmword [rsp + 0x220], xmm0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r13
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x78], rax
mov r12, qword [rsp + 0x238]
mov rcx, qword [rsp + 0x240]
movzx r13d, byte [rsp + 0x250]
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0x1b8], rax
dec qword [rsp + 0x130]
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x68], rax
movzx ebx, byte [rsp + 0x270]
cmp byte [rsp + 0x208], 0
je 0x14011380c
mov rsi, rcx
test rbp, rbp
je 0x140116666
mov rax, qword [rdi + 0x3d8]
mov qword [rsp + 0x120], rax
dec rbp
mov qword [rsp + 0x128], rbp
mov qword [rax + 0x160], 0
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov rcx, rsi
mov eax, 0
cmp r13b, 2
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rbp, r14
je 0x140112fa2
test rcx, rcx
je 0x14011383e
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x78], 0
je 0x140113859
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x70]
call sub.kernel32.dll_HeapFree
mov eax, 0
cmp bl, 2
je 0x140112fa2
mov eax, 0
cmp qword [rsp + 0x68], 0
je 0x140112fa2
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x1b8]
call sub.kernel32.dll_HeapFree
xor eax, eax
jmp 0x140112fa2
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x200], rax
movdqu xmm0, xmmword [rsp + 0x120]
movdqu xmmword [rsp + 0x1f0], xmm0
mov qword [rsp + 0x1e8], 1
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1401138ee
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14011676a
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r12d, 4
mov r8d, 4
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140116770
mov rsi, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], rax
mov word [rsp + 0xc0], 0
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0xb0]
call fcn.140117030
mov qword [rsp + 0x238], rsi
mov qword [rsp + 0x240], 4
mov qword [rsp + 0x248], 4
mov byte [rsp + 0x250], 0
movdqu xmm0, xmmword [rsp + 0x140]
movdqa xmmword [rsp + 0x220], xmm0
mov r15, qword [rsp + 0x150]
mov qword [rsp + 0x230], r15
mov rdi, qword [rsp + 0x220]
mov r14, qword [rsp + 0x1f0]
test r14, r14
je 0x140113a44
mov qword [rsp + 0x58], rsi
mov r12, qword [rsp + 0x1f8]
lea rcx, [r14 + 0x168]
movzx r13d, word [r14 + 0x3d2]
imul rbx, r13, 0x38
mov rbp, 0xffffffffffffffff
test rbx, rbx
je 0x140113a10
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
inc rbp
add rbx, 0xffffffffffffffc8
mov rcx, rsi
cmp eax, 3
je 0x1401139d0
cmp eax, 1
jne 0x140113a27
jmp 0x140113a13
mov rbp, r13
sub r12, 1
jb 0x140113f30
mov r14, qword [r14 + rbp*8 + 0x3d8]
jmp 0x1401139b6
cmp eax, 2
jne 0x14011651c
test r14, r14
je 0x140113a49
shl rbp, 5
mov r15, qword [r14 + rbp]
mov rbx, qword [r14 + rbp + 0x10]
jmp 0x140113a4c
xor r15d, r15d
jmp 0x140113a51
xor r15d, r15d
mov rsi, qword [rsp + 0x58]
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x228], 0
mov r14, qword [rsp + 0xa0]
je 0x140113a86
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov r12, qword [r14 + 0x40]
lea rax, str.program_path_has_no_file_name
mov qword [rsp + 0x58], rax
test r12, r12
je 0x140113aed
mov rdx, qword [r14 + 0x30]
cmp r12, 4
jae 0x140113aae
lea rax, [0x140118e40]
jmp 0x140113ad6
mov eax, dword [rdx]
bswap eax
xor ecx, ecx
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
adc ecx, 0xffffffff
lea rcx, [0x140118e30]
lea rax, [0x140118e40]
cmove rax, rcx
mov qword [rsp + 0x60], rdx
movzx esi, byte [r12 + rdx - 1]
mov ecx, esi
call rax
test al, al
je 0x140113b74
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x1e8], 0
je 0x140113cb1
mov rcx, qword [rsp + 0x1f0]
test rcx, rcx
je 0x140113c88
mov rdx, qword [rsp + 0x1f8]
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x228], 0
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x238], rdx
mov qword [rsp + 0x248], 0
mov qword [rsp + 0x250], rcx
mov qword [rsp + 0x258], rdx
mov ecx, 1
jmp 0x140113c8c
cmp r12, 4
jb 0x140113bdf
mov rdx, qword [rsp + 0x60]
movzx eax, byte [r12 + rdx - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x140113bdf
movzx eax, byte [rdx + r12 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x140113bdf
movzx eax, byte [rdx + r12 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x140113bdf
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x140113be1
xor eax, eax
mov rdx, qword [rsp + 0x60]
lea rcx, [rdx + r12]
mov qword [rsp + 0x78], rcx
xor ecx, ecx
nop word cs:[rax + rax]
cmp r12, rcx
je 0x140113ce3
movzx r8d, byte [rdx + rcx]
cmp r8d, 0x5c
je 0x140113c1d
inc rcx
cmp r8d, 0x2f
jne 0x140113c00
test al, al
je 0x140113dcb
lea rcx, [rsp + 0x220]
mov r8, r12
call fcn.1400f0750
mov rcx, qword [rsp + 0x220]
mov rax, qword [rsp + 0x228]
test rcx, rcx
je 0x140113ebc
mov rdx, qword [rsp + 0x230]
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], rdx
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x220]
call fcn.140118e50
jmp 0x140114b36
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x240], rcx
mov qword [rsp + 0x260], rax
lea rcx, [rsp + 0x220]
call fcn.140116f70
mov rsi, qword [rsp + 0x1d0]
cmp dword [rsi], 4
jb 0x140113cc7
mov rcx, qword [rsi + 8]
call sub.kernel32.dll_CloseHandle
movaps xmm6, xmmword [rsp + 0x630]
add rsp, 0x648
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r8d, r8d
lea rax, str.nul_byte_found_in_provided_data
mov qword [rsp + 0x58], rax
mov rax, rdx
jmp 0x140113d0c
xor r8d, r8d
test cx, cx
je 0x140113aed
mov cx, 1
test r8w, r8w
jne 0x140113d00
cmp rax, qword [rsp + 0x78]
je 0x140113f08
movzx r11d, byte [rax]
test r11b, r11b
js 0x140113d2f
inc rax
jmp 0x140113d93
mov r8d, r11d
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r11b, 0xdf
jbe 0x140113d85
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r11b, 0xf0
jb 0x140113d9e
movzx r11d, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and r11d, 0x3f
or r11d, r9d
or r11d, r8d
cmp r11d, 0xffff
jbe 0x140113d93
jmp 0x140113db5
add rax, 2
shl r8d, 6
or r8d, r10d
mov r11d, r8d
xor r8d, r8d
mov ecx, r11d
jmp 0x140113d03
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov r11d, r9d
cmp r11d, 0xffff
jbe 0x140113d93
and r11d, 0x3ff
or r11d, 0xdc00
mov r8d, r11d
jmp 0x140113d03
test r12, r12
js 0x140116782
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x140113dff
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140116770
mov rcx, rax
mov qword [0x1401be0e8], rax
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140116770
mov rsi, rax
mov rcx, rax
mov rdx, qword [rsp + 0x60]
mov r8, r12
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x220], rsi
mov qword [rsp + 0x228], r12
mov qword [rsp + 0x230], r12
mov byte [rsp + 0x238], 0
lea rdx, str..exeprogram_not_found
lea rcx, [rsp + 0x220]
mov r8d, 4
call fcn.14010f9e0
mov rsi, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x228]
mov rdi, qword [rsp + 0x230]
lea rcx, [rsp + 0xb0]
mov rdx, rsi
mov r8, rdi
call fcn.140118f30
cmp qword [rsp + 0xb0], 0
je 0x140113ed5
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x130], rax
movdqu xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0x120], xmm0
jmp 0x140114b20
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x120], 0
jmp 0x140114b36
mov rcx, rsi
mov rdx, rdi
call fcn.1401123a0
test rax, rax
je 0x140114aad
cmp rdx, 2
jne 0x140113f38
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x140113f38
mov r8d, 2
xor r9d, r9d
jmp 0x140114a8d
cmp r12, 0xf
ja 0x140113f75
xor eax, eax
mov qword [rsp + 0x68], rax
xor eax, eax
nop word [rax + rax]
cmp byte [rdx + rax], 0x2e
je 0x140113f8b
inc rax
cmp r12, rax
jne 0x140113f20
jmp 0x140113f95
xor r15d, r15d
jmp 0x140113a4c
mov r8, rdx
nop dword [rax + rax]
test r8, r8
je 0x140113f81
mov rcx, r8
dec r8
cmp byte [rax + rcx - 1], 0x2e
jne 0x140113f40
mov r10, rdx
sub r10, rcx
jb 0x1401167d7
test r8, r8
je 0x140114a87
mov r9, rax
add r9, rcx
mov rdx, r10
jmp 0x140114a8d
mov cl, 0x2e
mov r8, r12
call fcn.140014060
jmp 0x140113f90
mov r9, rax
xor eax, eax
jmp 0x140114a8d
mov eax, 1
mov qword [rsp + 0x68], rax
test r15, r15
je 0x140113fe4
add rbx, r15
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x148], rbx
mov word [rsp + 0x150], 0
mov byte [rsp + 0x158], 1
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x140]
call fcn.14010f490
movzx eax, byte [rsp + 0x238]
cmp al, 2
jne 0x14011449c
mov qword [rsp + 0x70], r12
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0x80], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x88], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor esi, esi
mov r12d, 0xffffffff
xor r15d, r15d
xor r14d, r14d
cmp r8, 0x201
jb 0x14011404f
jmp 0x140114070
jae 0x14011412e
cmp r8, 0x201
jae 0x140114070
mov r13d, 0x200
lea rbp, [rsp + 0x220]
mov rbx, r8
jmp 0x1401140c3
sub r8, r14
sub r15, r14
cmp r15, r8
jae 0x1401140a0
lea rcx, [rsp + 0x80]
mov rdx, r14
call fcn.1400f0bf0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x58], rax
mov rsi, qword [rsp + 0x88]
cmp rsi, r12
mov r14d, 0xffffffff
cmovb r14, rsi
mov qword [rsp + 0x90], r14
mov r15, rsi
mov r13, r14
mov rbp, qword [rsp + 0x58]
mov rbx, r14
xor ecx, ecx
call sub.kernel32.dll_SetLastError
xor ecx, ecx
mov rdx, rbp
mov r8d, ebx
call sub.kernel32.dll_GetModuleFileNameW
mov edi, eax
test eax, eax
jne 0x1401140ea
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x140114170
mov r8d, edi
cmp rbx, r8
jne 0x140114040
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x140116683
add rbx, rbx
mov eax, 0xffffffff
cmp rbx, rax
mov r12d, 0xffffffff
cmovae rbx, rax
mov r8, rbx
cmp r8, 0x201
jae 0x140114070
jmp 0x14011404f
cmp r13, r8
jb 0x1401167a9
lea rcx, [rsp + 0xb0]
mov rdx, rbp
call fcn.1400f2be0
mov r15, qword [rsp + 0x70]
movdqu xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x150], xmm1
movdqa xmmword [rsp + 0x140], xmm0
jmp 0x140114192
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x140], rax
mov byte [rsp + 0x158], 2
mov r15, qword [rsp + 0x70]
test rsi, rsi
je 0x1401141aa
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x58]
call sub.kernel32.dll_HeapFree
cmp byte [rsp + 0x158], 2
jne 0x1401141c6
lea rcx, [rsp + 0x140]
call fcn.1400eda90
jmp 0x1401142ab
mov rsi, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rdi, qword [rsp + 0x150]
mov r14, qword [rsp + 0x158]
mov rcx, rsi
mov rdx, rdi
call case.0x1401102d6.91
cmp rdi, rdx
cmovb rdx, rdi
test rax, rax
cmove rdx, rdi
mov qword [rsp + 0x220], rsi
mov qword [rsp + 0x228], rbx
mov qword [rsp + 0x230], rdx
mov qword [rsp + 0x238], r14
lea rcx, [rsp + 0x220]
mov rdx, qword [rsp + 0x60]
mov r8, r15
call fcn.14010fc10
cmp qword [rsp + 0x68], 1
je 0x140114249
lea rcx, [rsp + 0x220]
call fcn.1401124d0
mov rsi, qword [rsp + 0x220]
mov r8, qword [rsp + 0x230]
lea rcx, [rsp + 0xb0]
mov rdx, rsi
call fcn.140118f30
cmp qword [rsp + 0x228], 0
mov r14, qword [rsp + 0xa0]
je 0x14011428d
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x1401142ab
mov r8, rax
movdqu xmm6, xmmword [rsp + 0xb8]
jmp 0x14011489f
mov qword [rsp + 0x1a0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x1a8], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor r15d, r15d
mov r12d, 0xffffffff
xor esi, esi
xor ebx, ebx
cmp r8, 0x201
jb 0x1401142ff
jmp 0x140114320
jae 0x1401143da
cmp r8, 0x201
jae 0x140114320
mov r14d, 0x200
lea r13, [rsp + 0x220]
mov rbp, r8
jmp 0x140114372
sub r8, rbx
sub rsi, rbx
cmp rsi, r8
jae 0x140114350
lea rcx, [rsp + 0x1a0]
mov rdx, rbx
call fcn.1400f0bf0
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x58], rax
mov r15, qword [rsp + 0x1a8]
cmp r15, r12
mov ebx, 0xffffffff
cmovb rbx, r15
mov qword [rsp + 0x1b0], rbx
mov rsi, r15
mov r14, rbx
mov r13, qword [rsp + 0x58]
mov rbp, rbx
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, r13
mov edx, ebp
call sub.kernel32.dll_GetSystemDirectoryW
mov edi, eax
test eax, eax
jne 0x140114396
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x1401145d9
mov r8d, edi
cmp rbp, r8
jne 0x1401142f0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x1401166a0
add rbp, rbp
mov eax, 0xffffffff
cmp rbp, rax
mov r12d, 0xffffffff
cmovae rbp, rax
mov r8, rbp
cmp r8, 0x201
jae 0x140114320
jmp 0x1401142ff
cmp r14, r8
jb 0x1401167c0
lea rcx, [rsp + 0xb0]
mov rdx, r13
call fcn.1400f2be0
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
lea rcx, [rsp + 0xb0]
mov r8, rbx
call fcn.14010fc10
mov r14, qword [rsp + 0xa0]
cmp qword [rsp + 0x68], 1
je 0x14011442a
lea rcx, [rsp + 0xb0]
call fcn.1401124d0
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
lea rcx, [rsp + 0x80]
mov rdx, rdi
call fcn.140118f30
cmp qword [rsp + 0xb8], 0
je 0x140114466
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
movdqu xmm0, xmmword [rsp + 0x80]
movdqu xmmword [rsp + 0x148], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x140], 0
mov sil, 1
jmp 0x140114604
lea r15, [rsp + 0x239]
lea r13, [rsp + 0xc9]
lea rsi, [rsp + 0x220]
lea rdi, [rsp + 0x140]
lea rbx, [rsp + 0xb0]
jmp 0x1401144eb
mov rcx, rsi
mov rdx, rdi
call fcn.14010f490
movzx eax, byte [rsp + 0x238]
cmp al, 2
je 0x140113fe4
mov r8, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x230]
test rdx, rdx
jne 0x14011451d
test rcx, rcx
je 0x1401144d0
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x1401144d0
mov rbp, r14
mov r9d, dword [r15]
mov r10d, dword [r15 + 3]
mov dword [r13 + 3], r10d
mov dword [r13], r9d
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rdx
mov byte [rsp + 0xc8], al
mov rcx, rbx
mov rdx, qword [rsp + 0x60]
mov r8, r12
call fcn.14010fc10
cmp qword [rsp + 0x68], 1
je 0x14011456e
mov rcx, rbx
call fcn.1401124d0
mov r14, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
mov rcx, rsi
mov rdx, r14
call fcn.140118f30
cmp qword [rsp + 0xb8], 0
je 0x1401145a5
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
mov r8, qword [rsp + 0x220]
test r8, r8
jne 0x140115906
mov rcx, rsi
mov rdx, rdi
call fcn.14010f490
mov r14, rbp
movzx eax, byte [rsp + 0x238]
cmp al, 2
jne 0x1401144eb
jmp 0x140113fe4
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x140], 1
xor esi, esi
mov r14, qword [rsp + 0xa0]
test r15, r15
je 0x14011461c
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x58]
call sub.kernel32.dll_HeapFree
test sil, sil
je 0x140114634
mov rax, qword [rsp + 0x148]
test rax, rax
jne 0x140114893
jmp 0x140114641
lea rcx, [rsp + 0x148]
call fcn.1400eda90
mov qword [rsp + 0x1a0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x1a8], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor r15d, r15d
mov r12d, 0xffffffff
xor esi, esi
xor ebx, ebx
cmp r8, 0x201
jb 0x14011469f
jmp 0x1401146c0
jae 0x14011477a
cmp r8, 0x201
jae 0x1401146c0
mov r14d, 0x200
lea r13, [rsp + 0x220]
mov rbp, r8
jmp 0x140114712
sub r8, rbx
sub rsi, rbx
cmp rsi, r8
jae 0x1401146f0
lea rcx, [rsp + 0x1a0]
mov rdx, rbx
call fcn.1400f0bf0
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x58], rax
mov r15, qword [rsp + 0x1a8]
cmp r15, r12
mov ebx, 0xffffffff
cmovb rbx, r15
mov qword [rsp + 0x1b0], rbx
mov rsi, r15
mov r14, rbx
mov r13, qword [rsp + 0x58]
mov rbp, rbx
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, r13
mov edx, ebp
call sub.kernel32.dll_GetWindowsDirectoryW
mov edi, eax
test eax, eax
jne 0x140114736
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x140114839
mov r8d, edi
cmp rbp, r8
jne 0x140114690
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x1401166bd
add rbp, rbp
mov eax, 0xffffffff
cmp rbp, rax
mov r12d, 0xffffffff
cmovae rbp, rax
mov r8, rbp
cmp r8, 0x201
jae 0x1401146c0
jmp 0x14011469f
cmp r14, r8
jb 0x1401167e5
lea rcx, [rsp + 0xb0]
mov rdx, r13
call fcn.1400f2be0
mov rdx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x70]
lea rcx, [rsp + 0xb0]
mov r8, r12
call fcn.14010fc10
mov r14, qword [rsp + 0xa0]
cmp qword [rsp + 0x68], 1
je 0x1401147ca
lea rcx, [rsp + 0xb0]
call fcn.1401124d0
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
lea rcx, [rsp + 0x80]
mov rdx, rdi
call fcn.140118f30
cmp qword [rsp + 0xb8], 0
je 0x140114806
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
movdqu xmm0, xmmword [rsp + 0x80]
movdqu xmmword [rsp + 0x148], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x140], 0
mov sil, 1
jmp 0x140114869
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x140], 1
xor esi, esi
mov r14, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x70]
test r15, r15
je 0x140114881
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x58]
call sub.kernel32.dll_HeapFree
test sil, sil
je 0x1401148c3
mov rax, qword [rsp + 0x148]
test rax, rax
je 0x1401148d0
mov r8, rax
movdqu xmm6, xmmword [rsp + 0x150]
movq qword [rsp + 0x58], xmm6
pshufd xmm0, xmm6, 0xee
movq r9, xmm0
cmp r9, 5
mov qword [rsp + 0x68], r8
jae 0x140114b67
jmp case.0x140114ed3.68
lea rcx, [rsp + 0x148]
call fcn.1400eda90
lea rdx, str.PATHRUST_MIN_STACKfatal_runtime_error:_assertion_failed:_thread_info.stack_guard.get__.is_none____thread_info.thread.get__.is_none___n
lea rcx, [rsp + 0x80]
mov r8d, 4
call fcn.14010dca0
cmp byte [rsp + 0x98], 2
je 0x140114a76
mov rsi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x90]
add rax, rsi
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0x148], rax
mov word [rsp + 0x150], 0
mov byte [rsp + 0x158], 1
lea r13, [rsp + 0x239]
lea r15, [rsp + 0xc9]
lea rdi, [rsp + 0x220]
lea rbx, [rsp + 0x140]
lea rbp, [rsp + 0xb0]
jmp 0x140114975
mov rax, qword [rsp + 0x220]
test rax, rax
jne 0x140116021
mov rcx, rdi
mov rdx, rbx
call fcn.14010f490
jmp 0x14011498d
mov rcx, rdi
mov rdx, rbx
call fcn.14010f490
movzx eax, byte [rsp + 0x238]
cmp al, 2
je 0x140114a5d
mov r8, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x230]
test rdx, rdx
jne 0x1401149cf
test rcx, rcx
je 0x140114982
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x140114982
mov r9d, dword [r13]
mov r10d, dword [r13 + 3]
mov dword [r15 + 3], r10d
mov dword [r15], r9d
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rdx
mov byte [rsp + 0xc8], al
mov rcx, rbp
mov rdx, qword [rsp + 0x60]
mov r8, r12
call fcn.14010fc10
cmp qword [rsp + 0x68], 1
je 0x140114a1d
mov rcx, rbp
call fcn.1401124d0
mov r14, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xc0]
mov rcx, rdi
mov rdx, r14
call fcn.140118f30
cmp qword [rsp + 0xb8], 0
je 0x140114964
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
jmp 0x140114964
cmp qword [rsp + 0x58], 0
je 0x140114a76
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
lea rax, [0x140185bf0]
mov qword [rsp + 0x58], rax
jmp 0x140113aed
xor r9d, r9d
mov r8, rdx
test rax, rax
cmovne r9, rax
test r9, r9
je 0x140114aad
test rax, rax
cmove r8, rdx
add r9, r8
sub r9, rsi
cmp rdi, r9
cmovae rdi, r9
lea rcx, [rsp + 0x220]
mov rdx, rsi
mov r8, rdi
call fcn.1400f0750
mov rcx, qword [rsp + 0x220]
mov rax, qword [rsp + 0x228]
test rcx, rcx
je 0x140114b0c
mov rdx, qword [rsp + 0x230]
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], rdx
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x220]
call fcn.140118e50
jmp 0x140114b20
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x120], 0
test rbx, rbx
je 0x140114b36
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov r8, qword [rsp + 0x120]
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x58], rax
test r8, r8
je 0x140113aed
mov r9, qword [rsp + 0x130]
cmp r9, 5
mov qword [rsp + 0x68], r8
mov dword [rsp + 0x68], eax
jb case.0x140114ed3.68
cmp word [r8 + r9*2 - 0xa], 0x2e
jne case.0x140114ed3.68
cmp word [r8 + r9*2 - 2], 0
je 0x140114eb3
mov rsi, qword [r14 + 0x90]
mov rdi, qword [r14 + 0xa0]
movzx ebx, byte [r14 + 0xc5]
mov qword [rsp + 0xb0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
lea rcx, [rsp + 0xb0]
xor edx, edx
call fcn.1400f0b30
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xc0]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0xc0], rcx
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x228], rax
mov word [rsp + 0x230], 0
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x220]
call fcn.1400f09a0
mov rdx, qword [rsp + 0xc0]
cmp rdx, qword [rsp + 0xb8]
jne 0x140114c41
lea rcx, [rsp + 0xb0]
call fcn.1400f0b30
mov r12, r14
mov rdx, qword [rsp + 0xc0]
jmp 0x140114c44
mov r12, r14
mov rax, qword [rsp + 0xb0]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0xc0], rdx
shl rdi, 3
lea r14, [rdi + rdi*4]
lea r15, [rsp + 0xb0]
nop dword [rax]
test r14, r14
je 0x140114cfc
mov rdx, qword [rsp + 0xc0]
cmp rdx, qword [rsp + 0xb8]
jne 0x140114c9b
mov rcx, r15
call fcn.1400f0b30
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xc0], rdx
mov rcx, r15
mov rdx, rsi
mov r8d, ebx
call fcn.140119010
mov rdi, rax
add rsi, 0x28
add r14, 0xffffffffffffffd8
test rax, rax
je 0x140114c70
cmp qword [rsp + 0xb8], 0
je 0x140114d7c
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x140114d7c
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
test rax, rax
je 0x140114d7c
mov rdx, qword [rsp + 0xc0]
mov cl, 1
mov dword [rsp + 0x78], ecx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rcx
mov r14, r12
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x130], rdx
cmp rdx, rdi
jne 0x140114dba
lea rcx, [rsp + 0x120]
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
call fcn.1400f0b30
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x130]
jmp 0x140114dc4
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x50]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
xor esi, esi
cmp qword [rsp + 0x58], 0
je 0x140114dac
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
test sil, sil
je 0x140113b02
jmp 0x140113cb1
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov word [rax + rdx*2], 0
inc rdx
mov qword [rsp + 0x130], rdx
cmp byte [r14 + 0xc4], 0
mov eax, 0x400
mov ebp, 0x608
cmove ebp, eax
or ebp, dword [r14 + 0xc0]
cmp qword [rsp + 0x1e8], 0
je 0x140114e6b
mov dword [rsp + 0x1c0], ebp
mov qword [rsp + 0xa0], r14
mov rsi, qword [rsp + 0x1f0]
mov rbx, qword [rsp + 0x1f8]
mov r14, qword [rsp + 0x200]
mov qword [rsp + 0x1a0], rsi
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0x1b0], r14
mov qword [rsp + 0x80], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x88], xmm0
test r14, r14
je 0x140115052
mov r15d, 2
xor r12d, r12d
jmp 0x140115086
mov r12d, 2
xor eax, eax
mov qword [rsp + 0xa8], rax
xor r15d, r15d
cmp byte [r14 + 0x88], 2
jne 0x140115618
mov qword [rsp + 0x1b8], r15
xor r15d, r15d
mov eax, 2
mov qword [rsp + 0x1d8], rax
xor eax, eax
mov qword [rsp + 0x1c8], rax
jmp 0x140115796
movzx eax, word [r8 + r9*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x140114ed3.68
lea rdx, [0x14014c0cc]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx ecx, word [r8 + r9*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
stc
invalid
jne 0x140114ef1
movzx ecx, word [r8 + r9*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x140114f21
cmp ax, 0x43
jne case.0x140114ed3.68
movzx eax, word [r8 + r9*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x140114ed3.68
movzx eax, word [r8 + r9*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x140114ed3.68
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xb0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xb8], xmm0
mov ebp, 0x200
mov eax, 2
mov qword [rsp + 0x60], rax
xor r14d, r14d
mov r12d, 0xffffffff
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x78], rax
xor r15d, r15d
xor edi, edi
cmp rbp, 0x201
jb 0x140114f94
jmp 0x140114fa4
mov r8, rax
mov rbp, rax
jae 0x140115551
cmp rbp, 0x201
jae 0x140114fa4
mov r13d, 0x200
lea rbx, [rsp + 0x220]
jmp 0x140114ff9
sub rbp, rdi
sub r15, rdi
cmp r15, rbp
jae 0x140114fd7
lea rcx, [rsp + 0xb0]
mov rdx, rdi
mov r8, rbp
call fcn.1400f0bf0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x60], rax
mov r14, qword [rsp + 0xb8]
cmp r14, r12
mov edi, 0xffffffff
cmovb rdi, r14
mov qword [rsp + 0xc0], rdi
mov r15, r14
mov r13, rdi
mov rbx, qword [rsp + 0x60]
mov rbp, rdi
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, rbx
mov edx, ebp
call sub.kernel32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x14011501d
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x1401158bf
mov eax, esi
cmp rbp, rax
jne 0x140114f7f
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x14011678c
add rbp, rbp
cmp rbp, r12
cmovae rbp, r12
cmp rbp, 0x201
jae 0x140114fa4
jmp 0x140114f94
mov dil, 1
lea rcx, [rsp + 0x80]
xor edx, edx
call fcn.1400f0b30
mov r15, qword [rsp + 0x80]
mov r12, qword [rsp + 0x90]
mov word [r15 + r12*2], 0
inc r12
mov qword [rsp + 0x90], r12
xor eax, eax
test rsi, rsi
setne al
cmove r14, rsi
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 0
mov qword [rsp + 0x230], rsi
mov qword [rsp + 0x238], rbx
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x248], 0
mov qword [rsp + 0x250], rsi
mov qword [rsp + 0x258], rbx
mov qword [rsp + 0x260], r14
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x220]
call fcn.1401128b0
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x14011558e
mov r9, qword [rsp + 0xc0]
imul rdx, r9, 0x38
cmp byte [rcx + rdx + 0x198], 2
je 0x14011558e
mov qword [rsp + 0x1b8], r15
mov rdi, qword [rcx + rdx + 0x168]
mov r15, qword [rcx + rdx + 0x170]
mov r13, qword [rcx + rdx + 0x178]
mov r8, qword [rcx + rdx + 0x180]
mov rax, qword [rcx + rdx + 0x188]
shl r9, 5
mov rsi, qword [rcx + r9]
mov r10, qword [rcx + r9 + 8]
mov qword [rsp + 0xa8], r10
mov rbx, qword [rcx + r9 + 0x10]
movzx r9d, byte [rcx + r9 + 0x18]
mov byte [rsp + 0x1c8], r9b
mov rcx, qword [rcx + rdx + 0x190]
add rcx, r8
xor r11d, r11d
mov rdx, r8
jmp 0x14011519d
xor r11d, r11d
test r9w, r9w
je 0x1401154a6
mov r9w, 1
test r11w, r11w
jne 0x140115190
cmp rdx, rcx
je 0x140115258
movzx r10d, byte [rdx]
test r10b, r10b
js 0x1401151bf
inc rdx
jmp 0x140115220
mov r11d, r10d
and r11d, 0x1f
movzx ebp, byte [rdx + 1]
and ebp, 0x3f
cmp r10b, 0xdf
jbe 0x140115212
movzx r14d, byte [rdx + 2]
shl ebp, 6
and r14d, 0x3f
or r14d, ebp
cmp r10b, 0xf0
jb 0x14011522b
movzx r10d, byte [rdx + 3]
add rdx, 4
and r11d, 7
shl r11d, 0x12
shl r14d, 6
and r10d, 0x3f
or r10d, r14d
or r10d, r11d
cmp r10d, 0xffff
jbe 0x140115220
jmp 0x140115242
add rdx, 2
shl r11d, 6
or r11d, ebp
mov r10d, r11d
xor r11d, r11d
mov r9d, r10d
jmp 0x140115193
add rdx, 3
shl r11d, 0xc
or r14d, r11d
mov r10d, r14d
cmp r10d, 0xffff
jbe 0x140115220
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x140115193
test rax, rax
je 0x14011526b
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x88]
sub rax, r12
cmp rax, r13
jae 0x1401152a0
lea rcx, [rsp + 0x80]
mov rdx, r12
mov r8, r13
call fcn.1400f0bf0
mov rax, qword [rsp + 0x80]
mov r12, qword [rsp + 0x90]
jmp 0x1401152a8
mov rax, qword [rsp + 0x1b8]
lea r8, [r13*2]
mov r14, rax
lea rcx, [rax + r12*2]
mov rdx, rdi
call sub.msvcrt.dll_memcpy
add r12, r13
mov qword [rsp + 0x90], r12
test r15, r15
je 0x1401152e0
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
cmp r12, qword [rsp + 0x88]
jne 0x14011530a
lea rcx, [rsp + 0x80]
mov rdx, r12
call fcn.1400f0b30
mov r14, qword [rsp + 0x80]
mov r12, qword [rsp + 0x90]
mov word [r14 + r12*2], 0x3d
inc r12
mov qword [rsp + 0x90], r12
add rbx, rsi
xor r8d, r8d
mov rax, rsi
jmp 0x140115333
xor r8d, r8d
test cx, cx
je 0x140115541
mov cx, 1
test r8w, r8w
jne 0x140115327
cmp rax, rbx
je 0x1401153e2
movzx edx, byte [rax]
test dl, dl
js 0x140115355
inc rax
jmp 0x1401153d8
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14011539e
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x1401153ae
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
jmp 0x1401153bc
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x1401153d8
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x1401153d8
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x14011532a
xor r8d, r8d
mov ecx, edx
jmp 0x14011532a
cmp byte [rsp + 0x1c8], 2
je 0x1401154f2
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0x148], rbx
mov word [rsp + 0x150], 0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x140]
call fcn.1400f09a0
cmp qword [rsp + 0xa8], 0
je 0x14011543b
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov r12, qword [rsp + 0x90]
cmp r12, qword [rsp + 0x88]
jne 0x140115477
lea rcx, [rsp + 0x80]
mov rdx, r12
call fcn.1400f0b30
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x220]
mov r12, qword [rsp + 0x90]
jmp 0x140115487
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x220]
mov r15, qword [rsp + 0x80]
mov word [r15 + r12*2], 0
inc r12
mov qword [rsp + 0x90], r12
jmp 0x1401150f2
test rax, rax
je 0x1401154b9
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xa8], 0
je 0x1401154d5
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
test r15, r15
je 0x1401154eb
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
lea rsi, str.nul_byte_found_in_provided_data
xor edi, edi
lea rcx, [rsp + 0x220]
call fcn.140116f70
cmp qword [rsp + 0x88], 0
je 0x140115522
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
jmp 0x1401164d0
mov rdi, rsi
cmp qword [rsp + 0xa8], 0
jne 0x1401154da
jmp 0x1401154eb
cmp r13, rbp
mov r15, rbp
jb 0x1401167fc
test esi, esi
je 0x140115916
lea r13, [r15 + r15]
movzx eax, byte [0x1401be180]
mov edx, 2
mov rcx, r13
call fcn.1400073e0
test rax, rax
je 0x140116828
mov rdi, rax
jmp 0x14011591e
xor edi, edi
lea rcx, [rsp + 0x220]
call fcn.140116f70
cmp r12, qword [rsp + 0x88]
jne 0x1401155c9
xor edi, edi
lea rcx, [rsp + 0x80]
mov rdx, r12
call fcn.1400f0b30
mov r15, qword [rsp + 0x80]
mov r12, qword [rsp + 0x90]
mov word [r15 + r12*2], 0
mov r12, qword [rsp + 0x80]
test r12, r12
mov r14, qword [rsp + 0xa0]
je 0x140115ec0
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa8], rax
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov ebp, dword [rsp + 0x1c0]
cmp byte [r14 + 0x88], 2
je 0x140114e8c
mov rax, qword [r14 + 0x70]
mov rcx, qword [r14 + 0x80]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x14011563b
xor r10d, r10d
test r8w, r8w
je 0x1401156f2
mov r8w, 1
test r10w, r10w
jne 0x14011562e
cmp rdx, rcx
je 0x14011570e
movzx r9d, byte [rdx]
test r9b, r9b
js 0x140115660
inc rdx
jmp 0x1401156e7
mov r10d, r9d
and r10d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x1401156aa
movzx r11d, byte [rdx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r9b, 0xf0
jb 0x1401156ba
movzx r9d, byte [rdx + 3]
add rdx, 4
and r10d, 7
shl r10d, 0x12
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
or r9d, r10d
jmp 0x1401156c8
add rdx, 2
shl r10d, 6
or r10d, esi
mov r9d, r10d
jmp 0x1401156e7
add rdx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x1401156e7
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x140115631
xor r10d, r10d
mov r8d, r9d
jmp 0x140115631
lea rax, str.nul_byte_found_in_provided_data
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x1401164b4
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], rcx
mov word [rsp + 0x230], 0
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x220]
call fcn.140117030
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
cmp rdx, rax
mov qword [rsp + 0x1b8], r15
jne 0x140115777
lea rcx, [rsp + 0xb0]
call fcn.1400f0b30
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x1c8], rax
mov r15, qword [rsp + 0xb0]
mov word [r15 + rdx*2], 0
mov qword [rsp + 0x1d8], r15
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x1a0], xmm0
mov qword [rsp + 0x1b0], 0
lea rdi, [0x1401be108]
mov rcx, rdi
call sub.kernel32.dll_AcquireSRWLockExclusive
mov rax, qword [0x1401be178]
shl rax, 1
test rax, rax
mov qword [rsp + 0x1c0], r12
je 0x1401157e3
call fcn.1400f3f40
mov r13d, eax
xor r13b, 1
jmp 0x1401157e6
xor r13d, r13d
movzx esi, byte [0x1401be110]
xor eax, eax
test sil, sil
setne al
mov qword [rsp + 0x88], rdi
mov byte [rsp + 0x90], r13b
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x160], 0
cmp dword [r14], 6
mov rcx, r14
mov rax, qword [rsp + 0x1d0]
cmove rcx, rax
cmp dword [r14 + 0x10], 6
lea rdi, [r14 + 0x10]
cmove rdi, rax
lea rbx, [r14 + 0x20]
cmp dword [r14 + 0x20], 6
cmove rbx, rax
lea r8, [rsp + 0x140]
mov edx, 0xfffffff6
call fcn.140119540
mov r12, rdx
test rax, rax
je 0x14011588d
mov rax, qword [rsp + 0x50]
mov qword [rax], r12
mov qword [rax + 0x10], 2
jmp 0x1401163e5
lea r8, [rsp + 0x150]
mov rcx, rdi
mov edx, 0xfffffff5
call fcn.140119540
mov rdi, rdx
test rax, rax
je 0x1401158d3
mov rax, qword [rsp + 0x50]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
jmp 0x1401163dd
call sub.kernel32.dll_GetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
xor edi, edi
jmp 0x14011592c
lea r8, [rsp + 0x160]
mov rcx, rbx
mov edx, 0xfffffff4
call fcn.140119540
test rax, rax
je 0x140115ec8
mov rax, qword [rsp + 0x50]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
jmp 0x1401163d5
movups xmm6, xmmword [rsp + 0x228]
mov r14, rbp
jmp 0x14011489f
mov edi, 2
xor r13d, r13d
mov rcx, rdi
mov rdx, rbx
mov r8, r13
call sub.msvcrt.dll_memcpy
test r14, r14
je 0x140115944
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sub.kernel32.dll_HeapFree
test rdi, rdi
je 0x140115cc9
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x148], r15
mov rbp, r15
mov qword [rsp + 0x150], r15
lea rsi, [0x140185c46]
xor r8d, r8d
lea rax, [rsp + 0x140]
mov qword [rsp + 0x78], rax
lea r12, [0x140185c4e]
xor ecx, ecx
mov r15, rsi
jmp 0x1401159ae
mov r13d, ecx
mov r14, r8
mov rax, rbp
mov word [rdi + rbp*2], r13w
inc rax
mov rbp, rax
mov qword [rsp + 0x150], rax
mov r8, r14
mov ecx, ebx
test r15, r15
je 0x140115a18
test cx, cx
je 0x1401159bf
xor ebx, ebx
jmp 0x140115a92
cmp r15, r12
je 0x140115a18
movzx eax, byte [r15]
test al, al
js 0x1401159d4
inc r15
jmp 0x140115a8e
mov edx, eax
and edx, 0x1f
movzx r10d, byte [r15 + 1]
and r10d, 0x3f
cmp al, 0xdf
jbe 0x140115a49
movzx r9d, byte [r15 + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp al, 0xf0
jb 0x140115a57
movzx eax, byte [r15 + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and eax, 0x3f
or eax, r9d
or eax, edx
cmp eax, 0x110000
jne 0x140115a66
cmp r8, 1
je 0x140115af1
mov r14d, 1
xor r15d, r15d
xor r13d, r13d
cmp rbp, qword [rsp + 0x148]
jne 0x140115a42
neg r8
mov ebx, ecx
jmp 0x140115ad1
mov ebx, ecx
jmp 0x140115993
add r15, 2
shl edx, 6
or edx, r10d
mov eax, edx
jmp 0x140115a8e
add r15, 3
shl edx, 0xc
or r9d, edx
mov eax, r9d
jmp 0x140115a6a
add r15, 4
cmp eax, 0xffff
jbe 0x140115a8e
lea ecx, [rax + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and eax, 0x3ff
or eax, 0xdc00
mov ebx, eax
jmp 0x140115a92
xor ebx, ebx
mov ecx, eax
cmp rbp, qword [rsp + 0x148]
jne 0x14011598d
mov rax, rsi
sub rax, r15
add rax, 0xa
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov r14, r8
shr rdx, 1
cmp bx, 1
adc r8, 0xffffffffffffffff
sub rdx, r8
inc rdx
mov r13d, ecx
mov r8, rdx
inc r8
lea rcx, [rsp + 0x140]
mov rdx, rbp
call fcn.1400f0bf0
mov rdi, qword [rsp + 0x140]
jmp 0x140115993
mov rax, qword [rsp + 0x140]
mov r15, qword [rsp + 0x148]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140115cc9
mov al, 1
test al, al
mov qword [rsp + 0x60], r15
je 0x140116810
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rax + 0x90]
mov rcx, qword [rax + 0xa0]
mov qword [rsp + 0x78], rcx
movzx eax, byte [rax + 0xc5]
mov byte [rsp + 0x1b8], al
movzx eax, byte [0x1401be180]
mov ecx, 0xc
mov edx, 2
call fcn.1400073e0
test rax, rax
je 0x140116817
mov ecx, 6
mov word [rax], 0x63
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], 1
lea r15, [0x1401856bb]
mov r12d, 1
xor ebx, ebx
lea r13, [0x1401856c9]
lea rbp, [0x1401856ba]
lea rdi, [rsp + 0x220]
jmp 0x140115bc6
mov word [rax + r12*2], bx
inc r12
mov qword [rsp + 0x230], r12
mov ebx, r14d
test bx, bx
jne 0x140115c79
cmp r15, r13
je 0x140115cdb
movzx ebx, byte [r15]
test bl, bl
js 0x140115be8
inc r15
jmp 0x140115c79
mov ecx, ebx
and ecx, 0x1f
movzx r8d, byte [r15 + 1]
and r8d, 0x3f
cmp bl, 0xdf
jbe 0x140115c36
movzx edx, byte [r15 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp bl, 0xf0
jb 0x140115c44
movzx ebx, byte [r15 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and ebx, 0x3f
or ebx, edx
or ebx, ecx
cmp ebx, 0x110000
je 0x140115cdb
add r15, 4
jmp 0x140115c4f
add r15, 2
shl ecx, 6
or ecx, r8d
mov ebx, ecx
jmp 0x140115c79
add r15, 3
shl ecx, 0xc
or edx, ecx
mov ebx, edx
cmp ebx, 0xffff
jbe 0x140115c79
lea ecx, [rbx + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and ebx, 0x3ff
or ebx, 0xdc00
mov r14d, ebx
mov ebx, ecx
jmp 0x140115c7c
xor r14d, r14d
cmp r12, qword [rsp + 0x228]
jne 0x140115bb3
mov rax, rbp
sub rax, r15
add rax, 0x11
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
cmp r14w, 1
sbb rdx, 0
lea r8, [rdx + 2]
mov rcx, rdi
mov rdx, r12
call fcn.1400f0bf0
mov rax, qword [rsp + 0x220]
jmp 0x140115bb3
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x50]
mov qword [rax], r15
jmp 0x140114d89
mov rdi, qword [rsp + 0x230]
mov qword [rsp + 0xc0], rdi
movdqu xmm0, xmmword [rsp + 0x220]
movdqa xmmword [rsp + 0xb0], xmm0
cmp rdi, qword [rsp + 0xb8]
jne 0x140115d29
lea rcx, [rsp + 0xb0]
mov rdx, rdi
call fcn.1400f0b30
mov r8, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xc0]
jmp 0x140115d31
mov r8, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xb0]
mov word [r14 + rdi*2], 0x22
inc rdi
mov qword [rsp + 0xc0], rdi
lea rax, [r8 + r8]
xor ecx, ecx
lea r12, [0x140185700]
mov rdx, qword [rsp + 0x68]
cmp rax, rcx
je 0x140115d72
cmp word [rdx + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x140115d5d
jmp 0x140116304
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + r8*2 - 2]
cmp ax, 0x5c
je 0x140116304
lea rbx, [r8 - 1]
xor r12d, r12d
test ax, ax
mov rax, qword [rsp + 0x68]
cmove r12, rax
test r12, r12
cmove rbx, r8
cmove r12, rax
mov r13, qword [rsp + 0xb8]
mov rax, r13
sub rax, rdi
cmp rax, rbx
jae 0x140115de3
lea rcx, [rsp + 0xb0]
mov rdx, rdi
mov r8, rbx
call fcn.1400f0bf0
mov rdi, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xb8]
lea r8, [rbx + rbx]
lea rcx, [r14 + rdi*2]
mov rdx, r12
call sub.msvcrt.dll_memcpy
add rdi, rbx
mov qword [rsp + 0xc0], rdi
cmp rdi, r13
jne 0x140115e23
lea rcx, [rsp + 0xb0]
mov rdx, r13
call fcn.1400f0b30
mov r14, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xc0]
lea rax, [rdi + 1]
mov word [r14 + rdi*2], 0x22
mov qword [rsp + 0xc0], rax
cmp byte [rsp + 0x1b8], 0
je 0x14011624c
mov rax, qword [rsp + 0x78]
shl rax, 3
lea rbx, [rax + rax*4]
lea rdi, [rsp + 0xb0]
test rbx, rbx
je 0x140116360
mov rdx, qword [rsp + 0xc0]
cmp rdx, qword [rsp + 0xb8]
jne 0x140115e84
mov rcx, rdi
call fcn.1400f0b30
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xc0], rdx
mov rcx, rdi
mov rdx, rsi
mov r8b, 1
call fcn.140119010
mov r12, rax
add rsi, 0x28
add rbx, 0xffffffffffffffd8
test rax, rax
je 0x140115e59
jmp 0x140116304
mov rsi, r15
jmp 0x140115522
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xe4], xmm0
movdqu xmmword [rsp + 0xd8], xmm0
movdqu xmmword [rsp + 0xc8], xmm0
movdqu xmmword [rsp + 0xb8], xmm0
movdqu xmmword [rsp + 0xf8], xmm0
movdqu xmmword [rsp + 0x108], xmm0
test rdx, rdx
jne 0x140115f11
test rdi, rdi
jne 0x140115f11
test r12, r12
je 0x140115f34
mov dword [rsp + 0xec], 0x100
mov qword [rsp + 0x100], r12
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x110], rdx
mov rbx, qword [r14 + 0xb8]
test rbx, rbx
mov qword [rsp + 0x1e0], rdx
je 0x140116073
add r14, 0xa8
mov dword [rsp + 0xb0], 0x70
lea rcx, [rsp + 0x208]
mov rdx, r14
call fcn.140119c20
mov rdx, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x210]
test rdx, rdx
je 0x1401163b8
mov qword [rsp + 0xa0], rcx
or ebp, 0x80000
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x280], rax
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x270], xmm0
movups xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x260], xmm0
movdqu xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
movups xmm3, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x250], xmm3
movaps xmmword [rsp + 0x240], xmm2
movaps xmmword [rsp + 0x230], xmm1
movdqa xmmword [rsp + 0x220], xmm0
mov qword [rsp + 0x218], rdx
mov qword [rsp + 0x288], rdx
lea rax, [rsp + 0x220]
jmp 0x140116086
mov rdi, rax
movdqu xmm6, xmmword [rsp + 0x228]
cmp qword [rsp + 0x58], 0
mov r14, qword [rsp + 0xa0]
je 0x14011604e
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov r8, rdi
jmp 0x14011489f
lea rcx, [0x1401aec10]
lea r8, str._rustc_a2f5f9691b6ce64c1703feaf9363710dfd7a56cflibrary_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.14000c150
jmp 0x140116835
mov dword [rsp + 0xb0], 0x68
lea rax, [rsp + 0xb0]
mov r14, qword [rsp + 0x120]
lea rcx, [rsp + 0x1a0]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r15
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x70]
mov rdx, r14
xor r8d, r8d
xor r9d, r9d
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x14011620c
movups xmm0, xmmword [rsp + 0x140]
movups xmm1, xmmword [rsp + 0x150]
movups xmm2, xmmword [rsp + 0x160]
mov rax, qword [rsp + 0x50]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movdqa xmm0, xmmword [rsp + 0x1a0]
movdqu xmmword [rax], xmm0
test rbx, rbx
je 0x140116129
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rsp + 0xa0]
call fcn.14011a040
mov rcx, qword [rsp + 0x1e0]
call sub.kernel32.dll_CloseHandle
mov rcx, rdi
call sub.kernel32.dll_CloseHandle
mov rcx, r12
call sub.kernel32.dll_CloseHandle
lea rcx, [rsp + 0x80]
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x1c0]
call fcn.14011a080
cmp qword [rsp + 0x1c8], 0
je 0x140116186
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x1d8]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xa8], 0
mov rsi, qword [rsp + 0x1d0]
je 0x1401161aa
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x128], 0
je 0x1401161c6
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
test rbx, rbx
je 0x1401161de
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x70]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x58], 0
sete al
mov ecx, dword [rsp + 0x78]
or cl, al
cmp cl, 1
je 0x140113cb9
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
jmp 0x140113cb9
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x50]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
test rbx, rbx
je 0x1401163c8
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rsp + 0xa0]
call fcn.14011a040
jmp 0x1401163c8
mov rax, qword [rsp + 0x78]
lea rax, [rax + rax*4]
lea r14, [rsi + rax*8]
lea rdi, [rsp + 0xb0]
lea rbx, str._t____________
cmp rsi, r14
je 0x140116360
mov rdx, qword [rsp + 0xc0]
cmp rdx, qword [rsp + 0xb8]
jne 0x140116293
mov rcx, rdi
call fcn.1400f0b30
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xc0], rdx
cmp qword [rsi], 0
je 0x1401162b6
xor ebp, ebp
jmp 0x1401162e6
mov r15, qword [rsi + 8]
mov r12, qword [rsi + 0x18]
xor r13d, r13d
cmp r12, r13
setne bpl
je 0x1401162e6
movzx ecx, byte [r15 + r13]
mov r8d, 0x16
mov rdx, rbx
call fcn.140014060
inc r13
cmp rax, 1
jne 0x1401162c1
mov rcx, rdi
mov rdx, rsi
mov r8d, ebp
call fcn.140119010
mov r12, rax
add rsi, 0x28
test rax, rax
je 0x140116268
cmp qword [rsp + 0xb8], 0
je 0x140116325
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x50]
mov qword [rax], r12
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x60], 0
je 0x140116354
mov rcx, qword [0x1401be0e8]
xor esi, esi
xor edx, edx
mov r8, qword [rsp + 0x70]
call sub.kernel32.dll_HeapFree
jmp 0x140116356
xor esi, esi
mov rbx, qword [rsp + 0x68]
jmp 0x140114d93
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
cmp rdx, rdi
jne 0x140116392
lea rcx, [rsp + 0xb0]
call fcn.1400f0b30
mov rdi, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xb0]
mov word [rax + rdx*2], 0x22
inc rdx
mov dword [rsp + 0x78], 0
jmp 0x140114d36
mov rax, qword [rsp + 0x50]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
mov rcx, qword [rsp + 0x1e0]
call sub.kernel32.dll_CloseHandle
mov rcx, rdi
call sub.kernel32.dll_CloseHandle
mov rcx, r12
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x140], 0
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x1c0]
je 0x14011640f
mov rcx, qword [rsp + 0x148]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x150], 0
je 0x140116427
mov rcx, qword [rsp + 0x158]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x160], 0
je 0x14011643f
mov rcx, qword [rsp + 0x168]
call sub.kernel32.dll_CloseHandle
movabs rax, 0x7fffffffffffffff
test sil, sil
je 0x140116466
test r13b, r13b
jne 0x140116487
mov rcx, qword [0x1401be178]
test rcx, rax
je 0x140116487
call fcn.1400f3f40
jmp 0x14011647c
test r13b, r13b
jne 0x140116487
mov rcx, qword [0x1401be178]
test rcx, rax
je 0x140116487
call fcn.1400f3f40
test al, al
jne 0x140116487
mov byte [0x1401be110], 1
lea rcx, [0x1401be108]
call fcn.1401433c4
cmp qword [rsp + 0x1c8], 0
je 0x1401164b4
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x1d8]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xa8], 0
je 0x1401164d0
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x128], 0
je 0x1401164f1
mov r8, qword [rsp + 0x120]
mov rcx, qword [0x1401be0e8]
xor edx, edx
call sub.kernel32.dll_HeapFree
test rdi, rdi
je 0x140116509
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, qword [rsp + 0x70]
call sub.kernel32.dll_HeapFree
mov sil, 1
cmp byte [rsp + 0x78], 0
jne 0x140113cb1
jmp 0x140114d93
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x140], rax
lea rax, [fcn.14010e8b0]
mov qword [rsp + 0x148], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
mov qword [rsp + 0xd0], 0
lea rax, [rsp + 0x140]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rdx, str.library_std_src_syswindowsprocess.rs
lea rcx, [rsp + 0xb0]
call fcn.14000a710
jmp 0x140116835
lea rcx, [0x1401aec10]
lea r8, str._rustc_a2f5f9691b6ce64c1703feaf9363710dfd7a56cflibrary_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.14000c150
jmp 0x140116835
mov ecx, 1
mov rdx, rdi
call fcn.140007810
jmp 0x140116835
mov ecx, 1
mov rdx, rsi
call fcn.140007810
jmp 0x140116835
call fcn.1400077d0
jmp 0x140116835
call fcn.1400077d0
jmp 0x140116835
call fcn.1400077d0
jmp 0x140116835
mov ecx, 2
mov rdx, r13
call fcn.140007810
jmp 0x140116835
lea r8, str.library_std_src_syswindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.14000a9c0
jmp 0x140116835
lea rax, str.library_std_src_syswindowsos.rs
mov rcx, r8
mov rdx, rbx
mov r8, rax
call fcn.14000b910
jmp 0x140116835
lea r8, str.library_std_src_syswindowsos.rs
mov rcx, rbp
mov rdx, rbx
call fcn.14000a9c0
jmp 0x140116835
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x140183910]
mov edx, 0x21
call fcn.14000c150
jmp 0x140116835
lea rcx, str.internal_error:_entered_unreachable_code_Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_wmi_0.13.1_src_safearray.rs
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14000c150
jmp 0x140116835
lea rcx, str.internal_error:_entered_unreachable_code_Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_wmi_0.13.1_src_safearray.rs
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14000c150
jmp 0x140116835
lea rcx, str.internal_error:_entered_unreachable_code_Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_wmi_0.13.1_src_safearray.rs
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14000c150
jmp 0x140116835
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x140], rax
lea rax, [fcn.14010e8b0]
mov qword [rsp + 0x148], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], 1
mov qword [rsp + 0x240], 0
lea rax, [rsp + 0x140]
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], 1
lea rdx, str.library_std_src_syswindowsos.rs
lea rcx, [rsp + 0x220]
call fcn.14000a710
jmp 0x140116835
mov r12d, 4
mov ecx, 1
mov rdx, r12
call fcn.140007810
jmp 0x140116835
call fcn.1400077d0
jmp 0x140116835
lea rcx, str.internal_error:_entered_unreachable_code_Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_wmi_0.13.1_src_safearray.rs
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14000c150
jmp 0x140116835
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r13
mov r8, rax
call fcn.14000b910
jmp 0x140116835
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.14000b910
jmp 0x140116835
lea r8, str._rustc_a2f5f9691b6ce64c1703feaf9363710dfd7a56cflibrarycore_src_sliceiter.rs
call fcn.14000a9c0
jmp 0x140116835
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.14000b910
jmp 0x140116835
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, r15
mov rdx, r13
call fcn.14000b910
jmp 0x140116835
call fcn.1400077d0
jmp 0x140116835
mov ecx, 2
mov edx, 0xc
call fcn.140007810
jmp 0x140116835
mov ecx, 2
mov rdx, r13
call fcn.140007810
ud2