Function at 0x1401058b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rdi, rcx
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, qword [rcx + 8]
lea r14, [rcx + 0x40]
xor ebp, ebp
mov eax, 0x13
xor edx, edx
idiv dword [rcx + 0x3c]
mov dword [rsp + 0x24], eax
mov eax, dword [rcx + 0x218]
mov dword [rsp + 0x20], eax
mov eax, dword [rcx + 0x30]
mov r15d, dword [rcx + 0x48]
add r15, qword [rcx + 0x58]
imul eax, dword [rcx + 0x34]
lea ecx, [rax*8]
sub ecx, eax
lea eax, [rcx + 7]
test ecx, ecx
cmovns eax, ecx
mov ebx, dword [rdi + 0x4c]
sar eax, 3
movsxd rdx, eax
mov rcx, r14
call fcn.140208290
test eax, eax
je 0x140105cb0
mov rcx, r14
xor edx, edx
call fcn.140208060
mov rcx, r14
xor edx, edx
call fcn.140208060
lea r12, [rdi + 0xe20]
xor edx, edx
cmp dword [rdi + 0x20], 2
setge dl
mov rcx, r14
call fcn.140208060
test eax, eax
je 0x140105abb
mov edx, dword [rdi + 0x24]
mov rcx, r14
call fcn.140208060
mov rcx, r14
mov edx, 1
call fcn.140208060
test eax, eax
je 0x140105a2e
mov rcx, r14
mov edx, 1
call fcn.140208060
mov edx, dword [rdi + 0x508]
mov rcx, r14
mov r8d, 7
call fcn.140208140
mov edx, dword [rdi + 0x7f0]
mov rcx, r14
mov r8d, 7
call fcn.140208140
mov edx, dword [rdi + 0xad8]
mov rcx, r14
mov r8d, 7
call fcn.140208140
mov edx, dword [rdi + 0xdc0]
mov rcx, r14
mov r8d, 7
call fcn.140208140
mov edx, dword [rdi + 0x50c]
mov rcx, r14
mov r8d, 6
call fcn.140208140
mov edx, dword [rdi + 0x7f4]
mov rcx, r14
mov r8d, 6
call fcn.140208140
mov edx, dword [rdi + 0xadc]
mov rcx, r14
mov r8d, 6
call fcn.140208140
mov edx, dword [rdi + 0xdc4]
mov rcx, r14
mov r8d, 6
call fcn.140208140
cmp dword [rdi + 0x24], 0
je 0x140105abb
xor edx, edx
cmp byte [r12], 0xff
setne dl
mov rcx, r14
call fcn.140208060
test eax, eax
je 0x140105a61
movzx edx, byte [r12]
mov rcx, r14
mov r8d, 8
call fcn.1402080b0
xor edx, edx
cmp byte [rdi + 0xe21], 0xff
setne dl
mov rcx, r14
call fcn.140208060
test eax, eax
je 0x140105a8e
movzx edx, byte [rdi + 0xe21]
mov rcx, r14
mov r8d, 8
call fcn.1402080b0
xor edx, edx
cmp byte [rdi + 0xe22], 0xff
setne dl
mov rcx, r14
call fcn.140208060
test eax, eax
je 0x140105abb
movzx edx, byte [rdi + 0xe22]
mov rcx, r14
mov r8d, 8
call fcn.1402080b0
mov ebp, ebx
xor r13d, r13d
cmp dword [rdi + 0x1c], 0
setne r13b
mov edx, dword [rdi + 0x10]
mov rcx, r14
call fcn.140208060
mov edx, dword [rdi + 0x14]
mov rcx, r14
mov r8d, 6
call fcn.1402080b0
mov edx, dword [rdi + 0x18]
mov ebx, 3
mov rcx, r14
mov r8d, 3
call fcn.1402080b0
mov rcx, r14
mov edx, r13d
call fcn.140208060
test eax, eax
je 0x140105b4f
xor edx, edx
cmp dword [rdi + 0x1c], 0
setne dl
mov rcx, r14
call fcn.140208060
test eax, eax
je 0x140105b4f
mov rcx, r14
xor edx, edx
mov r8d, 4
call fcn.1402080b0
mov edx, dword [rdi + 0x1c]
mov rcx, r14
mov r8d, 6
call fcn.140208140
mov rcx, r14
xor edx, edx
mov r8d, 3
call fcn.1402080b0
mov eax, dword [rdi + 0x3c]
cmp eax, 4
je 0x140105b66
cmp eax, 8
je 0x140105b6b
xor ebx, ebx
cmp eax, 2
sete bl
jmp 0x140105b6b
mov ebx, 2
mov rcx, r14
mov edx, ebx
mov r8d, 2
call fcn.1402080b0
mov edx, dword [rdi + 0xe00]
mov rcx, r14
mov r8d, 7
call fcn.1402080b0
mov edx, dword [rdi + 0xe0c]
mov rcx, r14
mov r8d, 4
call fcn.140208140
mov edx, dword [rdi + 0xe10]
mov rcx, r14
mov r8d, 4
call fcn.140208140
mov edx, dword [rdi + 0xe14]
mov rcx, r14
mov r8d, 4
call fcn.140208140
mov edx, dword [rdi + 0xe18]
mov rcx, r14
mov r8d, 4
call fcn.140208140
mov edx, dword [rdi + 0xe1c]
mov rcx, r14
mov r8d, 4
call fcn.140208140
mov rcx, r14
xor edx, edx
call fcn.140208060
mov rcx, r14
mov rdx, r12
call fcn.140109b00
movsxd rbx, dword [rdi + 0x4c]
mov r12, qword [rdi + 0x58]
mov r13d, dword [rdi + 0x48]
mov rcx, rdi
call fcn.1401097c0
mov rcx, r14
call fcn.140208320
mov rax, qword [rdi + 8]
mov rax, qword [rax + 0x80]
test rax, rax
je 0x140105ca5
mov ecx, dword [rdi + 0x58]
add ecx, dword [rdi + 0x48]
movsxd rdx, dword [rdi + 0x4c]
add r12, r13
lea r8, [rbx + r12*8]
lea r9, [rbx + r12*8]
add r9, 8
mov r10d, 0xfffffff8
sub r10d, ebp
movsxd r10, r10d
shl r15, 3
sub r10, r15
add r8, r10
add r8, 0xf
shr r8, 3
mov dword [rax + 0x24], r8d
neg r9
lea rax, [rdx + r9]
add rax, 0xf
shr rax, 3
add eax, ecx
mov rcx, qword [rdi + 8]
mov rcx, qword [rcx + 0x80]
mov dword [rcx + 0x28], eax
mov eax, dword [rdi + 0x228]
mov rcx, qword [rdi + 8]
mov rcx, qword [rcx + 0x80]
mov dword [rcx + 0x8c], eax
cmp dword [rdi + 0x68], 0
mov ebp, 0
je 0x140105cc6
mov rcx, qword [rdi + 8]
mov edx, 1
call fcn.140071180
test eax, eax
je 0x140106159
mov rbp, qword [rdi + 0x58]
mov ecx, dword [rdi + 0x3c]
lea eax, [rcx + rcx*2]
add eax, 0xfffffffd
cdqe
lea rbx, [rax + rbp]
add rbx, 0xa
test ecx, ecx
jle 0x140105d5d
mov eax, ecx
and eax, 3
cmp ecx, 4
jae 0x140105cf3
xor edx, edx
jmp 0x140105d22
and ecx, 0xfffffffc
lea r8, [rdi + 0x88]
xor edx, edx
nop
add rbx, qword [r8]
add rbx, qword [r8 + 0x30]
add rbx, qword [r8 + 0x60]
add rbx, qword [r8 + 0x90]
add rdx, 4
add r8, 0xc0
cmp rcx, rdx
jne 0x140105d00
test rax, rax
je 0x140105d5d
lea rcx, [rdx + rdx*2]
shl rcx, 4
add rcx, rdi
add rcx, 0x88
shl rax, 4
lea rax, [rax + rax*2]
xor edx, edx
nop word cs:[rax + rax]
add rbx, qword [rcx + rdx]
add rdx, 0x30
cmp rax, rdx
jne 0x140105d50
mov r15d, ebx
and r15d, 1
cmp dword [rdi + 0x21c], 0
lea rax, [r15 + rbx + 0xc]
lea r12, [r15 + rbx + 0x1e]
cmove r12, rax
je 0x140105d8e
mov eax, dword [rdi + 0x228]
mov ecx, eax
and ecx, 1
add eax, ecx
add eax, 8
add r12, rax
mov eax, 0xffffffff
cmp r12, rax
jb 0x140105dc2
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1405602f0
mov rcx, rsi
mov edx, 9
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140071180
mov r13, qword [rdi + 8]
mov rax, qword [rdi + 0x50]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], 0x46464952
mov dword [rsp + 0x48], 0x50424557
mov dword [rsp + 0x44], r12d
lea rcx, [rsp + 0x40]
mov edx, 0xc
mov r8, r13
call qword [r13 + 0x60]
mov edx, 8
test eax, eax
je 0x140105f9a
cmp dword [rdi + 0x21c], 0
je 0x140105ef1
mov r8, qword [rdi + 8]
movaps xmm0, xmmword [0x1405aca50]
movaps xmmword [rsp + 0x40], xmm0
movabs rax, 0x100000000a
mov qword [rsp + 0x44], rax
mov eax, dword [r8 + 8]
dec eax
mov byte [rsp + 0x4c], al
mov byte [rsp + 0x4d], ah
shr eax, 0x10
mov byte [rsp + 0x4e], al
mov eax, dword [r8 + 0xc]
dec eax
mov byte [rsp + 0x4f], al
mov byte [rsp + 0x50], ah
shr eax, 0x10
mov byte [rsp + 0x51], al
lea rcx, [rsp + 0x40]
mov edx, 0x12
call qword [r8 + 0x60]
test eax, eax
je 0x140105f95
cmp dword [rdi + 0x21c], 0
je 0x140105ef1
mov r8, qword [rdi + 8]
mov qword [rsp + 0x40], 0x48504c41
mov eax, dword [rdi + 0x228]
mov dword [rsp + 0x44], eax
lea rcx, [rsp + 0x40]
mov edx, 8
mov qword [rsp + 0x28], r8
call qword [r8 + 0x60]
test eax, eax
je 0x140105f95
mov edx, dword [rdi + 0x228]
mov rcx, qword [rdi + 0x220]
mov r8, qword [rsp + 0x28]
call qword [r8 + 0x60]
test eax, eax
je 0x140105f95
test byte [rdi + 0x228], 1
je 0x140105ef1
mov byte [rsp + 0x3f], 0
lea rcx, [rsp + 0x3f]
mov edx, 1
mov r8, qword [rsp + 0x28]
call qword [r8 + 0x60]
test eax, eax
je 0x140105f95
add rbx, r15
mov qword [rsp + 0x40], 0x20385056
mov byte [rsp + 0x44], bl
mov byte [rsp + 0x45], bh
mov rax, rbx
shr rax, 0x10
mov byte [rsp + 0x46], al
shr rbx, 0x18
mov byte [rsp + 0x47], bl
lea rcx, [rsp + 0x40]
mov edx, 8
mov r8, r13
call qword [r13 + 0x60]
test eax, eax
mov edx, 8
je 0x140105f9a
mov edx, 6
cmp rbp, 0x7ffff
ja 0x140105f9a
mov ecx, dword [rdi + 0x2c]
add ecx, ecx
mov eax, ebp
shl eax, 5
or eax, ecx
mov ecx, eax
or cl, 0x10
mov byte [rsp + 0x40], cl
mov byte [rsp + 0x41], ah
shr eax, 0x10
mov byte [rsp + 0x42], al
mov word [rsp + 0x43], 0x19d
mov byte [rsp + 0x45], 0x2a
movzx eax, word [r13 + 8]
mov word [rsp + 0x46], ax
movzx eax, word [r13 + 0xc]
mov word [rsp + 0x48], ax
lea rcx, [rsp + 0x40]
mov edx, 0xa
mov r8, r13
call qword [r13 + 0x60]
test eax, eax
jne 0x140105faa
mov edx, 8
mov rcx, r13
call fcn.140071180
test eax, eax
je 0x14010604c
mov rcx, qword [rsp + 0x30]
mov rdx, rbp
mov r8, rsi
call qword [rsi + 0x60]
test eax, eax
je 0x14010604c
mov eax, dword [rdi + 0x3c]
mov r10d, 1
cmp eax, 2
jl 0x140106061
dec eax
mov ecx, eax
lea rcx, [rcx + rcx*2]
lea rdx, [rdi + 0x88]
xor r8d, r8d
nop word cs:[rax + rax]
mov rbx, qword [rdx]
cmp rbx, 0x1000000
jae 0x140106051
mov r9d, r8d
mov byte [rsp + r9 + 0x40], bl
lea ebp, [r8 + 1]
mov byte [rsp + rbp + 0x40], bh
shr rbx, 0x10
lea r9d, [r8 + 2]
mov byte [rsp + r9 + 0x40], bl
add r8, 3
add rdx, 0x30
cmp rcx, r8
jne 0x140105ff0
test eax, eax
je 0x140106061
lea edx, [rax + rax*2]
lea rcx, [rsp + 0x40]
mov r8, rsi
call qword [rsi + 0x60]
mov r10d, 1
test eax, eax
jne 0x140106061
mov rcx, rsi
mov edx, 8
jmp 0x140106059
xor r13d, r13d
jmp 0x14010606b
mov rcx, rsi
mov edx, 7
call fcn.140071180
mov r10d, eax
xor r13d, r13d
test r10d, r10d
setne r13b
lea rbx, [rdi + 0x218]
mov rcx, r14
call fcn.140208460
cmp dword [rdi + 0x3c], 0
jle 0x1401060f7
lea r14, [rdi + 0x70]
xor ebp, ebp
jmp 0x1401060ba
mov edx, dword [rbx]
add edx, dword [rsp + 0x24]
mov rcx, rsi
mov r8, rbx
call fcn.1400711a0
test eax, eax
setne al
movzx r13d, al
inc rbp
movsxd rax, dword [rdi + 0x3c]
add r14, 0x30
cmp rbp, rax
jge 0x1401060f7
mov rdx, qword [r14 + 0x18]
test rdx, rdx
je 0x1401060e6
test r13d, r13d
je 0x1401060e0
mov rcx, qword [r14 + 0x10]
mov r8, rsi
call qword [rsi + 0x60]
test eax, eax
setne al
jmp 0x1401060e2
xor eax, eax
movzx r13d, al
mov rcx, r14
call fcn.140208460
test r13d, r13d
jne 0x140106090
xor eax, eax
jmp 0x1401060a6
test r13d, r13d
je 0x14010611f
test r15, r15
je 0x14010611f
mov byte [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
mov edx, 1
mov r8, rsi
call qword [rsi + 0x60]
xor r13d, r13d
test eax, eax
setne r13b
add r12d, 8
mov dword [rdi + 0x5c00], r12d
test r13d, r13d
je 0x14010614a
mov edx, dword [rsp + 0x20]
add edx, 0x13
mov rcx, rsi
mov r8, rbx
call fcn.1400711a0
mov ebp, 1
test eax, eax
jne 0x140106159
mov rcx, rsi
mov edx, 8
call fcn.140071180
xor ebp, ebp
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1405602f0
mov eax, ebp
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret