Function at 0x14005af80
Capabilities:
Check if file exists
Create a process with modified i/o handles and window
Create process on windows
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
mov byte [rsp + 0x208], r9b
mov r14, r8
mov rbx, rdx
mov rdi, rcx
add rdx, 0x88
lea rcx, [rsp + 0x228]
call fcn.140069990
mov rax, qword [rsp + 0x228]
test rax, rax
mov qword [rsp + 0x60], rax
je 0x14005b116
movzx eax, byte [0x1400b5b30]
mov ecx, 4
mov edx, 1
call fcn.140035330
test rax, rax
je 0x14005d17b
mov rsi, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], rax
mov word [rsp + 0xd0], 0
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0xc0]
call fcn.140068f00
mov r12, qword [rsp + 0x230]
test r12, r12
je 0x14005b157
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x80], rdi
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x58], rax
mov r15, qword [rsp + 0x168]
mov ebp, dword [rsp + 0x170]
xor eax, eax
mov qword [rsp + 0xb8], rax
mov rdi, qword [sym.imp.kernel32.dll_CompareStringOrdinal]
lea rcx, [r12 + 0x168]
movzx eax, word [r12 + 0x3d2]
lea r13, [r12 - 0x10]
mov qword [rsp + 0x68], rax
imul r14, rax, 0x38
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
test r14, r14
je 0x14005b0f0
lea rsi, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, r15
mov edx, ebp
call rdi
add r13, 0x20
inc rbx
add r14, 0xffffffffffffffc8
mov rcx, rsi
cmp eax, 3
je 0x14005b0b0
cmp eax, 1
jne 0x14005b122
jmp 0x14005b0f5
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
sub rax, 1
jb 0x14005b6f8
mov qword [rsp + 0x58], rax
mov r12, qword [r12 + rbx*8 + 0x3d8]
jmp 0x14005b081
xor eax, eax
mov qword [rsp + 0xb8], rax
jmp 0x14005b197
cmp eax, 2
mov r14, qword [rsp + 0x70]
jne 0x14005d174
mov rax, qword [r13 - 8]
mov qword [rsp + 0xb8], rax
mov rbp, qword [r13]
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x78]
jmp 0x14005b161
xor eax, eax
mov qword [rsp + 0xb8], rax
mov edx, 4
mov r8d, 1
mov rcx, rsi
call fcn.140035340
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x14005b197
mov rcx, qword [rsp + 0x168]
add rdx, rdx
mov r8d, 2
call fcn.140035340
mov r12, qword [rbx + 8]
mov r15, qword [rbx + 0x10]
mov qword [rsp + 0x248], r12
mov qword [rsp + 0x250], r15
lea r13, [0x14009ce20]
test r15, r15
je 0x14005b7fa
cmp r15, 4
jae 0x14005b1dd
lea rax, [0x140065f70]
movzx ecx, byte [r15 + r12 - 1]
call rax
test al, al
je 0x14005b209
jmp 0x14005b7fa
mov eax, dword [0x14009e790]
cmp eax, dword [r12]
lea rcx, [0x140065f80]
lea rax, [0x140065f70]
cmove rax, rcx
movzx ecx, byte [r15 + r12 - 1]
call rax
test al, al
jne 0x14005b7fa
movabs rsi, 0x8000000000000000
cmp r15, 3
jbe 0x14005b30d
movzx eax, byte [r15 + r12 - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x14005b32d
movzx eax, byte [r12 + r15 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
mov al, 1
cmp cl, 0x65
jne 0x14005b288
movzx ecx, byte [r12 + r15 - 2]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x78
jne 0x14005b288
movzx eax, byte [r12 + r15 - 1]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
setne al
xor ecx, ecx
nop word [rax + rax]
cmp r15, rcx
je 0x14005b49f
movzx edx, byte [r12 + rcx]
cmp edx, 0x2f
je 0x14005b2ab
inc rcx
cmp edx, 0x5c
jne 0x14005b290
test al, al
jne 0x14005b34b
lea rcx, [rsp + 0xc0]
mov rdx, r12
mov r8, r15
call fcn.140056af0
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xc8]
cmp rcx, rsi
jne 0x14005b8d6
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x128], rsi
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
je 0x14005b7fa
jmp 0x14005bd45
xor eax, eax
nop
cmp r15, rax
je 0x14005b49f
movzx ecx, byte [r12 + rax]
cmp ecx, 0x2f
je 0x14005b34b
inc rax
cmp ecx, 0x5c
jne 0x14005b310
jmp 0x14005b34b
xor eax, eax
nop
cmp r15, rax
je 0x14005b49f
movzx ecx, byte [r12 + rax]
cmp ecx, 0x2f
je 0x14005b34b
inc rax
cmp ecx, 0x5c
jne 0x14005b330
test r15, r15
js 0x14005d18a
mov rbp, rbx
mov rbx, r14
movzx eax, byte [0x1400b5b30]
mov r14d, 1
mov edx, 1
mov rcx, r15
call fcn.140035330
test rax, rax
je 0x14005d18d
mov r13, rax
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.14008f2f0
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xd0], r15
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x150], rax
movzx eax, byte [rsp + 0xd8]
mov byte [rsp + 0x158], al
mov eax, dword [rsp + 0xd9]
mov dword [rsp + 0x159], eax
movzx eax, word [rsp + 0xdd]
mov word [rsp + 0x15d], ax
movzx eax, byte [rsp + 0xdf]
mov byte [rsp + 0x15f], al
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x148], rax
lea rdx, str..exeprogram_not_found
lea rcx, [rsp + 0x140]
mov r8d, 4
call fcn.140062ba0
movaps xmm0, xmmword [rsp + 0x140]
movaps xmm1, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
lea rcx, [rsp + 0x1c0]
call fcn.140056af0
mov rax, qword [rsp + 0x1c0]
mov r14, qword [rsp + 0x1c8]
cmp rax, rsi
jne 0x14005b589
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x90], rsi
jmp 0x14005b5d3
lea rax, [r12 + r15]
xor r9d, r9d
lea r13, str.nul_byte_found_in_provided_data
mov rcx, r12
jmp 0x14005b4cc
xor r9d, r9d
test dx, dx
je 0x14005b7fa
mov dx, 1
test r9w, r9w
jne 0x14005b4c0
cmp rcx, rax
je 0x14005b6bf
movzx r8d, byte [rcx]
test r8b, r8b
js 0x14005b4ed
inc rcx
jmp 0x14005b551
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x14005b543
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x14005b55c
movzx r8d, byte [rcx + 3]
add rcx, 4
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0xffff
jbe 0x14005b551
jmp 0x14005b573
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
xor r9d, r9d
mov edx, r8d
jmp 0x14005b4c3
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xffff
jbe 0x14005b551
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x14005b4c3
mov rcx, qword [rsp + 0x1d0]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], r14
mov qword [rsp + 0x150], rcx
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x140]
call fcn.14006c3b0
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
cmp r15, rsi
jne 0x14005b63f
mov eax, r14d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x14005b72d
test rax, rax
je 0x14005b72d
mov r15, qword [r14 - 1]
mov rsi, qword [r14 + 7]
mov rax, qword [rsi]
test rax, rax
je 0x14005b605
mov rcx, r15
call rax
dec r14
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x14005b61d
mov r8, qword [rsi + 0x10]
mov rcx, r15
call fcn.140035340
mov edx, 0x18
mov r8d, 8
mov rcx, r14
call fcn.140035340
movabs rsi, 0x8000000000000000
jmp 0x14005b72d
mov rsi, qword [rsp + 0xa0]
mov rcx, r14
call qword [sym.imp.kernel32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14005b70a
mov qword [rsp + 0x128], r15
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], rsi
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x14005b691
mov rcx, qword [rsp + 0xc8]
mov r8d, 1
call fcn.140035340
mov r14, rbx
mov rbx, rbp
movabs rsi, 0x8000000000000000
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
je 0x14005b7fa
jmp 0x14005bd45
cmp r15, 0xf
mov qword [rsp + 0x70], r14
ja 0x14005b8bf
xor eax, eax
xor ecx, ecx
mov rdx, qword [rsp + 0xb8]
nop word [rax + rax]
cmp byte [r12 + rcx], 0x2e
je 0x14005b929
inc rcx
cmp r15, rcx
jne 0x14005b6e0
jmp 0x14005b92e
mov rdi, qword [rsp + 0x80]
mov r14, qword [rsp + 0x70]
jmp 0x14005b148
test r15, r15
movabs rsi, 0x8000000000000000
je 0x14005b72d
add r15, r15
mov r8d, 2
mov rcx, r14
mov rdx, r15
call fcn.140035340
lea rcx, [rsp + 0xc0]
mov edx, 1
xor r8d, r8d
call fcn.140065580
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
lea rcx, [rsp + 0x140]
call fcn.140056af0
mov rcx, qword [rsp + 0x140]
mov rax, qword [rsp + 0x148]
cmp rcx, rsi
jne 0x14005b786
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x128], rsi
jmp 0x14005b7bb
mov rdx, qword [rsp + 0x150]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rdx
lea rcx, [rsp + 0x128]
lea rdx, [rsp + 0x140]
call fcn.14006c3b0
mov r14, rbx
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
mov rbx, rbp
je 0x14005b7e1
mov rcx, qword [rsp + 0xc8]
mov r8d, 1
call fcn.140035340
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
jne 0x14005bd45
mov rsi, qword [rsp + 0x60]
mov qword [rdi], r13
mov qword [rdi + 0x10], 2
test rsi, rsi
je 0x14005b898
mov rcx, qword [rsp + 0x230]
test rcx, rcx
je 0x14005b86f
mov rdx, qword [rsp + 0x238]
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], rdx
mov ecx, 1
jmp 0x14005b873
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x180], rax
lea rcx, [rsp + 0x140]
call fcn.14006aae0
cmp dword [r14], 4
jb 0x14005b8a8
mov rcx, qword [r14 + 8]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rax, rdi
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov cl, 0x2e
mov rdx, r12
mov r8, r15
call fcn.1400724c0
mov rdx, qword [rsp + 0xb8]
jmp 0x14005b92e
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rdx
lea rcx, [rsp + 0x128]
lea rdx, [rsp + 0x140]
call fcn.14006c3b0
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
je 0x14005b7fa
jmp 0x14005bd45
mov eax, 1
cmp rax, 1
sete byte [rsp + 0x57]
lea rax, [rsp + 0x248]
mov qword [rsp + 0x218], rax
lea rax, [rsp + 0x57]
mov qword [rsp + 0x220], rax
test rdx, rdx
je 0x14005b9a4
add rbp, rdx
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0x1c8], rbp
mov word [rsp + 0x1d0], 0
mov byte [rsp + 0x1d8], 1
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x1c0]
call fcn.14005a380
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
jne 0x14005ba90
lea rcx, [rsp + 0xc0]
call fcn.140057bc0
mov rax, rsi
mov rsi, qword [rsp + 0xc0]
cmp rsi, rax
jne 0x14005ba3f
mov r14, qword [rsp + 0xc8]
mov eax, r14d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
movabs rsi, 0x8000000000000000
jb 0x14005bbc7
test rax, rax
je 0x14005bbc7
mov r15, qword [r14 - 1]
mov rsi, qword [r14 + 7]
mov rax, qword [rsi]
test rax, rax
je 0x14005ba05
mov rcx, r15
call rax
dec r14
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x14005ba1d
mov r8, qword [rsi + 0x10]
mov rcx, r15
call fcn.140035340
mov edx, 0x18
mov r8d, 8
mov rcx, r14
call fcn.140035340
movabs rsi, 0x8000000000000000
jmp 0x14005bbc7
mov r12, rbx
mov rbx, rdi
mov r14, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
mov rcx, r14
mov rdx, r15
call fcn.140065840
test rax, rax
je 0x14005bb64
test rdx, rdx
je 0x14005bb5d
cmp r15, rdx
jbe 0x14005bb57
cmp byte [r14 + rdx], 0xbf
jg 0x14005bb5d
ud2
lea r14, [rsp + 0x140]
lea r12, [rsp + 0x1c0]
lea rbp, [rsp + 0x57]
lea r13, [rsp + 0xc0]
jmp 0x14005bb16
mov r8, qword [rsp + 0x158]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0xc0], rdx
mov rcx, r14
lea rdx, [rsp + 0x248]
mov r8, rbp
mov r9, r13
call fcn.14005d1a0
mov r15, qword [rsp + 0x140]
cmp r15, rsi
jne 0x14005bb3d
mov rcx, r14
mov rdx, r12
call fcn.14005a380
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
je 0x14005b9a4
mov rcx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x150]
test rax, rax
jne 0x14005baaf
test rdx, rdx
je 0x14005bafa
mov r8d, 1
call fcn.140035340
jmp 0x14005bafa
movups xmm0, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0x1f0], xmm0
mov r14, qword [rsp + 0x70]
jmp 0x14005bd2d
jne 0x14005ba8e
cmp r15, rdx
cmovae r15, rdx
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0x148], r14
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], rdi
lea rcx, [rsp + 0x1c0]
lea rdx, [rsp + 0x248]
lea r8, [rsp + 0x57]
lea r9, [rsp + 0x140]
call fcn.14005d1a0
mov r15, qword [rsp + 0x1c0]
movabs rsi, 0x8000000000000000
cmp r15, rsi
jne 0x14005bd12
mov rdi, rbx
mov rbx, r12
lea r14, [rsp + 0x140]
lea rdx, [rsp + 0x218]
mov rcx, r14
call fcn.1400574d0
mov r15, qword [rsp + 0x140]
add rsi, 2
cmp r15, rsi
jge 0x14005bcf4
mov rdx, qword [rsp + 0x148]
mov rcx, r15
call fcn.14005a6f0
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x218]
call fcn.140056fb0
mov r15, qword [rsp + 0x140]
cmp r15, rsi
jge 0x14005bcf4
mov rdx, qword [rsp + 0x148]
mov rcx, r15
call fcn.14005a6f0
lea rdx, str.PATHprogram_path_has_no_file_name
lea rcx, [rsp + 0x90]
mov r8d, 4
call fcn.14005a590
mov r14, qword [rsp + 0x90]
movabs rsi, 0x8000000000000000
cmp r14, rsi
je 0x14005bce3
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
add rax, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x1c0], rcx
mov qword [rsp + 0x1c8], rax
mov word [rsp + 0x1d0], 0
mov byte [rsp + 0x1d8], 1
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x1c0]
call fcn.14005a380
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
jne 0x14005caa8
test r14, r14
je 0x14005bce3
mov r8d, 1
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.140035340
lea r13, [0x14009ce50]
mov r14, qword [rsp + 0x70]
jmp 0x14005b7fa
movups xmm0, xmmword [r14 + 8]
movaps xmmword [rsp + 0x1f0], xmm0
mov r14, qword [rsp + 0x70]
movabs rsi, 0x8000000000000000
jmp 0x14005bd2d
movups xmm0, xmmword [rsp + 0x1c8]
movaps xmmword [rsp + 0x1f0], xmm0
mov rdi, rbx
mov r14, qword [rsp + 0x70]
mov rbx, r12
movaps xmm0, xmmword [rsp + 0x1f0]
movups xmmword [rsp + 0x130], xmm0
mov r13, qword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
cmp r12, 5
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x68], r15
jb case.0x14005c7b1.68
test r13, r13
je case.0x14005c7b1.68
cmp word [r13 + r12*2 - 0xa], 0x2e
jne case.0x14005c7b1.68
cmp word [r13 + r12*2 - 2], 0
je 0x14005c791
mov r14, rdi
mov rdi, qword [rbx + 8]
mov rbp, qword [rbx + 0x28]
mov rsi, qword [rbx + 0x30]
movzx r12d, byte [rbx + 0xc9]
mov rbx, qword [rbx + 0x10]
add rbx, rdi
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 2
mov qword [rsp + 0xd0], 0
lea r15, [rsp + 0xc0]
mov rcx, r15
call fcn.140068160
mov rax, qword [rsp + 0xc8]
mov word [rax], 0x22
mov qword [rsp + 0xd0], 1
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x148], rbx
mov word [rsp + 0x150], 0
lea rdx, [rsp + 0x140]
mov rcx, r15
call fcn.140068ac0
mov rdi, qword [rsp + 0xd0]
cmp rdi, qword [rsp + 0xc0]
jne 0x14005be39
lea rcx, [rsp + 0xc0]
call fcn.140068160
mov rax, qword [rsp + 0xc8]
mov word [rax + rdi*2], 0x22
inc rdi
mov qword [rsp + 0xd0], rdi
shl rsi, 3
lea rsi, [rsi + rsi*4]
lea r15, [rsp + 0xc0]
jmp 0x14005beab
lea rbx, [rbp + 0x28]
mov rax, qword [rsp + 0xc8]
mov word [rax + rdi*2], 0x20
inc rdi
mov qword [rsp + 0xd0], rdi
mov rcx, r15
mov rdx, rbp
mov r8d, r12d
call fcn.14006b630
add rsi, 0xffffffffffffffd8
mov rbp, rbx
test rax, rax
jne 0x14005c0fd
test rsi, rsi
je 0x14005becc
mov rdi, qword [rsp + 0xd0]
cmp rdi, qword [rsp + 0xc0]
jne 0x14005be70
mov rcx, r15
call fcn.140068160
jmp 0x14005be70
mov rax, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x14005c123
mov rsi, qword [rsp + 0xd0]
mov cl, 1
mov dword [rsp + 0x60], ecx
mov r15, qword [rsp + 0x68]
mov qword [rsp + 0xb8], r15
mov rbp, qword [rsp + 0x58]
mov rdi, r14
mov rbx, qword [rsp + 0x88]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x138], rsi
cmp rsi, rax
jne 0x14005bf4c
lea rcx, [rsp + 0x128]
call fcn.140068160
mov r13, qword [rsp + 0x130]
mov qword [rsp + 0x80], rdi
mov word [r13 + rsi*2], 0
inc rsi
mov qword [rsp + 0x138], rsi
cmp byte [rbx + 0xc8], 0
mov eax, 0x400
mov r15d, 0x608
cmove r15d, eax
or r15d, dword [rbx + 0xc4]
cmp qword [rsp + 0x228], 0
mov r14, qword [rsp + 0x70]
je 0x14005c167
mov rsi, qword [rsp + 0x230]
mov rdi, qword [rsp + 0x238]
mov rbx, qword [rsp + 0x240]
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 2
mov qword [rsp + 0xa0], 0
test rbx, rbx
jne 0x14005bfff
lea rcx, [rsp + 0x90]
call fcn.140068160
mov rax, qword [rsp + 0x98]
mov word [rax], 0
mov qword [rsp + 0xa0], 1
xor eax, eax
test rsi, rsi
setne al
cmove rbx, rsi
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], rbx
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0xc0]
call fcn.14006a110
mov rdx, qword [rsp + 0x140]
movabs rsi, 0x8000000000000000
cmp rdx, rsi
mov rbx, qword [rsp + 0x88]
jne 0x14005c282
lea rcx, [rsp + 0xc0]
call fcn.14006aae0
mov rsi, qword [rsp + 0xa0]
cmp rsi, qword [rsp + 0x90]
mov r13, qword [rsp + 0x58]
jne 0x14005c0c4
lea rcx, [rsp + 0x90]
call fcn.140068160
mov rax, qword [rsp + 0x98]
mov word [rax + rsi*2], 0
mov r12, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rdi, rsi
movabs rdx, 0x8000000000000000
cmp r12, rdx
jne 0x14005c17b
jmp 0x14005ca49
mov r13, rax
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x14005c123
mov rcx, qword [rsp + 0xc8]
add rdx, rdx
mov r8d, 2
call fcn.140035340
mov rdi, r14
mov r15, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov qword [r14], r13
mov qword [r14 + 0x10], 2
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x58]
test r15, r15
je 0x14005b80a
add r15, r15
mov r8d, 2
mov rcx, r13
mov rdx, r15
call fcn.140035340
jmp 0x14005b80a
mov esi, 2
xor edi, edi
xor r12d, r12d
movabs rdx, 0x8000000000000000
mov qword [rsp + 0x78], rsi
lea rcx, [rbx + 0x38]
xor eax, eax
cmp qword [rbx + 0x38], rdx
cmovne rax, rcx
jne 0x14005c662
mov ecx, 2
xor edx, edx
xor r13d, r13d
mov qword [rsp + 0x200], rdx
mov qword [rsp + 0x1b8], rcx
mov qword [rsp + 0xb0], rbp
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x1400b5be0], cl
jne 0x14005cd60
mov qword [rsp + 0x1c0], 0
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1e0], 0
cmp byte [rsp + 0x208], 0
lea rax, [rsp + 0x1f0]
cmovne rax, r14
mov dword [rsp + 0x1f0], 2
lea rcx, [rbx + 0x58]
cmp dword [rbx + 0x58], 6
mov esi, dword [rbx + 0x68]
cmove rcx, rax
lea rbp, [rbx + 0x78]
cmp dword [rbx + 0x78], 6
cmove rbp, r14
lea r8, [rsp + 0x1c0]
mov edx, 0xfffffff6
call fcn.14005d420
cmp rax, 1
jne 0x14005c904
mov rdi, qword [rsp + 0x80]
mov qword [rdi], rdx
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0xb0]
mov ebx, dword [rsp + 0x60]
jmp 0x14005d024
mov rcx, qword [rsp + 0x148]
mov r13, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x168]
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x210], rax
mov rax, qword [rsp + 0x150]
add rax, rcx
xor r11d, r11d
mov r8, rcx
jmp 0x14005c2f7
xor r11d, r11d
test r9w, r9w
je 0x14005c736
mov r9w, 1
test r11w, r11w
jne 0x14005c2ea
cmp r8, rax
je 0x14005c3c3
movzx r11d, byte [r8]
test r11b, r11b
js 0x14005c31f
inc r8
mov r10d, r11d
jmp 0x14005c3b8
mov r10d, r11d
and r10d, 0x1f
movzx ebx, byte [r8 + 1]
and ebx, 0x3f
cmp r11b, 0xdf
jbe 0x14005c367
movzx esi, byte [r8 + 2]
shl ebx, 6
and esi, 0x3f
or esi, ebx
cmp r11b, 0xf0
jb 0x14005c37c
movzx r11d, byte [r8 + 3]
add r8, 4
and r10d, 7
shl r10d, 0x12
shl esi, 6
and r11d, 0x3f
or r11d, esi
or r10d, r11d
jmp 0x14005c387
add r8, 2
shl r10d, 6
or r10d, ebx
mov rbx, qword [rsp + 0x88]
jmp 0x14005c3b8
add r8, 3
shl r10d, 0xc
or r10d, esi
mov rbx, qword [rsp + 0x88]
cmp r10d, 0xffff
movabs rsi, 0x8000000000000000
jbe 0x14005c3b8
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x14005c2ed
xor r11d, r11d
mov r9d, r10d
jmp 0x14005c2ed
test rdx, rdx
je 0x14005c3dc
cmp rdx, rsi
je 0x14005d146
mov r8d, 1
call fcn.140035340
mov qword [rsp + 0xb0], rbp
mov rax, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xa0]
sub rax, rbp
cmp rax, qword [rsp + 0x200]
jb 0x14005c62e
mov r12, qword [rsp + 0x200]
lea r8, [r12 + r12]
lea rcx, [rbp*2]
add rcx, qword [rsp + 0x98]
mov rdx, rdi
call fcn.14008f2f0
add rbp, r12
mov qword [rsp + 0xa0], rbp
test r13, r13
je 0x14005c455
add r13, r13
mov r8d, 2
mov rcx, rdi
mov rdx, r13
call fcn.140035340
mov rbp, qword [rsp + 0xa0]
cmp rbp, qword [rsp + 0x90]
jne 0x14005c46c
lea rcx, [rsp + 0x90]
call fcn.140068160
mov rax, qword [rsp + 0x98]
mov word [rax + rbp*2], 0x3d
inc rbp
mov qword [rsp + 0xa0], rbp
mov r11, qword [rsp + 0x1b8]
mov rdi, qword [rsp + 0x210]
add rdi, r11
xor r8d, r8d
mov rax, r11
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0xb0]
jmp 0x14005c4b9
xor r8d, r8d
test cx, cx
je 0x14005c9fa
mov cx, 1
test r8w, r8w
jne 0x14005c4ad
cmp rax, rdi
je 0x14005c563
movzx r8d, byte [rax]
test r8b, r8b
js 0x14005c4dd
inc rax
mov edx, r8d
jmp 0x14005c559
mov edx, r8d
and edx, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r8b, 0xdf
jbe 0x14005c527
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r8b, 0xf0
jb 0x14005c533
movzx r8d, byte [rax + 3]
add rax, 4
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or edx, r8d
jmp 0x14005c53d
add rax, 2
shl edx, 6
or edx, r10d
jmp 0x14005c559
add rax, 3
shl edx, 0xc
or edx, r9d
cmp edx, 0xffff
jbe 0x14005c559
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x14005c4b0
xor r8d, r8d
mov ecx, edx
jmp 0x14005c4b0
mov rbp, qword [rsp + 0x78]
cmp rbp, rsi
je 0x14005d164
mov qword [rsp + 0x1c0], r11
mov qword [rsp + 0x1c8], rdi
mov word [rsp + 0x1d0], 0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x1c0]
mov rsi, r11
call fcn.140068ac0
test rbp, rbp
je 0x14005c5b9
mov r8d, 1
mov rcx, rsi
mov rdx, rbp
call fcn.140035340
mov rsi, qword [rsp + 0xa0]
cmp rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xb0]
jne 0x14005c5e0
lea rcx, [rsp + 0x90]
call fcn.140068160
mov rax, qword [rsp + 0x98]
mov word [rax + rsi*2], 0
inc rsi
mov qword [rsp + 0xa0], rsi
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0xc0]
call fcn.14006a110
mov rdx, qword [rsp + 0x140]
movabs rsi, 0x8000000000000000
cmp rdx, rsi
jne 0x14005c282
jmp 0x14005c093
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rsp + 0x90]
mov rdx, rbp
mov r8, qword [rsp + 0x200]
call fcn.140090fa0
mov rbp, qword [rsp + 0xa0]
jmp 0x14005c405
mov rcx, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x48]
add rdx, rcx
xor r10d, r10d
jmp 0x14005c67f
xor r10d, r10d
test r8w, r8w
je 0x14005c8dc
mov r8w, 1
test r10w, r10w
jne 0x14005c672
cmp rcx, rdx
je 0x14005c968
movzx r9d, byte [rcx]
test r9b, r9b
js 0x14005c6a4
inc rcx
jmp 0x14005c72b
mov r10d, r9d
and r10d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x14005c6ee
movzx r11d, byte [rcx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r9b, 0xf0
jb 0x14005c6fe
movzx r9d, byte [rcx + 3]
add rcx, 4
and r10d, 7
shl r10d, 0x12
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
or r9d, r10d
jmp 0x14005c70c
add rcx, 2
shl r10d, 6
or r10d, esi
mov r9d, r10d
jmp 0x14005c72b
add rcx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x14005c72b
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x14005c675
xor r10d, r10d
mov r8d, r9d
jmp 0x14005c675
lea rsi, str.nul_byte_found_in_provided_data
test rdx, rdx
je 0x14005c74d
mov r8d, 1
call fcn.140035340
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1b8]
test rdx, rdx
je 0x14005c76a
mov r8d, 1
call fcn.140035340
test r13, r13
je 0x14005c95e
add r13, r13
mov r8d, 2
mov rcx, rdi
mov rdx, r13
call fcn.140035340
mov r13, qword [rsp + 0x58]
jmp 0x14005ca19
movzx eax, word [r13 + r12*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x14005c7b1.68
lea rdx, [0x14009cec8]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx ecx, word [r13 + r12*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x14005c7cf
movzx ecx, word [r13 + r12*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x14005c7fd
cmp ax, 0x43
jne case.0x14005c7b1.68
movzx eax, word [r13 + r12*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x14005c7b1.68
movzx eax, word [r13 + r12*2 - 4]
or eax, 0x20
cmp eax, 0x64
jne case.0x14005c7b1.68
lea rcx, [rsp + 0xc0]
call fcn.140057f40
mov rax, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xc8]
cmp rax, rsi
je 0x14005c8c7
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], rbp
mov qword [rsp + 0x1d0], rcx
lea rax, [0x14009ce72]
mov qword [rsp + 0x160], rax
lea rax, [0x14009ce7a]
mov qword [rsp + 0x168], rax
mov word [rsp + 0x170], 0
mov qword [rsp + 0x140], 1
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 1
mov word [rsp + 0x158], 0
lea rcx, [rsp + 0x1c0]
lea rdx, [rsp + 0x140]
call fcn.140068c60
mov rax, qword [rsp + 0x1c0]
mov rbp, qword [rsp + 0x1c8]
cmp rax, rsi
jne 0x14005cb5d
mov qword [rdi], rbp
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x60]
jmp 0x14005c145
lea rcx, str.nul_byte_found_in_provided_data
mov rdi, qword [rsp + 0x80]
mov qword [rdi], rcx
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x60]
jmp 0x14005d0be
mov qword [rsp + 0x208], rdx
lea r8, [rsp + 0x1d0]
lea rcx, [rbx + 0x68]
cmp esi, 6
cmove rcx, r14
mov edx, 0xfffffff5
call fcn.14005d420
mov rsi, rdx
test rax, rax
je 0x14005ca6a
mov rdi, qword [rsp + 0x80]
mov qword [rdi], rsi
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0xb0]
mov ebx, dword [rsp + 0x60]
jmp 0x14005d016
mov r13, qword [rsp + 0x58]
jmp 0x14005ca19
mov rcx, qword [rax + 8]
mov rax, qword [rax + 0x10]
add rax, rcx
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
mov word [rsp + 0x150], 0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x140]
call fcn.140068f00
mov rsi, qword [rsp + 0xd0]
cmp rsi, qword [rsp + 0xc0]
jne 0x14005c9c1
lea rcx, [rsp + 0xc0]
call fcn.140068160
mov rax, qword [rsp + 0xc8]
mov word [rax + rsi*2], 0
mov r13, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
mov rdx, rcx
movabs rax, 0x8000000000000000
cmp r13, rax
jne 0x14005c19e
jmp 0x14005c8e3
lea rsi, str.nul_byte_found_in_provided_data
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x14005ca19
mov r8d, 1
mov rcx, r11
call fcn.140035340
lea rcx, [rsp + 0xc0]
call fcn.14006aae0
mov rdx, qword [rsp + 0x90]
test rdx, rdx
je 0x14005ca49
mov rcx, qword [rsp + 0x98]
add rdx, rdx
mov r8d, 2
call fcn.140035340
mov rdi, qword [rsp + 0x80]
mov qword [rdi], rsi
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x60]
jmp 0x14005d0de
lea r8, [rsp + 0x1e0]
mov rcx, rbp
mov edx, 0xfffffff4
call fcn.14005d420
test rax, rax
je 0x14005cbe5
mov r15, rsi
mov rdi, qword [rsp + 0x80]
mov qword [rdi], rdx
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x68]
jmp 0x14005d001
lea r13, [rsp + 0x140]
lea rbp, [rsp + 0x1c0]
lea r12, [rsp + 0xc0]
jmp 0x14005cb32
mov r8, qword [rsp + 0x158]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0x218]
mov r8, qword [rsp + 0x220]
mov rcx, r13
mov r9, r12
call fcn.14005d1a0
mov r15, qword [rsp + 0x140]
cmp r15, rsi
jne 0x14005cd71
mov rcx, r13
mov rdx, rbp
call fcn.14005a380
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
je 0x14005bccb
mov rcx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x150]
test rax, rax
jne 0x14005cac2
test rdx, rdx
je 0x14005cb16
mov r8d, 1
call fcn.140035340
jmp 0x14005cb16
mov qword [rsp + 0xb8], rax
mov r9, qword [rbx + 0x28]
mov rax, qword [rbx + 0x30]
movzx ecx, byte [rbx + 0xc9]
mov byte [rsp + 0x28], cl
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x140]
mov rdx, r13
mov r8, r12
call fcn.14006bab0
mov rax, qword [rsp + 0x140]
mov r13, qword [rsp + 0x148]
cmp rax, rsi
jne 0x14005cda3
mov qword [rdi], r13
mov qword [rdi + 0x10], 2
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
mov r13, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
je 0x14005c145
add rdx, rdx
mov r8d, 2
mov rcx, rbp
call fcn.140035340
jmp 0x14005c145
xorps xmm0, xmm0
movups xmmword [rsp + 0xf4], xmm0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0xd8], xmm0
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0x108], xmm0
movups xmmword [rsp + 0x118], xmm0
test rdx, rdx
mov rcx, qword [rsp + 0x208]
jne 0x14005cc34
test rsi, rsi
jne 0x14005cc34
mov eax, 1
test rcx, rcx
je 0x14005cc5c
mov dword [rsp + 0xfc], 0x100
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], rdx
mov eax, 0x101
cmp word [rbx + 0xc0], 0
je 0x14005cc7c
movzx ecx, word [rbx + 0xc2]
mov dword [rsp + 0xfc], eax
mov word [rsp + 0x100], cx
mov qword [rsp + 0x210], rdx
mov rbp, qword [rbx + 0xb8]
test rbp, rbp
je 0x14005cdb8
add rbx, 0xa8
mov dword [rsp + 0xc0], 0x70
lea rcx, [rsp + 0x218]
mov rdx, rbx
call fcn.14005d650
mov rbx, qword [rsp + 0x218]
mov rax, qword [rsp + 0x220]
test rbx, rbx
je 0x14005cfd8
mov qword [rsp + 0x88], rax
or r15d, 0x80000
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x1a0], rax
movups xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x190], xmm0
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x180], xmm0
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movups xmm2, xmmword [rsp + 0xe0]
movups xmm3, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x170], xmm3
movaps xmmword [rsp + 0x160], xmm2
movaps xmmword [rsp + 0x150], xmm1
movaps xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0x1a8], rbx
lea rax, [rsp + 0x140]
jmp 0x14005cdcb
lea rcx, [0x1400b5be0]
call fcn.140094050
jmp 0x14005c1df
movups xmm0, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0x1f0], xmm0
test r14, r14
je 0x14005cd99
mov r8d, 1
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.140035340
mov r14, qword [rsp + 0x70]
jmp 0x14005bd2d
mov dword [rsp + 0x60], 0
mov rsi, qword [rsp + 0x150]
jmp 0x14005bf1a
mov dword [rsp + 0xc0], 0x68
lea rax, [rsp + 0xc0]
mov rdx, qword [rsp + 0x130]
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0xb0]
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.kernel32.dll_CreateProcessW]
mov r15, rsi
test eax, eax
je 0x14005cf62
movups xmm0, xmmword [rsp + 0x1c0]
movups xmm1, xmmword [rsp + 0x1d0]
movups xmm2, xmmword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x80]
movups xmmword [rdi + 0x30], xmm2
movups xmmword [rdi + 0x20], xmm1
movups xmmword [rdi + 0x10], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rdi], xmm0
test rbp, rbp
mov rbp, qword [rsp + 0x68]
je 0x14005ce74
mov rcx, rbx
mov rdx, qword [rsp + 0x88]
call fcn.14005a790
mov rsi, qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, qword [rsp + 0x210]
call rsi
mov rcx, r15
call rsi
mov rcx, qword [rsp + 0x208]
call rsi
cmp dword [rsp + 0x1f0], 4
mov rbx, qword [rsp + 0xb0]
jae 0x14005cf9f
xor eax, eax
xchg byte [0x1400b5be0], al
cmp al, 2
je 0x14005cfbd
test r13, r13
je 0x14005ced8
add r13, r13
mov r8d, 2
mov rcx, qword [rsp + 0x1b8]
mov rdx, r13
call fcn.140035340
test r12, r12
je 0x14005cef3
add r12, r12
mov r8d, 2
mov rcx, qword [rsp + 0x78]
mov rdx, r12
call fcn.140035340
mov rdx, qword [rsp + 0x128]
test rdx, rdx
mov rsi, qword [rsp + 0x58]
je 0x14005cf1b
mov rcx, qword [rsp + 0x130]
add rdx, rdx
mov r8d, 2
call fcn.140035340
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14005cf39
add rdx, rdx
mov r8d, 2
mov rcx, rbx
call fcn.140035340
test rbp, rbp
sete al
or al, byte [rsp + 0x60]
jne 0x14005b898
add rbp, rbp
mov r8d, 2
mov rcx, rsi
mov rdx, rbp
call fcn.140035340
jmp 0x14005b898
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov rdi, qword [rsp + 0x80]
mov qword [rdi], rax
mov qword [rdi + 0x10], 2
test rbp, rbp
mov rsi, qword [rsp + 0x68]
je 0x14005cff3
mov rcx, rbx
mov rdx, qword [rsp + 0x88]
call fcn.14005a790
jmp 0x14005cff3
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.kernel32.dll_CloseHandle]
xor eax, eax
xchg byte [0x1400b5be0], al
cmp al, 2
jne 0x14005ceba
lea rcx, [0x1400b5be0]
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
test r13, r13
jne 0x14005cebf
jmp 0x14005ced8
mov r15, rsi
mov rdi, qword [rsp + 0x80]
mov qword [rdi], rax
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x210]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rbp, qword [rsp + 0xb0]
mov ebx, dword [rsp + 0x60]
mov rcx, r15
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, qword [rsp + 0x208]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [rsp + 0x1f0], 4
jb 0x14005d03c
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rsp + 0x1c0], 0
je 0x14005d055
mov rcx, qword [rsp + 0x1c8]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rsp + 0x1d0], 0
je 0x14005d06e
mov rcx, qword [rsp + 0x1d8]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rsp + 0x1e0], 0
je 0x14005d087
mov rcx, qword [rsp + 0x1e8]
call qword [sym.imp.kernel32.dll_CloseHandle]
xor eax, eax
xchg byte [0x1400b5be0], al
cmp al, 2
jne 0x14005d0a0
lea rcx, [0x1400b5be0]
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
test r13, r13
je 0x14005d0be
add r13, r13
mov r8d, 2
mov rcx, qword [rsp + 0x1b8]
mov rdx, r13
call fcn.140035340
test r12, r12
mov r13, qword [rsp + 0x58]
je 0x14005d0de
add r12, r12
mov r8d, 2
mov rcx, qword [rsp + 0x78]
mov rdx, r12
call fcn.140035340
mov rdx, qword [rsp + 0x128]
test rdx, rdx
je 0x14005d101
mov rcx, qword [rsp + 0x130]
add rdx, rdx
mov r8d, 2
call fcn.140035340
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14005d11f
add rdx, rdx
mov r8d, 2
mov rcx, rbp
call fcn.140035340
test rsi, rsi
sete al
or al, bl
jne 0x14005b898
add rsi, rsi
mov r8d, 2
mov rcx, r13
mov rdx, rsi
call fcn.140035340
jmp 0x14005b898
mov rsi, rcx
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1b8]
test rdx, rdx
jne 0x14005c75f
jmp 0x14005c76a
mov rsi, r11
mov rbp, qword [rsp + 0xb0]
jmp 0x14005ca19
call sub.kernel32.dll_GetLastError
ud2
mov ecx, 1
mov edx, 4
call fcn.1400406c0
xor r14d, r14d
mov rcx, r14
mov rdx, r15
call fcn.1400406c0
int3