Function at 0x1400632c0
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.14006f0e0
mov rax, qword [rsp + 0x228]
test rax, rax
mov qword [rsp + 0x60], rax
je 0x140063456
movzx eax, byte [0x1400bdb30]
mov ecx, 4
mov edx, 1
call fcn.14003cde0
test rax, rax
je 0x1400654bb
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.14006e650
mov r12, qword [rsp + 0x230]
test r12, r12
je 0x140063497
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 0x140063430
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 0x1400633f0
cmp eax, 1
jne 0x140063462
jmp 0x140063435
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
sub rax, 1
jb 0x140063a38
mov qword [rsp + 0x58], rax
mov r12, qword [r12 + rbx*8 + 0x3d8]
jmp 0x1400633c1
xor eax, eax
mov qword [rsp + 0xb8], rax
jmp 0x1400634d7
cmp eax, 2
mov r14, qword [rsp + 0x70]
jne 0x1400654b4
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 0x1400634a1
xor eax, eax
mov qword [rsp + 0xb8], rax
mov edx, 4
mov r8d, 1
mov rcx, rsi
call fcn.14003cdf0
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x1400634d7
mov rcx, qword [rsp + 0x168]
add rdx, rdx
mov r8d, 2
call fcn.14003cdf0
mov r12, qword [rbx + 8]
mov r15, qword [rbx + 0x10]
mov qword [rsp + 0x248], r12
mov qword [rsp + 0x250], r15
lea r13, [0x1400a5140]
test r15, r15
je 0x140063b3a
cmp r15, 4
jae 0x14006351d
lea rax, [0x14006fd20]
movzx ecx, byte [r15 + r12 - 1]
call rax
test al, al
je 0x140063549
jmp 0x140063b3a
mov eax, dword [str._invalid_argument]
cmp eax, dword [r12]
lea rcx, [0x14006fd30]
lea rax, [0x14006fd20]
cmove rax, rcx
movzx ecx, byte [r15 + r12 - 1]
call rax
test al, al
jne 0x140063b3a
movabs rsi, 0x8000000000000000
cmp r15, 3
jbe 0x14006364d
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 0x14006366d
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 0x1400635c8
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 0x1400635c8
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 0x1400637df
movzx edx, byte [r12 + rcx]
cmp edx, 0x2f
je 0x1400635eb
inc rcx
cmp edx, 0x5c
jne 0x1400635d0
test al, al
jne 0x14006368b
lea rcx, [rsp + 0xc0]
mov rdx, r12
mov r8, r15
call fcn.14005ec50
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xc8]
cmp rcx, rsi
jne 0x140063c16
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x128], rsi
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
je 0x140063b3a
jmp 0x140064085
xor eax, eax
nop
cmp r15, rax
je 0x1400637df
movzx ecx, byte [r12 + rax]
cmp ecx, 0x2f
je 0x14006368b
inc rax
cmp ecx, 0x5c
jne 0x140063650
jmp 0x14006368b
xor eax, eax
nop
cmp r15, rax
je 0x1400637df
movzx ecx, byte [r12 + rax]
cmp ecx, 0x2f
je 0x14006368b
inc rax
cmp ecx, 0x5c
jne 0x140063670
test r15, r15
js 0x1400654ca
mov rbp, rbx
mov rbx, r14
movzx eax, byte [0x1400bdb30]
mov r14d, 1
mov edx, 1
mov rcx, r15
call fcn.14003cde0
test rax, rax
je 0x1400654cd
mov r13, rax
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.140096e90
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.14006b0b0
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.14005ec50
mov rax, qword [rsp + 0x1c0]
mov r14, qword [rsp + 0x1c8]
cmp rax, rsi
jne 0x1400638c9
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x90], rsi
jmp 0x140063913
lea rax, [r12 + r15]
xor r9d, r9d
lea r13, str.nul_byte_found_in_provided_data
mov rcx, r12
jmp 0x14006380c
xor r9d, r9d
test dx, dx
je 0x140063b3a
mov dx, 1
test r9w, r9w
jne 0x140063800
cmp rcx, rax
je 0x1400639ff
movzx r8d, byte [rcx]
test r8b, r8b
js 0x14006382d
inc rcx
jmp 0x140063891
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x140063883
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x14006389c
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 0x140063891
jmp 0x1400638b3
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
xor r9d, r9d
mov edx, r8d
jmp 0x140063803
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xffff
jbe 0x140063891
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x140063803
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.140074e20
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
cmp r15, rsi
jne 0x14006397f
mov eax, r14d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x140063a6d
test rax, rax
je 0x140063a6d
mov r15, qword [r14 - 1]
mov rsi, qword [r14 + 7]
mov rax, qword [rsi]
test rax, rax
je 0x140063945
mov rcx, r15
call rax
dec r14
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x14006395d
mov r8, qword [rsi + 0x10]
mov rcx, r15
call fcn.14003cdf0
mov edx, 0x18
mov r8d, 8
mov rcx, r14
call fcn.14003cdf0
movabs rsi, 0x8000000000000000
jmp 0x140063a6d
mov rsi, qword [rsp + 0xa0]
mov rcx, r14
call qword [sym.imp.kernel32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140063a4a
mov qword [rsp + 0x128], r15
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], rsi
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x1400639d1
mov rcx, qword [rsp + 0xc8]
mov r8d, 1
call fcn.14003cdf0
mov r14, rbx
mov rbx, rbp
movabs rsi, 0x8000000000000000
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
je 0x140063b3a
jmp 0x140064085
cmp r15, 0xf
mov qword [rsp + 0x70], r14
ja 0x140063bff
xor eax, eax
xor ecx, ecx
mov rdx, qword [rsp + 0xb8]
nop word [rax + rax]
cmp byte [r12 + rcx], 0x2e
je 0x140063c69
inc rcx
cmp r15, rcx
jne 0x140063a20
jmp 0x140063c6e
mov rdi, qword [rsp + 0x80]
mov r14, qword [rsp + 0x70]
jmp 0x140063488
test r15, r15
movabs rsi, 0x8000000000000000
je 0x140063a6d
add r15, r15
mov r8d, 2
mov rcx, r14
mov rdx, r15
call fcn.14003cdf0
lea rcx, [rsp + 0xc0]
mov edx, 1
xor r8d, r8d
call fcn.14006da90
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
lea rcx, [rsp + 0x140]
call fcn.14005ec50
mov rcx, qword [rsp + 0x140]
mov rax, qword [rsp + 0x148]
cmp rcx, rsi
jne 0x140063ac6
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x128], rsi
jmp 0x140063afb
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.140074e20
mov r14, rbx
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
mov rbx, rbp
je 0x140063b21
mov rcx, qword [rsp + 0xc8]
mov r8d, 1
call fcn.14003cdf0
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
jne 0x140064085
mov rsi, qword [rsp + 0x60]
mov qword [rdi], r13
mov qword [rdi + 0x10], 2
test rsi, rsi
je 0x140063bd8
mov rcx, qword [rsp + 0x230]
test rcx, rcx
je 0x140063baf
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 0x140063bb3
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.140073550
cmp dword [r14], 4
jb 0x140063be8
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.14007ce90
mov rdx, qword [rsp + 0xb8]
jmp 0x140063c6e
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.140074e20
mov r15, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
cmp r15, rsi
je 0x140063b3a
jmp 0x140064085
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 0x140063ce4
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.140062540
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
jne 0x140063dd0
lea rcx, [rsp + 0xc0]
call fcn.14005fd20
mov rax, rsi
mov rsi, qword [rsp + 0xc0]
cmp rsi, rax
jne 0x140063d7f
mov r14, qword [rsp + 0xc8]
mov eax, r14d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
movabs rsi, 0x8000000000000000
jb 0x140063f07
test rax, rax
je 0x140063f07
mov r15, qword [r14 - 1]
mov rsi, qword [r14 + 7]
mov rax, qword [rsi]
test rax, rax
je 0x140063d45
mov rcx, r15
call rax
dec r14
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x140063d5d
mov r8, qword [rsi + 0x10]
mov rcx, r15
call fcn.14003cdf0
mov edx, 0x18
mov r8d, 8
mov rcx, r14
call fcn.14003cdf0
movabs rsi, 0x8000000000000000
jmp 0x140063f07
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.14006dd50
test rax, rax
je 0x140063ea4
test rdx, rdx
je 0x140063e9d
cmp r15, rdx
jbe 0x140063e97
cmp byte [r14 + rdx], 0xbf
jg 0x140063e9d
ud2
lea r14, [rsp + 0x140]
lea r12, [rsp + 0x1c0]
lea rbp, [rsp + 0x57]
lea r13, [rsp + 0xc0]
jmp 0x140063e56
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.1400654e0
mov r15, qword [rsp + 0x140]
cmp r15, rsi
jne 0x140063e7d
mov rcx, r14
mov rdx, r12
call fcn.140062540
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
je 0x140063ce4
mov rcx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x150]
test rax, rax
jne 0x140063def
test rdx, rdx
je 0x140063e3a
mov r8d, 1
call fcn.14003cdf0
jmp 0x140063e3a
movups xmm0, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0x1f0], xmm0
mov r14, qword [rsp + 0x70]
jmp 0x14006406d
jne 0x140063dce
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.1400654e0
mov r15, qword [rsp + 0x1c0]
movabs rsi, 0x8000000000000000
cmp r15, rsi
jne 0x140064052
mov rdi, rbx
mov rbx, r12
lea r14, [rsp + 0x140]
lea rdx, [rsp + 0x218]
mov rcx, r14
call fcn.14005f630
mov r15, qword [rsp + 0x140]
add rsi, 2
cmp r15, rsi
jge 0x140064034
mov rdx, qword [rsp + 0x148]
mov rcx, r15
call fcn.1400628b0
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x218]
call fcn.14005f110
mov r15, qword [rsp + 0x140]
cmp r15, rsi
jge 0x140064034
mov rdx, qword [rsp + 0x148]
mov rcx, r15
call fcn.1400628b0
lea rdx, str.PATHprogram_path_has_no_file_name
lea rcx, [rsp + 0x90]
mov r8d, 4
call fcn.140062750
mov r14, qword [rsp + 0x90]
movabs rsi, 0x8000000000000000
cmp r14, rsi
je 0x140064023
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.140062540
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
jne 0x140064de8
test r14, r14
je 0x140064023
mov r8d, 1
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.14003cdf0
lea r13, str.Q_n_
mov r14, qword [rsp + 0x70]
jmp 0x140063b3a
movups xmm0, xmmword [r14 + 8]
movaps xmmword [rsp + 0x1f0], xmm0
mov r14, qword [rsp + 0x70]
movabs rsi, 0x8000000000000000
jmp 0x14006406d
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.0x140064af1.68
test r13, r13
je case.0x140064af1.68
cmp word [r13 + r12*2 - 0xa], 0x2e
jne case.0x140064af1.68
cmp word [r13 + r12*2 - 2], 0
je 0x140064ad1
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.140070440
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.14006e210
mov rdi, qword [rsp + 0xd0]
cmp rdi, qword [rsp + 0xc0]
jne 0x140064179
lea rcx, [rsp + 0xc0]
call fcn.140070440
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 0x1400641eb
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.1400740a0
add rsi, 0xffffffffffffffd8
mov rbp, rbx
test rax, rax
jne 0x14006443d
test rsi, rsi
je 0x14006420c
mov rdi, qword [rsp + 0xd0]
cmp rdi, qword [rsp + 0xc0]
jne 0x1400641b0
mov rcx, r15
call fcn.140070440
jmp 0x1400641b0
mov rax, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x140064463
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 0x14006428c
lea rcx, [rsp + 0x128]
call fcn.140070440
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 0x1400644a7
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 0x14006433f
lea rcx, [rsp + 0x90]
call fcn.140070440
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.140072800
mov rdx, qword [rsp + 0x140]
movabs rsi, 0x8000000000000000
cmp rdx, rsi
mov rbx, qword [rsp + 0x88]
jne 0x1400645c2
lea rcx, [rsp + 0xc0]
call fcn.140073550
mov rsi, qword [rsp + 0xa0]
cmp rsi, qword [rsp + 0x90]
mov r13, qword [rsp + 0x58]
jne 0x140064404
lea rcx, [rsp + 0x90]
call fcn.140070440
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 0x1400644bb
jmp 0x140064d89
mov r13, rax
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x140064463
mov rcx, qword [rsp + 0xc8]
add rdx, rdx
mov r8d, 2
call fcn.14003cdf0
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 0x140063b4a
add r15, r15
mov r8d, 2
mov rcx, r13
mov rdx, r15
call fcn.14003cdf0
jmp 0x140063b4a
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 0x1400649a2
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 [0x1400bdbe0], cl
jne 0x1400650a0
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.140065760
cmp rax, 1
jne 0x140064c44
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 0x140065364
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 0x140064637
xor r11d, r11d
test r9w, r9w
je 0x140064a76
mov r9w, 1
test r11w, r11w
jne 0x14006462a
cmp r8, rax
je 0x140064703
movzx r11d, byte [r8]
test r11b, r11b
js 0x14006465f
inc r8
mov r10d, r11d
jmp 0x1400646f8
mov r10d, r11d
and r10d, 0x1f
movzx ebx, byte [r8 + 1]
and ebx, 0x3f
cmp r11b, 0xdf
jbe 0x1400646a7
movzx esi, byte [r8 + 2]
shl ebx, 6
and esi, 0x3f
or esi, ebx
cmp r11b, 0xf0
jb 0x1400646bc
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 0x1400646c7
add r8, 2
shl r10d, 6
or r10d, ebx
mov rbx, qword [rsp + 0x88]
jmp 0x1400646f8
add r8, 3
shl r10d, 0xc
or r10d, esi
mov rbx, qword [rsp + 0x88]
cmp r10d, 0xffff
movabs rsi, 0x8000000000000000
jbe 0x1400646f8
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x14006462d
xor r11d, r11d
mov r9d, r10d
jmp 0x14006462d
test rdx, rdx
je 0x14006471c
cmp rdx, rsi
je 0x140065486
mov r8d, 1
call fcn.14003cdf0
mov qword [rsp + 0xb0], rbp
mov rax, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xa0]
sub rax, rbp
cmp rax, qword [rsp + 0x200]
jb 0x14006496e
mov r12, qword [rsp + 0x200]
lea r8, [r12 + r12]
lea rcx, [rbp*2]
add rcx, qword [rsp + 0x98]
mov rdx, rdi
call fcn.140096e90
add rbp, r12
mov qword [rsp + 0xa0], rbp
test r13, r13
je 0x140064795
add r13, r13
mov r8d, 2
mov rcx, rdi
mov rdx, r13
call fcn.14003cdf0
mov rbp, qword [rsp + 0xa0]
cmp rbp, qword [rsp + 0x90]
jne 0x1400647ac
lea rcx, [rsp + 0x90]
call fcn.140070440
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 0x1400647f9
xor r8d, r8d
test cx, cx
je 0x140064d3a
mov cx, 1
test r8w, r8w
jne 0x1400647ed
cmp rax, rdi
je 0x1400648a3
movzx r8d, byte [rax]
test r8b, r8b
js 0x14006481d
inc rax
mov edx, r8d
jmp 0x140064899
mov edx, r8d
and edx, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r8b, 0xdf
jbe 0x140064867
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r8b, 0xf0
jb 0x140064873
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 0x14006487d
add rax, 2
shl edx, 6
or edx, r10d
jmp 0x140064899
add rax, 3
shl edx, 0xc
or edx, r9d
cmp edx, 0xffff
jbe 0x140064899
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x1400647f0
xor r8d, r8d
mov ecx, edx
jmp 0x1400647f0
mov rbp, qword [rsp + 0x78]
cmp rbp, rsi
je 0x1400654a4
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.14006e210
test rbp, rbp
je 0x1400648f9
mov r8d, 1
mov rcx, rsi
mov rdx, rbp
call fcn.14003cdf0
mov rsi, qword [rsp + 0xa0]
cmp rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xb0]
jne 0x140064920
lea rcx, [rsp + 0x90]
call fcn.140070440
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.140072800
mov rdx, qword [rsp + 0x140]
movabs rsi, 0x8000000000000000
cmp rdx, rsi
jne 0x1400645c2
jmp 0x1400643d3
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rsp + 0x90]
mov rdx, rbp
mov r8, qword [rsp + 0x200]
call fcn.140098c60
mov rbp, qword [rsp + 0xa0]
jmp 0x140064745
mov rcx, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x48]
add rdx, rcx
xor r10d, r10d
jmp 0x1400649bf
xor r10d, r10d
test r8w, r8w
je 0x140064c1c
mov r8w, 1
test r10w, r10w
jne 0x1400649b2
cmp rcx, rdx
je 0x140064ca8
movzx r9d, byte [rcx]
test r9b, r9b
js 0x1400649e4
inc rcx
jmp 0x140064a6b
mov r10d, r9d
and r10d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x140064a2e
movzx r11d, byte [rcx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r9b, 0xf0
jb 0x140064a3e
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 0x140064a4c
add rcx, 2
shl r10d, 6
or r10d, esi
mov r9d, r10d
jmp 0x140064a6b
add rcx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x140064a6b
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x1400649b5
xor r10d, r10d
mov r8d, r9d
jmp 0x1400649b5
lea rsi, str.nul_byte_found_in_provided_data
test rdx, rdx
je 0x140064a8d
mov r8d, 1
call fcn.14003cdf0
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1b8]
test rdx, rdx
je 0x140064aaa
mov r8d, 1
call fcn.14003cdf0
test r13, r13
je 0x140064c9e
add r13, r13
mov r8d, 2
mov rcx, rdi
mov rdx, r13
call fcn.14003cdf0
mov r13, qword [rsp + 0x58]
jmp 0x140064d59
movzx eax, word [r13 + r12*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x140064af1.68
lea rdx, [0x1400a51e8]
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 0x140064b0f
movzx ecx, word [r13 + r12*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x140064b3d
cmp ax, 0x43
jne case.0x140064af1.68
movzx eax, word [r13 + r12*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x140064af1.68
movzx eax, word [r13 + r12*2 - 4]
or eax, 0x20
cmp eax, 0x64
jne case.0x140064af1.68
lea rcx, [rsp + 0xc0]
call fcn.1400600a0
mov rax, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xc8]
cmp rax, rsi
je 0x140064c07
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], rbp
mov qword [rsp + 0x1d0], rcx
lea rax, [0x1400a5192]
mov qword [rsp + 0x160], rax
lea rax, [0x1400a519a]
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.14006e3b0
mov rax, qword [rsp + 0x1c0]
mov rbp, qword [rsp + 0x1c8]
cmp rax, rsi
jne 0x140064e9d
mov qword [rdi], rbp
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x60]
jmp 0x140064485
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 0x1400653fe
mov qword [rsp + 0x208], rdx
lea r8, [rsp + 0x1d0]
lea rcx, [rbx + 0x68]
cmp esi, 6
cmove rcx, r14
mov edx, 0xfffffff5
call fcn.140065760
mov rsi, rdx
test rax, rax
je 0x140064daa
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 0x140065356
mov r13, qword [rsp + 0x58]
jmp 0x140064d59
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.14006e650
mov rsi, qword [rsp + 0xd0]
cmp rsi, qword [rsp + 0xc0]
jne 0x140064d01
lea rcx, [rsp + 0xc0]
call fcn.140070440
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 0x1400644de
jmp 0x140064c23
lea rsi, str.nul_byte_found_in_provided_data
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x140064d59
mov r8d, 1
mov rcx, r11
call fcn.14003cdf0
lea rcx, [rsp + 0xc0]
call fcn.140073550
mov rdx, qword [rsp + 0x90]
test rdx, rdx
je 0x140064d89
mov rcx, qword [rsp + 0x98]
add rdx, rdx
mov r8d, 2
call fcn.14003cdf0
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 0x14006541e
lea r8, [rsp + 0x1e0]
mov rcx, rbp
mov edx, 0xfffffff4
call fcn.140065760
test rax, rax
je 0x140064f25
mov r15, rsi
mov rdi, qword [rsp + 0x80]
mov qword [rdi], rdx
mov qword [rdi + 0x10], 2
mov rsi, qword [rsp + 0x68]
jmp 0x140065341
lea r13, [rsp + 0x140]
lea rbp, [rsp + 0x1c0]
lea r12, [rsp + 0xc0]
jmp 0x140064e72
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.1400654e0
mov r15, qword [rsp + 0x140]
cmp r15, rsi
jne 0x1400650b1
mov rcx, r13
mov rdx, rbp
call fcn.140062540
mov rdx, qword [rsp + 0x140]
cmp rdx, rsi
je 0x14006400b
mov rcx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x150]
test rax, rax
jne 0x140064e02
test rdx, rdx
je 0x140064e56
mov r8d, 1
call fcn.14003cdf0
jmp 0x140064e56
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.140074520
mov rax, qword [rsp + 0x140]
mov r13, qword [rsp + 0x148]
cmp rax, rsi
jne 0x1400650e3
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 0x140064485
add rdx, rdx
mov r8d, 2
mov rcx, rbp
call fcn.14003cdf0
jmp 0x140064485
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 0x140064f74
test rsi, rsi
jne 0x140064f74
mov eax, 1
test rcx, rcx
je 0x140064f9c
mov dword [rsp + 0xfc], pe_nt_image_headers64
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], rdx
mov eax, 0x101
cmp word [rbx + 0xc0], 0
je 0x140064fbc
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 0x1400650f8
add rbx, 0xa8
mov dword [rsp + 0xc0], 0x70
lea rcx, [rsp + 0x218]
mov rdx, rbx
call fcn.140065990
mov rbx, qword [rsp + 0x218]
mov rax, qword [rsp + 0x220]
test rbx, rbx
je 0x140065318
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 0x14006510b
lea rcx, [0x1400bdbe0]
call fcn.14009bdb0
jmp 0x14006451f
movups xmm0, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0x1f0], xmm0
test r14, r14
je 0x1400650d9
mov r8d, 1
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.14003cdf0
mov r14, qword [rsp + 0x70]
jmp 0x14006406d
mov dword [rsp + 0x60], 0
mov rsi, qword [rsp + 0x150]
jmp 0x14006425a
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 0x1400652a2
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 0x1400651b4
mov rcx, rbx
mov rdx, qword [rsp + 0x88]
call fcn.140062950
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 0x1400652df
xor eax, eax
xchg byte [0x1400bdbe0], al
cmp al, 2
je 0x1400652fd
test r13, r13
je 0x140065218
add r13, r13
mov r8d, 2
mov rcx, qword [rsp + 0x1b8]
mov rdx, r13
call fcn.14003cdf0
test r12, r12
je 0x140065233
add r12, r12
mov r8d, 2
mov rcx, qword [rsp + 0x78]
mov rdx, r12
call fcn.14003cdf0
mov rdx, qword [rsp + 0x128]
test rdx, rdx
mov rsi, qword [rsp + 0x58]
je 0x14006525b
mov rcx, qword [rsp + 0x130]
add rdx, rdx
mov r8d, 2
call fcn.14003cdf0
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x140065279
add rdx, rdx
mov r8d, 2
mov rcx, rbx
call fcn.14003cdf0
test rbp, rbp
sete al
or al, byte [rsp + 0x60]
jne 0x140063bd8
add rbp, rbp
mov r8d, 2
mov rcx, rsi
mov rdx, rbp
call fcn.14003cdf0
jmp 0x140063bd8
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 0x140065333
mov rcx, rbx
mov rdx, qword [rsp + 0x88]
call fcn.140062950
jmp 0x140065333
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.kernel32.dll_CloseHandle]
xor eax, eax
xchg byte [0x1400bdbe0], al
cmp al, 2
jne 0x1400651fa
lea rcx, [0x1400bdbe0]
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
test r13, r13
jne 0x1400651ff
jmp 0x140065218
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 0x14006537c
mov rcx, qword [rsp + 0x1f8]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rsp + 0x1c0], 0
je 0x140065395
mov rcx, qword [rsp + 0x1c8]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rsp + 0x1d0], 0
je 0x1400653ae
mov rcx, qword [rsp + 0x1d8]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rsp + 0x1e0], 0
je 0x1400653c7
mov rcx, qword [rsp + 0x1e8]
call qword [sym.imp.kernel32.dll_CloseHandle]
xor eax, eax
xchg byte [0x1400bdbe0], al
cmp al, 2
jne 0x1400653e0
lea rcx, [0x1400bdbe0]
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle]
test r13, r13
je 0x1400653fe
add r13, r13
mov r8d, 2
mov rcx, qword [rsp + 0x1b8]
mov rdx, r13
call fcn.14003cdf0
test r12, r12
mov r13, qword [rsp + 0x58]
je 0x14006541e
add r12, r12
mov r8d, 2
mov rcx, qword [rsp + 0x78]
mov rdx, r12
call fcn.14003cdf0
mov rdx, qword [rsp + 0x128]
test rdx, rdx
je 0x140065441
mov rcx, qword [rsp + 0x130]
add rdx, rdx
mov r8d, 2
call fcn.14003cdf0
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x14006545f
add rdx, rdx
mov r8d, 2
mov rcx, rbp
call fcn.14003cdf0
test rsi, rsi
sete al
or al, bl
jne 0x140063bd8
add rsi, rsi
mov r8d, 2
mov rcx, r13
mov rdx, rsi
call fcn.14003cdf0
jmp 0x140063bd8
mov rsi, rcx
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1b8]
test rdx, rdx
jne 0x140064a9f
jmp 0x140064aaa
mov rsi, r11
mov rbp, qword [rsp + 0xb0]
jmp 0x140064d59
call sub.kernel32.dll_GetLastError
ud2
mov ecx, 1
mov edx, 4
call fcn.140047520
xor r14d, r14d
mov rcx, r14
mov rdx, r15
call fcn.140047520
int3