Function at 0x1401a5e40
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
sub rsp, 0x78
mov rax, r8
mov rsi, rcx
mov r8d, 0xffffffff
cmp r9, r8
cmovb r8, r9
mov dword [rsp + 0x44], 0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
lea rcx, [rsp + 0x44]
mov qword [rsp + 0x68], rcx
lea rcx, [0x1401a5b60]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x50]
mov rcx, rdx
mov rdx, rax
call sub.KERNEL32.dll_ReadFileEx
test eax, eax
je 0x1401a5ef0
nop dword [rax]
mov ecx, 0xffffffff
mov edx, 1
call sub.KERNEL32.dll_SleepEx
cmp dword [rsp + 0x44], 0
je 0x1401a5ea0
movsxd rax, dword [rsp + 0x48]
test rax, rax
je 0x1401a5f2b
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 1
lea rdi, [rsp + 0x38]
mov ecx, eax
and ecx, 3
lea rdx, [0x14028fcc8]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 1
mov dword [rsp + 0x30], 1
lea rdi, [rsp + 0x38]
mov ecx, eax
and ecx, 3
lea rdx, [0x14028fcc8]
movsxd rcx, dword [rdx + rcx*4]
mov cl, byte [rax + 1]
sar edi, 1
jmp rcx
invalid
movzx eax, byte [rax + 0x10]
jmp 0x1401a5f50
mov eax, dword [rsp + 0x4c]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x30], 0
jmp 0x1401a5f64
movzx eax, byte [rax + 0xf]
jmp 0x1401a5f50
shr rax, 0x20
mov ecx, eax
call fcn.140180e40
scasb al, byte [rdi]
std
invalid
cmp al, 0xb
jne 0x1401a5f64
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
invalid
mov rcx, rdi
stc
call fcn.14017d930
jmp case.0x1401a5c2f.15
mov rax, qword [rsp + 0x30]
mov qword [rsi], rax
mov rax, qword [rsp + 0x38]
mov qword [rsi + 8], rax
add rsp, 0x78
pop rdi
pop rsi
ret
shr rax, 0x20
cmp eax, 0x28
ja case.default.0x1401a5f93
lea rcx, [0x14028fcd8]
movsxd rax, dword [rcx + rax*4]
invalid
add al, 0x81
invalid
add rax, rcx
add eax, ecx
invalid
add eax, ecx
jmp rax
xor eax, eax
jmp 0x1401a5f50
mov al, 0x29
jmp 0x1401a5f50
mov al, 1
jmp 0x1401a5f50
mov al, 2
jmp 0x1401a5f50
stosd dword [rdi], eax
mov al, 3
jmp 0x1401a5f50
mov al, 4
jmp 0x1401a5f50
mov al, 5
jmp 0x1401a5f50
mov al, 6
jmp 0x1401a5f50
mov al, 7
jmp 0x1401a5f50
mov al, 8
jmp 0x1401a5f50
mov al, 9
jmp 0x1401a5f50
invalid
mov al, 0xa
jmp 0x1401a5f50
invalid
mov esi, dword [rax - 0x4f7814f5]
or al, 0xeb
jmp 0x1401a5f50
mov al, 0xd
invalid
jl 0x1401a5fd1
invalid
mov al, 0xb
jmp 0x1401a5f50
mov al, 0xc
jmp 0x1401a5f50
mov al, 0xd
jmp 0x1401a5f50
invalid
invalid
invalid
push qword [rax - 0x8a16f2]
mov al, 0xe
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0xf
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x10
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x11
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x12
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x13
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x14
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x15
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x16
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x17
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x18
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x19
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x1a
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x1b
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x1c
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x1d
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x1e
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x1f
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x20
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x21
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x22
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x23
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x24
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x25
jmp 0x1401a5f50
invalid
invalid
invalid
mov al, 0x26
jmp 0x1401a5f50
mov al, 0x27
jmp 0x1401a5f50
mov al, 0x28
jmp 0x1401a5f50
mov rax, qword [rsp + 0x128]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x208], 0
je 0x1401a7361
mov rcx, qword [rsp + 0x210]
test rcx, rcx
je 0x1401a7338
mov rdx, qword [rsp + 0x218]
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x238], 0
mov qword [rsp + 0x240], rcx
mov qword [rsp + 0x248], rdx
mov qword [rsp + 0x258], 0
mov qword [rsp + 0x260], rcx
mov qword [rsp + 0x268], rdx
mov ecx, 1
jmp 0x1401a733c
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x250], rcx
mov qword [rsp + 0x270], rax
lea rcx, [rsp + 0x230]
call fcn.1401aa330
cmp dword [r15], 4
jb 0x1401a7370
mov rcx, qword [r15 + 8]
call fcn.1401d11a4
movaps xmm6, xmmword [rsp + 0x640]
add rsp, 0x658
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x230]
mov rax, qword [rsp + 0x238]
test rcx, rcx
je 0x1401a7f7d
mov rdx, qword [rsp + 0x240]
mov qword [rsp + 0x230], rcx
mov qword [rsp + 0x238], rax
mov qword [rsp + 0x240], rdx
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0x230]
call fcn.1401ac100
jmp 0x1401a7f91
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x130], 0
test rbx, rbx
je 0x1401a7fa3
mov edx, 1
mov rcx, rsi
call fcn.140030e40
mov r12, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x138]
test r12, r12
je 0x1401a71a0
mov r8, qword [rsp + 0x140]
mov qword [rsp + 0x68], rdi
cmp r8, 5
jb case.0x1401a8334.68
cmp word [r12 + r8*2 - 0xa], 0x2e
jne case.0x1401a8334.68
cmp word [r12 + r8*2 - 2], 0
je 0x1401a8314
mov rax, qword [rsp + 0x58]
mov rsi, qword [rax + 0x90]
mov rdi, qword [rax + 0xa0]
movzx ebx, byte [rax + 0xc5]
mov qword [rsp + 0xc0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xc8], xmm0
lea rcx, [rsp + 0xc0]
xor edx, edx
call fcn.140180450
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xd0]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0xd0], rcx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x238], rax
mov word [rsp + 0x240], 0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x230]
call fcn.1401802c0
mov rdx, qword [rsp + 0xd0]
cmp rdx, qword [rsp + 0xc8]
jne 0x1401a80ab
lea rcx, [rsp + 0xc0]
call fcn.140180450
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xc0]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0xd0], rdx
shl rdi, 3
lea r14, [rdi + rdi*4]
lea r15, [rsp + 0xc0]
nop word cs:[rax + rax]
test r14, r14
je 0x1401a8164
mov rdx, qword [rsp + 0xd0]
cmp rdx, qword [rsp + 0xc8]
jne 0x1401a8107
mov rcx, r15
call fcn.140180450
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xc0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xd0], rdx
mov rcx, r15
mov rdx, rsi
mov r8d, ebx
call fcn.1401ac2a0
mov rdi, rax
add rsi, 0x28
add r14, 0xffffffffffffffd8
test rax, rax
je 0x1401a80e0
cmp qword [rsp + 0xc8], 0
je 0x1401a8283
mov rcx, qword [rsp + 0xc0]
mov edx, 2
call fcn.140030e40
jmp 0x1401a8283
mov rax, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
test rax, rax
je 0x1401a8283
mov rdx, qword [rsp + 0xd0]
mov cl, 1
mov dword [rsp + 0xa8], ecx
mov qword [rsp + 0x78], r12
mov r14, qword [rsp + 0x68]
mov qword [rsp + 0x70], r14
mov r15, qword [rsp + 0x80]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], rdx
cmp rdx, rdi
jne 0x1401a81df
lea rcx, [rsp + 0x130]
call fcn.140180450
mov rax, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x140]
mov word [rax + rdx*2], 0
inc rdx
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x58]
cmp byte [rcx + 0xc4], 0
mov eax, 0x400
mov esi, 0x608
cmove esi, eax
or esi, dword [rcx + 0xc0]
cmp qword [rsp + 0x208], 0
je 0x1401a82c5
mov qword [rsp + 0x60], r12
mov rbx, qword [rsp + 0x210]
add byte [rbx + rcx*4 - 0x4c], cl
and al, 0x18
add al, byte [rax]
add byte [rbx + rcx*4 - 0x44], cl
and al, 0x20
add al, byte [rax]
add byte [rax - 0x77], cl
pushfq
and al, 0xc0
add dword [rax], eax
add byte [rcx + rcx*4 - 0x4c], cl
and al, 0xc8
add dword [rax], eax
add byte [rcx + rcx*4 - 0x44], cl
and al, 0xd0
add dword [rax], eax
add byte [rax - 0x39], cl
test byte [rax + rcx*4], ah
add byte [rax], al
add byte [rdx], al
add byte [rax], al
add byte [rsi + 0xf], ah
out dx, eax
sal bl, 0xf
jg 0x1401a81eb
and al, 0x90
add byte [rax], al
invalid
test r15, r15
je 0x1401a84b3
mov r8d, 2
xor r12d, r12d
jmp 0x1401a84ea
invalid
add byte [rbx + rcx*4 - 0x44], cl
and al, 0x80
add byte [rax], al
add byte [rbx + rcx*4 + 0x74], cl
and al, 0x68
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x128]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
xor esi, esi
test r14, r14
je 0x1401a82b7
mov edx, 2
mov rcx, r12
call fcn.140030e40
test sil, sil
je 0x1401a71b3
jmp 0x1401a7361
mov rax, rcx
mov ecx, 2
xor edx, edx
mov qword [rsp + 0xb0], rdx
xor ebx, ebx
mov qword [rsp + 0xb8], rcx
cmp byte [rax + 0x88], 2
jne 0x1401a8963
xor eax, eax
mov qword [rsp + 0x228], rax
mov eax, 2
mov qword [rsp + 0x1e8], rax
xor eax, eax
mov qword [rsp + 0x150], rax
jmp 0x1401a8b69
movzx eax, word [r12 + r8*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x1401a8334.68
lea rdx, [0x14028fd7c]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx ecx, word [r12 + r8*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x1401a8352
movzx ecx, word [r12 + r8*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x1401a8382
cmp ax, 0x43
jne case.0x1401a8334.68
movzx eax, word [r12 + r8*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x1401a8334.68
movzx eax, word [r12 + r8*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x1401a8334.68
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0x60], r12
mov qword [rsp + 0xc0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xc8], xmm0
mov ebp, 0x200
mov eax, 2
mov qword [rsp + 0x70], rax
xor r14d, r14d
mov r12d, 0xffffffff
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xa8], rax
xor r15d, r15d
xor edi, edi
cmp rbp, 0x201
jb 0x1401a83f5
jmp 0x1401a8405
mov rax, rcx
mov rbp, rcx
jae 0x1401a8cc3
cmp rbp, 0x201
jae 0x1401a8405
mov r13d, 0x200
lea rbx, [rsp + 0x230]
jmp 0x1401a845a
sub rbp, rdi
sub r15, rdi
cmp r15, rbp
jae 0x1401a8438
lea rcx, [rsp + 0xc0]
mov rdx, rdi
mov r8, rbp
call fcn.140180510
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x70], rax
mov r14, qword [rsp + 0xc8]
cmp r14, r12
mov edi, 0xffffffff
cmovb rdi, r14
mov qword [rsp + 0xd0], rdi
mov r15, r14
mov r13, rdi
mov rbx, qword [rsp + 0x70]
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 0x1401a847e
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x1401a8d7f
mov ecx, esi
cmp rbp, rcx
jne 0x1401a83e0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x1401a9bff
add rbp, rbp
cmp rbp, r12
cmovae rbp, r12
cmp rbp, 0x201
jae 0x1401a8405
jmp 0x1401a83f5
mov dil, 1
lea rcx, [rsp + 0x88]
xor edx, edx
call fcn.140180450
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x98]
mov r8, rax
mov word [rax + r12*2], 0
inc r12
mov qword [rsp + 0x98], r12
xor eax, eax
test rbx, rbx
setne al
cmove r15, rbx
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], 0
mov qword [rsp + 0x240], rbx
mov qword [rsp + 0x248], r14
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x258], 0
mov qword [rsp + 0x260], rbx
mov qword [rsp + 0x268], r14
mov qword [rsp + 0x270], r15
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x230]
mov rbx, r8
call fcn.1401a60a0
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x1401a8d00
mov r9, qword [rsp + 0xd0]
imul r8, r9, 0x38
cmp byte [rdx + r8 + 0x198], 2
je 0x1401a8d00
mov qword [rsp + 0x150], rbx
mov rdi, qword [rdx + r8 + 0x168]
mov r15, qword [rdx + r8 + 0x170]
mov r13, qword [rdx + r8 + 0x178]
mov rcx, qword [rdx + r8 + 0x180]
mov rax, qword [rdx + r8 + 0x188]
shl r9, 5
mov r10, qword [rdx + r9]
mov qword [rsp + 0xb8], r10
mov r10, qword [rdx + r9 + 8]
mov qword [rsp + 0xb0], r10
mov rbx, qword [rdx + r9 + 0x10]
movzx r9d, byte [rdx + r9 + 0x18]
mov byte [rsp + 0x1e8], r9b
mov rdx, qword [rdx + r8 + 0x190]
add rdx, rcx
xor r11d, r11d
mov r8, rcx
jmp 0x1401a860d
xor r11d, r11d
test r9w, r9w
je 0x1401a891d
mov r9w, 1
test r11w, r11w
jne 0x1401a8600
cmp r8, rdx
je 0x1401a86c9
movzx r10d, byte [r8]
test r10b, r10b
js 0x1401a862f
inc r8
jmp 0x1401a8691
mov r11d, r10d
and r11d, 0x1f
movzx ebp, byte [r8 + 1]
and ebp, 0x3f
cmp r10b, 0xdf
jbe 0x1401a8683
movzx r14d, byte [r8 + 2]
shl ebp, 6
and r14d, 0x3f
or r14d, ebp
cmp r10b, 0xf0
jb 0x1401a869c
movzx r10d, byte [r8 + 3]
add r8, 4
and r11d, 7
shl r11d, 0x12
shl r14d, 6
and r10d, 0x3f
or r10d, r14d
or r10d, r11d
cmp r10d, 0xffff
jbe 0x1401a8691
jmp 0x1401a86b3
add r8, 2
shl r11d, 6
or r11d, ebp
mov r10d, r11d
xor r11d, r11d
mov r9d, r10d
jmp 0x1401a8603
add r8, 3
shl r11d, 0xc
or r14d, r11d
mov r10d, r14d
cmp r10d, 0xffff
jbe 0x1401a8691
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x1401a8603
test rax, rax
je 0x1401a86d8
mov edx, 1
call fcn.140030e40
mov rax, qword [rsp + 0x90]
sub rax, r12
cmp rax, r13
jae 0x1401a870d
lea rcx, [rsp + 0x88]
mov rdx, r12
mov r8, r13
call fcn.140180510
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x98]
jmp 0x1401a8715
mov rax, qword [rsp + 0x150]
lea r8, [r13*2]
mov r14, rax
lea rcx, [rax + r12*2]
mov rdx, rdi
call main
add r12, r13
mov qword [rsp + 0x98], r12
test r15, r15
je 0x1401a8749
mov edx, 2
mov rcx, rdi
call fcn.140030e40
cmp r12, qword [rsp + 0x90]
jne 0x1401a877d
lea rcx, [rsp + 0x88]
mov rdx, r12
mov rdi, qword [rsp + 0xb8]
call fcn.140180450
mov r14, qword [rsp + 0x88]
mov r12, qword [rsp + 0x98]
jmp 0x1401a8785
mov rdi, qword [rsp + 0xb8]
mov word [r14 + r12*2], 0x3d
inc r12
mov qword [rsp + 0x98], r12
add rbx, rdi
xor r8d, r8d
mov rax, rdi
jmp 0x1401a87ae
xor r8d, r8d
test cx, cx
je 0x1401a8a5f
mov cx, 1
test r8w, r8w
jne 0x1401a87a2
cmp rax, rbx
je 0x1401a885d
movzx edx, byte [rax]
test dl, dl
js 0x1401a87d0
inc rax
jmp 0x1401a8853
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x1401a8819
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x1401a8829
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 0x1401a8837
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x1401a8853
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x1401a8853
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x1401a87a5
xor r8d, r8d
mov ecx, edx
jmp 0x1401a87a5
cmp byte [rsp + 0x1e8], 2
je 0x1401a99ee
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], rbx
mov word [rsp + 0x170], 0
lea rcx, [rsp + 0x88]
lea rdx, [rsp + 0x160]
call fcn.1401802c0
cmp qword [rsp + 0xb0], 0
je 0x1401a88b2
mov edx, 1
mov rcx, rdi
call fcn.140030e40
mov r12, qword [rsp + 0x98]
cmp r12, qword [rsp + 0x90]
jne 0x1401a88ee
lea rcx, [rsp + 0x88]
mov rdx, r12
call fcn.140180450
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x230]
mov r12, qword [rsp + 0x98]
jmp 0x1401a88fe
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x230]
mov rbx, qword [rsp + 0x88]
mov word [rbx + r12*2], 0
inc r12
mov qword [rsp + 0x98], r12
jmp 0x1401a8559
test rax, rax
je 0x1401a892c
mov edx, 1
call fcn.140030e40
cmp qword [rsp + 0xb0], 0
je 0x1401a8949
mov edx, 1
mov rcx, qword [rsp + 0xb8]
call fcn.140030e40
lea rbx, str.nul_byte_found_in_provided_data
test r15, r15
je 0x1401a8a7e
mov edx, 2
jmp 0x1401a8a76
mov rcx, rax
mov rax, qword [rax + 0x70]
mov rcx, qword [rcx + 0x80]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x1401a8989
xor r10d, r10d
test r8w, r8w
je 0x1401a8a40
mov r8w, 1
test r10w, r10w
jne 0x1401a897c
cmp rdx, rcx
je 0x1401a8ad4
movzx r9d, byte [rdx]
test r9b, r9b
js 0x1401a89ae
inc rdx
jmp 0x1401a8a35
mov r10d, r9d
and r10d, 0x1f
movzx edi, byte [rdx + 1]
and edi, 0x3f
cmp r9b, 0xdf
jbe 0x1401a89f8
movzx r11d, byte [rdx + 2]
shl edi, 6
and r11d, 0x3f
or r11d, edi
cmp r9b, 0xf0
jb 0x1401a8a08
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 0x1401a8a16
add rdx, 2
shl r10d, 6
or r10d, edi
mov r9d, r10d
jmp 0x1401a8a35
add rdx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x1401a8a35
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x1401a897f
xor r10d, r10d
mov r8d, r9d
jmp 0x1401a897f
lea rax, str.nul_byte_found_in_provided_data
mov rcx, qword [rsp + 0x128]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x1401a9987
lea rbx, str.nul_byte_found_in_provided_data
cmp qword [rsp + 0xb0], 0
je 0x1401a8a7e
mov edx, 1
mov rcx, rdi
call fcn.140030e40
xor edi, edi
lea rcx, [rsp + 0x230]
call fcn.1401aa330
cmp qword [rsp + 0x90], 0
je 0x1401a8aaa
mov rcx, qword [rsp + 0x88]
mov edx, 2
call fcn.140030e40
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
mov rax, qword [rsp + 0x128]
mov qword [rax], rbx
mov qword [rax + 0x10], 2
jmp 0x1401a99a4
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], rcx
mov word [rsp + 0x240], 0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x230]
call fcn.1401aa3e0
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd0]
mov rax, rcx
mov qword [rsp + 0x150], rcx
cmp rdx, rcx
jne 0x1401a8b48
lea rcx, [rsp + 0xc0]
call fcn.140180450
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x150], rax
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc0]
mov word [rcx + rdx*2], 0
mov rax, rcx
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x1e8], rcx
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x1c0], xmm0
mov qword [rsp + 0x1d0], 0
lea rdi, [0x1403b01f0]
mov rcx, rdi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [0x1403b0260]
shl rax, 1
test rax, rax
mov qword [rsp + 0x60], r12
je 0x1401a8bb6
call fcn.1401837b0
mov r13d, eax
mov rbp, rbx
xor r13b, 1
jmp 0x1401a8bbc
mov rbp, rbx
xor r13d, r13d
movzx r12d, byte [0x1403b01f8]
xor eax, eax
test r12b, r12b
setne al
mov qword [rsp + 0x90], rdi
mov byte [rsp + 0x98], r13b
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x180], 0
mov dword [rsp + 0x630], 2
cmp byte [rsp + 0x158], 0
lea rcx, [rsp + 0x630]
cmovne rcx, r15
mov rax, qword [rsp + 0x58]
cmp dword [rax], 6
cmovne rcx, rax
cmp dword [rax + 0x10], 6
lea rdi, [rax + 0x10]
cmove rdi, r15
lea rbx, [rax + 0x20]
cmp dword [rax + 0x20], 6
cmove rbx, r15
lea r8, [rsp + 0x160]
mov edx, 0xfffffff6
call fcn.1401ac780
mov qword [rsp + 0x158], rdx
test rax, rax
je 0x1401a8c8a
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x158]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
jmp 0x1401a98c4
lea r8, [rsp + 0x170]
mov rcx, rdi
mov edx, 0xfffffff5
call fcn.1401ac780
mov rdi, rdx
test rax, rax
je 0x1401a8d93
mov rax, qword [rsp + 0x128]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
jmp 0x1401a98b7
cmp r13, rbp
mov r15, rbp
jb 0x1401a9c55
test esi, esi
je 0x1401a8dd9
lea r13, [r15 + r15]
movzx eax, byte [0x1403b0290]
mov edx, 2
mov rcx, r13
call fcn.140030db0
test rax, rax
je 0x1401a9c81
mov rdi, rax
jmp 0x1401a8de1
xor edi, edi
lea rcx, [rsp + 0x230]
call fcn.1401aa330
cmp r12, qword [rsp + 0x90]
jne 0x1401a8d3b
xor edi, edi
lea rcx, [rsp + 0x88]
mov rdx, r12
call fcn.140180450
mov rbx, qword [rsp + 0x88]
mov r12, qword [rsp + 0x98]
mov word [rbx + r12*2], 0
mov rcx, qword [rsp + 0x88]
test rcx, rcx
mov r15, qword [rsp + 0x80]
mov rax, qword [rsp + 0x58]
mov r14, qword [rsp + 0x68]
je 0x1401a8ab7
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0xb0], rdx
mov r12, qword [rsp + 0x60]
jmp 0x1401a82d9
call sub.KERNEL32.dll_GetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
xor edi, edi
jmp 0x1401a8def
lea r8, [rsp + 0x180]
mov rcx, rbx
mov edx, 0xfffffff4
call fcn.1401ac780
test rax, rax
je 0x1401a93ad
mov rax, qword [rsp + 0x128]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
jmp 0x1401a98af
mov edi, 2
xor r13d, r13d
mov rcx, rdi
mov rdx, rbx
mov r8, r13
call main
test r14, r14
je 0x1401a8e03
mov edx, 2
mov rcx, qword [rsp + 0x70]
call fcn.140030e40
test rdi, rdi
mov r14, qword [rsp + 0x68]
je 0x1401a91eb
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], r15
mov rbp, r15
mov qword [rsp + 0x170], r15
lea rsi, [0x14033edc6]
xor r8d, r8d
lea rax, [rsp + 0x160]
mov qword [rsp + 0xa8], rax
lea r12, [0x14033edce]
xor ecx, ecx
mov r15, rsi
jmp 0x1401a8e7a
mov r13d, ecx
mov r14, r8
mov rax, rbp
mov word [rdi + rbp*2], r13w
inc rax
mov rbp, rax
mov qword [rsp + 0x170], rax
mov r8, r14
mov ecx, ebx
mov r14, qword [rsp + 0x68]
test r15, r15
je 0x1401a8ee4
test cx, cx
je 0x1401a8e8b
xor ebx, ebx
jmp 0x1401a8f5e
cmp r15, r12
je 0x1401a8ee4
movzx eax, byte [r15]
test al, al
js 0x1401a8ea0
inc r15
jmp 0x1401a8f5a
mov edx, eax
and edx, 0x1f
movzx r10d, byte [r15 + 1]
and r10d, 0x3f
cmp al, 0xdf
jbe 0x1401a8f15
movzx r9d, byte [r15 + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp al, 0xf0
jb 0x1401a8f23
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 0x1401a8f32
cmp r8, 1
je 0x1401a8fbd
mov r14d, 1
xor r15d, r15d
xor r13d, r13d
cmp rbp, qword [rsp + 0x168]
jne 0x1401a8f0e
neg r8
mov ebx, ecx
jmp 0x1401a8f9d
mov ebx, ecx
jmp 0x1401a8e5a
add r15, 2
shl edx, 6
or edx, r10d
mov eax, edx
jmp 0x1401a8f5a
add r15, 3
shl edx, 0xc
or r9d, edx
mov eax, r9d
jmp 0x1401a8f36
add r15, 4
cmp eax, 0xffff
jbe 0x1401a8f5a
lea ecx, [rax + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and eax, 0x3ff
or eax, 0xdc00
mov ebx, eax
jmp 0x1401a8f5e
xor ebx, ebx
mov ecx, eax
cmp rbp, qword [rsp + 0x168]
jne 0x1401a8e54
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 + 0x160]
mov rdx, rbp
call fcn.140180510
mov rdi, qword [rsp + 0x160]
jmp 0x1401a8e5a
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x168]
test rdx, rdx
je 0x1401a91ee
mov al, 1
test al, al
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rdx
je 0x1401a9c69
mov rax, qword [rsp + 0x58]
mov rsi, qword [rax + 0x90]
mov rcx, qword [rax + 0xa0]
mov qword [rsp + 0xa8], rcx
movzx eax, byte [rax + 0xc5]
mov byte [rsp + 0xb8], al
movzx eax, byte [0x1403b0290]
mov ecx, 0xc
mov edx, 2
call fcn.140030db0
test rax, rax
je 0x1401a9c70
mov ecx, 6
mov word [rax], 0x63
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], rcx
mov qword [rsp + 0x240], 1
lea r15, [0x14033e803]
mov r12d, 1
xor ebx, ebx
lea r13, [0x14033e811]
lea rbp, [0x14033e802]
lea rdi, [rsp + 0x230]
jmp 0x1401a9092
mov word [rax + r12*2], bx
inc r12
mov qword [rsp + 0x240], r12
mov ebx, r14d
test bx, bx
jne 0x1401a9145
cmp r15, r13
je 0x1401a9195
movzx ebx, byte [r15]
test bl, bl
js 0x1401a90b4
inc r15
jmp 0x1401a9145
mov ecx, ebx
and ecx, 0x1f
movzx r8d, byte [r15 + 1]
and r8d, 0x3f
cmp bl, 0xdf
jbe 0x1401a9102
movzx edx, byte [r15 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp bl, 0xf0
jb 0x1401a9110
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 0x1401a9195
add r15, 4
jmp 0x1401a911b
add r15, 2
shl ecx, 6
or ecx, r8d
mov ebx, ecx
jmp 0x1401a9145
add r15, 3
shl ecx, 0xc
or edx, ecx
mov ebx, edx
cmp ebx, 0xffff
jbe 0x1401a9145
lea ecx, [rbx + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and ebx, 0x3ff
or ebx, 0xdc00
mov r14d, ebx
mov ebx, ecx
jmp 0x1401a9148
xor r14d, r14d
cmp r12, qword [rsp + 0x238]
jne 0x1401a907f
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.140180510
mov rax, qword [rsp + 0x230]
jmp 0x1401a907f
mov rdi, qword [rsp + 0x240]
mov qword [rsp + 0xd0], rdi
movdqu xmm0, xmmword [rsp + 0x230]
movdqa xmmword [rsp + 0xc0], xmm0
cmp rdi, qword [rsp + 0xc8]
jne 0x1401a920b
lea rcx, [rsp + 0xc0]
mov rdx, rdi
mov r15, qword [rsp + 0x80]
call fcn.140180450
mov r8, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xd0]
jmp 0x1401a921b
mov rcx, r15
mov r15, qword [rsp + 0x80]
mov r12, qword [rsp + 0x60]
mov rax, qword [rsp + 0x128]
mov qword [rax], rcx
jmp 0x1401a829b
mov r15, qword [rsp + 0x80]
mov r8, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xc0]
mov word [r14 + rdi*2], 0x22
inc rdi
mov qword [rsp + 0xd0], rdi
lea rax, [r8 + r8]
xor ecx, ecx
lea r12, str.Windows_file_names_may_not_contain_____or_end_with___
mov rdx, qword [rsp + 0x60]
cmp rax, rcx
je 0x1401a925c
cmp word [rdx + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x1401a9247
jmp 0x1401a97d2
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + r8*2 - 2]
cmp ax, 0x5c
je 0x1401a97d2
lea rbx, [r8 - 1]
xor r12d, r12d
test ax, ax
mov rax, qword [rsp + 0x60]
cmove r12, rax
test r12, r12
cmove rbx, r8
cmove r12, rax
mov r13, qword [rsp + 0xc8]
mov rax, r13
sub rax, rdi
cmp rax, rbx
jae 0x1401a92cd
lea rcx, [rsp + 0xc0]
mov rdx, rdi
mov r8, rbx
call fcn.140180510
mov rdi, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
lea r8, [rbx + rbx]
lea rcx, [r14 + rdi*2]
mov rdx, r12
call main
add rdi, rbx
mov qword [rsp + 0xd0], rdi
cmp rdi, r13
jne 0x1401a930d
lea rcx, [rsp + 0xc0]
mov rdx, r13
call fcn.140180450
mov r14, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd0]
lea rax, [rdi + 1]
mov word [r14 + rdi*2], 0x22
mov qword [rsp + 0xd0], rax
cmp byte [rsp + 0xb8], 0
je 0x1401a970f
mov rax, qword [rsp + 0xa8]
shl rax, 3
lea rbx, [rax + rax*4]
lea rdi, [rsp + 0xc0]
test rbx, rbx
je 0x1401a982a
mov rdx, qword [rsp + 0xd0]
cmp rdx, qword [rsp + 0xc8]
jne 0x1401a9371
mov rcx, rdi
call fcn.140180450
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xc0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xd0], rdx
mov rcx, rdi
mov rdx, rsi
mov r8b, 1
call fcn.1401ac2a0
mov r12, rax
add rsi, 0x28
add rbx, 0xffffffffffffffd8
test rax, rax
je 0x1401a9346
jmp 0x1401a97d2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xf4], xmm0
movdqu xmmword [rsp + 0xe8], xmm0
movdqu xmmword [rsp + 0xd8], xmm0
movdqu xmmword [rsp + 0xc8], xmm0
movdqu xmmword [rsp + 0x108], xmm0
movdqu xmmword [rsp + 0x118], xmm0
test rdx, rdx
jne 0x1401a93fc
test rdi, rdi
jne 0x1401a93fc
cmp qword [rsp + 0x158], 0
je 0x1401a9427
mov dword [rsp + 0xfc], 0x100
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x200], rdx
mov rdx, qword [rsp + 0x58]
mov r15, qword [rdx + 0xb8]
test r15, r15
je 0x1401a9554
add rdx, 0xa8
mov dword [rsp + 0xc0], 0x70
lea rcx, [rsp + 0x1f0]
call fcn.1401ace10
mov rbx, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1f8]
test rbx, rbx
je 0x1401a9887
mov qword [rsp + 0x58], rcx
or esi, 0x80000
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x290], rax
movups xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x280], xmm0
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x270], xmm0
movdqu xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movups xmm2, xmmword [rsp + 0xe0]
movups xmm3, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x260], xmm3
movaps xmmword [rsp + 0x250], xmm2
movaps xmmword [rsp + 0x240], xmm1
movdqa xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x298], rbx
lea rax, [rsp + 0x230]
jmp 0x1401a9567
mov dword [rsp + 0xc0], 0x68
lea rax, [rsp + 0xc0]
mov rdx, qword [rsp + 0x130]
lea rcx, [rsp + 0x1c0]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], esi
mov rsi, rdx
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x78]
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_CreateProcessW
test eax, eax
je 0x1401a96d4
movups xmm0, xmmword [rsp + 0x160]
movups xmm1, xmmword [rsp + 0x170]
movups xmm2, xmmword [rsp + 0x180]
mov rax, qword [rsp + 0x128]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movdqa xmm0, xmmword [rsp + 0x1c0]
movdqu xmmword [rax], xmm0
test r15, r15
je 0x1401a9605
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
call fcn.1401ad1d0
mov rcx, qword [rsp + 0x200]
call fcn.1401d11a4
mov rcx, rdi
call fcn.1401d11a4
mov rcx, qword [rsp + 0x158]
call fcn.1401d11a4
lea rcx, [rsp + 0x88]
mov r15, qword [rsp + 0x80]
mov r12, qword [rsp + 0x60]
call fcn.1401ad210
cmp qword [rsp + 0x150], 0
je 0x1401a965e
mov edx, 2
mov rcx, qword [rsp + 0x1e8]
call fcn.140030e40
cmp qword [rsp + 0xb0], 0
je 0x1401a967b
mov edx, 2
mov rcx, qword [rsp + 0xb8]
call fcn.140030e40
cmp qword [rsp + 0x138], 0
je 0x1401a9693
mov edx, 2
mov rcx, rsi
call fcn.140030e40
cmp qword [rsp + 0x70], 0
je 0x1401a96aa
mov edx, 2
mov rcx, qword [rsp + 0x78]
call fcn.140030e40
test r14, r14
sete al
mov ecx, dword [rsp + 0xa8]
or cl, al
cmp cl, 1
je 0x1401a7361
mov edx, 2
mov rcx, r12
call fcn.140030e40
jmp 0x1401a7361
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x128]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
test r15, r15
je 0x1401a989a
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
call fcn.1401ad1d0
jmp 0x1401a989a
mov rax, qword [rsp + 0xa8]
lea rax, [rax + rax*4]
lea r14, [rsi + rax*8]
lea rdi, [rsp + 0xc0]
lea rbx, str._t____________
cmp rsi, r14
je 0x1401a982a
mov rdx, qword [rsp + 0xd0]
cmp rdx, qword [rsp + 0xc8]
jne 0x1401a9759
mov rcx, rdi
call fcn.140180450
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xc0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xd0], rdx
cmp qword [rsi], 0
je 0x1401a977c
xor ebp, ebp
jmp 0x1401a97ac
mov r15, qword [rsi + 8]
mov r12, qword [rsi + 0x18]
xor r13d, r13d
cmp r12, r13
setne bpl
je 0x1401a97ac
movzx ecx, byte [r15 + r13]
mov r8d, 0x16
mov rdx, rbx
call fcn.1400855f0
inc r13
cmp rax, 1
jne 0x1401a9787
mov rcx, rdi
mov rdx, rsi
mov r8d, ebp
mov r15, qword [rsp + 0x80]
call fcn.1401ac2a0
mov r12, rax
add rsi, 0x28
test rax, rax
je 0x1401a972e
cmp qword [rsp + 0xc8], 0
je 0x1401a97ef
mov rcx, qword [rsp + 0xc0]
mov edx, 2
call fcn.140030e40
mov rax, qword [rsp + 0x128]
mov qword [rax], r12
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x70], 0
mov r14, qword [rsp + 0x68]
je 0x1401a981e
mov edx, 2
mov rcx, qword [rsp + 0x78]
call fcn.140030e40
xor esi, esi
mov r12, qword [rsp + 0x60]
jmp 0x1401a82a5
mov rdi, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd0]
cmp rdx, rdi
jne 0x1401a985c
lea rcx, [rsp + 0xc0]
call fcn.140180450
mov rdi, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd0]
mov r14, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
mov rax, qword [rsp + 0xc0]
mov word [rax + rdx*2], 0x22
inc rdx
mov dword [rsp + 0xa8], 0
jmp 0x1401a81a5
mov rax, qword [rsp + 0x128]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
mov rcx, qword [rsp + 0x200]
call fcn.1401d11a4
mov r15, qword [rsp + 0x80]
mov rcx, rdi
call fcn.1401d11a4
mov rcx, qword [rsp + 0x158]
call fcn.1401d11a4
cmp qword [rsp + 0x160], 0
je 0x1401a98dc
mov rcx, qword [rsp + 0x168]
call fcn.1401d11a4
cmp qword [rsp + 0x170], 0
je 0x1401a98f4
mov rcx, qword [rsp + 0x178]
call fcn.1401d11a4
cmp qword [rsp + 0x180], 0
je 0x1401a990c
mov rcx, qword [rsp + 0x188]
call fcn.1401d11a4
movabs rax, 0x7fffffffffffffff
test r12b, r12b
je 0x1401a9938
test r13b, r13b
mov r12, qword [rsp + 0x60]
jne 0x1401a995e
mov rcx, qword [0x1403b0260]
test rcx, rax
je 0x1401a995e
call fcn.1401837b0
jmp 0x1401a9953
test r13b, r13b
mov r12, qword [rsp + 0x60]
jne 0x1401a995e
mov rcx, qword [0x1403b0260]
test rcx, rax
je 0x1401a995e
call fcn.1401837b0
test al, al
jne 0x1401a995e
mov byte [0x1403b01f8], 1
lea rcx, [0x1403b01f0]
call fcn.1401d0ebc
cmp qword [rsp + 0x150], 0
je 0x1401a9987
mov edx, 2
mov rcx, qword [rsp + 0x1e8]
call fcn.140030e40
cmp qword [rsp + 0xb0], 0
je 0x1401a99a4
mov edx, 2
mov rcx, qword [rsp + 0xb8]
call fcn.140030e40
cmp qword [rsp + 0x138], 0
je 0x1401a99c1
mov rcx, qword [rsp + 0x130]
mov edx, 2
call fcn.140030e40
cmp qword [rsp + 0x70], 0
je 0x1401a99d8
mov edx, 2
mov rcx, qword [rsp + 0x78]
call fcn.140030e40
mov sil, 1
cmp byte [rsp + 0xa8], 0
jne 0x1401a7361
jmp 0x1401a82a5
mov rbx, rdi
jmp 0x1401a8a7e
lea rcx, str.internal_error:_entered_unreachable_codeQ
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14007f700
jmp 0x1401a9c8e
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, r15
mov rdx, r13
call fcn.14007f360
jmp 0x1401a9c8e
call fcn.1400513a0
jmp 0x1401a9c8e
mov ecx, 2
mov edx, 0xc
call fcn.1400513e0
jmp 0x1401a9c8e
mov ecx, 2
mov rdx, r13
call fcn.1400513e0
ud2