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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xc0], xmm7
mov rax, qword [rcx]
mov edi, dword [rcx + 0x10]
mov qword [rsp + 0x38], rax
movzx eax, byte [rax + 0x26]
mov r14, rcx
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x2f], al
lea eax, [rdi - 1]
mov dword [rsp + 0x44], edi
lea rdi, [rax + rax*2 + 3]
shl rdi, 3
cmp byte [r14 + 9], 0
lea r15, [r14 + 0x40]
jne 0x6300f5
mov eax, dword [r14 + 0x24]
test eax, eax
je 0x630ae8
mov r15, qword [r14 + 0x30]
test r15, r15
je 0x630ae8
movzx eax, byte [r15 + 0x10]
test al, al
je 0x630aed
lea rdx, [rsp + 0x58]
mov rcx, r14
call fcn.0062fcb0
mov rdx, rax
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x63078d
mov r12, qword [rdx + 0x18]
pxor xmm6, xmm6
mov rbp, rdi
movzx eax, byte [r12 + 2]
movzx edx, byte [r12 + 3]
shl eax, 8
lea ebx, [rax + rdx]
mov rax, qword [rsp + 0x38]
movzx edx, byte [r15 + 0x12]
mov dword [rsp + 0x40], ebx
movzx eax, byte [rax + 0x27]
imul eax, edx
add eax, 4
cdqe
add r12, rax
cmp edx, ebx
jge 0x63050e
mov edx, dword [rsp + 0x44]
test edx, edx
jle 0x630aff
lea rax, [rsp + 0x60]
mov edi, 2
movsd xmm7, qword [0x0082feb0]
xor ebx, ebx
mov qword [rsp + 0x30], rax
mov rax, rbp
mov ebp, edi
mov rdi, r14
mov r14, rax
jmp 0x6301d6
cmp byte [r15 + 0x10], 1
mov eax, dword [rsi]
je 0x630520
and eax, 0xfe
lea rdx, [r12 + rax*4 + 8]
cmp r8d, 0x40
je case.0x63055a.64
jg 0x6304a0
cmp r8d, 0x3f
jne 0x6309d0
add rbx, 0x18
cmp rbx, r14
je 0x630430
mov rsi, qword [rdi + 0x18]
add rsi, rbx
mov r8d, dword [rsi + 4]
cmp r8d, 0x45
jle 0x630198
mov r13, qword [rsi + 0x10]
mov edx, dword [r13 + 0x38]
cmp r8d, 0x47
je 0x630a18
cmp byte [rsp + 0x2f], 1
je 0x6305d0
cmp edx, 8
je 0x630949
jg 0x6308c0
cmp edx, 4
je 0x6302a5
cmp edx, 6
jne 0x63031f
movzx eax, byte [r12 + 0x1c]
movzx ecx, byte [r12 + 0x1f]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x1d]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x1e]
shl eax, 8
add eax, ecx
movd xmm5, eax
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x88], xmm0
movzx eax, byte [r12 + 0x18]
movzx ecx, byte [r12 + 0x1b]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x19]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x1a]
shl eax, 8
add eax, ecx
movd xmm2, eax
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x80], xmm0
movzx eax, byte [r12 + 0x14]
movzx ecx, byte [r12 + 0x17]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x15]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x16]
shl eax, 8
add eax, ecx
movd xmm4, eax
cvtss2sd xmm0, xmm4
movsd qword [rsp + 0x78], xmm0
movzx eax, byte [r12 + 0x10]
movzx ecx, byte [r12 + 0x13]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x11]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x12]
shl eax, 8
add eax, ecx
movd xmm5, eax
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [r12 + 0xc]
movzx ecx, byte [r12 + 0xf]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0xd]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0xe]
shl eax, 8
add eax, ecx
movd xmm2, eax
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x68], xmm0
movzx eax, byte [r12 + 8]
movzx ecx, byte [r12 + 0xb]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 9]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0xa]
shl eax, 8
add eax, ecx
movd xmm3, eax
cvtss2sd xmm0, xmm3
movsd qword [rsp + 0x60], xmm0
cmp r8d, 0x46
je 0x630757
mov rax, qword [rsp + 0x30]
movsd xmm0, qword [r15]
mov rcx, r13
mov qword [r13 + 0x28], rax
movzx eax, byte [r15 + 0x10]
movsd qword [r13 + 0x50], xmm0
sub eax, 1
movsd qword [r13 + 0x60], xmm0
mov dword [r13 + 0x3c], eax
movzx eax, byte [r15 + 0x11]
mov dword [r13 + 0x58], eax
mov dword [r13 + 0x5c], eax
call qword [rsi + 8]
mov edx, dword [r13 + 0x5c]
movsd xmm0, qword [r13 + 0x60]
cmp ebp, edx
cmovg ebp, edx
comisd xmm7, xmm0
ja 0x630406
movapd xmm1, xmm7
cmpltsd xmm1, xmm6
andpd xmm0, xmm1
andnpd xmm1, xmm7
orpd xmm0, xmm1
mov dword [rsp + 0x58], eax
test eax, eax
jne 0x63078d
test ebp, ebp
je case.0x63055a.64
add rbx, 0x18
movapd xmm7, xmm0
cmp rbx, r14
jne 0x6301d6
nop dword [rax + rax]
mov rax, r14
mov r14, rdi
mov rdi, rax
movzx ebx, byte [r15 + 0x12]
movzx r13d, byte [r15 + 0x10]
lea esi, [rbx + 1]
mov byte [r15 + 0x12], sil
sub r13b, 1
jne 0x630a9d
mov r12, qword [r15 + 8]
movzx esi, sil
cmp esi, dword [rsp + 0x40]
jge 0x630a90
pxor xmm1, xmm1
movzx r8d, r13b
mov rcx, r14
maxsd xmm1, xmm7
call fcn.0062e750
test rax, rax
je 0x630b14
mov byte [rax + 0x11], bpl
mov qword [rax + 8], r12
mov byte [rax + 0x12], bl
cmp ebx, dword [rsp + 0x40]
jl 0x6300d1
jmp 0x63050e
lea eax, [r8 - 0x41]
cmp eax, 2
ja 0x6309d0
mov eax, dword [rdx]
cmp byte [rsp + 0x2f], 1
bswap eax
jne 0x630a78
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [rsi + 8]
comisd xmm1, xmm0
jae case.0x63055a.63
cmp r8d, 0x41
je 0x6309d5
nop dword [rax]
mov rbp, r14
mov r14, rdi
movzx eax, byte [r15 + 0x12]
mov rdi, qword [rsp + 0x38]
add eax, 1
mov byte [r15 + 0x12], al
movzx edx, byte [rdi + 0x27]
movzx eax, al
add r12, rdx
cmp eax, dword [rsp + 0x40]
jl 0x630160
mov rdi, rbp
mov rcx, r14
call fcn.0062c0f0
jmp 0x6300d1
lea eax, [rax*4 + 8]
cmp byte [rsp + 0x2f], 1
cdqe
mov eax, dword [r12 + rax]
bswap eax
jne 0x630a00
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
sub r8d, 0x3f
cmp r8d, 6
ja case.0x63055a.65
lea rdx, [0x00826990]
movsxd rax, dword [rdx + r8*4]
add rax, rdx
jmp rax
comisd xmm0, xmmword [rsi + 8]
jbe case.0x63055a.64
jmp case.0x63055a.63
comisd xmm0, xmmword [rsi + 8]
jb case.0x63055a.64
jmp case.0x63055a.63
movsd xmm1, qword [rsi + 8]
comisd xmm1, xmm0
jbe case.0x63055a.64
jmp case.0x63055a.63
movsd xmm1, qword [rsi + 8]
comisd xmm1, xmm0
jb case.0x63055a.64
jmp case.0x63055a.63
ucomisd xmm0, qword [rsi + 8]
jp case.0x63055a.64
je case.0x63055a.63
jmp case.0x63055a.64
cmp edx, 8
je 0x630839
jg 0x6307b8
cmp edx, 4
je 0x630669
cmp edx, 6
jne 0x6306db
movzx eax, byte [r12 + 0x1c]
movzx ecx, byte [r12 + 0x1f]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x1d]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x1e]
shl eax, 8
add eax, ecx
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x88], xmm0
movzx eax, byte [r12 + 0x18]
movzx ecx, byte [r12 + 0x1b]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x19]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x1a]
shl eax, 8
add eax, ecx
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x80], xmm0
movzx eax, byte [r12 + 0x14]
movzx ecx, byte [r12 + 0x17]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x15]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x16]
shl eax, 8
add eax, ecx
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x78], xmm0
movzx eax, byte [r12 + 0x10]
movzx ecx, byte [r12 + 0x13]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x11]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x12]
shl eax, 8
add eax, ecx
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [r12 + 0xc]
movzx ecx, byte [r12 + 0xf]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0xd]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0xe]
shl eax, 8
add eax, ecx
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x68], xmm0
movzx eax, byte [r12 + 8]
movzx ecx, byte [r12 + 0xb]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 9]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0xa]
shl eax, 8
add eax, ecx
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x60], xmm0
cmp r8d, 0x46
jne 0x6303a3
mov rcx, r13
mov r8, qword [rsp + 0x30]
lea r9, [rsp + 0x5c]
mov dword [rsp + 0x5c], 0
call qword [rsi + 8]
mov ecx, dword [rsp + 0x5c]
test ecx, ecx
jne 0x630a60
mov rbp, r14
mov dword [rsp + 0x58], eax
mov r14, rdi
test eax, eax
je 0x6304e6
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp edx, 0xa
jne 0x6306db
movzx eax, byte [r12 + 0x2c]
movzx ecx, byte [r12 + 0x2f]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x2d]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x2e]
shl eax, 8
add eax, ecx
cvtsi2sd xmm0, eax
movsd qword [rsp + 0xa8], xmm0
movzx eax, byte [r12 + 0x28]
movzx ecx, byte [r12 + 0x2b]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x29]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x2a]
shl eax, 8
add eax, ecx
cvtsi2sd xmm0, eax
movsd qword [rsp + 0xa0], xmm0
movzx eax, byte [r12 + 0x24]
movzx ecx, byte [r12 + 0x27]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x25]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x26]
shl eax, 8
add eax, ecx
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x98], xmm0
movzx eax, byte [r12 + 0x20]
movzx ecx, byte [r12 + 0x23]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x21]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x22]
shl eax, 8
add eax, ecx
cvtsi2sd xmm0, eax
movsd qword [rsp + 0x90], xmm0
jmp 0x6305f1
cmp edx, 0xa
jne 0x63031f
movzx eax, byte [r12 + 0x2c]
movzx ecx, byte [r12 + 0x2f]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x2d]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x2e]
shl eax, 8
add eax, ecx
movd xmm2, eax
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0xa8], xmm0
movzx eax, byte [r12 + 0x28]
movzx ecx, byte [r12 + 0x2b]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x29]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x2a]
shl eax, 8
add eax, ecx
movd xmm2, eax
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0xa0], xmm0
movzx eax, byte [r12 + 0x24]
movzx ecx, byte [r12 + 0x27]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x25]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x26]
shl eax, 8
add eax, ecx
movd xmm5, eax
cvtss2sd xmm0, xmm5
movsd qword [rsp + 0x98], xmm0
movzx eax, byte [r12 + 0x20]
movzx ecx, byte [r12 + 0x23]
pxor xmm0, xmm0
shl eax, 0x18
mov r9d, eax
movzx eax, byte [r12 + 0x21]
shl eax, 0x10
add eax, r9d
add ecx, eax
movzx eax, byte [r12 + 0x22]
shl eax, 8
add eax, ecx
movd xmm3, eax
cvtss2sd xmm0, xmm3
movsd qword [rsp + 0x90], xmm0
jmp 0x630225
movsd xmm1, qword [rsi + 8]
mov eax, dword [rdx + 4]
cmp byte [rsp + 0x2f], 1
bswap eax
jne 0x630a50
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
comisd xmm0, xmm1
jb case.0x63055a.64
jmp case.0x63055a.63
movd xmm4, eax
pxor xmm0, xmm0
cvtss2sd xmm0, xmm4
jmp 0x630542
cmp byte [r15 + 0x10], 1
jne 0x6301f9
mov rcx, r12
mov dword [rsp + 0x4c], edx
mov dword [rsp + 0x48], r8d
call fcn.0058f420
mov edx, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x48]
mov qword [r13 + 0x48], rax
jmp 0x6301f9
movd xmm3, eax
pxor xmm0, xmm0
cvtss2sd xmm0, xmm3
jmp 0x6309e9
mov dword [rsp + 0x58], eax
test eax, eax
jne 0x63078d
pxor xmm7, xmm7
jmp case.0x63055a.63
movd xmm4, eax
pxor xmm0, xmm0
cvtss2sd xmm0, xmm4
jmp 0x6304c4
mov rcx, r14
call fcn.0062c0f0
jmp 0x630466
mov rcx, r12
call fcn.0058f420
mov edx, dword [r14 + 0x24]
mov r12, rax
test edx, edx
jle 0x630af8
mov rcx, qword [r14 + 0x30]
sub edx, 1
lea rdx, [rdx + rdx*2]
lea rax, [rcx + 8]
lea rdx, [rcx + rdx*8 + 0x20]
jmp 0x630ad9
add rax, 0x18
cmp rax, rdx
je 0x630af8
cmp r12, qword [rax]
jne 0x630ad0
mov eax, 0x10b
jmp 0x63078d
mov eax, 1
mov byte [r14 + 8], al
xor eax, eax
jmp 0x63078d
xor ebx, ebx
jmp 0x630458
mov rdi, rbp
movsd xmm7, qword [0x0082feb0]
mov ebp, 2
jmp 0x630439
mov eax, 7
jmp 0x63078d