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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov rax, qword [rcx + 0x80]
mov r14, rcx
mov ecx, dword [rcx + 0x104]
mov r12d, edx
mov qword [rsp + 0x68], rax
mov rbx, rdx
mov ebp, 1
mov r15, r8
mov r8, qword [r14 + 8]
mov r10d, ebp
mov r11, qword [r14 + 0xf8]
sub r12d, r8d
shl r10d, cl
mov edx, ebp
mov ecx, dword [r14 + 0x100]
mov r13d, 3
shl edx, cl
mov r9d, r12d
mov ecx, dword [r14 + 0x1c]
sub r9d, edx
lea eax, [r10 - 1]
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x38], eax
mov edi, r13d
mov eax, dword [r14 + 0x18]
mov dword [rsp + 0x5c], eax
add rax, r8
mov qword [rsp + 0x78], rax
mov eax, r12d
sub eax, ecx
mov dword [rsp + 0x3c], r12d
cmp eax, edx
mov qword [rsp + 0x88], r13
mov eax, r12d
mov qword [rsp + 0x40], r11
cmovbe r9d, ecx
cmp dword [r14 + 0x28], 0
cmovne r9d, ecx
mov ecx, dword [r14 + 0x10c]
sub eax, r10d
mov dword [rsp + 0xe8], r9d
xor esi, esi
cmp r12d, r10d
cmovbe eax, esi
imul edx, dword [rbx], 0x9e3779b1
shl ebp, cl
mov ecx, 0x22
sub ecx, dword [r11 + 0x108]
mov dword [rsp + 0x58], eax
shr rdx, cl
lea rax, [rdx*4]
lea r10, [rax*4]
mov qword [rsp + 0x70], rax
mov rax, qword [r11 + 0x70]
mov qword [rsp + 0x48], r10
prefetcht0 byte [r10 + rax]
mov eax, dword [r14 + 0x12c]
mov r14, qword [r14 + 0x70]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x60], r14
mov r9d, dword [rax + 0x2c]
mov ecx, dword [rax + 0x108]
mov dword [rsp + 0x54], ecx
cmp r9d, r12d
jae 0x1800516e1
mov eax, dword [rsp + 0x38]
mov r10d, 0x20
mov r11, qword [rsp + 0x68]
sub r10d, ecx
mov rdi, qword [rsp + 0x60]
mov r15d, eax
mov r13d, dword [rsp + 0x50]
mov r14, r8
nop word [rax + rax]
mov r8d, r9d
mov rcx, r10
imul edx, dword [r8 + r14], 0x9e3779b1
shr rdx, cl
mov rcx, r15
and rcx, r8
mov eax, dword [rdi + rdx*4]
mov dword [r11 + rcx*4], eax
mov dword [rdi + rdx*4], r9d
inc r9d
test r13d, r13d
jne 0x1800516af
cmp r9d, r12d
jb 0x180051680
mov rdi, qword [rsp + 0x88]
mov r13d, 3
mov r15, qword [rsp + 0xf0]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov r8, qword [rsp + 0x30]
mov r14, qword [rsp + 0x60]
mov rax, qword [rsp + 0xe0]
mov r9d, dword [rsp + 0xe8]
mov ecx, 0x20
sub ecx, dword [rsp + 0x54]
mov dword [rax + 0x2c], r12d
mov eax, esi
imul edx, dword [rbx], 0x9e3779b1
shr rdx, cl
mov ecx, esi
mov r14d, dword [r14 + rdx*4]
cmp r14d, r9d
setae cl
test ebp, ebp
setne al
test eax, ecx
je 0x1800517a8
nop word [rax + rax]
mov eax, dword [rdi + rbx - 3]
mov r13d, r14d
lea rdx, [r8 + r13]
cmp dword [rdx + rdi - 3], eax
jne 0x18005176d
mov r8, r15
mov rcx, rbx
call fcn.180038ab0
cmp rax, rdi
jbe 0x180051760
mov rdx, qword [rsp + 0xf8]
mov ecx, r12d
sub ecx, r14d
mov rdi, rax
add ecx, 3
add rax, rbx
mov qword [rdx], rcx
cmp rax, r15
je 0x180051798
mov r9d, dword [rsp + 0xe8]
mov r8, qword [rsp + 0x30]
cmp r14d, dword [rsp + 0x58]
jbe 0x180051798
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0x38]
and rax, r13
mov r14d, dword [rcx + rax*4]
cmp r14d, r9d
mov ecx, esi
mov eax, esi
setae cl
add ebp, 0xffffffff
setne al
test eax, ecx
jne 0x180051720
mov r10, qword [rsp + 0x48]
mov r13d, 3
mov r11, qword [rsp + 0x40]
mov r8, qword [r11]
mov r14d, r13d
mov r12, qword [r11 + 8]
mov rdx, qword [r11 + 0x70]
mov r9d, r12d
sub r9d, r8d
mov qword [rsp + 0x30], r8
add r9d, dword [rsp + 0x5c]
cmp ebp, 3
mov dword [rsp + 0xe0], r9d
lea rcx, [r10 + rdx]
cmovb r14d, ebp
mov dword [rsp + 0xe8], r14d
mov eax, dword [rcx]
prefetcht0 byte [rax + r12]
lea rcx, [rcx + 4]
sub r13, 1
jne 0x1800517e1
mov rax, qword [rsp + 0x70]
mov ecx, dword [rdx + rax*4 + 0xc]
mov rax, qword [r11 + 0x80]
shr rcx, 8
prefetcht0 byte [rax + rcx*4]
mov r13d, esi
test r14d, r14d
je 0x1800518c1
nop word [rax + rax]
mov r14d, dword [rdx + r10]
mov rcx, rsi
test r14d, r14d
je 0x180051979
mov eax, dword [rbx]
cmp dword [r14 + r12], eax
jne 0x180051875
mov rax, qword [rsp + 0x78]
lea rdx, [r12 + 4]
mov r9, qword [rsp + 0x30]
lea rcx, [rbx + 4]
add rdx, r14
mov qword [rsp + 0x20], rax
mov r8, r15
call fcn.180038b50
mov r11, qword [rsp + 0x40]
mov r9d, dword [rsp + 0xe0]
mov r10, qword [rsp + 0x48]
lea rcx, [rax + 4]
mov rdx, qword [r11 + 0x70]
cmp rcx, rdi
jbe 0x1800518a2
mov eax, dword [rsp + 0x3c]
mov rdi, rcx
mov r8, qword [rsp + 0xf8]
sub eax, r14d
sub eax, r9d
add eax, 3
mov qword [r8], rax
lea rax, [rcx + rbx]
cmp rax, r15
je 0x180051990
add r10, 4
inc r13d
mov qword [rsp + 0x48], r10
cmp r13d, dword [rsp + 0xe8]
jb 0x180051820
mov r8, qword [rsp + 0x30]
mov rax, qword [rsp + 0x70]
sub ebp, r13d
mov eax, dword [rdx + rax*4 + 0xc]
mov r14d, eax
shr r14d, 8
mov edx, esi
movzx ecx, al
cmp ebp, ecx
cmova ebp, ecx
test ebp, ebp
je 0x180051979
mov r9, qword [r11 + 0x80]
nop dword [rax]
lea eax, [rdx + r14]
mov eax, dword [r9 + rax*4]
prefetcht0 byte [rax + r12]
inc edx
cmp edx, ebp
jb 0x1800518f0
mov rax, qword [r11 + 0x80]
mov r13d, dword [rax + r14*4]
mov eax, dword [rbx]
lea rdx, [r12 + r13]
cmp dword [rdx], eax
jne 0x18005196b
mov rax, qword [rsp + 0x78]
lea rcx, [rbx + 4]
mov r9, r8
mov qword [rsp + 0x20], rax
mov r8, r15
add rdx, 4
call fcn.180038b50
add rax, 4
cmp rax, rdi
jbe 0x180051966
mov ecx, dword [rsp + 0x3c]
mov rdi, rax
mov rdx, qword [rsp + 0xf8]
sub ecx, r13d
sub ecx, dword [rsp + 0xe0]
add ecx, 3
mov qword [rdx], rcx
lea rcx, [rax + rbx]
cmp rcx, r15
je 0x180051979
mov r11, qword [rsp + 0x40]
mov r8, qword [rsp + 0x30]
inc r14d
inc esi
cmp esi, ebp
jb 0x180051903
mov rax, rdi
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, rcx
jmp 0x18005197c