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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1a4
mov ecx, dword [ebp + 8]
cmp word [ecx + 0xc], 0
push ebx
push esi
push edi
mov dword [esp + 0x38], 0
jbe 0x411084
mov ecx, 0xfffffff8
sub ecx, eax
mov dword [esp + 0x34], edx
lea ebx, [eax + 8]
mov dword [esp + 0x6c], ecx
jmp 0x4109d0
mov ecx, dword [esp + 0x6c]
lea ecx, [ecx]
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 4]
lea eax, [ecx + ebx]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 4]
add esi, eax
add edi, eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4109fd
mov ecx, dword [ebp + 0x10]
push ecx
push eax
call fcn.00410490
fstp dword [esp + 0x2c]
add esp, 8
jmp 0x410a08
movss xmm0, dword [ebx - 4]
movss dword [esp + 0x24], xmm0
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x410a22
mov edx, dword [ebp + 0x10]
push edx
push eax
call fcn.00410490
fstp dword [esp + 0x30]
add esp, 8
jmp 0x410a2c
movss xmm0, dword [ebx]
movss dword [esp + 0x28], xmm0
mov eax, dword [esi + 0x20]
test eax, eax
je 0x410a46
mov ecx, dword [ebp + 0x10]
push ecx
push eax
call fcn.00410490
fstp dword [esp + 0x34]
add esp, 8
jmp 0x410a51
movss xmm0, dword [ebx + 4]
movss dword [esp + 0x2c], xmm0
mov eax, dword [edi + 0x18]
test eax, eax
je 0x410a71
mov edx, dword [ebp + 0x14]
push edx
push eax
call fcn.00410490
fstp dword [esp + 0x1c]
movss xmm3, dword [esp + 0x1c]
add esp, 8
jmp 0x410a7c
movss xmm3, dword [ebx - 4]
movss dword [esp + 0x14], xmm3
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x410aa2
mov ecx, dword [ebp + 0x14]
push ecx
push eax
call fcn.00410490
fstp dword [esp + 0x20]
movss xmm2, dword [esp + 0x20]
movss xmm3, dword [esp + 0x1c]
add esp, 8
jmp 0x410aac
movss xmm2, dword [ebx]
movss dword [esp + 0x18], xmm2
mov eax, dword [edi + 0x20]
test eax, eax
je 0x410ad8
mov edx, dword [ebp + 0x14]
push edx
push eax
call fcn.00410490
fstp dword [esp + 0x24]
movss xmm1, dword [esp + 0x24]
movss xmm2, dword [esp + 0x20]
movss xmm3, dword [esp + 0x1c]
add esp, 8
jmp 0x410ae3
movss xmm1, dword [ebx + 4]
movss dword [esp + 0x1c], xmm1
movss xmm4, dword [esp + 0x24]
movss xmm0, dword [ebp + 0x18]
mov eax, dword [esi + 0xc]
test eax, eax
subss xmm3, xmm4
mulss xmm3, xmm0
addss xmm3, xmm4
movss dword [esp + 0x4c], xmm3
movss xmm3, dword [esp + 0x28]
subss xmm2, xmm3
mulss xmm2, xmm0
addss xmm2, xmm3
movss dword [esp + 0x50], xmm2
movss xmm2, dword [esp + 0x2c]
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm1, xmm2
movss dword [esp + 0x54], xmm1
je 0x410b4f
mov ecx, dword [ebp + 0x10]
push ecx
push eax
call fcn.00410490
fstp dword [esp + 0x2c]
movss xmm0, dword [ebp + 0x18]
add esp, 8
jmp 0x410b5a
movss xmm1, dword [ebx + 0x14]
movss dword [esp + 0x24], xmm1
mov eax, dword [esi + 0x10]
test eax, eax
je 0x410b79
mov edx, dword [ebp + 0x10]
push edx
push eax
call fcn.00410490
fstp dword [esp + 0x30]
movss xmm0, dword [ebp + 0x18]
add esp, 8
jmp 0x410b84
movss xmm1, dword [ebx + 0x18]
movss dword [esp + 0x28], xmm1
mov eax, dword [esi + 0x14]
test eax, eax
je 0x410ba3
mov ecx, dword [ebp + 0x10]
push ecx
push eax
call fcn.00410490
fstp dword [esp + 0x34]
movss xmm0, dword [ebp + 0x18]
add esp, 8
jmp 0x410bae
movss xmm1, dword [ebx + 0x1c]
movss dword [esp + 0x2c], xmm1
mov eax, dword [edi + 0xc]
test eax, eax
je 0x410bd3
mov edx, dword [ebp + 0x14]
push edx
push eax
call fcn.00410490
fstp dword [esp + 0x1c]
movss xmm3, dword [esp + 0x1c]
movss xmm0, dword [ebp + 0x18]
add esp, 8
jmp 0x410bde
movss xmm3, dword [ebx + 0x14]
movss dword [esp + 0x14], xmm3
mov eax, dword [edi + 0x10]
test eax, eax
je 0x410c09
mov ecx, dword [ebp + 0x14]
push ecx
push eax
call fcn.00410490
fstp dword [esp + 0x20]
movss xmm2, dword [esp + 0x20]
movss xmm3, dword [esp + 0x1c]
movss xmm0, dword [ebp + 0x18]
add esp, 8
jmp 0x410c14
movss xmm2, dword [ebx + 0x18]
movss dword [esp + 0x18], xmm2
mov eax, dword [edi + 0x14]
test eax, eax
je 0x410c45
mov edx, dword [ebp + 0x14]
push edx
push eax
call fcn.00410490
fstp dword [esp + 0x24]
movss xmm1, dword [esp + 0x24]
movss xmm2, dword [esp + 0x20]
movss xmm3, dword [esp + 0x1c]
movss xmm0, dword [ebp + 0x18]
add esp, 8
jmp 0x410c50
movss xmm1, dword [ebx + 0x1c]
movss dword [esp + 0x1c], xmm1
movss xmm4, dword [esp + 0x24]
mov eax, dword [esi]
test eax, eax
subss xmm3, xmm4
mulss xmm3, xmm0
addss xmm3, xmm4
movss dword [esp + 0x5c], xmm3
movss xmm3, dword [esp + 0x28]
subss xmm2, xmm3
mulss xmm2, xmm0
addss xmm2, xmm3
movss dword [esp + 0x60], xmm2
movss xmm2, dword [esp + 0x2c]
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm1, xmm2
movss dword [esp + 0x64], xmm1
je 0x410ce4
mov ecx, dword [ebp + 0x10]
push ecx
push eax
call fcn.00410490
fstp dword [esp + 0x2c]
mov edx, dword [ebp + 0x10]
mov eax, dword [esi + 4]
push edx
push eax
call fcn.00410490
fstp dword [esp + 0x38]
mov ecx, dword [ebp + 0x10]
mov edx, dword [esi + 8]
push ecx
push edx
call fcn.00410490
fstp dword [esp + 0x44]
movss xmm5, dword [esp + 0x44]
movss xmm7, dword [esp + 0x40]
movss xmm0, dword [ebp + 0x18]
add esp, 0x18
jmp 0x410d05
movss xmm1, dword [ebx + 8]
movss xmm7, dword [ebx + 0xc]
movss xmm5, dword [ebx + 0x10]
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x28], xmm7
movss dword [esp + 0x2c], xmm5
mov eax, dword [edi]
test eax, eax
je 0x410d63
mov ecx, dword [ebp + 0x14]
push ecx
push eax
call fcn.00410490
fstp dword [esp + 0x1c]
mov edx, dword [ebp + 0x14]
mov eax, dword [edi + 4]
push edx
push eax
call fcn.00410490
fstp dword [esp + 0x28]
mov ecx, dword [ebp + 0x14]
mov edx, dword [edi + 8]
push ecx
push edx
call fcn.00410490
fstp dword [esp + 0x34]
movss xmm5, dword [esp + 0x44]
movss xmm7, dword [esp + 0x40]
movss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x30]
movss xmm3, dword [esp + 0x2c]
movss xmm0, dword [ebp + 0x18]
add esp, 0x18
jmp 0x410d84
movss xmm3, dword [ebx + 8]
movss xmm2, dword [ebx + 0xc]
movss xmm1, dword [ebx + 0x10]
movss dword [esp + 0x14], xmm3
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm1
mov eax, dword [esi]
test eax, eax
je 0x410e52
cmp byte [eax + 5], 3
je 0x410e52
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi + 0x24]
push eax
push ecx
call fcn.00410490
fstp dword [esp + 0x38]
mov edx, dword [ebp + 0x14]
mov eax, dword [edi + 0x24]
push edx
push eax
call fcn.00410490
fstp dword [esp + 0x30]
mov ecx, dword [ebp + 0x18]
add esp, 0x10
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x48]
push ecx
call fcn.00597690
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x34]
push edx
push eax
push ecx
push esi
call fcn.00594cb0
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0xb4]
push eax
call fcn.00595380
movss xmm0, dword [esp + 0x5c]
movss dword [esp + 0xe0], xmm0
movss xmm0, dword [esp + 0x60]
lea ecx, [esp + 0xb0]
push ecx
movss dword [esp + 0xe8], xmm0
movss xmm0, dword [esp + 0x68]
push esi
movss dword [esp + 0xf0], xmm0
movss xmm0, dword [0x649444]
push esi
movss dword [esp + 0xf8], xmm0
call fcn.00593dd0
jmp 0x411060
movss xmm4, dword [0x6498c0]
movaps xmm6, xmm3
subss xmm6, dword [esp + 0x24]
comiss xmm6, xmm4
jbe 0x410e72
subss xmm3, dword [0x649918]
jmp 0x410e89
movss xmm6, dword [esp + 0x24]
subss xmm6, xmm3
comiss xmm6, xmm4
jbe 0x410e8f
addss xmm3, dword [0x649918]
movss dword [esp + 0x14], xmm3
movaps xmm6, xmm2
subss xmm6, xmm7
comiss xmm6, xmm4
jbe 0x410ea5
subss xmm2, dword [0x649918]
jmp 0x410eb9
movaps xmm6, xmm7
subss xmm6, xmm2
comiss xmm6, xmm4
jbe 0x410ebf
addss xmm2, dword [0x649918]
movss dword [esp + 0x18], xmm2
movaps xmm6, xmm1
subss xmm6, xmm5
comiss xmm6, xmm4
jbe 0x410ed5
subss xmm1, dword [0x649918]
jmp 0x410ee9
movaps xmm6, xmm5
subss xmm6, xmm1
comiss xmm6, xmm4
jbe 0x410eef
addss xmm1, dword [0x649918]
movss dword [esp + 0x1c], xmm1
movss xmm6, dword [esp + 0x24]
subss xmm3, xmm6
subss xmm1, xmm5
mulss xmm3, xmm0
addss xmm3, xmm6
comiss xmm3, xmm4
movss xmm6, dword [esp + 0x20]
mulss xmm1, xmm0
addss xmm1, xmm5
movss xmm5, dword [esp + 0x30]
subss xmm2, xmm7
subss xmm6, xmm5
mulss xmm2, xmm0
mulss xmm6, xmm0
movss xmm0, dword [0x649918]
addss xmm2, xmm7
addss xmm6, xmm5
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x40], xmm2
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x48], xmm6
jbe 0x410f60
subss xmm3, xmm0
movss dword [esp + 0x3c], xmm3
comiss xmm2, xmm4
jbe 0x410f6f
subss xmm2, xmm0
movss dword [esp + 0x40], xmm2
comiss xmm1, xmm4
jbe 0x410f7e
subss xmm1, xmm0
movss dword [esp + 0x44], xmm1
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.00594cb0
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [esp + 0x134]
push ecx
call fcn.00594ea0
lea edx, [esp + 0x130]
push edx
push 0x6498d0
lea eax, [esp + 0x78]
push eax
call fcn.00593dd0
mov ecx, dword [esp + 0x40]
push ecx
lea edx, [esp + 0xf4]
push edx
call fcn.00594fc0
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x74]
push ecx
mov edx, ecx
push edx
call fcn.00593dd0
mov eax, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x174]
push ecx
call fcn.005950c0
lea edx, [esp + 0x170]
push edx
lea eax, [esp + 0x74]
push eax
mov ecx, eax
push ecx
call fcn.00593dd0
movss xmm0, dword [esp + 0x5c]
mov eax, dword [esp + 0x34]
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [esp + 0x60]
lea edx, [esp + 0x70]
push edx
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esp + 0x68]
push eax
movss dword [esp + 0xb0], xmm0
movss xmm0, dword [0x649444]
push eax
movss dword [esp + 0xb8], xmm0
call fcn.00593dd0
mov esi, dword [esp + 0x34]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x38]
movzx edx, word [ecx + 0xc]
add eax, 1
add esi, 0x40
add ebx, 0x28
cmp eax, edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], esi
jb 0x4109c9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret