Function at 0x1401f4a90
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
movaps xmmword [rsp + 0x90], xmm6
mov rsi, rcx
mov rax, qword [0x1402db040]
xor rax, rsp
mov qword [rsp + 0x88], rax
lea rdi, [rsp + 0x60]
mov rcx, rdi
call fcn.14009a600
cmp byte [rdi + 0x17], 0
jns 0x1401f4ad4
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, eax
cmp eax, 0xffffffff
setne al
and edi, 0x10
shr edi, 4
and dil, al
cmp byte [rsp + 0x77], 0
jns 0x1401f4aff
mov rcx, qword [rsp + 0x60]
call fcn.1401a9dc4
test dil, dil
jne 0x1401f4b3b
lea rdi, [rsp + 0x60]
mov rcx, rdi
call fcn.14009a600
cmp byte [rdi + 0x17], 0
jns 0x1401f4b1c
mov rdi, qword [rsp + 0x60]
xor ecx, ecx
mov rdx, rdi
xor r8d, r8d
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
cmp byte [rsp + 0x77], 0
jns 0x1401f4b3b
mov rcx, qword [rsp + 0x60]
call fcn.1401a9dc4
movaps xmm0, xmmword [0x140299a90]
lea rdi, [rsp + 0x70]
movaps xmmword [rdi], xmm0
movaps xmmword [rdi - 0x10], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi + 0x10], rax
mov qword [rdi], 0
mov dword [rdi - 8], 0xaaaaaa00
mov rcx, rdi
xor edx, edx
call fcn.1401f1ee0
xorps xmm0, xmm0
movups xmmword [rdi + 8], xmm0
movsx rax, byte [rsi + 0x2f]
test rax, rax
jns 0x1401f4b89
mov rax, qword [rsi + 0x20]
lea rdi, [rsi + 0x18]
test rax, rax
jne 0x1401f4bd1
movsx rax, byte [rsi + 0x17]
test rax, rax
jns 0x1401f4ba0
mov rax, qword [rsi + 8]
test rax, rax
je 0x1401f4bd1
lea rcx, [rsp + 0x38]
mov rdx, rsi
call fcn.14009b1e0
cmp byte [rsi + 0x2f], 0
jns 0x1401f4bc0
mov rcx, qword [rdi]
call fcn.1401a9dc4
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi], xmm0
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401f0070
movsx r8, byte [0x1402ebf77]
test r8, r8
js 0x1401f4bf7
lea rdx, [0x1402ebf60]
jmp 0x1401f4c05
mov rdx, qword [0x1402ebf60]
mov r8, qword [0x1402ebf68]
add r8, rdx
lea rdi, [rsp + 0x60]
mov rcx, rdi
call fcn.1401f1540
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
mov edx, dword [rsi + 0x30]
lea r14, [rsp + 0x20]
mov rcx, r14
call fcn.1401a6e10
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, r14
call fcn.1401f0070
movsx r8, byte [0x1402ebfbf]
test r8, r8
js 0x1401f4c5e
lea rdx, [0x1402ebfa8]
jmp 0x1401f4c6c
mov rdx, qword [0x1402ebfa8]
mov r8, qword [0x1402ebfb0]
add r8, rdx
mov rcx, rdi
call fcn.1401f1540
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
cmp byte [rsp + 0x37], 0
jns 0x1401f4c9b
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
mov edx, dword [rsi + 0x34]
lea rbx, [rsp + 0x20]
mov rcx, rbx
call fcn.1401a6e10
lea rdi, [rsp + 0x38]
mov rcx, rdi
mov rdx, rbx
call fcn.1401f0070
movsx r8, byte [0x1402ec25f]
test r8, r8
js 0x1401f4cd1
lea rdx, [0x1402ec248]
jmp 0x1401f4cdf
mov rdx, qword [0x1402ec248]
mov r8, qword [0x1402ec250]
add r8, rdx
lea rcx, [rsp + 0x60]
call fcn.1401f1540
mov rcx, rdi
mov rdx, rax
call fcn.1401f03a0
mov rcx, rdi
call fcn.1401efc20
cmp byte [rsp + 0x37], 0
jns 0x1401f4d10
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
mov edx, dword [rsi + 0x38]
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.1401a6e10
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401f0070
movsx r8, byte [0x1402ec277]
test r8, r8
js 0x1401f4d46
lea rdx, [0x1402ec260]
jmp 0x1401f4d54
mov rdx, qword [0x1402ec260]
mov r8, qword [0x1402ec268]
add r8, rdx
lea rcx, [rsp + 0x60]
call fcn.1401f1540
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
cmp byte [rsp + 0x37], 0
jns 0x1401f4d85
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
movsxd r14, dword [rsi + 0x3c]
lea rbx, [rsp + 0x48]
mov qword [rbx], 0
mov eax, 0xfffffe00
and eax, dword [rbx - 8]
inc eax
mov dword [rbx - 8], eax
mov rcx, rbx
xor edx, edx
call fcn.1401f1ee0
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
mov qword [rbx - 0x10], r14
movsx r8, byte [0x1402ec28f]
test r8, r8
js 0x1401f4dcd
lea rdx, [0x1402ec278]
jmp 0x1401f4ddb
mov rdx, qword [0x1402ec278]
mov r8, qword [0x1402ec280]
add r8, rdx
lea rcx, [rsp + 0x60]
call fcn.1401f1540
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
movsx rax, byte [rsi + 0x6f]
test rax, rax
jns 0x1401f4e0e
mov rax, qword [rsi + 0x60]
lea rbx, [rsi + 0x58]
test rax, rax
jne 0x1401f4e78
movsx rax, byte [rsi + 0x57]
test rax, rax
jns 0x1401f4e25
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x1401f4e78
lea rdx, [rsi + 0x40]
lea r14, [rsp + 0x20]
mov rcx, r14
call fcn.14009b7c0
lea rcx, [rsp + 0x38]
mov rdx, r14
call fcn.14009b4d0
cmp byte [rsi + 0x6f], 0
jns 0x1401f4e56
mov rcx, qword [rbx]
call fcn.1401a9dc4
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbx], xmm0
cmp byte [rsp + 0x37], 0
jns 0x1401f4e78
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401f0070
movsx r8, byte [0x1402ec2bf]
test r8, r8
js 0x1401f4e9e
lea rdx, [0x1402ec2a8]
jmp 0x1401f4eac
mov rdx, qword [0x1402ec2a8]
mov r8, qword [0x1402ec2b0]
add r8, rdx
lea rcx, [rsp + 0x60]
call fcn.1401f1540
mov rcx, r14
mov rdx, rax
call fcn.1401f03a0
mov rcx, r14
call fcn.1401efc20
movsx rax, byte [rsi + 0x9f]
test rax, rax
jns 0x1401f4ee0
mov rax, qword [rsi + 0x90]
lea rbx, [rsi + 0x88]
test rax, rax
jne 0x1401f4f53
movsx rax, byte [rsi + 0x87]
test rax, rax
jns 0x1401f4efd
mov rax, qword [rsi + 0x78]
test rax, rax
je 0x1401f4f53
lea rdx, [rsi + 0x70]
lea r14, [rsp + 0x20]
mov rcx, r14
call fcn.14009b7c0
lea rcx, [rsp + 0x38]
mov rdx, r14
call fcn.14009b4d0
cmp byte [rsi + 0x9f], 0
jns 0x1401f4f31
mov rcx, qword [rbx]
call fcn.1401a9dc4
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbx], xmm0
cmp byte [rsp + 0x37], 0
jns 0x1401f4f53
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401f0070
movsx r8, byte [0x1402ec2d7]
test r8, r8
jns 0x1401f4f80
mov rdx, qword [0x1402ec2c0]
mov r8, qword [0x1402ec2c8]
jmp 0x1401f4f87
lea rdx, [0x1402ec2c0]
add r8, rdx
lea rcx, [rsp + 0x60]
call fcn.1401f1540
mov rcx, r14
mov rdx, rax
call fcn.1401f03a0
mov rcx, r14
call fcn.1401efc20
movsx rax, byte [rsi + 0xcf]
test rax, rax
jns 0x1401f4fbb
mov rax, qword [rsi + 0xc0]
lea rbx, [rsi + 0xb8]
test rax, rax
jne 0x1401f5013
movsx rax, byte [rsi + 0xb7]
test rax, rax
jns 0x1401f4fdb
mov rax, qword [rsi + 0xa8]
test rax, rax
je 0x1401f5013
lea rdx, [rsi + 0xa0]
lea rcx, [rsp + 0x38]
call fcn.14009b4d0
cmp byte [rsi + 0xcf], 0
jns 0x1401f5002
mov rcx, qword [rbx]
call fcn.1401a9dc4
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbx], xmm0
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401f0070
movsx r8, byte [0x1402ec037]
test r8, r8
js 0x1401f5039
lea rdx, [0x1402ec020]
jmp 0x1401f5047
mov rdx, qword [0x1402ec020]
mov r8, qword [0x1402ec028]
add r8, rdx
lea rbx, [rsp + 0x60]
mov rcx, rbx
call fcn.1401f1540
mov rcx, r14
mov rdx, rax
call fcn.1401f03a0
mov rcx, r14
call fcn.1401efc20
lea rdx, [rsi + 0xd0]
lea r14, [rsp + 0x38]
mov rcx, r14
call fcn.1401f0070
movsx r8, byte [0x1402ebfd7]
test r8, r8
js 0x1401f5094
lea rdx, [0x1402ebfc0]
jmp 0x1401f50a2
mov rdx, qword [0x1402ebfc0]
mov r8, qword [0x1402ebfc8]
add r8, rdx
mov rcx, rbx
call fcn.1401f1540
mov rcx, r14
mov rdx, rax
call fcn.1401f03a0
mov rcx, r14
call fcn.1401efc20
lea rdx, [rsi + 0xe8]
lea r14, [rsp + 0x38]
mov rcx, r14
call fcn.1401f0070
movsx r8, byte [0x1402ebfef]
test r8, r8
js 0x1401f50ea
lea rdx, [0x1402ebfd8]
jmp 0x1401f50f8
mov rdx, qword [0x1402ebfd8]
mov r8, qword [0x1402ebfe0]
add r8, rdx
mov rcx, rbx
call fcn.1401f1540
mov rcx, r14
mov rdx, rax
call fcn.1401f03a0
mov rcx, r14
call fcn.1401efc20
lea rdx, [rsi + 0x100]
lea r14, [rsp + 0x38]
mov rcx, r14
call fcn.1401f0070
movsx r8, byte [0x1402ec007]
test r8, r8
js 0x1401f5140
lea rdx, [0x1402ebff0]
jmp 0x1401f514e
mov rdx, qword [0x1402ebff0]
mov r8, qword [0x1402ebff8]
add r8, rdx
mov rcx, rbx
call fcn.1401f1540
mov rcx, r14
mov rdx, rax
call fcn.1401f03a0
mov rcx, r14
call fcn.1401efc20
lea rdx, [rsi + 0x118]
lea r14, [rsp + 0x38]
mov rcx, r14
call fcn.1401f0070
movsx r8, byte [0x1402ec01f]
test r8, r8
js 0x1401f5196
lea rdx, [0x1402ec008]
jmp 0x1401f51a4
mov rdx, qword [0x1402ec008]
mov r8, qword [0x1402ec010]
add r8, rdx
mov rcx, rbx
call fcn.1401f1540
mov rcx, r14
mov rdx, rax
call fcn.1401f03a0
mov rcx, r14
call fcn.1401efc20
movsx rax, byte [rsi + 0x15f]
test rax, rax
jns 0x1401f51d6
mov rax, qword [rsi + 0x150]
lea rbx, [rsi + 0x148]
test rax, rax
jne 0x1401f524f
movsx rax, byte [rsi + 0x147]
test rax, rax
jns 0x1401f51f6
mov rax, qword [rsi + 0x138]
test rax, rax
je 0x1401f524f
lea rdx, [rsi + 0x130]
lea r14, [rsp + 0x20]
mov rcx, r14
call fcn.14009b7c0
lea rcx, [rsp + 0x38]
mov rdx, r14
call fcn.14009b4d0
cmp byte [rsi + 0x15f], 0
jns 0x1401f522d
mov rcx, qword [rbx]
call fcn.1401a9dc4
mov rax, qword [rsp + 0x48]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbx], xmm0
cmp byte [rsp + 0x37], 0
jns 0x1401f524f
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401f0070
lea rdx, [0x1402ec098]
mov rcx, rdi
mov r8, rdx
call fcn.140062e20
movsx r8, byte [rsp + 0x37]
test r8, r8
jns 0x1401f5286
mov rdi, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
add r8, rdi
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.1401f1540
mov rcx, r14
mov rdx, rax
call fcn.1401f03a0
cmp byte [rsp + 0x37], 0
jns 0x1401f52b2
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
lea rcx, [rsp + 0x38]
call fcn.1401efc20
movsx rax, byte [rsi + 0x18f]
test rax, rax
jns 0x1401f52d0
mov rax, qword [rsi + 0x180]
lea rdi, [rsi + 0x178]
test rax, rax
jne 0x1401f5328
movsx rax, byte [rsi + 0x177]
test rax, rax
jns 0x1401f52f0
mov rax, qword [rsi + 0x168]
test rax, rax
je 0x1401f5328
lea rdx, [rsi + 0x160]
lea rcx, [rsp + 0x38]
call fcn.14009b1e0
cmp byte [rsi + 0x18f], 0
jns 0x1401f5317
mov rcx, qword [rdi]
call fcn.1401a9dc4
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi], xmm0
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401f0070
movsx r8, byte [0x1402ebf8f]
test r8, r8
jns 0x1401f5355
mov rdx, qword [0x1402ebf78]
mov r8, qword [0x1402ebf80]
jmp 0x1401f535c
lea rdx, [0x1402ebf78]
add r8, rdx
lea rdi, [rsp + 0x60]
mov rcx, rdi
call fcn.1401f1540
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
lea rdx, [rsi + 0x190]
lea rbx, [rsp + 0x38]
mov rcx, rbx
call fcn.1401f0070
movsx r8, byte [0x1402ebfa7]
test r8, r8
js 0x1401f53a9
lea rdx, [0x1402ebf90]
jmp 0x1401f53b7
mov rdx, qword [0x1402ebf90]
mov r8, qword [0x1402ebf98]
add r8, rdx
mov rcx, rdi
call fcn.1401f1540
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
lea rdx, [rsi + 0x1a8]
lea rbx, [rsp + 0x38]
mov rcx, rbx
call fcn.1401f0070
movsx r8, byte [0x1402ec07f]
test r8, r8
js 0x1401f53ff
lea rdx, [0x1402ec068]
jmp 0x1401f540d
mov rdx, qword [0x1402ec068]
mov r8, qword [0x1402ec070]
add r8, rdx
mov rcx, rdi
call fcn.1401f1540
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
lea rdx, [rsi + 0x1c0]
lea rbx, [rsp + 0x38]
mov rcx, rbx
call fcn.1401f0070
movsx r8, byte [0x1402ec097]
test r8, r8
js 0x1401f5455
lea rdx, [0x1402ec080]
jmp 0x1401f5463
mov rdx, qword [0x1402ec080]
mov r8, qword [0x1402ec088]
add r8, rdx
mov rcx, rdi
call fcn.1401f1540
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
movsxd r15, dword [rsi + 0x1d8]
lea rbx, [rsp + 0x48]
xor r14d, r14d
mov qword [rbx], r14
mov ebp, 0xfffffe00
mov eax, dword [rbx - 8]
and eax, ebp
inc eax
mov dword [rbx - 8], eax
mov rcx, rbx
xor edx, edx
call fcn.1401f1ee0
xorps xmm6, xmm6
movups xmmword [rbx + 8], xmm6
mov qword [rbx - 0x10], r15
movsx r8, byte [0x1402ec9df]
test r8, r8
js 0x1401f54cd
lea rdx, [0x1402ec9c8]
jmp 0x1401f54db
mov rdx, qword [0x1402ec9c8]
mov r8, qword [0x1402ec9d0]
add r8, rdx
mov rcx, rdi
call fcn.1401f1540
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
movsxd r15, dword [rsi + 0x1dc]
lea rbx, [rsp + 0x48]
mov qword [rbx], r14
mov eax, dword [rbx - 8]
and eax, ebp
inc eax
mov dword [rbx - 8], eax
mov rcx, rbx
xor edx, edx
call fcn.1401f1ee0
movups xmmword [rbx + 8], xmm6
mov qword [rbx - 0x10], r15
movsx r8, byte [0x1402ec9f7]
test r8, r8
js 0x1401f553f
lea rdx, [0x1402ec9e0]
jmp 0x1401f554d
mov rdx, qword [0x1402ec9e0]
mov r8, qword [0x1402ec9e8]
add r8, rdx
mov rcx, rdi
call fcn.1401f1540
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
movsxd r15, dword [rsi + 0x1e0]
lea rbx, [rsp + 0x48]
mov qword [rbx], r14
and ebp, dword [rbx - 8]
inc ebp
mov dword [rbx - 8], ebp
mov rcx, rbx
xor edx, edx
call fcn.1401f1ee0
movups xmmword [rbx + 8], xmm6
mov qword [rbx - 0x10], r15
movsx r8, byte [0x1402eca0f]
test r8, r8
js 0x1401f55af
lea rdx, [0x1402ec9f8]
jmp 0x1401f55bd
mov rdx, qword [0x1402ec9f8]
mov r8, qword [0x1402eca00]
add r8, rdx
mov rcx, rdi
call fcn.1401f1540
lea rdi, [rsp + 0x38]
mov rcx, rdi
mov rdx, rax
call fcn.1401f03a0
mov rcx, rdi
call fcn.1401efc20
movsx rax, byte [rsi + 0x217]
test rax, rax
jns 0x1401f55f4
mov rax, qword [rsi + 0x208]
lea rdi, [rsi + 0x200]
test rax, rax
jne 0x1401f564c
movsx rax, byte [rsi + 0x1ff]
test rax, rax
jns 0x1401f5614
mov rax, qword [rsi + 0x1f0]
test rax, rax
je 0x1401f564c
lea rdx, [rsi + 0x1e8]
lea rcx, [rsp + 0x38]
call fcn.14009b4d0
cmp byte [rsi + 0x217], 0
jns 0x1401f563b
mov rcx, qword [rdi]
call fcn.1401a9dc4
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi], xmm0
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401f0070
movsx r8, byte [0x1402ec04f]
test r8, r8
js 0x1401f5672
lea rdx, [0x1402ec038]
jmp 0x1401f5680
mov rdx, qword [0x1402ec038]
mov r8, qword [0x1402ec040]
add r8, rdx
lea rcx, [rsp + 0x60]
call fcn.1401f1540
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
movsx rax, byte [rsi + 0x247]
test rax, rax
jns 0x1401f56b4
mov rax, qword [rsi + 0x238]
lea rdi, [rsi + 0x230]
test rax, rax
jne 0x1401f570c
movsx rax, byte [rsi + 0x22f]
test rax, rax
jns 0x1401f56d4
mov rax, qword [rsi + 0x220]
test rax, rax
je 0x1401f570c
lea rdx, [rsi + 0x218]
lea rcx, [rsp + 0x38]
call fcn.14009b4d0
cmp byte [rsi + 0x247], 0
jns 0x1401f56fb
mov rcx, qword [rdi]
call fcn.1401a9dc4
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi], xmm0
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401f0070
movsx r8, byte [0x1402ec067]
test r8, r8
js 0x1401f5732
lea rdx, [0x1402ec050]
jmp 0x1401f5740
mov rdx, qword [0x1402ec050]
mov r8, qword [0x1402ec058]
add r8, rdx
lea rcx, [rsp + 0x60]
call fcn.1401f1540
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
movsx rax, byte [rsi + 0x277]
test rax, rax
jns 0x1401f5774
mov rax, qword [rsi + 0x268]
lea rdi, [rsi + 0x260]
test rax, rax
jne 0x1401f57ed
movsx rax, byte [rsi + 0x25f]
test rax, rax
jns 0x1401f5794
mov rax, qword [rsi + 0x250]
test rax, rax
je 0x1401f57ed
lea rdx, [rsi + 0x248]
lea rbx, [rsp + 0x20]
mov rcx, rbx
call fcn.14009b7c0
lea rcx, [rsp + 0x38]
mov rdx, rbx
call fcn.14009b4d0
cmp byte [rsi + 0x277], 0
jns 0x1401f57cb
mov rcx, qword [rdi]
call fcn.1401a9dc4
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi], xmm0
cmp byte [rsp + 0x37], 0
jns 0x1401f57ed
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401f0070
movsx r8, byte [0x1402ec2ef]
test r8, r8
js 0x1401f5813
lea rdx, [0x1402ec2d8]
jmp 0x1401f5821
mov rdx, qword [0x1402ec2d8]
mov r8, qword [0x1402ec2e0]
add r8, rdx
lea rcx, [rsp + 0x60]
call fcn.1401f1540
mov rcx, rbx
mov rdx, rax
call fcn.1401f03a0
mov rcx, rbx
call fcn.1401efc20
movsx rax, byte [rsi + 0x2a7]
test rax, rax
jns 0x1401f5855
mov rax, qword [rsi + 0x298]
lea rdi, [rsi + 0x290]
test rax, rax
jne 0x1401f58ce
movsx rax, byte [rsi + 0x28f]
test rax, rax
jns 0x1401f5875
mov rax, qword [rsi + 0x280]
test rax, rax
je 0x1401f58ce
lea rdx, [rsi + 0x278]
lea rbx, [rsp + 0x20]
mov rcx, rbx
call fcn.14009b7c0
lea rcx, [rsp + 0x38]
mov rdx, rbx
call fcn.14009b4d0
cmp byte [rsi + 0x2a7], 0
jns 0x1401f58ac
mov rcx, qword [rdi]
call fcn.1401a9dc4
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi], xmm0
cmp byte [rsp + 0x37], 0
jns 0x1401f58ce
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
lea rsi, [rsp + 0x38]
mov rcx, rsi
mov rdx, rdi
call fcn.1401f0070
lea rdx, [0x1402ec188]
lea r8, [0x1402ec140]
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.140062e20
movsx r8, byte [rdi + 0x17]
test r8, r8
jns 0x1401f590d
mov rdi, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
add r8, rdi
lea rcx, [rsp + 0x60]
mov rdx, rdi
call fcn.1401f1540
mov rcx, rsi
mov rdx, rax
call fcn.1401f03a0
cmp byte [rsp + 0x37], 0
jns 0x1401f5939
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
lea rcx, [rsp + 0x38]
call fcn.1401efc20
lea rsi, [rsp + 0x38]
lea rdx, [rsp + 0x60]
mov rcx, rsi
call fcn.1401fbb70
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.140099370
mov rcx, rdi
mov rdx, rsi
call fcn.1401fb930
cmp byte [rdi + 0x17], 0
jns 0x1401f597d
mov rcx, qword [rsp + 0x20]
call fcn.1401a9dc4
cmp byte [rsp + 0x4f], 0
jns 0x1401f598e
mov rcx, qword [rsp + 0x38]
call fcn.1401a9dc4
lea rcx, [rsp + 0x60]
call fcn.1401efc20
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
cmp rcx, qword [0x1402db040]
je 0x1401f59b2
call fcn.1401ac870
int3
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret