Function at 0x140008790
Capabilities:
Move file

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x290]
sub rsp, 0x390
mov rax, qword [0x1401b89e8]
xor rax, rsp
mov qword [rbp + 0x280], rax
mov byte [rsp + 0x34], r8b
mov rsi, rdx
mov qword [rsp + 0x50], rdx
mov rdi, rcx
xor r14d, r14d
lea rcx, [rbp + 0x170]
xor edx, edx
mov r8d, 0x104
mov ebx, r14d
mov r15d, r14d
call fcn.14008b040
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0x94
call fcn.14008b040
xor r13b, r13b
mov r12d, r14d
test dword [rdi + 0x24], 0x80000004
mov r14b, 1
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x38], r13d
jne 0x140008ead
mov rax, qword [rdi + 0xb8]
test rax, rax
je 0x140008841
cmp dword [rax], ebx
je 0x140008838
cmp dword [rax + 4], 1
je 0x140008ead
test rax, rax
je 0x140008841
cmp dword [rax], ebx
jne 0x1400088ad
xor edx, edx
lea rcx, [rbp + 0x60]
mov r8d, 0x104
call fcn.14008b040
lea rcx, [0x1400f84ec]
test rsi, rsi
lea rax, [0x1400f84e8]
mov edx, 0x104
cmovne rax, rcx
lea r9, [rdi + 0x28]
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x20], rax
mov r8d, 2
call fcn.140011e00
mov rcx, qword [rdi + 0xb8]
lea r9, [0x1400f85dc]
lea r8, [rbp + 0x60]
mov edx, 2
call fcn.14000e830
cmp byte [rdi + 0x23], 2
jae 0x1400088ad
mov dword [rdi + 0x20], 0x2000000
cmp qword [rdi + 0xb0], rbx
je 0x140008ea3
mov rax, qword [rdi + 0xb8]
test rax, rax
je 0x140008ea3
cmp dword [rax], 1
jne 0x140008ea3
cmp qword [rax + 8], rbx
je 0x140008ea3
lea rcx, [rdi + 0xc8]
mov edx, 0x100
call fcn.14000b9d0
cmp byte [rdi + 0x8a], bl
lea r14, [rdi + 0x49]
movzx ecx, byte [rdi + 0x23]
mov esi, 0x8a
mov edx, 0x28
mov dword [rsp + 0x48], ecx
cmove esi, edx
add rsi, rdi
cmp ecx, 1
jne 0x14000892d
mov eax, dword [rdi + 0x20]
mov dword [rbp - 0x6c], eax
mov eax, dword [rdi + 0x24]
mov dword [rbp - 0x68], eax
mov dword [rbp - 0x70], 0xc1fe5
jmp 0x1400089be
cmp ecx, 2
jne 0x140008e99
mov eax, dword [rdi + 0x20]
mov dword [rbp - 0x6c], eax
mov eax, dword [rdi + 0x24]
mov dword [rbp - 0x68], eax
mov dword [rbp - 0x70], 0x941fe5
test rsi, rsi
jne 0x140008953
mov rax, r15
jmp 0x140008960
mov edx, 0x20
mov rcx, rsi
call fcn.1400b0240
mov r9, rax
lea rcx, [rbp - 0x64]
mov r8, rsi
mov edx, 0x20
call fcn.14000afb0
test r14, r14
jne 0x14000897e
mov rax, r15
jmp 0x14000898b
mov edx, 0x40
mov rcx, r14
call fcn.1400b0240
mov r9, rax
lea rcx, [rbp - 0x44]
mov r8, r14
mov edx, 0x40
call fcn.14000afb0
xor eax, eax
mov dword [rbp + 0x1c], r15d
mov qword [rbp - 4], rax
mov qword [rbp + 4], rax
mov qword [rbp + 0xc], rax
mov qword [rbp + 0x14], rax
mov eax, dword [rdi + 0xc0]
mov dword [rbp + 0x20], eax
call fcn.14000e290
mov qword [rsp + 0x40], rax
mov r15, rax
test rax, rax
jne 0x1400089da
mov ebx, 0x708
jmp 0x140008ab8
mov r9, qword [rdi + 0xb8]
lea rax, str..tmp
lea r8, [0x1400f8ad8]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x170]
mov ecx, 0x104
mov r9, qword [r9 + 8]
call fcn.14000adf0
lea r9, [0x1400f8ae0]
mov edx, 2
lea r8, [rbp + 0x170]
mov rcx, r15
call fcn.14000e620
test eax, eax
je 0x140008a32
mov ebx, 0xbbb
jmp 0x140008ab8
mov rcx, r15
call fcn.14000e420
movzx r8d, word [rbp - 0x6e]
lea rdx, [rbp - 0x70]
mov rcx, r15
mov qword [rsp + 0x58], rax
mov r14, rax
call fcn.14000e9a0
mov rcx, rax
movzx eax, word [rbp - 0x6e]
cmp rcx, rax
je 0x140008a66
mov ebx, 0xbba
jmp 0x140008ab8
mov rsi, qword [rsp + 0x50]
test rsi, rsi
je 0x140008c9c
xor eax, eax
mov r14d, 0x1000
cmp dword [rsp + 0x48], 2
mov r13d, eax
mov r15d, eax
movzx eax, byte [rsp + 0x34]
cmovae r13d, eax
test r13b, r13b
je 0x140008b7f
mov rcx, rsi
call fcn.14000e460
mov r14, rax
cmp rax, 1
jae 0x140008b7f
mov ebx, 0xbba
mov r15, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x30]
mov rcx, r15
call fcn.14000e2c0
test r12, r12
je 0x140008ad2
mov rcx, r12
call fcn.140096ac0
test ebx, ebx
jne 0x140008ecb
test r14b, r14b
je 0x140008ecb
xor edx, edx
lea rcx, [rbp + 0x60]
mov r8d, 0x104
call fcn.14008b040
mov r9, qword [rdi + 0xb8]
lea rax, str..temp
lea r8, [0x1400f8ad8]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x60]
mov ecx, 0x104
mov r9, qword [r9 + 8]
call fcn.14000adf0
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x170]
call fcn.140097280
test eax, eax
jne 0x140008ecb
mov rax, qword [rdi + 0xb8]
lea rdx, [rbp + 0x30]
mov rcx, qword [rax + 8]
call fcn.1400b2ef8
test eax, eax
jne 0x140008eb7
mov rcx, qword [rdi + 0xb8]
mov rcx, qword [rcx + 8]
call fcn.1400973a4
test eax, eax
je 0x140008eb7
lea rcx, [rbp + 0x60]
call fcn.1400973a4
mov ebx, 0xbbc
jmp 0x140008ecb
mov rcx, r14
call fcn.14000acc0
mov r12, rax
test rax, rax
jne 0x140008b99
mov ebx, 0x708
jmp 0x140008ab3
mov rcx, rsi
call fcn.14000e550
test eax, eax
je 0x140008bb0
mov ebx, 0xbbb
jmp 0x140008ab3
mov r8, r14
mov rdx, r12
mov rcx, rsi
call fcn.14000e650
mov rsi, rax
test rax, rax
je 0x140008c7b
test r13b, r13b
je 0x140008c04
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x60], 0x22
mov qword [rsp + 0x64], r12
mov dword [rsp + 0x6c], r14d
mov dword [rsp + 0x70], r14d
call fcn.14000bd90
mov ebx, eax
test eax, eax
jne 0x140008c04
mov r12, qword [rsp + 0x64]
mov r14d, dword [rsp + 0x6c]
mov esi, dword [rsp + 0x70]
test ebx, ebx
jne 0x140008c7b
mov dword [rsp + 0x78], 0x22
mov qword [rsp + 0x7c], r12
mov dword [rbp - 0x7c], r14d
mov dword [rbp - 0x78], esi
test r15, r15
jne 0x140008c40
lea rcx, [rsp + 0x78]
call fcn.14000ce30
mov ecx, dword [rsp + 0x38]
test al, al
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0x40]
mov r8, rsi
mov rdx, r12
call fcn.14000e9a0
cmp rax, rsi
jne 0x140008c76
mov r8, rsi
lea rcx, [rdi + 0xc8]
mov rdx, r12
call fcn.14000bac0
xor ebx, ebx
add r15, rsi
mov rsi, qword [rsp + 0x50]
jmp 0x140008bb0
mov ebx, 0xbba
mov rcx, qword [rsp + 0x50]
call fcn.14000e200
mov r15, qword [rsp + 0x40]
test ebx, ebx
jne 0x140008ab8
mov r13d, dword [rsp + 0x38]
jmp 0x140008d1e
cmp dword [rdi + 0xc0], 0x5359454b
jne 0x140008d23
xor esi, esi
nop word [rax + rax]
mov rcx, qword [rdi + 0xb0]
cmp esi, dword [rcx]
jae 0x140008d1e
mov eax, esi
imul r14, rax, 0x2c
add r14, qword [rcx + 8]
test byte [r14], 1
je 0x140008d18
mov eax, dword [rdi + 0x24]
bt eax, 0x1e
jae 0x140008cdb
btr eax, 0x1e
mov dword [rdi + 0x24], eax
mov r8, r14
mov rdx, r15
mov rcx, rdi
call fcn.140009cd0
mov ebx, eax
cmp eax, 0xbbb
jne 0x140008d10
mov rdx, qword [r14 + 8]
mov rcx, qword [rdi + 0xb0]
call fcn.140006170
test eax, eax
jne 0x140008ab8
xor ebx, ebx
dec esi
jmp 0x140008d18
test eax, eax
jne 0x140008ab8
inc esi
test ebx, ebx
je 0x140008cb0
mov r14, qword [rsp + 0x58]
lea rcx, [rdi + 0xc8]
call fcn.14000b800
cmp dword [rsp + 0x48], 2
jne 0x140008ab8
test r13b, r13b
je 0x140008d48
or dword [rbp - 0x68], 0x40000000
jmp 0x140008d4f
and dword [rbp - 0x68], 0xbfffffff
lea rax, [rdi + 0xcc]
test rax, rax
je 0x140008d6c
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 4], xmm0
movups xmmword [rbp + 0xc], xmm1
jmp 0x140008d8c
mov qword [rbp - 4], rax
mov qword [rbp + 4], rax
mov qword [rbp + 0xc], rax
mov qword [rbp + 0x14], rax
call fcn.140097124
mov dword [rax], 0x16
call fcn.140096f78
mov rax, qword [rdi + 0x130]
mov rcx, r15
shr rax, 3
mov dword [rbp + 0x1c], eax
call fcn.14000e420
xor r8d, r8d
mov rdx, r14
mov rcx, r15
mov rsi, rax
call fcn.14000e7a0
test eax, eax
js 0x140008a5f
movzx r8d, word [rbp - 0x6e]
lea rdx, [rbp - 0x70]
mov rcx, r15
call fcn.14000e9a0
movzx ecx, word [rbp - 0x6e]
cmp rax, rcx
jne 0x140008a5f
xor r8d, r8d
mov rdx, rsi
mov rcx, r15
call fcn.14000e7a0
test eax, eax
js 0x140008a5f
call fcn.14000e290
mov rsi, rax
test ebx, ebx
jne 0x140008e8c
test rax, rax
je 0x140008e8c
mov r8, qword [rdi + 0xb8]
lea r9, [0x1400f85dc]
xor edx, edx
mov rcx, rax
mov r8, qword [r8 + 8]
call fcn.14000e620
test eax, eax
jne 0x140008e8c
mov r14d, 0x94
lea rcx, [rbp + 0x60]
mov r8d, r14d
xor edx, edx
call fcn.14008b040
movzx eax, word [rbp - 0x6e]
cmp ax, r14w
ja 0x140008e84
movzx r8d, ax
lea rdx, [rbp + 0x60]
mov rcx, rsi
call fcn.14000e650
movzx ecx, word [rbp - 0x6e]
cmp rax, rcx
jne 0x140008e84
mov r8d, r14d
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x70]
call fcn.14008b1f0
mov ecx, dword [rsp + 0x30]
test eax, eax
movzx ecx, cl
mov eax, 0
cmove ecx, eax
mov dword [rsp + 0x30], ecx
mov rcx, rsi
call fcn.14000e200
mov rcx, rsi
call fcn.14000e2c0
jmp 0x140008ab8
mov ebx, 0x3ea
jmp 0x140008ab8
mov ebx, 0x8fc
jmp 0x140008abd
mov ebx, 0xbb9
jmp 0x140008abd
mov rdx, qword [rdi + 0xb8]
lea rcx, [rbp + 0x60]
mov rdx, qword [rdx + 8]
call fcn.140097280
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x170]
call fcn.1400b2ef8
test eax, eax
jne 0x140008eeb
lea rcx, [rbp + 0x170]
call fcn.1400973a4
mov eax, ebx
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.1400897c0
mov rbx, qword [rsp + 0x3e0]
add rsp, 0x390
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret