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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov eax, dword [0x93d814]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x20]
movss xmm0, dword [0x6b8c34]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x1c]
push esi
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0x60], ecx
cmp byte [eax + 0x5d], 0
mov ecx, dword [eax]
push edi
mov edi, dword [eax + 8]
mov dword [ebp - 0x58], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x50], ecx
mov ecx, dword [edi]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x64], ecx
je 0x505c6b
movss xmm2, dword [eax + 0x6c]
movss xmm1, dword [edi + 0x10]
mulss xmm1, xmm2
comiss xmm0, xmm1
jb 0x505b62
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005c33e1
mov esp, ebp
pop ebp
ret
movss xmm0, dword [eax + 0x60]
mulss xmm0, dword [edi + 4]
movss dword [ebp - 0x48], xmm0
movss xmm0, dword [eax + 0x64]
mulss xmm0, dword [edi + 8]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [eax + 0x68]
mulss xmm0, dword [edi + 0xc]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [edi + 0x10]
mulss xmm0, xmm2
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [eax + 0x80]
mulss xmm0, dword [edi + 0x24]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [eax + 0x84]
mulss xmm0, dword [edi + 0x28]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [eax + 0x88]
mulss xmm0, dword [edi + 0x2c]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [eax + 0x8c]
mulss xmm0, dword [edi + 0x30]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [eax + 0x90]
mulss xmm0, dword [edi + 0x34]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [eax + 0x94]
mulss xmm0, dword [edi + 0x38]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [eax + 0x98]
mulss xmm0, dword [edi + 0x3c]
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [eax + 0x9c]
mulss xmm0, dword [edi + 0x40]
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [eax + 0x70]
mulss xmm0, dword [edi + 0x14]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [eax + 0x74]
mulss xmm0, dword [edi + 0x18]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [eax + 0x78]
mulss xmm0, dword [edi + 0x1c]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [eax + 0x7c]
mulss xmm0, dword [edi + 0x20]
movss dword [ebp - 0x2c], xmm0
jmp 0x505c95
comiss xmm0, dword [edi + 0x10]
jae 0x505b4f
movups xmm0, xmmword [edi + 4]
movups xmmword [ebp - 0x48], xmm0
movups xmm0, xmmword [edi + 0x24]
movups xmmword [ebp - 0x28], xmm0
movups xmm0, xmmword [edi + 0x14]
movups xmmword [ebp - 0x38], xmm0
movups xmm0, xmmword [edi + 0x34]
movups xmmword [ebp - 0x18], xmm0
movss xmm0, dword [edi + 0x44]
lea eax, [edi + 0x48]
push 0x10
push eax
push 0x94a45c
movss dword [ebp - 8], xmm0
call fcn.00497210
lea eax, [ebp - 0x48]
mov dword [0x94a414], 1
push eax
mov dword [0xdf0dcc], 1
call fcn.004e5550
add esp, 0x10
cmp dword [0x94970c], 0
je 0x505cdc
xor eax, eax
jmp 0x505ce3
mov eax, dword [ebp - 0x50]
movzx eax, byte [eax + 0x49]
push eax
call fcn.004e4550
push dword [edi + 0x1ac]
push dword [edi + 0x1a8]
push dword [edi + 0x1a4]
call fcn.0043b8c0
mov ecx, dword [ebp - 0x5c]
add esp, 0x10
mov dword [esi + 0x10], 0
mov dword [esi + 0x24], 0xffffffff
mov dword [esi + 0x28], 0xffffffff
mov dword [esi + 0x2c], 0xffffffff
mov eax, dword [edi + 0x190]
mov dword [esi], eax
mov eax, dword [edi + 0x194]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x198]
mov dword [esi + 4], eax
mov eax, dword [ecx + 0xb4]
cmp eax, 0xffffffff
jne 0x505d4d
mov eax, dword [edi + 0x1a0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx + 0xa0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xffffff
mov dword [esi + 0x14], eax
cmp dword [0x94970c], 0
je 0x505d78
xor eax, eax
jmp 0x505d92
mov eax, dword [ecx + 0xb0]
cmp eax, 0xffffffff
jne 0x505d89
mov eax, dword [edi + 0x19c]
cmp eax, 0xe
ja case.0x505d99.5
movzx eax, byte [eax + 0x506190]
jmp dword [eax*4 + 0x506170]
mov dword [esi + 0xc], 0
mov eax, dword [0xe30a98]
mov dword [esi + 0x18], eax
mov eax, dword [0xe30a9c]
mov dword [esi + 0x1c], eax
mov eax, dword [0xe30aa0]
mov dword [esi + 0x20], eax
jmp case.0x505d99.5
mov eax, dword [ebp - 0x58]
mov ecx, 5
mov dword [esi + 0xc], 1
mov edx, 2
mov eax, dword [eax + 8]
cmp byte [eax + 0x25a], 0
mov dword [esi + 0x1c], 6
cmovne ecx, edx
mov dword [esi + 0x18], ecx
jmp 0x505e82
mov eax, dword [ebp - 0x58]
mov edx, 2
mov dword [esi + 0xc], 1
mov ecx, 5
mov eax, dword [eax + 8]
cmp byte [eax + 0x25a], 0
mov dword [esi + 0x1c], edx
cmovne ecx, edx
mov dword [esi + 0x18], ecx
jmp 0x505e82
mov eax, dword [ebp - 0x58]
mov edx, 2
mov dword [esi + 0xc], 1
mov ecx, 5
mov eax, dword [eax + 8]
cmp byte [eax + 0x25a], 0
mov dword [esi + 0x1c], edx
cmovne ecx, edx
mov dword [esi + 0x20], 3
mov dword [esi + 0x18], ecx
jmp case.0x505d99.5
mov dword [esi + 0x18], 5
mov dword [esi + 0x1c], 6
jmp 0x505e7b
mov dword [esi + 0x18], 1
mov dword [esi + 0x1c], 3
jmp 0x505e7b
mov dword [esi + 0x18], 2
mov dword [esi + 0x1c], 1
mov dword [esi + 0xc], 1
mov dword [esi + 0x20], 1
mov eax, dword [edi + 0x58]
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x1c], 0
jne 0x505ec2
movss xmm0, dword [ebp - 0x28]
movss xmm1, dword [0x6b8c38]
comiss xmm0, xmm1
ja 0x505ec2
movss xmm0, dword [ebp - 0x24]
comiss xmm0, xmm1
ja 0x505ec2
movss xmm0, dword [ebp - 0x20]
comiss xmm0, xmm1
ja 0x505ec2
xor eax, eax
jmp 0x505ec7
mov eax, 1
mov esi, dword [ebp - 0x60]
mov dword [esi], eax
cmp dword [0x949344], 0
jne 0x505eea
mov eax, dword [edi]
mov eax, dword [eax + 8]
cmp eax, 1
je 0x505ee4
cmp eax, 2
jne 0x505eea
mov dword [esi], 0
push dword [esi]
call fcn.004e5c20
add esp, 4
cmp dword [0x949344], 0
jne 0x505f17
mov eax, dword [edi]
mov eax, dword [eax + 8]
cmp eax, 1
je 0x505f0c
cmp eax, 2
jne 0x505f17
push 1
call fcn.004e4630
push 1
jmp 0x505f28
mov eax, dword [ebp - 0x50]
push dword [eax + 0x18]
call fcn.004e4630
mov eax, dword [ebp - 0x50]
push dword [eax + 0x1c]
call fcn.004e5c90
mov eax, dword [edi]
add esp, 8
mov eax, dword [eax + 8]
cmp eax, 1
je 0x505f5c
cmp eax, 2
je 0x505f5c
cmp eax, 3
jl 0x505f49
cmp eax, 8
jle 0x505f5c
xor eax, eax
cmp dword [0x94a410], eax
sete al
push eax
call fcn.0043d360
jmp 0x505f63
push 0
call fcn.004e5480
mov eax, dword [edi]
add esp, 4
mov eax, dword [eax + 8]
cmp eax, 3
jl 0x50605c
cmp eax, 8
jg 0x50605c
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], 0x54
mov ecx, dword [esi]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cdq
idiv dword [ebp - 0x5c]
add edx, edx
sub ecx, edx
mov dword [esi], ecx
mov esi, 0xa
mov ecx, dword [ebx]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cdq
idiv esi
mov esi, dword [ebp - 0x54]
mov eax, 0x88888889
add edx, edx
sub ecx, edx
mov dword [ebx], ecx
mov ecx, 3
mov esi, dword [esi]
imul esi
add edx, esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
idiv ecx
mov ecx, 0x14
imul eax, edx, 0xf00
sub esi, eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cdq
idiv ecx
mov eax, 0x66666667
add edx, edx
sub esi, edx
imul esi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
and ecx, 0x80000003
jns 0x50600a
dec ecx
or ecx, 0xfffffffc
inc ecx
lea ecx, [ecx + ecx*4]
mov eax, 0x66666667
shl ecx, 3
sub esi, ecx
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
and eax, 0x80000001
jns 0x50602f
dec eax
or eax, 0xfffffffe
inc eax
lea eax, [eax + eax*4]
shl eax, 5
sub esi, eax
mov eax, esi
and eax, 0x80000001
jns 0x506045
dec eax
or eax, 0xfffffffe
inc eax
mov edx, dword [ebp - 0x54]
sub esi, eax
mov dword [edx], esi
mov eax, dword [edi]
mov esi, dword [ebp - 0x60]
imul eax, dword [eax + 8], 0x38400
add dword [ebx], eax
jmp 0x50605f
mov edx, dword [ebp - 0x54]
mov eax, dword [edi]
mov eax, dword [eax + 8]
cmp eax, 1
je 0x506072
cmp eax, 2
jne 0x5060f9
mov ecx, dword [ebp - 0x4c]
sub eax, 1
je 0x5060bf
sub eax, 1
jne 0x5060fc
add dword [ebx], 0xb40
add dword [ecx], 0x29580
cmp dword [edi + 0x168], eax
jl 0x5060fc
mov eax, dword [edi + 0x174]
cmp eax, 2
jne 0x5060ac
add dword [ebx], 0x140
add dword [ecx], 0xa80
jmp 0x5060fc
cmp eax, 1
jne 0x5060fc
add dword [ebx], 0x280
add dword [ecx], 0x1500
jmp 0x5060fc
add dword [ebx], 0x780
add dword [ecx], 0x27600
cmp dword [edi + 0x16c], 2
jne 0x5060e0
add dword [ebx], 0xa0
add dword [ecx], 0x540
cmp dword [edi + 0x170], 1
jne 0x5060fc
cmp dword [esi], 0
je 0x5060fc
add dword [ebx], 0x50
add dword [ecx], 0x2a0
jmp 0x5060fc
mov ecx, dword [ebp - 0x4c]
cmp dword [edi + 0x58], 1
jle 0x50611e
imul eax, dword [edi + 0x78], 0xf00
add eax, 0xf00
add dword [ebx], eax
imul eax, dword [edi + 0x78], 0x3f00
add eax, 0x3f00
add dword [ecx], eax
mov eax, dword [ebp - 0x64]
cmp dword [eax + 0x168], 0
je 0x50613f
mov eax, dword [ebp - 0x68]
add dword [edx], 0xa0
add dword [ebx], 0x14
add dword [eax], 4
add dword [ecx], 0xa8
cmp dword [esi], 0
je 0x50614a
inc dword [edx]
inc dword [ebx]
inc dword [ecx]
cmp dword [edi + 0xdc], 0
je 0x50615c
add dword [ebx], 0x28
add dword [ecx], 0x150
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005c33e1
mov esp, ebp
pop ebp
ret