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

Disassembly:
push rbp
push rsi
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0x100
mov rax, qword [rcx]
mov r15, rdx
mov rsi, rcx
cmp byte [rax], 0
je 0x1800080d1
mov qword [rsp + 0x128], rbx
mov rbx, qword [rcx + 8]
mov rcx, rbx
mov edx, dword [rbx + 0x4c]
not edx
and edx, 0xfc1
call fcn.18000aeb0
mov eax, dword [rbx + 0x4c]
and eax, 0xfc1
cmp eax, 0xfc1
jne 0x1800080c9
mov rbx, qword [rsi + 8]
mov eax, dword [rbx + 0x4c]
shr eax, 0xd
test al, 1
jne 0x180007740
mov edx, 0x2000
mov rcx, rbx
call fcn.18000aeb0
mov eax, dword [rbx + 0x4c]
shr eax, 0xd
test al, 1
je 0x1800080c9
mov rax, qword [rsi + 8]
mov qword [rsp + 0xf8], rdi
xor edi, edi
mov rcx, qword [rax]
movsxd rax, dword [rcx + 0x24]
test eax, eax
je 0x18000776c
add rax, r15
jmp 0x18000776f
mov rax, rdi
movzx r8d, byte [rax]
mov byte [rbp + 0x67], r8b
cmp r8b, 2
je 0x180007787
cmp r8b, 3
jne 0x1800080c1
mov rax, qword [rsi]
cmp byte [rax + 1], dil
je 0x180007869
mov rbx, qword [rsi + 8]
mov rax, qword [rbx]
cmp dword [rax + 0x24], edi
jne 0x1800077a4
xor al, al
jmp 0x1800077ec
mov eax, dword [rbx + 0x4c]
shr eax, 4
test al, 1
jne 0x1800077c0
mov edx, 0x10
mov rcx, rbx
call fcn.18000aeb0
movzx r8d, byte [rbp + 0x67]
mov eax, dword [rbx + 0x4c]
shr eax, 4
test al, 1
jne 0x1800077ce
xor al, al
jmp 0x1800077ec
mov rcx, qword [rsi + 8]
mov rax, qword [rcx]
movsxd rdx, dword [rax + 0x24]
test edx, edx
je 0x1800077e6
mov rax, rdx
add rax, qword [rcx + 0x10]
jmp 0x1800077e9
mov rax, rdi
movzx eax, byte [rax]
cmp r8b, al
jne 0x180007869
mov rbx, qword [rsi + 8]
mov eax, dword [rbx + 0x4c]
shr eax, 0x15
test al, 1
jne 0x18000780c
mov edx, 0x200000
mov rcx, rbx
call fcn.18000aeb0
mov eax, dword [rbx + 0x4c]
shr eax, 0x15
test al, 1
je 0x180007869
mov rcx, qword [rsi + 8]
mov rax, qword [rcx + 8]
mov r8, qword [rcx]
cmp byte [rcx + 0x49], dil
jne 0x18000785f
mov rdx, qword [rax + 0x210]
test rdx, rdx
je 0x180007869
movsx r9, byte [r8 + 1]
test r9b, r9b
je 0x180007869
movsx rax, byte [r8]
test al, al
je 0x18000784b
cmp word [rax + rdx], di
jne 0x180007869
movzx eax, byte [r9 + rdx]
mov byte [rbp + 0x77], al
mov byte [rbp + 0x78], 1
movzx eax, word [rbp + 0x77]
mov word [rcx + 0x48], ax
cmp byte [rcx + 0x48], dil
je 0x1800080c1
mov rbx, qword [rsi + 8]
mov rcx, qword [rbx]
movsxd rax, dword [rcx + 0x20]
test eax, eax
je 0x180007882
cmp byte [rax + r15], dil
jne 0x1800080c1
cmp dword [rcx + 0x130], edi
je 0x1800080c1
mov eax, dword [rbx + 0x4c]
shr eax, 3
test al, 1
jne 0x1800078a5
mov edx, 8
mov rcx, rbx
call fcn.18000aeb0
mov eax, dword [rbx + 0x4c]
shr eax, 3
test al, 1
je 0x1800080c1
mov rax, qword [rsi + 8]
mov qword [rsp + 0xf0], r12
mov r8, qword [rax + 0x18]
mov rax, qword [rax]
movsxd rcx, dword [rax + 0x130]
lea rax, [r15 + rcx]
test ecx, ecx
jne 0x1800078d8
mov rax, rdi
mov eax, dword [rax]
mov ecx, eax
and ecx, 0x7fff
cmp ecx, 0x7ffe
ja 0x180007910
shr rcx, 9
mov r8, qword [r8 + rcx*8]
test r8, r8
je 0x180007910
mov ecx, eax
and ecx, 0x1ff
imul rdx, rcx, 0x78
cmp dword [rdx + r8 + 0x10], eax
jne 0x180007910
mov r12, qword [rdx + r8]
jmp 0x180007913
mov r12, rdi
test r12, r12
je 0x1800080b9
mov rbx, qword [rsi + 8]
mov eax, dword [rbx + 0x4c]
shr eax, 4
test al, 1
jne 0x180007937
mov edx, 0x10
mov rcx, rbx
call fcn.18000aeb0
mov eax, dword [rbx + 0x4c]
shr eax, 4
test al, 1
je 0x18000794f
mov rax, qword [rsi + 8]
cmp qword [rax + 0x10], r12
je 0x1800080b9
mov rbx, qword [rsi + 8]
mov qword [rsp + 0xe8], r13
mov eax, dword [rbx + 0x4c]
shr eax, 0xc
test al, 1
jne 0x180007972
mov edx, 0x1000
mov rcx, rbx
call fcn.18000aeb0
mov r13d, dword [rbx + 0x4c]
shr r13d, 0xc
and r13b, 1
je 0x1800079a6
mov rax, qword [rsi + 8]
mov rcx, qword [rax]
movsxd rax, dword [rcx + 0x1c]
test eax, eax
je 0x180007994
add rax, r15
jmp 0x180007997
mov rax, rdi
mov edx, dword [rax]
mov dword [rbp + 0x7f], edx
test edx, edx
jle 0x1800080b1
jmp 0x1800079ad
mov dword [rbp + 0x7f], 0x64
mov r8, qword [rsi + 8]
mov rcx, qword [r8]
movsxd rax, dword [rcx + 0x18]
test eax, eax
je 0x1800079c1
add rax, r15
jmp 0x1800079c4
mov rax, rdi
mov rdx, qword [rax]
test rdx, rdx
je 0x1800080b1
movsxd rax, dword [rcx + 0x60]
movaps xmmword [rsp + 0xb0], xmm8
movaps xmmword [rsp + 0xa0], xmm9
movaps xmmword [rsp + 0x90], xmm10
movaps xmmword [rsp + 0x80], xmm11
lea rcx, [rdx + rax]
test eax, eax
jne 0x180007a03
mov rcx, rdi
movss xmm2, dword [rcx + 8]
movsd xmm0, qword [rcx]
movaps xmm1, xmm2
mov r8, qword [r8 + 8]
movaps xmm8, xmm0
movsd qword [rsp + 0x30], xmm0
movss xmm3, dword [rsp + 0x30]
shufps xmm8, xmm8, 0x55
movaps xmm0, xmm3
mov rax, qword [r8 + 0x20]
movaps xmm9, xmm8
movaps xmm10, xmm8
movaps xmm11, xmm8
mulss xmm0, dword [rax]
mulss xmm1, dword [rax + 8]
mulss xmm9, dword [rax + 4]
mulss xmm10, dword [rax + 0x14]
mulss xmm8, dword [rax + 0x34]
addss xmm9, xmm0
mulss xmm11, dword [rax + 0x24]
movaps xmm0, xmm3
mulss xmm0, dword [rax + 0x10]
addss xmm9, xmm1
movaps xmm1, xmm2
mulss xmm1, dword [rax + 0x18]
addss xmm10, xmm0
movaps xmm0, xmm3
mulss xmm3, dword [rax + 0x30]
mulss xmm0, dword [rax + 0x20]
addss xmm9, dword [rax + 0xc]
addss xmm10, xmm1
movaps xmm1, xmm2
mulss xmm2, dword [rax + 0x38]
addss xmm8, xmm3
mulss xmm1, dword [rax + 0x28]
addss xmm11, xmm0
addss xmm10, dword [rax + 0x1c]
addss xmm8, xmm2
addss xmm11, xmm1
addss xmm8, dword [rax + 0x3c]
addss xmm11, dword [rax + 0x2c]
comiss xmm8, dword [0x18001437c]
jb 0x18000808d
lea r9, [r8 + 0x38]
lea rcx, [r8 + 0x28]
mov r8, qword [r8]
lea rdx, [rbp + 0x77]
call fcn.180008630
mov rbx, qword [rbp + 0x77]
test rbx, rbx
je 0x18000808d
mov rax, qword [0x180016028]
movsx rcx, byte [rax + 0x108]
test cl, cl
je 0x18000808d
mov qword [rsp + 0xe0], r14
mov r14, rcx
add r14, rbx
je 0x180008085
mov rdi, qword [rsi]
mov rcx, rbx
call fcn.180008ba0
cmp dword [rdi + 0xc], eax
jne 0x180007b39
shr rax, 0x20
cmp dword [rdi + 0x10], eax
je 0x180007b53
mov rax, qword [rsi]
mov rcx, rbx
mov qword [rax + 0x28], 0
call fcn.180008ba0
mov rcx, qword [rsi]
mov qword [rcx + 0xc], rax
mov rax, qword [rsi + 8]
mov rcx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov r9, qword [rax + 8]
add r9, 0x38
cmp r8, qword [rcx + 0x28]
jae 0x180007ba1
mov rdx, qword [rcx + 0x20]
mov r11d, dword [r14]
movzx r10d, word [rdx + r8*2]
test r11d, r11d
jle 0x180007b8f
cmp r10d, r11d
jae 0x180007b8f
mov rdi, qword [r14 + 8]
mov rdi, qword [rdi + r10*8]
test rdi, rdi
jne 0x180007c09
mov rax, qword [rcx + 0x28]
movzx eax, word [rdx + rax*2 - 2]
mov word [rdx + r8*2], ax
dec qword [rcx + 0x28]
mov rax, qword [rsi + 8]
lea r8, [rbp - 0x79]
mov qword [rbp - 0x51], rax
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x59]
mov qword [rbp - 0x59], rbx
mov qword [rbp - 0x49], r9
mov rax, qword [rax + 8]
movups xmm0, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x79], xmm0
call fcn.180006b50
mov rdi, qword [rbp + 0x77]
test rdi, rdi
je 0x180008085
mov eax, dword [r14]
lea rdx, [rbp + 0x77]
test eax, eax
lea ecx, [rax - 1]
mov eax, 0
cmovle cx, ax
mov word [rbp + 0x77], cx
mov rcx, qword [rsi]
add rcx, 0x18
call fcn.18000b150
test rdi, rdi
je 0x180008085
mov rcx, qword [0x180016028]
movsx rax, byte [rcx + 0x108]
test al, al
je 0x180008085
add rax, rdi
je 0x180008085
cmp dword [rax], 5
jne 0x180008085
mov rax, qword [rax + 8]
mov rdx, qword [rax + 8]
mov r14, qword [rax]
mov rbx, qword [rax + 0x18]
mov qword [rbp + 0x77], rdx
mov rdx, qword [rax + 0x10]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x20], rdx
test r14, r14
je 0x180008085
mov rax, qword [rsi]
cmp byte [rax + 2], 0
movsxd rax, dword [rcx + 0xfc]
jne 0x180007c8d
test eax, eax
je 0x180007d37
add rax, qword [r14]
je 0x180007d37
xor edx, edx
mov rcx, r14
call qword [rax]
jmp 0x180007d37
test eax, eax
je 0x180007ca4
add rax, qword [r14]
je 0x180007ca4
mov dl, 1
mov rcx, r14
call qword [rax]
mov rcx, qword [0x180016028]
movsx rax, byte [rcx + 0x109]
test al, al
je 0x180007d37
mov rdx, rax
add rdx, r14
je 0x180007d37
mov rcx, qword [rsi + 8]
mov qword [rbp - 0x79], rdx
mov rax, qword [rcx + 8]
add rax, 0x38
mov qword [rbp - 0x71], rax
mov rax, qword [rcx]
movsxd rcx, dword [rax + 0x124]
mov rax, qword [rsi]
cmp byte [rax + 3], 0
jne 0x180007d0a
test ecx, ecx
je 0x180007d0a
mov rax, rcx
add rax, r12
je 0x180007d0a
movsxd rax, dword [rax]
test eax, eax
js 0x180007d0a
cmp eax, 5
jae 0x180007d0a
mov rdx, rax
lea rax, [0x180010008]
mov edx, dword [rax + rdx*4]
jmp 0x180007d2e
movzx ecx, byte [rbp + 0x67]
sub ecx, 2
je 0x180007d28
cmp ecx, 1
je 0x180007d20
mov edx, dword [0x1800100d0]
jmp 0x180007d2e
mov edx, dword [0x1800100e0]
jmp 0x180007d2e
mov edx, dword [0x1800100dc]
lea rcx, [rbp - 0x79]
call fcn.18000d540
test r13b, r13b
je 0x180007d4c
mov r8d, dword [rbp + 0x7f]
mov rcx, rsi
mov rdx, qword [rbp + 0x77]
call fcn.18000ca50
mov rdx, qword [rsp + 0x20]
mov r8, r15
mov rcx, rsi
call fcn.18000c580
mov rax, qword [rsi]
cmp byte [rax + 7], 0
je 0x180007e4c
mov rdx, r15
mov rcx, rsi
call fcn.1800087e0
test rax, rax
je 0x180007e4c
mov rcx, qword [rsi + 8]
mov rdx, qword [rcx]
movsxd rcx, dword [rdx + 0x148]
test ecx, ecx
je 0x180007d99
add rcx, rax
je 0x180007d99
mov r12d, dword [rcx]
jmp 0x180007d9f
mov r12d, 0xffffffff
test r12d, r12d
js 0x180007e4c
mov rcx, qword [0x180016028]
movsx rax, byte [rcx + 0x108]
test al, al
je 0x180007e6d
mov r14, rax
add r14, rbx
je 0x180007e6d
cmp dword [r14], 1
jl 0x180007e6d
movsxd rax, dword [rcx + 0xfc]
test eax, eax
je 0x180007dec
add rax, qword [rbx]
je 0x180007dec
mov dl, 1
mov rcx, rbx
call qword [rax]
mov rax, qword [r14 + 8]
lea rcx, [rbp - 0x79]
mov qword [rbp - 0x71], 0xa
mov edx, r12d
mov rbx, qword [rax]
lea rax, [rsp + 0x20]
mov qword [rbp - 0x79], rax
movups xmm0, xmmword [rbp - 0x79]
mov qword [rbp - 0x69], rax
mov rbx, qword [rbx + 8]
movups xmmword [rbp - 0x79], xmm0
call fcn.1800014f0
mov rax, qword [rbp - 0x69]
mov byte [rax], 0
mov rax, qword [0x180016028]
mov r10, qword [rax + 0xb0]
test r10, r10
je 0x180007e6d
mov rdx, qword [rbp - 0x79]
mov r9b, 1
xor r8d, r8d
mov rcx, rbx
call r10
jmp 0x180007e6d
mov rax, qword [0x180016028]
movsxd rcx, dword [rax + 0xfc]
test ecx, ecx
je 0x180007e6d
mov rax, rcx
add rax, qword [rbx]
je 0x180007e6d
xor edx, edx
mov rcx, rbx
call qword [rax]
mov rdx, qword [rsp + 0x30]
mov r8, r15
mov rcx, rsi
call fcn.18000d080
mov rax, qword [0x180016028]
movsx rcx, byte [rax + 0x109]
test cl, cl
je 0x180008085
add rcx, rdi
je 0x180008085
mov rbx, qword [rsi + 8]
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm7
mov qword [rsp + 0x30], rcx
mov rax, qword [rbx + 8]
add rax, 0x38
mov qword [rsp + 0x38], rax
mov eax, dword [rbx + 0x4c]
shr eax, 0x14
test al, 1
jne 0x180007eda
mov edx, 0x100000
mov rcx, rbx
call fcn.18000aeb0
mov eax, dword [rbx + 0x4c]
movss xmm6, dword [0x180014398]
movss xmm7, dword [0x18001438c]
shr eax, 0x14
test al, 1
je 0x180007f17
mov rax, qword [rsi + 8]
mov rcx, qword [rax]
movsxd rax, dword [rcx + 0x128]
test eax, eax
je 0x180007f0b
add rax, r15
jmp 0x180007f0d
xor eax, eax
cmp byte [rax], 0
je 0x180007f17
movaps xmm1, xmm7
jmp 0x180007f1a
movaps xmm1, xmm6
lea rcx, [rsp + 0x30]
call fcn.18000cfd0
movaps xmm1, xmm11
lea rcx, [rsp + 0x30]
xorps xmm1, xmmword [0x1800143e0]
call fcn.18000d6a0
mov rcx, qword [rsi + 8]
movaps xmm0, xmm6
mov eax, dword [rcx + 0x4c]
lea rbx, [rcx + 0x4c]
divss xmm0, xmm8
mov rdx, rcx
shr eax, 0xe
mov dword [rbp + 0x7f], 0x3f800000
mov dword [rbp + 0x67], 0x3ecccccd
movss xmm8, dword [0x180014388]
mulss xmm9, xmm0
mulss xmm10, xmm0
test al, 1
jne 0x180007f88
mov edx, 0x4000
call fcn.18000aeb0
mov rcx, qword [rsi + 8]
mov rdx, rcx
mov eax, dword [rbx]
shr eax, 0xe
test al, 1
je 0x180007f98
movss xmm0, dword [rdx + 0x24]
jmp 0x180007f9b
movaps xmm0, xmm6
mov rcx, qword [rcx + 8]
lea rax, [rbp + 0x77]
divss xmm11, xmm0
lea rdx, [rbp + 0x67]
movss xmm0, dword [0x1800143d0]
addss xmm11, dword [0x1800143cc]
divss xmm0, xmm11
comiss xmm8, xmm0
movss dword [rbp + 0x77], xmm0
cmovbe rdx, rax
add rcx, 0x10
comiss xmm0, xmm6
lea rax, [rbp + 0x7f]
cmovbe rax, rdx
movss xmm1, dword [rax]
call fcn.18000c500
addss xmm9, xmm6
mov qword [rbp - 0x79], rax
mov rax, qword [rsi + 8]
movaps xmm0, xmm6
subss xmm0, xmm10
mov dword [rbp + 0x6b], 2
mov dword [rbp + 0x7b], 2
mov rcx, qword [rax + 8]
mulss xmm9, xmm7
add rcx, 0x10
mulss xmm0, xmm7
mulss xmm9, dword [0x1800143c4]
mulss xmm0, dword [0x1800143c4]
movss dword [rbp + 0x77], xmm9
mov rdx, qword [rbp + 0x77]
movss dword [rbp + 0x67], xmm0
mov r8, qword [rbp + 0x67]
call fcn.18000da20
mov rcx, qword [rsp + 0x30]
lea rdx, [rbp - 0x59]
mov qword [rbp - 0x71], rax
lea rax, [rbp - 0x79]
mov qword [rbp - 0x49], 2
mov qword [rbp - 0x51], rax
mov dword [rbp - 0x59], 2
mov rax, qword [rcx]
call qword [rax + 0x88]
inc qword [rsi + 0x10]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
mov r14, qword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm11, xmmword [rsp + 0x80]
mov r13, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
mov rbx, qword [rsp + 0x128]
add rsp, 0x100
pop r15
pop rsi
pop rbp
ret