Function at 0x1401ae920
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.1401bcd40
mov rax, qword [rsp + 0x228]
test rax, rax
mov qword [rsp + 0x60], rax
je 0x1401aeab6
movzx eax, byte [0x14027f2b8]
mov ecx, 4
mov edx, 1
call fcn.140055570
test rax, rax
je 0x1401b0b1b
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.1401bc380
mov r12, qword [rsp + 0x230]
test r12, r12
je 0x1401aeaf7
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 0x1401aea90
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 0x1401aea50
cmp eax, 1
jne 0x1401aeac2
jmp 0x1401aea95
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
sub rax, 1
jb 0x1401af098
mov qword [rsp + 0x58], rax
mov r12, qword [r12 + rbx*8 + 0x3d8]
jmp 0x1401aea21
xor eax, eax
mov qword [rsp + 0xb8], rax
jmp 0x1401aeb37
cmp eax, 2
mov r14, qword [rsp + 0x70]
jne 0x1401b0b14
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 0x1401aeb01
xor eax, eax
mov qword [rsp + 0xb8], rax
mov edx, 4
mov r8d, 1
mov rcx, rsi
call fcn.140055580
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x1401aeb37
mov rcx, qword [rsp + 0x168]
add rdx, rdx
mov r8d, 2
call fcn.140055580
mov r12, qword [rbx + 8]
mov r15, qword [rbx + 0x10]
mov qword [rsp + 0x248], r12
mov qword [rsp + 0x250], r15
lea r13, [0x1402629d0]
test r15, r15
je 0x1401af19a
cmp r15, 4
jae 0x1401aeb7d
lea rax, [0x1401bea90]
movzx ecx, byte [r15 + r12 - 1]
call rax
test al, al
je 0x1401aeba9
jmp 0x1401af19a
mov eax, dword [str._invalid_argument]
cmp eax, dword [r12]
lea rcx, [0x1401beaa0]
lea rax, [0x1401bea90]
cmove rax, rcx
movzx ecx, byte [r15 + r12 - 1]
call rax
test al, al
jne 0x1401af19a
movabs rsi, 0x8000000000000000
cmp r15, 3
jbe 0x1401aecad
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 0x1401aeccd
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 0x1401aec28
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 0x1401aec28
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 0x1401aee3f
movzx edx, byte [r12 + rcx]
cmp edx, 0x2f
je 0x1401aec4b
inc rcx
cmp edx, 0x5c
jne 0x1401aec30
test al, al
jne 0x1401aeceb
lea rcx, [rsp + 0xc0]
mov rdx, r12
mov r8, r15
call fcn.1401a9a20
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xc8]
cmp rcx, rsi
jne 0x1401af276
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x128], rsi
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
je 0x1401af19a
jmp 0x1401af6e5
xor eax, eax
nop
cmp r15, rax
je 0x1401aee3f
movzx ecx, byte [r12 + rax]
cmp ecx, 0x2f
je 0x1401aeceb
inc rax
cmp ecx, 0x5c
jne 0x1401aecb0
jmp 0x1401aeceb
xor eax, eax
nop
cmp r15, rax
je 0x1401aee3f
movzx ecx, byte [r12 + rax]
cmp ecx, 0x2f
je 0x1401aeceb
inc rax
cmp ecx, 0x5c
jne 0x1401aecd0
test r15, r15
js 0x1401b0b2a
mov rbp, rbx
mov rbx, r14
movzx eax, byte [0x14027f2b8]
mov r14d, 1
mov edx, 1
mov rcx, r15
call fcn.140055570
test rax, rax
je 0x1401b0b2d
mov r13, rax
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.1401ef240
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.1401b6c90
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.1401a9a20
mov rax, qword [rsp + 0x1c0]
mov r14, qword [rsp + 0x1c8]
cmp rax, rsi
jne 0x1401aef29
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x90], rsi
jmp 0x1401aef73
lea rax, [r12 + r15]
xor r9d, r9d
lea r13, str.nul_byte_found_in_provided_data
mov rcx, r12
jmp 0x1401aee6c
xor r9d, r9d
test dx, dx
je 0x1401af19a
mov dx, 1
test r9w, r9w
jne 0x1401aee60
cmp rcx, rax
je 0x1401af05f
movzx r8d, byte [rcx]
test r8b, r8b
js 0x1401aee8d
inc rcx
jmp 0x1401aeef1
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x1401aeee3
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x1401aeefc
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 0x1401aeef1
jmp 0x1401aef13
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
xor r9d, r9d
mov edx, r8d
jmp 0x1401aee63
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xffff
jbe 0x1401aeef1
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x1401aee63
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.1401c4400
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
cmp r15, rsi
jne 0x1401aefdf
mov eax, r14d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1401af0cd
test rax, rax
je 0x1401af0cd
mov r15, qword [r14 - 1]
mov rsi, qword [r14 + 7]
mov rax, qword [rsi]
test rax, rax
je 0x1401aefa5
mov rcx, r15
call rax
dec r14
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x1401aefbd
mov r8, qword [rsi + 0x10]
mov rcx, r15
call fcn.140055580
mov edx, 0x18
mov r8d, 8
mov rcx, r14
call fcn.140055580
movabs rsi, 0x8000000000000000
jmp 0x1401af0cd
mov rsi, qword [rsp + 0xa0]
mov rcx, r14
call qword [sym.imp.kernel32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1401af0aa
mov qword [rsp + 0x128], r15
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], rsi
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x1401af031
mov rcx, qword [rsp + 0xc8]
mov r8d, 1
call fcn.140055580
mov r14, rbx
mov rbx, rbp
movabs rsi, 0x8000000000000000
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
je 0x1401af19a
jmp 0x1401af6e5
cmp r15, 0xf
mov qword [rsp + 0x70], r14
ja 0x1401af25f
xor eax, eax
xor ecx, ecx
mov rdx, qword [rsp + 0xb8]
nop word [rax + rax]
cmp byte [r12 + rcx], 0x2e
je 0x1401af2c9
inc rcx
cmp r15, rcx
jne 0x1401af080
jmp 0x1401af2ce
mov rdi, qword [rsp + 0x80]
mov r14, qword [rsp + 0x70]
jmp 0x1401aeae8
test r15, r15
movabs rsi, 0x8000000000000000
je 0x1401af0cd
add r15, r15
mov r8d, 2
mov rcx, r14
mov rdx, r15
call fcn.140055580
lea rcx, [rsp + 0xc0]
mov edx, 1
xor r8d, r8d
call fcn.1401b8ae0
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
lea rcx, [rsp + 0x140]
call fcn.1401a9a20
mov rcx, qword [rsp + 0x140]
mov rax, qword [rsp + 0x148]
cmp rcx, rsi
jne 0x1401af126
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x128], rsi
jmp 0x1401af15b
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.1401c4400
mov r14, rbx
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
mov rbx, rbp
je 0x1401af181
mov rcx, qword [rsp + 0xc8]
mov r8d, 1
call fcn.140055580
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
jne 0x1401af6e5
mov rsi, qword [rsp + 0x60]
mov qword [rdi], r13
mov qword [rdi + 0x10], 2
test rsi, rsi
je 0x1401af238
mov rcx, qword [rsp + 0x230]
test rcx, rcx
je 0x1401af20f
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 0x1401af213
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.1401c2b30
cmp dword [r14], 4
jb 0x1401af248
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.1401cfeb0
mov rdx, qword [rsp + 0xb8]
jmp 0x1401af2ce
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.1401c4400
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
je 0x1401af19a
jmp 0x1401af6e5
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 0x1401af344
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.1401ba620
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
jne 0x1401af430
lea rcx, [rsp + 0xc0]
call fcn.1401aaaf0
mov rax, rsi
mov rsi, qword [rsp + 0xc0]
cmp rsi, rax
jne 0x1401af3df
mov r14, qword [rsp + 0xc8]
mov eax, r14d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
movabs rsi, 0x8000000000000000
jb 0x1401af567
test rax, rax
je 0x1401af567
mov r15, qword [r14 - 1]
mov rsi, qword [r14 + 7]
mov rax, qword [rsi]
test rax, rax
je 0x1401af3a5
mov rcx, r15
call rax
dec r14
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x1401af3bd
mov r8, qword [rsi + 0x10]
mov rcx, r15
call fcn.140055580
mov edx, 0x18
mov r8d, 8
mov rcx, r14
call fcn.140055580
movabs rsi, 0x8000000000000000
jmp 0x1401af567
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.1401b8e20
test rax, rax
je 0x1401af504
test rdx, rdx
je 0x1401af4fd
cmp r15, rdx
jbe 0x1401af4f7
cmp byte [r14 + rdx], 0xbf
jg 0x1401af4fd
ud2
lea r14, [rsp + 0x140]
lea r12, [rsp + 0x1c0]
lea rbp, [rsp + 0x57]
lea r13, [rsp + 0xc0]
jmp 0x1401af4b6
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.1401b0b40
mov r15, qword [rsp + 0x140]
cmp r15, rsi
jne 0x1401af4dd
mov rcx, r14
mov rdx, r12
call fcn.1401ba620
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
je 0x1401af344
mov rcx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x150]
test rax, rax
jne 0x1401af44f
test rdx, rdx
je 0x1401af49a
mov r8d, 1
call fcn.140055580
jmp 0x1401af49a
movups xmm0, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0x1f0], xmm0
mov r14, qword [rsp + 0x70]
jmp 0x1401af6cd
jne 0x1401af42e
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.1401b0b40
mov r15, qword [rsp + 0x1c0]
movabs rsi, 0x8000000000000000
cmp r15, rsi
jne 0x1401af6b2
mov rdi, rbx
mov rbx, r12
lea r14, [rsp + 0x140]
lea rdx, [rsp + 0x218]
mov rcx, r14
call fcn.1401aa400
mov r15, qword [rsp + 0x140]
add rsi, 2
cmp r15, rsi
jge 0x1401af694
mov rdx, qword [rsp + 0x148]
mov rcx, r15
call fcn.1401adb80
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x218]
call fcn.1401a9ee0
mov r15, qword [rsp + 0x140]
cmp r15, rsi
jge 0x1401af694
mov rdx, qword [rsp + 0x148]
mov rcx, r15
call fcn.1401adb80
lea rdx, str.PATHprogram_path_has_no_file_name
lea rcx, [rsp + 0x90]
mov r8d, 4
call fcn.1401ba830
mov r14, qword [rsp + 0x90]
movabs rsi, 0x8000000000000000
cmp r14, rsi
je 0x1401af683
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.1401ba620
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
jne 0x1401b0448
test r14, r14
je 0x1401af683
mov r8d, 1
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.140055580
lea r13, [0x140262a00]
mov r14, qword [rsp + 0x70]
jmp 0x1401af19a
movups xmm0, xmmword [r14 + 8]
movaps xmmword [rsp + 0x1f0], xmm0
mov r14, qword [rsp + 0x70]
movabs rsi, 0x8000000000000000
jmp 0x1401af6cd
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.0x1401b0151.68
test r13, r13
je case.0x1401b0151.68
cmp word [r13 + r12*2 - 0xa], 0x2e
jne case.0x1401b0151.68
cmp word [r13 + r12*2 - 2], 0
je 0x1401b0131
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.14009a090
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.1401bbf40
mov rdi, qword [rsp + 0xd0]
cmp rdi, qword [rsp + 0xc0]
jne 0x1401af7d9
lea rcx, [rsp + 0xc0]
call fcn.14009a090
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 0x1401af84b
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.1401c3680
add rsi, 0xffffffffffffffd8
mov rbp, rbx
test rax, rax
jne 0x1401afa9d
test rsi, rsi
je 0x1401af86c
mov rdi, qword [rsp + 0xd0]
cmp rdi, qword [rsp + 0xc0]
jne 0x1401af810
mov rcx, r15
call fcn.14009a090
jmp 0x1401af810
mov rax, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x1401afac3
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 0x1401af8ec
lea rcx, [rsp + 0x128]
call fcn.14009a090
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 0x1401afb07
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 0x1401af99f
lea rcx, [rsp + 0x90]
call fcn.14009a090
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.1401c1de0
mov rdx, qword [rsp + 0x140]
movabs rsi, 0x8000000000000000
cmp rdx, rsi
mov rbx, qword [rsp + 0x88]
jne 0x1401afc22
lea rcx, [rsp + 0xc0]
call fcn.1401c2b30
mov rsi, qword [rsp + 0xa0]
cmp rsi, qword [rsp + 0x90]
mov r13, qword [rsp + 0x58]
jne 0x1401afa64
lea rcx, [rsp + 0x90]
call fcn.14009a090
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 0x1401afb1b
jmp 0x1401b03e9
mov r13, rax
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x1401afac3
mov rcx, qword [rsp + 0xc8]
add rdx, rdx
mov r8d, 2
call fcn.140055580
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 0x1401af1aa
add r15, r15
mov r8d, 2
mov rcx, r13
mov rdx, r15
call fcn.140055580
jmp 0x1401af1aa
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 0x1401b0002
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 [0x14027f400], cl
jne 0x1401b0700
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.1401b0dc0
cmp rax, 1
jne 0x1401b02a4
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 0x1401b09c4
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 0x1401afc97
xor r11d, r11d
test r9w, r9w
je 0x1401b00d6
mov r9w, 1
test r11w, r11w
jne 0x1401afc8a
cmp r8, rax
je 0x1401afd63
movzx r11d, byte [r8]
test r11b, r11b
js 0x1401afcbf
inc r8
mov r10d, r11d
jmp 0x1401afd58
mov r10d, r11d
and r10d, 0x1f
movzx ebx, byte [r8 + 1]
and ebx, 0x3f
cmp r11b, 0xdf
jbe 0x1401afd07
movzx esi, byte [r8 + 2]
shl ebx, 6
and esi, 0x3f
or esi, ebx
cmp r11b, 0xf0
jb 0x1401afd1c
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 0x1401afd27
add r8, 2
shl r10d, 6
or r10d, ebx
mov rbx, qword [rsp + 0x88]
jmp 0x1401afd58
add r8, 3
shl r10d, 0xc
or r10d, esi
mov rbx, qword [rsp + 0x88]
cmp r10d, 0xffff
movabs rsi, 0x8000000000000000
jbe 0x1401afd58
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x1401afc8d
xor r11d, r11d
mov r9d, r10d
jmp 0x1401afc8d
test rdx, rdx
je 0x1401afd7c
cmp rdx, rsi
je 0x1401b0ae6
mov r8d, 1
call fcn.140055580
mov qword [rsp + 0xb0], rbp
mov rax, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xa0]
sub rax, rbp
cmp rax, qword [rsp + 0x200]
jb 0x1401affce
mov r12, qword [rsp + 0x200]
lea r8, [r12 + r12]
lea rcx, [rbp*2]
add rcx, qword [rsp + 0x98]
mov rdx, rdi
call fcn.1401ef240
add rbp, r12
mov qword [rsp + 0xa0], rbp
test r13, r13
je 0x1401afdf5
add r13, r13
mov r8d, 2
mov rcx, rdi
mov rdx, r13
call fcn.140055580
mov rbp, qword [rsp + 0xa0]
cmp rbp, qword [rsp + 0x90]
jne 0x1401afe0c
lea rcx, [rsp + 0x90]
call fcn.14009a090
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 0x1401afe59
xor r8d, r8d
test cx, cx
je 0x1401b039a
mov cx, 1
test r8w, r8w
jne 0x1401afe4d
cmp rax, rdi
je 0x1401aff03
movzx r8d, byte [rax]
test r8b, r8b
js 0x1401afe7d
inc rax
mov edx, r8d
jmp 0x1401afef9
mov edx, r8d
and edx, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r8b, 0xdf
jbe 0x1401afec7
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r8b, 0xf0
jb 0x1401afed3
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 0x1401afedd
add rax, 2
shl edx, 6
or edx, r10d
jmp 0x1401afef9
add rax, 3
shl edx, 0xc
or edx, r9d
cmp edx, 0xffff
jbe 0x1401afef9
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x1401afe50
xor r8d, r8d
mov ecx, edx
jmp 0x1401afe50
mov rbp, qword [rsp + 0x78]
cmp rbp, rsi
je 0x1401b0b04
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.1401bbf40
test rbp, rbp
je 0x1401aff59
mov r8d, 1
mov rcx, rsi
mov rdx, rbp
call fcn.140055580
mov rsi, qword [rsp + 0xa0]
cmp rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xb0]
jne 0x1401aff80
lea rcx, [rsp + 0x90]
call fcn.14009a090
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.1401c1de0
mov rdx, qword [rsp + 0x140]
movabs rsi, 0x8000000000000000
cmp rdx, rsi
jne 0x1401afc22
jmp 0x1401afa33
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rsp + 0x90]
mov rdx, rbp
mov r8, qword [rsp + 0x200]
call fcn.1401f03e0
mov rbp, qword [rsp + 0xa0]
jmp 0x1401afda5
mov rcx, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x48]
add rdx, rcx
xor r10d, r10d
jmp 0x1401b001f
xor r10d, r10d
test r8w, r8w
je 0x1401b027c
mov r8w, 1
test r10w, r10w
jne 0x1401b0012
cmp rcx, rdx
je 0x1401b0308
movzx r9d, byte [rcx]
test r9b, r9b
js 0x1401b0044
inc rcx
jmp 0x1401b00cb
mov r10d, r9d
and r10d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x1401b008e
movzx r11d, byte [rcx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r9b, 0xf0
jb 0x1401b009e
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 0x1401b00ac
add rcx, 2
shl r10d, 6
or r10d, esi
mov r9d, r10d
jmp 0x1401b00cb
add rcx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x1401b00cb
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x1401b0015
xor r10d, r10d
mov r8d, r9d
jmp 0x1401b0015
lea rsi, str.nul_byte_found_in_provided_data
test rdx, rdx
je 0x1401b00ed
mov r8d, 1
call fcn.140055580
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1b8]
test rdx, rdx
je 0x1401b010a
mov r8d, 1
call fcn.140055580
test r13, r13
je 0x1401b02fe
add r13, r13
mov r8d, 2
mov rcx, rdi
mov rdx, r13
call fcn.140055580
mov r13, qword [rsp + 0x58]
jmp 0x1401b03b9
movzx eax, word [r13 + r12*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x1401b0151.68
lea rdx, [0x140262a78]
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 0x1401b016f
movzx ecx, word [r13 + r12*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x1401b019d
cmp ax, 0x43
jne case.0x1401b0151.68
movzx eax, word [r13 + r12*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x1401b0151.68
movzx eax, word [r13 + r12*2 - 4]
or eax, 0x20
cmp eax, 0x64
jne case.0x1401b0151.68
lea rcx, [rsp + 0xc0]
call fcn.1401ab020
mov rax, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xc8]
cmp rax, rsi
je 0x1401b0267
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], rbp
mov qword [rsp + 0x1d0], rcx
lea rax, [0x140262a22]
mov qword [rsp + 0x160], rax
lea rax, [0x140262a2a]
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.1401bc0e0
mov rax, qword [rsp + 0x1c0]
mov rbp, qword [rsp + 0x1c8]
cmp rax, rsi
jne 0x1401b04fd
mov qword [rdi], rbp
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x60]
jmp 0x1401afae5
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 0x1401b0a5e
mov qword [rsp + 0x208], rdx
lea r8, [rsp + 0x1d0]
lea rcx, [rbx + 0x68]
cmp esi, 6
cmove rcx, r14
mov edx, 0xfffffff5
call fcn.1401b0dc0
mov rsi, rdx
test rax, rax
je 0x1401b040a
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 0x1401b09b6
mov r13, qword [rsp + 0x58]
jmp 0x1401b03b9
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.1401bc380
mov rsi, qword [rsp + 0xd0]
cmp rsi, qword [rsp + 0xc0]
jne 0x1401b0361
lea rcx, [rsp + 0xc0]
call fcn.14009a090
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 0x1401afb3e
jmp 0x1401b0283
lea rsi, str.nul_byte_found_in_provided_data
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x1401b03b9
mov r8d, 1
mov rcx, r11
call fcn.140055580
lea rcx, [rsp + 0xc0]
call fcn.1401c2b30
mov rdx, qword [rsp + 0x90]
test rdx, rdx
je 0x1401b03e9
mov rcx, qword [rsp + 0x98]
add rdx, rdx
mov r8d, 2
call fcn.140055580
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 0x1401b0a7e
lea r8, [rsp + 0x1e0]
mov rcx, rbp
mov edx, 0xfffffff4
call fcn.1401b0dc0
test rax, rax
je 0x1401b0585
mov r15, rsi
mov rdi, qword [rsp + 0x80]
mov qword [rdi], rdx
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x68]
jmp 0x1401b09a1
lea r13, [rsp + 0x140]
lea rbp, [rsp + 0x1c0]
lea r12, [rsp + 0xc0]
jmp 0x1401b04d2
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.1401b0b40
mov r15, qword [rsp + 0x140]
cmp r15, rsi
jne 0x1401b0711
mov rcx, r13
mov rdx, rbp
call fcn.1401ba620
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
je 0x1401af66b
mov rcx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x150]
test rax, rax
jne 0x1401b0462
test rdx, rdx
je 0x1401b04b6
mov r8d, 1
call fcn.140055580
jmp 0x1401b04b6
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.1401c3b00
mov rax, qword [rsp + 0x140]
mov r13, qword [rsp + 0x148]
cmp rax, rsi
jne 0x1401b0743
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 0x1401afae5
add rdx, rdx
mov r8d, 2
mov rcx, rbp
call fcn.140055580
jmp 0x1401afae5
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 0x1401b05d4
test rsi, rsi
jne 0x1401b05d4
mov eax, 1
test rcx, rcx
je 0x1401b05fc
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 0x1401b061c
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 0x1401b0758
add rbx, 0xa8
mov dword [rsp + 0xc0], 0x70
lea rcx, [rsp + 0x218]
mov rdx, rbx
call fcn.1401b0ff0
mov rbx, qword [rsp + 0x218]
mov rax, qword [rsp + 0x220]
test rbx, rbx
je 0x1401b0978
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 0x1401b076b
lea rcx, [0x14027f400]
call fcn.1401fc200
jmp 0x1401afb7f
movups xmm0, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0x1f0], xmm0
test r14, r14
je 0x1401b0739
mov r8d, 1
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.140055580
mov r14, qword [rsp + 0x70]
jmp 0x1401af6cd
mov dword [rsp + 0x60], 0
mov rsi, qword [rsp + 0x150]
jmp 0x1401af8ba
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 0x1401b0902
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 0x1401b0814
mov rcx, rbx
mov rdx, qword [rsp + 0x88]
call fcn.1401adc20
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 0x1401b093f
xor eax, eax
xchg byte [0x14027f400], al
cmp al, 2
je 0x1401b095d
test r13, r13
je 0x1401b0878
add r13, r13
mov r8d, 2
mov rcx, qword [rsp + 0x1b8]
mov rdx, r13
call fcn.140055580
test r12, r12
je 0x1401b0893
add r12, r12
mov r8d, 2
mov rcx, qword [rsp + 0x78]
mov rdx, r12
call fcn.140055580
mov rdx, qword [rsp + 0x128]
test rdx, rdx
mov rsi, qword [rsp + 0x58]
je 0x1401b08bb
mov rcx, qword [rsp + 0x130]
add rdx, rdx
mov r8d, 2
call fcn.140055580
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x1401b08d9
add rdx, rdx
mov r8d, 2
mov rcx, rbx
call fcn.140055580
test rbp, rbp
sete al
or al, byte [rsp + 0x60]
jne 0x1401af238
add rbp, rbp
mov r8d, 2
mov rcx, rsi
mov rdx, rbp
call fcn.140055580
jmp 0x1401af238
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 0x1401b0993
mov rcx, rbx
mov rdx, qword [rsp + 0x88]
call fcn.1401adc20
jmp 0x1401b0993
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.kernel32.dll_CloseHandle]
xor eax, eax
xchg byte [0x14027f400], al
cmp al, 2
jne 0x1401b085a
lea rcx, [0x14027f400]
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
test r13, r13
jne 0x1401b085f
jmp 0x1401b0878
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 0x1401b09dc
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rsp + 0x1c0], 0
je 0x1401b09f5
mov rcx, qword [rsp + 0x1c8]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rsp + 0x1d0], 0
je 0x1401b0a0e
mov rcx, qword [rsp + 0x1d8]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rsp + 0x1e0], 0
je 0x1401b0a27
mov rcx, qword [rsp + 0x1e8]
call qword [sym.imp.kernel32.dll_CloseHandle]
xor eax, eax
xchg byte [0x14027f400], al
cmp al, 2
jne 0x1401b0a40
lea rcx, [0x14027f400]
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
test r13, r13
je 0x1401b0a5e
add r13, r13
mov r8d, 2
mov rcx, qword [rsp + 0x1b8]
mov rdx, r13
call fcn.140055580
test r12, r12
mov r13, qword [rsp + 0x58]
je 0x1401b0a7e
add r12, r12
mov r8d, 2
mov rcx, qword [rsp + 0x78]
mov rdx, r12
call fcn.140055580
mov rdx, qword [rsp + 0x128]
test rdx, rdx
je 0x1401b0aa1
mov rcx, qword [rsp + 0x130]
add rdx, rdx
mov r8d, 2
call fcn.140055580
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x1401b0abf
add rdx, rdx
mov r8d, 2
mov rcx, rbp
call fcn.140055580
test rsi, rsi
sete al
or al, bl
jne 0x1401af238
add rsi, rsi
mov r8d, 2
mov rcx, r13
mov rdx, rsi
call fcn.140055580
jmp 0x1401af238
mov rsi, rcx
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1b8]
test rdx, rdx
jne 0x1401b00ff
jmp 0x1401b010a
mov rsi, r11
mov rbp, qword [rsp + 0xb0]
jmp 0x1401b03b9
call sub.kernel32.dll_GetLastError
ud2
mov ecx, 1
mov edx, 4
call fcn.14018ba60
xor r14d, r14d
mov rcx, r14
mov rdx, r15
call fcn.14018ba60
int3