Function at 0x4c2240
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, 0x128
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xf0], xmm7
movaps xmmword [rsp + 0x100], xmm8
movaps xmmword [rsp + 0x110], xmm9
movabs rbp, 0xaaaaaaaaaaaaaaab
mov rsi, rcx
mov rdi, qword [rsi + 0xc0]
lea rdx, [rsi + 0x78]
sub rdi, qword [rsi + 0xb8]
mov qword [rsp + 0x38], rdx
lea rcx, [rcx + 0x60]
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x30], rcx
mov rbx, qword [rsi + 0x78]
sar rdi, 4
imul rdi, rbp
mov qword [rsi + 0x68], rax
mov qword [rsi + 0x80], rbx
lea rdx, [rdi + rdi*4]
add rdx, rdx
call fcn.0069d4d0
mov rcx, qword [rsi + 0xc0]
movabs r10, 0x3fffffffffffffff
sub rcx, qword [rsi + 0xb8]
sar rcx, 4
imul rcx, rbp
lea r8, [rcx + rcx*4]
lea r9, [r8 + r8]
cmp r9, r10
ja 0x4c28fd
mov r15, qword [rsi + 0x78]
mov r11, qword [rsi + 0x88]
sub r11, r15
sar r11, 2
cmp r9, r11
ja 0x4c2890
movabs rcx, 0x3e4ccccd3ecccccd
movabs rax, 0x3f80000000000000
movabs rdx, 0x3f0000003f800000
mov qword [rsp + 0x50], 0x3f800000
movabs r8, 0x3f0000003f000000
mov qword [rsp + 0x8c], rcx
mov ecx, 0x84
movabs rbp, 0x3f8000003f800000
mov qword [rsp + 0x74], rdx
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0xb0], r8
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x5c], rax
mov dword [rsp + 0x64], 0
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x70], 0x3f800000
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x94], 0
mov qword [rsp + 0x98], 0x3f19999a
mov dword [rsp + 0xa0], 0x3f19999a
mov qword [rsp + 0xa4], 0
mov dword [rsp + 0xac], 0x3f000000
mov dword [rsp + 0xb8], 0
mov qword [rsp + 0xbc], rax
mov dword [rsp + 0xc4], 0x3f800000
mov qword [rsp + 0xc8], 0x3e99999a
mov dword [rsp + 0xd0], 0x3f000000
call fcn.005ab718
mov r9, qword [rsp + 0x50]
mov r10d, dword [rsp + 0x58]
mov r12, rax
mov r15, qword [rsp + 0x5c]
mov r13, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x70]
mov qword [rax], r9
mov r14, qword [rsp + 0x74]
mov dword [rax + 8], r10d
mov edi, dword [rsp + 0x7c]
mov qword [rax + 0xc], r15
mov r11d, dword [rsp + 0x64]
mov qword [rax + 0x18], r13
mov dword [rax + 0x20], ebx
mov edx, dword [rsp + 0x88]
mov qword [rax + 0x24], r14
mov rbp, qword [rsp + 0x8c]
mov dword [rax + 0x2c], edi
mov ecx, dword [rsp + 0x94]
mov dword [rax + 0x14], r11d
mov r8, qword [rsp + 0x98]
mov rax, qword [rsp + 0x80]
mov dword [r12 + 0x38], edx
mov r9d, dword [rsp + 0xa0]
mov qword [r12 + 0x3c], rbp
mov r10, qword [rsp + 0xa4]
mov dword [r12 + 0x44], ecx
mov r15d, dword [rsp + 0xac]
mov qword [r12 + 0x48], r8
mov qword [r12 + 0x30], rax
mov dword [r12 + 0x50], r9d
mov qword [r12 + 0x54], r10
mov dword [r12 + 0x5c], r15d
mov r11, qword [rsp + 0xb0]
mov r13d, dword [rsp + 0xb8]
mov dword [rsp + 0x4c], 0
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xbc]
mov r14d, dword [rsp + 0xc4]
mov qword [r12 + 0x60], r11
mov dword [r12 + 0x68], r13d
mov r13, qword [rsi + 0xc0]
mov qword [r12 + 0x78], rdi
mov rdi, qword [rsi + 0xb8]
mov eax, dword [rsp + 0xd0]
mov qword [r12 + 0x6c], rbx
mov dword [r12 + 0x74], r14d
cmp r13, rdi
mov dword [r12 + 0x80], eax
je 0x4c2803
lea rdx, [rsp + 0x50]
xor ebp, ebp
movss xmm9, dword [0x006e2460]
mov qword [rsp + 0x28], rdx
nop
movabs r8, 0xcf3cf3cf3cf3cf3d
mov r14, qword [rdi + 8]
mov rbx, qword [rdi]
mov rcx, r14
sub rcx, rbx
sar rcx, 4
imul rcx, r8
cmp rcx, 1
jbe 0x4c27f6
mov rdx, rdi
mov rcx, rsi
call fcn.004bfc40
test al, al
je 0x4c27f6
mov eax, ebp
mov r9d, 0xba2e8ba3
mul r9d
mov eax, ebp
shr edx, 3
lea r10d, [rdx + rdx*4]
lea r15d, [rdx + r10*2]
sub eax, r15d
cmp byte [rsi + 0xd2], 0
lea rcx, [rax + rax*2]
lea r8, [r12 + rcx*4]
movss xmm8, dword [r8]
movss xmm7, dword [r8 + 4]
movss xmm6, dword [r8 + 8]
je 0x4c26dd
mov r9d, dword [rsi + 0x118]
pxor xmm0, xmm0
movaps xmm5, xmm9
movss xmm2, dword [rsi + 0xf4]
movss xmm1, dword [rdi + 0x2c]
movss xmm3, dword [rsi + 0xf8]
sub r9d, 1
subss xmm1, xmm2
movss xmm6, dword [0x006e2454]
cvtsi2ss xmm0, r9
subss xmm3, xmm2
mulss xmm0, xmm1
divss xmm0, xmm3
addss xmm0, dword [0x006e2474]
movaps xmm4, xmm0
andps xmm4, xmm9
ucomiss xmm6, xmm4
jbe 0x4c2656
cvttss2si edx, xmm0
pxor xmm7, xmm7
movss xmm2, dword [0x006e2470]
andnps xmm5, xmm0
cvtsi2ss xmm7, edx
movaps xmm8, xmm7
cmpnless xmm8, xmm0
movaps xmm0, xmm5
andps xmm8, xmm2
subss xmm7, xmm8
orps xmm0, xmm7
mov r10, qword [rsi + 0x110]
cvttss2si r15, xmm0
mov rax, qword [r10]
mov edx, r15d
mov r8, qword [r10 + 8]
sub r8, rax
sar r8, 2
cmp rdx, r8
jae 0x4c2934
mov r11, qword [rsi + 0x108]
movss xmm6, dword [rax + rdx*4]
movss xmm1, dword [0x006e2478]
mov rcx, qword [r11]
divss xmm6, xmm1
mov r8, qword [r11 + 8]
sub r8, rcx
sar r8, 2
cmp rdx, r8
jae 0x4c2928
mov r8, qword [rsi + 0x100]
movss xmm7, dword [rcx + rdx*4]
mov r9, qword [r8]
mov r8, qword [r8 + 8]
divss xmm7, xmm1
sub r8, r9
sar r8, 2
cmp rdx, r8
jae 0x4c291c
movss xmm8, dword [r9 + rdx*4]
divss xmm8, xmm1
cmp rbx, r14
je 0x4c27f3
lea r15, [rsp + 0x4c]
jmp 0x4c279a
mov qword [rdx], r10
mov r11d, dword [rsp + 0x58]
add rdx, 0x18
mov dword [rdx - 0x10], r11d
mov rcx, qword [rsp + 0x5c]
mov qword [rdx - 0xc], rcx
mov r8d, dword [rsp + 0x64]
mov dword [rdx - 4], r8d
mov qword [rsi + 0x68], rdx
lea r9, [r14 - 0x150]
cmp rbx, r9
je 0x4c2789
cmp byte [rbx + 0x18c], 0
je 0x4c2739
mov edx, dword [rsi + 0xfc]
cmp dword [rbx + 0x188], edx
ja 0x4c2789
mov rdx, qword [rsi + 0x80]
mov r14, qword [rsi + 0x88]
cmp rdx, r14
je 0x4c2870
mov r10d, dword [rsp + 0x4c]
add rdx, 4
mov dword [rdx - 4], r10d
mov qword [rsi + 0x80], rdx
mov eax, dword [rsp + 0x4c]
add eax, 1
cmp rdx, r14
mov dword [rsp + 0x50], eax
je 0x4c2853
mov dword [rdx], eax
add rdx, 4
mov qword [rsi + 0x80], rdx
mov r14, qword [rdi + 8]
add dword [rsp + 0x4c], 1
add rbx, 0x150
cmp rbx, r14
je 0x4c27f3
cmp byte [rbx + 0x3c], 0
je 0x4c27ab
mov edx, dword [rsi + 0xfc]
cmp dword [rbx + 0x38], edx
ja 0x4c278e
mov r10, qword [rbx]
mov rdx, qword [rsi + 0x68]
cmp rdx, qword [rsi + 0x70]
mov qword [rsp + 0x50], r10
mov eax, dword [rbx + 8]
movss dword [rsp + 0x5c], xmm8
movss dword [rsp + 0x60], xmm7
movss dword [rsp + 0x64], xmm6
mov dword [rsp + 0x58], eax
jne 0x4c26f0
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
call fcn.0069d110
mov r14, qword [rdi + 8]
jmp 0x4c2716
add ebp, 1
add rdi, 0x30
cmp r13, rdi
jne 0x4c2550
mov rcx, rsi
call fcn.004c2d70
mov rdi, qword [rsi]
mov rcx, rsi
call qword [rdi + 0x20]
mov rcx, r12
call fcn.005ab730
nop
movaps xmm6, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
movaps xmm9, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
call fcn.006c27b0
jmp 0x4c2785
mov rcx, qword [rsp + 0x38]
mov r8, r15
call fcn.006c27b0
mov rdx, qword [rsi + 0x80]
mov r14, qword [rsi + 0x88]
jmp 0x4c2764
mov r13, qword [rsi + 0x80]
lea r12, [r8*8]
mov rbx, r13
sub rbx, r15
test r9, r9
je 0x4c28f6
mov rcx, r12
call fcn.005ab718
mov r14, qword [rsi + 0x78]
mov rdi, rax
cmp r15, r13
je 0x4c28cc
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.005b9c00
test r14, r14
je 0x4c28d9
mov rcx, r14
call fcn.005ab730
add rbx, rdi
mov qword [rsi + 0x78], rdi
add rdi, r12
mov qword [rsi + 0x80], rbx
mov qword [rsi + 0x88], rdi
jmp 0x4c2315
mov r14, r15
xor edi, edi
jmp 0x4c28b9
lea rcx, [0x006e23bb]
call fcn.005ab780
mov rsi, rax
mov rcx, r12
call fcn.005ab730
mov rcx, rsi
call fcn.005ab970
lea rcx, [0x006e23e8]
call fcn.005ab768
lea rcx, [0x006e23e8]
call fcn.005ab768
lea rcx, [0x006e23e8]
call fcn.005ab768
nop
nop
nop dword [rax]
nop word cs:[rax + rax]