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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x238
mov qword [rsp + 0x158], 0xfffffffffffffffe
movaps xmmword [rsp + 0x220], xmm6
mov rax, qword [0x12a52ee0]
xor rax, rsp
mov qword [rsp + 0x218], rax
mov rdi, r9
mov qword [rsp + 0xd8], r9
mov rbx, r8
mov qword [rsp + 0x150], rbx
mov rbp, rdx
mov qword [rsp + 0xb0], rdx
mov r13, rcx
mov qword [rsp + 0x88], rcx
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0xd0], rax
mov rcx, qword [rcx + 0x3b8]
mov rax, qword [rcx]
call qword [rax + 0x20]
cmp qword [rbx + 0x18], 0
je 0x1287ad14
cmp qword [rdi + 0x18], 0
je 0x1287ad14
mov r8d, 1
lea rdx, [rbp + 0xb0]
mov rcx, rbx
call fcn.1285f350
cmp qword [rbp + 0xc8], 0
je 0x1287ad14
lea rbx, [rbp + 0xd8]
mov qword [rsp + 0x60], rbx
mov r8d, 1
mov rdx, rbx
mov rcx, rdi
call fcn.1285f350
cmp qword [rbx + 0x18], 0
je 0x1287ad14
xor r12d, r12d
mov dword [rsp + 0x54], r12d
lea ecx, [r12 + 8]
call fcn.12958d80
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x12879cb8
lea rcx, [rsp + 0xe0]
mov qword [rax], rcx
jmp 0x12879cbb
mov rax, r12
mov qword [rsp + 0xe0], rax
lea rcx, [rsp + 0xe0]
call fcn.12807e20
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], r12
lea rbx, [rbp + 0x100]
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x1c0], 7
mov qword [rsp + 0x1b8], r12
mov word [rsp + 0x1a8], r12w
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x129c6388]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [0x129c6388]
lea rcx, [rsp + 0x1a0]
call fcn.12803dc0
nop
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0xffffffffffffffff
lea r9, [rsp + 0x50]
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0x1a0]
lea rcx, [rbp + 0xb0]
call fcn.128098a0
nop
cmp qword [rsp + 0x1c0], 8
jb 0x12879d85
mov rcx, qword [rsp + 0x1a8]
call fcn.12958250
mov qword [rsp + 0x1c0], 7
mov qword [rsp + 0x1b8], r12
mov word [rsp + 0x1a8], r12w
lea rcx, [rsp + 0xe0]
call fcn.128309b0
cmp qword [rax + 0x20], 8
jb 0x12879dbc
mov rcx, qword [rax + 8]
jmp 0x12879dc0
lea rcx, [rax + 8]
lea rdx, [0x129c5b68]
call fcn.1295be5c
test rax, rax
setne r15b
mov byte [rsp + 0x50], r15b
mov ecx, 8
call fcn.12958d80
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x12879e01
lea rcx, [rsp + 0x118]
mov qword [rax], rcx
jmp 0x12879e04
mov rax, r12
mov qword [rsp + 0x118], rax
lea rcx, [rsp + 0x118]
call fcn.12807e20
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], r12
mov r8, rbx
lea rdx, [rbp + 0xb0]
mov rcx, rbp
call fcn.1285ef80
mov qword [rsp + 0x1c0], 7
mov qword [rsp + 0x1b8], r12
mov word [rsp + 0x1a8], r12w
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x129c6388]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [0x129c6388]
lea rcx, [rsp + 0x1a0]
call fcn.12803dc0
nop
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0xffffffffffffffff
lea r9, [rsp + 0x51]
lea r8, [rsp + 0x118]
lea rdx, [rsp + 0x1a0]
mov rcx, rbx
call fcn.128098a0
nop
cmp qword [rsp + 0x1c0], 8
jb 0x12879ecd
mov rcx, qword [rsp + 0x1a8]
call fcn.12958250
mov qword [rsp + 0x1c0], 7
mov qword [rsp + 0x1b8], r12
mov word [rsp + 0x1a8], r12w
lea rdi, [r13 + 0xc0]
mov rbx, rdi
mov qword [rsp + 0x58], rbx
mov r14, qword [rsp + 0x108]
mov qword [rsp + 0x80], r14
mov r12, qword [r14]
mov qword [rsp + 0x98], r12
mov rsi, qword [rsp + 0xe0]
mov qword [rsp + 0x90], rsi
mov rax, qword [rsp + 0x140]
mov rbp, qword [rax]
mov r13, qword [rsp + 0x118]
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x70], rsi
test r15b, r15b
je 0x12879f78
test rsi, rsi
jne 0x12879f50
call fcn.1295850c
mov r14, qword [r14 + 8]
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x78], r14
test rsi, rsi
je 0x12879f6b
mov rax, qword [rsi]
jmp 0x12879f6d
xor eax, eax
cmp r14, qword [rax + 0x28]
jne 0x12879f78
call fcn.1295850c
mov r15, rdi
movaps xmm6, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0xa0], xmm6
nop dword [rax]
test rsi, rsi
je 0x12879f9a
cmp rsi, rsi
je 0x12879f9f
call fcn.1295850c
cmp r12, r14
je 0x1287a156
mov eax, dword [rbx + 0x108]
mov ecx, dword [rsp + 0x54]
test eax, eax
cmovne ecx, eax
mov dword [rsp + 0x54], ecx
test rsi, rsi
jne 0x12879fc9
call fcn.1295850c
xor edx, edx
jmp 0x12879fcc
mov rdx, qword [rsi]
cmp r12, qword [rdx + 0x28]
jne 0x12879fd7
call fcn.1295850c
lea rdx, [r12 + 0x10]
mov rcx, qword [rsp + 0x58]
call fcn.128790d0
mov qword [rsp + 0x58], rax
mov qword [rax + 0xf0], rbx
test rsi, rsi
jne 0x1287a000
call fcn.1295850c
xor edx, edx
jmp 0x1287a003
mov rdx, qword [rsi]
cmp r12, qword [rdx + 0x28]
jne 0x1287a00e
call fcn.1295850c
mov rdi, qword [r12 + 0x28]
test r13, r13
jne 0x1287a021
call fcn.1295850c
xor edx, edx
jmp 0x1287a025
mov rdx, qword [r13]
cmp rbp, qword [rdx + 0x28]
jne 0x1287a030
call fcn.1295850c
cmp rdi, qword [rbp + 0x28]
jne 0x1287a0a3
test r13, r13
jne 0x1287a047
call fcn.1295850c
xor edi, edi
mov rdx, rdi
jmp 0x1287a04d
mov rdx, qword [r13]
xor edi, edi
cmp rbp, qword [rdx + 0x28]
jne 0x1287a058
call fcn.1295850c
test rsi, rsi
jne 0x1287a067
call fcn.1295850c
mov rdx, rdi
jmp 0x1287a06a
mov rdx, qword [rsi]
cmp r12, qword [rdx + 0x28]
jne 0x1287a075
call fcn.1295850c
cmp qword [rbp + 0x30], 8
jb 0x1287a082
mov rdx, qword [rbp + 0x18]
jmp 0x1287a086
lea rdx, [rbp + 0x18]
cmp qword [r12 + 0x30], 8
jb 0x1287a095
mov rcx, qword [r12 + 0x18]
jmp 0x1287a09a
lea rcx, [r12 + 0x18]
call fcn.1295a6e4
test eax, eax
je 0x1287a0d7
test r13, r13
jne 0x1287a0b1
call fcn.1295850c
xor edx, edx
jmp 0x1287a0b5
mov rdx, qword [r13]
cmp rbp, qword [rdx + 0x28]
jne 0x1287a0c0
call fcn.1295850c
lea rdx, [rbp + 0x10]
lea rcx, [rbx + 0x40]
call fcn.128608e0
mov rbx, qword [rsp + 0x58]
mov qword [rax], rbx
jmp 0x1287a0dc
mov rbx, qword [rsp + 0x58]
cmp qword [rbx + 0xd8], 0
je 0x1287a0f2
mov r15, rbx
movdqa xmmword [rsp + 0xa0], xmm6
test rsi, rsi
jne 0x1287a103
call fcn.1295850c
xor edi, edi
mov rdx, rdi
jmp 0x1287a108
mov rdx, qword [rsi]
xor edi, edi
cmp r12, qword [rdx + 0x28]
jne 0x1287a113
call fcn.1295850c
mov r12, qword [r12]
mov qword [rsp + 0x98], r12
test r13, r13
jne 0x1287a12e
call fcn.1295850c
mov rdx, rdi
jmp 0x1287a132
mov rdx, qword [r13]
cmp rbp, qword [rdx + 0x28]
jne 0x1287a13d
call fcn.1295850c
mov rbp, qword [rbp]
movaps xmm6, xmmword [rsp + 0x90]
mov r14, qword [rsp + 0x80]
jmp 0x12879f90
cmp byte [rsp + 0x50], 0
je 0x1287a19c
mov rdi, rbx
test rsi, rsi
jne 0x1287a16e
call fcn.1295850c
xor edx, edx
jmp 0x1287a171
mov rdx, qword [rsi]
cmp r12, qword [rdx + 0x28]
jne 0x1287a17c
call fcn.1295850c
lea rdx, [r12 + 0x10]
lea rcx, [rbx + 0x80]
call fcn.128790d0
mov rbx, rax
mov qword [rsp + 0x58], rax
mov qword [rax + 0xf0], rdi
mov edi, dword [rsp + 0x54]
or edi, dword [rsp + 0x2b8]
mov dword [rsp + 0x54], edi
mov eax, dword [rbx + 0x108]
shr eax, 0xd
test al, 1
je 0x1287a1db
cmp qword [rbx + 0xe8], 0
je 0x1287a1db
mov dword [rsp + 0x80], 1
mov rbx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x58]
xor ebp, ebp
jmp 0x1287a256
xor ebp, ebp
mov dword [rsp + 0x80], ebp
lea rcx, [rbx + 0xc0]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rbx, qword [rsp + 0x60]
mov rdx, rbx
call fcn.12803c90
mov edx, dword [rsp + 0x2a0]
mov r12, qword [rsp + 0x58]
mov dword [r12 + 0x100], edx
mov eax, dword [rsp + 0x2a8]
mov dword [r12 + 0x104], eax
or dword [r12 + 0x108], edi
mov eax, dword [rsp + 0x2c8]
mov dword [r12 + 0x10c], eax
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x1287a256
lea rcx, [r12 + 0x120]
mov rdx, rax
call fcn.1284c870
mov qword [rsp + 0x210], 7
mov qword [rsp + 0x208], rbp
mov word [rsp + 0x1f8], bp
mov r13, qword [rsp + 0x88]
lea rax, [r13 + 0xc0]
cmp r15, rax
je 0x1287a417
cmp r15, r12
je 0x1287a417
cmp r15, qword [r12 + 0xf0]
je 0x1287a417
cmp qword [r15 + 0xd8], 0
je 0x1287a417
mov rdi, qword [rsp + 0xa0]
test rdi, rdi
je 0x1287a2c1
cmp rdi, rsi
je 0x1287a2c6
call fcn.1295850c
mov rbx, qword [rsp + 0xa8]
cmp rbx, r14
je 0x1287a40b
test rdi, rdi
jne 0x1287a2e6
call fcn.1295850c
mov r11, rbp
jmp 0x1287a2e9
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x1287a2f4
call fcn.1295850c
cmp qword [rbx + 0x28], 0
je 0x1287a404
lea rdx, [r15 + 0xc0]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x1f0]
call fcn.12803c90
test rdi, rdi
jne 0x1287a329
call fcn.1295850c
mov r11, rbp
jmp 0x1287a32c
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x1287a337
call fcn.1295850c
mov rbx, qword [rbx]
test rdi, rdi
je 0x1287a344
cmp rdi, rsi
je 0x1287a349
call fcn.1295850c
cmp rbx, r14
je 0x1287a412
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0xa0], xmm0
test rsi, rsi
jne 0x1287a36a
call fcn.1295850c
mov rbp, qword [r14 + 8]
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x1287a383
mov rax, qword [rsi]
xor r14d, r14d
jmp 0x1287a389
xor r14d, r14d
mov rax, r14
cmp rbp, qword [rax + 0x28]
jne 0x1287a394
call fcn.1295850c
test rdi, rdi
je 0x1287a39e
cmp rdi, rsi
je 0x1287a3a3
call fcn.1295850c
cmp rbx, rbp
je 0x1287a3fb
test rdi, rdi
jne 0x1287a3b7
call fcn.1295850c
mov r11, r14
jmp 0x1287a3ba
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x1287a3c5
call fcn.1295850c
lea rdx, [rbx + 0x10]
xor r8d, r8d
lea rcx, [rsp + 0x1f0]
call fcn.1284c540
test rdi, rdi
jne 0x1287a3e8
call fcn.1295850c
mov r11, r14
jmp 0x1287a3eb
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x1287a3f6
call fcn.1295850c
mov rbx, qword [rbx]
jmp 0x1287a394
mov rbx, qword [rsp + 0x60]
xor ebp, ebp
jmp 0x1287a417
mov rbx, qword [rsp + 0x60]
jmp 0x1287a417
mov rbx, qword [rsp + 0x60]
jmp 0x1287a417
mov rbx, qword [rsp + 0x60]
bt qword [rsp + 0x2c0], 0x16
jae 0x1287a63b
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x54], ebp
mov dword [rsp + 0x80], ebp
mov dword [rsp + 0x160], 1
xor edx, edx
lea r8d, [rdx + 0x3c]
lea rcx, [rsp + 0x164]
call fcn.12959590
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x1c0], 7
mov qword [rsp + 0x1b8], rbp
mov word [rsp + 0x1a8], bp
mov qword [rsp + 0x1e8], 7
mov qword [rsp + 0x1e0], rbp
mov word [rsp + 0x1d0], bp
mov qword [rsp + 0x70], rbp
mov dword [rsp + 0x78], ebp
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x70], rbp
mov ecx, 0x2012
call fcn.12958238
mov rdi, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1287a4e0
mov word [rax], bp
add rax, 0x10
mov qword [rdi + 8], rax
mov eax, 0x2002
mov word [rdi + 2], ax
movzx ecx, word [rdi]
shr rcx, 1
mov rax, qword [rdi + 8]
mov word [rax + rcx*2], bp
xor ecx, ecx
call fcn.1295c768
test rdi, rdi
je 0x1287a4ff
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1287a4ff
movzx eax, word [rdi]
shr rax, 1
mov word [rcx + rax*2], bp
cmp qword [rbx + 0x20], 8
jb 0x1287a50c
mov rdx, qword [rbx + 8]
jmp 0x1287a510
lea rdx, [rbx + 8]
test rdx, rdx
je 0x1287a52c
xor r9d, r9d
movzx r8d, word [rbx + 0x18]
lea rcx, [rsp + 0x70]
call fcn.128252a0
mov rdi, qword [rsp + 0x70]
lea rax, [rsp + 0x160]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbp
lea r9, [rsp + 0x54]
lea r8, [rsp + 0x58]
mov rdx, rdi
mov rcx, r13
call fcn.12864490
test eax, eax
je 0x1287a621
mov rcx, qword [rsp + 0x88]
mov qword [r12 + 0xf8], rcx
mov dword [r12 + 0x118], eax
mov rcx, rdi
call fcn.1295c768
mov qword [rsp + 0x70], rbp
cmp qword [rsp + 0x1e8], 8
jb 0x1287a5cc
mov rcx, qword [rsp + 0x1d0]
call fcn.12958250
mov qword [rsp + 0x1e8], 7
mov qword [rsp + 0x1e0], rbp
mov word [rsp + 0x1d0], bp
cmp qword [rsp + 0x1c0], 8
jb 0x1287a600
mov rcx, qword [rsp + 0x1a8]
call fcn.12958250
mov qword [rsp + 0x1c0], 7
mov qword [rsp + 0x1b8], rbp
mov word [rsp + 0x1a8], bp
jmp 0x1287ab7f
mov dword [rsp + 0x58], 0x7b
lea rdx, [0x12a1ae28]
lea rcx, [rsp + 0x58]
call fcn.12958e1c
nop
mov rbp, qword [rsp + 0xd8]
mov qword [rsp + 0xa0], rbp
cmp qword [rbp + 0x20], 8
jb 0x1287a658
mov rcx, qword [rbp + 8]
jmp 0x1287a65c
lea rcx, [rbp + 8]
lea rdx, [0x129cb118]
call fcn.1295a6e4
test eax, eax
je 0x1287a7fb
mov qword [rsp + 0x1c0], 7
xor ebp, ebp
mov qword [rsp + 0x1b8], rbp
mov word [rsp + 0x1a8], bp
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x129c6388]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [0x129c6388]
lea rcx, [rsp + 0x1a0]
call fcn.12803dc0
nop
mov byte [rsp + 0x30], bpl
mov byte [rsp + 0x28], bpl
mov qword [rsp + 0x20], 0xffffffffffffffff
lea r9, [rsp + 0x51]
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0x1a0]
mov rcx, rbx
call fcn.128098a0
nop
cmp qword [rsp + 0x1c0], 8
jb 0x1287a703
mov rcx, qword [rsp + 0x1a8]
call fcn.12958250
mov qword [rsp + 0x1c0], 7
mov qword [rsp + 0x1b8], rbp
mov word [rsp + 0x1a8], bp
mov rsi, qword [rsp + 0xc0]
mov r8, rsi
mov rdx, rbx
mov rbx, qword [rsp + 0xb0]
mov rcx, rbx
call fcn.1285ef80
mov qword [rsp + 0x1e8], 7
mov qword [rsp + 0x1e0], rbp
mov word [rsp + 0x1d0], bp
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x129c6388]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [0x129c6388]
lea rcx, [rsp + 0x1c8]
call fcn.12803dc0
nop
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0xffffffffffffffff
lea r9, [rsp + 0x51]
lea r8, [rsp + 0x118]
lea rdx, [rsp + 0x1c8]
mov rcx, rsi
call fcn.128098a0
nop
cmp qword [rsp + 0x1e8], 8
jb 0x1287a7ce
mov rcx, qword [rsp + 0x1d0]
call fcn.12958250
mov qword [rsp + 0x1e8], 7
mov qword [rsp + 0x1e0], rbp
mov word [rsp + 0x1d0], bp
lea rax, [rbx + 0xb0]
mov qword [rsp + 0xa0], rax
jmp 0x1287a7fd
xor ebp, ebp
lea r14, [r13 + 0x220]
mov rdi, qword [rsp + 0x108]
mov rax, qword [rdi]
mov qword [rsp + 0xb8], rax
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0xb0], rdx
movaps xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0x90], xmm0
mov rax, qword [rsp + 0x140]
mov rcx, qword [rax]
mov qword [rsp + 0xb8], rcx
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xb0], rax
movaps xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xb0], rdx
movaps xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0x70], xmm0
cmp byte [rsp + 0x50], 0
je 0x1287a8c8
test rdx, rdx
jne 0x1287a89b
call fcn.1295850c
mov rdi, qword [rdi + 8]
mov qword [rsp + 0x60], rdi
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1287a8b3
mov rax, qword [rcx]
jmp 0x1287a8b6
mov rax, rbp
cmp rdi, qword [rax + 0x28]
jne 0x1287a8d7
call fcn.1295850c
mov rcx, qword [rsp + 0x70]
jmp 0x1287a8d7
mov rdi, qword [rsp + 0x78]
mov qword [rsp + 0x60], rdi
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
mov r13, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xc8]
test rbx, rbx
je 0x1287a901
cmp rbx, rcx
je 0x1287a906
call fcn.1295850c
cmp r12, rdi
je 0x1287aa82
mov r15, r14
test rbx, rbx
jne 0x1287a921
call fcn.1295850c
mov rdx, rbp
jmp 0x1287a924
mov rdx, qword [rbx]
cmp r12, qword [rdx + 0x28]
jne 0x1287a92f
call fcn.1295850c
lea rdx, [r12 + 0x10]
mov rcx, r14
call fcn.128790d0
mov r14, rax
mov qword [rax + 0xf0], r15
test rbx, rbx
jne 0x1287a957
call fcn.1295850c
xor eax, eax
mov rdx, rax
jmp 0x1287a95a
mov rdx, qword [rbx]
cmp r12, qword [rdx + 0x28]
jne 0x1287a965
call fcn.1295850c
mov rdi, qword [r12 + 0x28]
test r13, r13
jne 0x1287a97b
call fcn.1295850c
xor eax, eax
mov rdx, rax
jmp 0x1287a97f
mov rdx, qword [r13]
cmp rsi, qword [rdx + 0x28]
jne 0x1287a98a
call fcn.1295850c
cmp rdi, qword [rsi + 0x28]
jne 0x1287a9fd
test r13, r13
jne 0x1287a9a1
call fcn.1295850c
xor edi, edi
mov rdx, rdi
jmp 0x1287a9a7
mov rdx, qword [r13]
xor edi, edi
cmp rsi, qword [rdx + 0x28]
jne 0x1287a9b2
call fcn.1295850c
test rbx, rbx
jne 0x1287a9c1
call fcn.1295850c
mov rdx, rdi
jmp 0x1287a9c4
mov rdx, qword [rbx]
cmp r12, qword [rdx + 0x28]
jne 0x1287a9cf
call fcn.1295850c
cmp qword [rsi + 0x30], 8
jb 0x1287a9dc
mov rdx, qword [rsi + 0x18]
jmp 0x1287a9e0
lea rdx, [rsi + 0x18]
cmp qword [r12 + 0x30], 8
jb 0x1287a9ef
mov rcx, qword [r12 + 0x18]
jmp 0x1287a9f4
lea rcx, [r12 + 0x18]
call fcn.1295a6e4
test eax, eax
je 0x1287aa2d
test r13, r13
jne 0x1287aa0e
call fcn.1295850c
xor eax, eax
mov rdx, rax
jmp 0x1287aa12
mov rdx, qword [r13]
cmp rsi, qword [rdx + 0x28]
jne 0x1287aa1d
call fcn.1295850c
lea rdx, [rsi + 0x10]
lea rcx, [r15 + 0x40]
call fcn.128608e0
mov qword [rax], r14
test rbx, rbx
jne 0x1287aa3e
call fcn.1295850c
xor ebp, ebp
mov rdx, rbp
jmp 0x1287aa43
mov rdx, qword [rbx]
xor ebp, ebp
cmp r12, qword [rdx + 0x28]
jne 0x1287aa4e
call fcn.1295850c
mov r12, qword [r12]
test r13, r13
jne 0x1287aa61
call fcn.1295850c
mov rdx, rbp
jmp 0x1287aa65
mov rdx, qword [r13]
cmp rsi, qword [rdx + 0x28]
jne 0x1287aa70
call fcn.1295850c
mov rsi, qword [rsi]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
jmp 0x1287a8f7
cmp byte [rsp + 0x50], 0
je 0x1287aac4
mov rdi, r14
test rbx, rbx
jne 0x1287aa9b
call fcn.1295850c
mov rdx, rbp
jmp 0x1287aa9e
mov rdx, qword [rbx]
cmp r12, qword [rdx + 0x28]
jne 0x1287aaa9
call fcn.1295850c
lea rdx, [r12 + 0x10]
lea rcx, [r14 + 0x80]
call fcn.128790d0
mov r14, rax
mov qword [rax + 0xf0], rdi
cmp dword [rsp + 0x80], 0
jne 0x1287aadc
mov rdi, qword [rsp + 0x58]
mov qword [rdi + 0xe8], r14
jmp 0x1287aae1
mov rdi, qword [rsp + 0x58]
mov rax, qword [r14 + 0xe8]
test rax, rax
je 0x1287aafa
mov eax, dword [rax + 0x108]
shr eax, 0xc
test al, 1
jne 0x1287ab77
lea rcx, [r14 + 0xc0]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, qword [rsp + 0xa0]
call fcn.12803c90
mov eax, dword [rsp + 0x2a0]
mov dword [r14 + 0x100], eax
mov eax, dword [rsp + 0x2a8]
mov dword [r14 + 0x104], eax
mov eax, dword [rsp + 0x54]
or dword [r14 + 0x108], eax
mov eax, dword [rsp + 0x2c8]
mov dword [r14 + 0x10c], eax
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x1287ab66
lea rcx, [r14 + 0x120]
mov rdx, rax
call fcn.1284c870
mov qword [r14 + 0xe8], rdi
mov r13, qword [rsp + 0x88]
jmp 0x1287ab7f
mov r13, qword [rsp + 0x88]
mov ebx, dword [rsp + 0x2b0]
test ebx, ebx
je 0x1287ac7f
test bl, 2
je 0x1287ac36
mov rbp, qword [rsp + 0xd8]
cmp qword [rbp + 0x20], 8
jb 0x1287abac
mov rdi, qword [rbp + 8]
jmp 0x1287abb0
lea rdi, [rbp + 8]
cmp qword [rbp + 0x18], 3
jbe 0x1287abda
cmp word [rdi + 6], 0
je 0x1287abda
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1287abda
xor r8d, r8d
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
cmp qword [rsp + 0x208], 0
je 0x1287ac36
lea rax, [rsp + 0x1f8]
cmp qword [rsp + 0x210], 8
cmovae rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x98], rax
movzx eax, word [rsp + 0x208]
add ax, ax
mov word [rsp + 0x90], ax
mov word [rsp + 0x92], ax
xor r8d, r8d
lea edx, [r8 + 2]
lea rcx, [rsp + 0x90]
call fcn.128296f0
test bl, 1
je 0x1287ac7f
mov rax, qword [rsp + 0x150]
cmp qword [rax + 0x20], 8
jb 0x1287ac50
mov rdi, qword [rax + 8]
jmp 0x1287ac54
lea rdi, [rax + 8]
cmp qword [rax + 0x18], 3
jbe 0x1287ac7f
cmp word [rdi + 6], 0
je 0x1287ac7f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1287ac7f
xor r8d, r8d
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
nop
cmp qword [rsp + 0x210], 8
jb 0x1287ac97
mov rcx, qword [rsp + 0x1f8]
call fcn.12958250
mov qword [rsp + 0x210], 7
xor edi, edi
mov qword [rsp + 0x208], rdi
mov word [rsp + 0x1f8], di
lea rcx, [rsp + 0x118]
call fcn.128083f0
mov rcx, qword [rsp + 0x140]
call fcn.12958250
mov qword [rsp + 0x140], rdi
mov rcx, qword [rsp + 0x118]
call fcn.12958250
nop
lea rcx, [rsp + 0xe0]
call fcn.128083f0
mov rcx, qword [rsp + 0x108]
call fcn.12958250
mov qword [rsp + 0x108], rdi
mov rcx, qword [rsp + 0xe0]
call fcn.12958250
mov rcx, qword [r13 + 0x3b8]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov rcx, qword [rsp + 0x218]
xor rcx, rsp
call fcn.12959850
movaps xmm6, xmmword [rsp + 0x220]
add rsp, 0x238
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret