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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x114
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi + 0x1e1d8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
push edi
mov dword [esp + 0x50], esi
call edx
mov dword [esi + 0x1e1e8], eax
mov dword [esp + 0x4c], 0
test eax, eax
jle 0x41add3
jmp 0x41a522
mov esi, edx
mov ecx, dword [esi + 0x1e1d8]
mov eax, dword [ecx]
mov edx, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
push edx
call eax
mov ebx, eax
mov eax, dword [ebx + 0x2c0]
mov ecx, dword [ebx + 0x2c4]
mov esi, dword [eax + 0xf0]
mov edi, dword [ecx + 0xf0]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], edi
cmp eax, ecx
je 0x41adba
cmp esi, edi
je 0x41adba
test esi, esi
je 0x41adba
test edi, edi
je 0x41adba
cmp esi, 0x5c9660
je 0x41a58c
mov dword [esi + 0xa34], 1
mov ecx, 1
cmp edi, 0x5c9660
je 0x41a59f
mov dword [edi + 0xa34], ecx
cmp esi, 0x5c9660
je 0x41a5b3
cmp dword [esi + 0x9d0], ecx
je 0x41adba
cmp edi, 0x5c9660
je 0x41a5c7
cmp dword [edi + 0x9d0], ecx
je 0x41adba
mov eax, 0x10
cmp dword [esi + 0x9d0], eax
jne 0x41a5e9
cmp dword [esi + 0xbe8], 0
jne 0x41a5e9
cmp dword [esi + 0xa94], edi
je 0x41adba
cmp dword [edi + 0x9d0], eax
jne 0x41a606
cmp dword [edi + 0xbe8], 0
jne 0x41a606
cmp dword [edi + 0xa94], esi
je 0x41adba
mov edx, dword [ebx + 0x2c8]
mov dword [esp + 0x54], edx
test edx, edx
je 0x41adba
mov dword [esp + 0x48], ecx
cmp esi, 0x5c9660
jne 0x41a62c
mov dword [esp + 0x48], 0
cmp edi, 0x5c9660
je 0x41a66e
cmp dword [esp + 0x48], 0
je 0x41a66e
test edx, edx
jle 0x41a65e
lea eax, [ebx + 0x80]
mov ecx, edx
cmp dword [eax], 1
jne 0x41a654
mov dword [esp + 0x48], 0
add eax, 0xb0
sub ecx, 1
jne 0x41a647
cmp dword [esp + 0x48], 0
jne 0x41adba
mov ecx, 1
xorps xmm0, xmm0
xor ebx, ebx
cmp edx, 4
movaps xmm5, xmm0
movaps xmm6, xmm0
movaps xmm1, xmm0
movaps xmm7, xmm0
movaps xmm2, xmm0
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x3c], xmm5
movss dword [esp + 0x40], xmm6
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x30], xmm7
movss dword [esp + 0x34], xmm0
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x1c], xmm0
jl 0x41aac2
mov eax, dword [esp + 0x44]
add edx, 0xfffffffc
shr edx, 2
add eax, 0x160
add edx, ecx
lea ebx, [edx*4]
jmp 0x41a6f0
lea esi, [eax - 0x160]
mov ecx, 0x2c
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
movss xmm3, dword [esp + 0x98]
movss xmm2, dword [esp + 0x94]
addss xmm0, dword [esp + 0x90]
addss xmm1, dword [esp + 0x70]
movss xmm4, dword [esp + 0x74]
addss xmm3, xmm6
movss xmm6, dword [esp + 0x80]
addss xmm6, dword [esp + 0x20]
movss dword [esp + 0x20], xmm6
movss xmm6, dword [esp + 0x84]
addss xmm6, dword [esp + 0x24]
movss dword [esp + 0x24], xmm6
movss xmm6, dword [esp + 0x88]
addss xmm6, dword [esp + 0x28]
addss xmm2, xmm5
movss xmm5, dword [esp + 0x78]
addss xmm5, dword [esp + 0x34]
movss dword [esp + 0x28], xmm6
movss xmm6, dword [esp + 0xb0]
addss xmm6, dword [esp + 0x14]
movss dword [esp + 0x34], xmm5
movss dword [esp + 0x14], xmm6
movss xmm6, dword [esp + 0xb4]
addss xmm6, dword [esp + 0x18]
movss dword [esp + 0x18], xmm6
movss xmm6, dword [esp + 0xb8]
addss xmm6, dword [esp + 0x1c]
addss xmm4, xmm7
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0x40], xmm3
movss dword [esp + 0x30], xmm4
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x1c], xmm6
lea esi, [eax - 0xb0]
mov ecx, 0x2c
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
movss xmm7, dword [esp + 0x94]
addss xmm0, dword [esp + 0x90]
addss xmm1, dword [esp + 0x70]
addss xmm7, xmm2
movss xmm2, dword [esp + 0x98]
addss xmm2, xmm3
movss xmm3, dword [esp + 0x74]
addss xmm3, xmm4
movss xmm4, dword [esp + 0x78]
addss xmm4, xmm5
movss xmm5, dword [esp + 0x80]
addss xmm5, dword [esp + 0x20]
movss dword [esp + 0x20], xmm5
movss xmm5, dword [esp + 0x84]
addss xmm5, dword [esp + 0x24]
movss dword [esp + 0x24], xmm5
movss xmm5, dword [esp + 0x88]
addss xmm5, dword [esp + 0x28]
movss dword [esp + 0x28], xmm5
movss xmm5, dword [esp + 0xb0]
addss xmm5, dword [esp + 0x14]
movss dword [esp + 0x14], xmm5
movss xmm5, dword [esp + 0xb4]
addss xmm5, dword [esp + 0x18]
movss dword [esp + 0x18], xmm5
movss xmm5, dword [esp + 0xb8]
movss dword [esp + 0x38], xmm0
addss xmm5, xmm6
mov ecx, 0x2c
mov esi, eax
lea edi, [esp + 0x70]
movss dword [esp + 0x3c], xmm7
movss dword [esp + 0x40], xmm2
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x30], xmm3
movss dword [esp + 0x34], xmm4
movss dword [esp + 0x1c], xmm5
rep movsd dword es:[edi], dword [esi]
addss xmm0, dword [esp + 0x90]
movss xmm6, dword [esp + 0x94]
addss xmm1, dword [esp + 0x70]
addss xmm6, xmm7
movss xmm7, dword [esp + 0x98]
addss xmm7, xmm2
movss xmm2, dword [esp + 0x74]
addss xmm2, xmm3
movss xmm3, dword [esp + 0x78]
addss xmm3, xmm4
movss xmm4, dword [esp + 0x80]
addss xmm4, dword [esp + 0x20]
movss dword [esp + 0x20], xmm4
movss xmm4, dword [esp + 0x84]
addss xmm4, dword [esp + 0x24]
movss dword [esp + 0x24], xmm4
movss xmm4, dword [esp + 0x88]
addss xmm4, dword [esp + 0x28]
movss dword [esp + 0x28], xmm4
movss xmm4, dword [esp + 0xb0]
addss xmm4, dword [esp + 0x14]
movss dword [esp + 0x14], xmm4
movss xmm4, dword [esp + 0xb4]
addss xmm4, dword [esp + 0x18]
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x30], xmm2
movss dword [esp + 0x18], xmm4
movss xmm4, dword [esp + 0xb8]
addss xmm4, xmm5
movss dword [esp + 0x3c], xmm6
movss dword [esp + 0x40], xmm7
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x2c], xmm1
lea esi, [eax + 0xb0]
movss dword [esp + 0x1c], xmm4
mov ecx, 0x2c
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
movss xmm5, dword [esp + 0x94]
addss xmm0, dword [esp + 0x90]
addss xmm1, dword [esp + 0x70]
addss xmm5, xmm6
movss xmm6, dword [esp + 0x98]
addss xmm6, xmm7
movss xmm7, dword [esp + 0x74]
addss xmm7, xmm2
movss xmm2, dword [esp + 0x78]
addss xmm2, xmm3
movss xmm3, dword [esp + 0x88]
addss xmm3, dword [esp + 0x28]
movss dword [esp + 0x28], xmm3
movss xmm3, dword [esp + 0xb0]
addss xmm3, dword [esp + 0x14]
movss dword [esp + 0x34], xmm2
movss xmm2, dword [esp + 0x80]
addss xmm2, dword [esp + 0x20]
movss dword [esp + 0x14], xmm3
movss xmm3, dword [esp + 0xb4]
addss xmm3, dword [esp + 0x18]
movss dword [esp + 0x20], xmm2
movss xmm2, dword [esp + 0x84]
addss xmm2, dword [esp + 0x24]
movss dword [esp + 0x18], xmm3
movss xmm3, dword [esp + 0xb8]
add eax, 0x2c0
sub edx, 1
addss xmm3, xmm4
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x3c], xmm5
movss dword [esp + 0x40], xmm6
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x30], xmm7
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x1c], xmm3
jne 0x41a6f0
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
cmp ebx, edx
jge 0x41abea
mov eax, ebx
imul eax, eax, 0xb0
add eax, dword [esp + 0x44]
sub edx, ebx
mov esi, eax
mov ecx, 0x2c
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
movss xmm3, dword [esp + 0x94]
addss xmm3, xmm5
movaps xmm5, xmm3
movss xmm3, dword [esp + 0x98]
addss xmm3, xmm6
movaps xmm6, xmm3
movss xmm3, dword [esp + 0x74]
addss xmm3, xmm7
movaps xmm7, xmm3
movss xmm3, dword [esp + 0x78]
addss xmm3, dword [esp + 0x34]
addss xmm0, dword [esp + 0x90]
addss xmm1, dword [esp + 0x70]
movss dword [esp + 0x34], xmm3
movss xmm3, dword [esp + 0x80]
addss xmm3, dword [esp + 0x20]
movss dword [esp + 0x20], xmm3
movss xmm3, dword [esp + 0x84]
addss xmm3, xmm2
movaps xmm2, xmm3
movss xmm3, dword [esp + 0x88]
addss xmm3, dword [esp + 0x28]
movss dword [esp + 0x28], xmm3
movss xmm3, dword [esp + 0xb0]
addss xmm3, dword [esp + 0x14]
movss dword [esp + 0x14], xmm3
movss xmm3, dword [esp + 0xb4]
addss xmm3, dword [esp + 0x18]
movss dword [esp + 0x18], xmm3
movss xmm3, dword [esp + 0xb8]
addss xmm3, dword [esp + 0x1c]
add eax, 0xb0
sub edx, 1
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x3c], xmm5
movss dword [esp + 0x40], xmm6
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x30], xmm7
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x1c], xmm3
jne 0x41aad8
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
movss xmm3, dword [0x5652d0]
cvtsi2ss xmm4, edx
divss xmm3, xmm4
movaps xmm4, xmm3
movss dword [esp + 0x60], xmm4
mulss xmm4, xmm0
movaps xmm0, xmm3
mulss xmm5, xmm0
mulss xmm6, xmm0
mulss xmm0, xmm1
movss xmm1, dword [esp + 0x18]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x34]
mulss xmm0, xmm3
movss dword [esp + 0x34], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [esp + 0x20]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x28]
mulss xmm0, xmm3
mulss xmm1, xmm3
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x18], xmm1
movss xmm1, dword [esp + 0x1c]
movaps xmm0, xmm3
mulss xmm0, dword [esp + 0x14]
mulss xmm7, xmm3
mulss xmm2, xmm3
mulss xmm1, xmm3
mov ebx, 0x200
movss dword [esp + 0x38], xmm4
movss dword [esp + 0x3c], xmm5
movss dword [esp + 0x40], xmm6
movss dword [esp + 0x30], xmm7
movss dword [esp + 0x24], xmm2
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x1c], xmm1
cmp dword [esi + 0x9d4], ebx
jne 0x41acc5
push edi
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x34]
push edx
mov ecx, esi
call fcn.004268d0
movss xmm0, dword [esp + 0x14]
movss xmm1, dword [0x5652f8]
movaps xmm2, xmm1
subss xmm2, xmm0
movaps xmm0, xmm1
subss xmm0, dword [esp + 0x18]
subss xmm1, dword [esp + 0x1c]
movss dword [esp + 0x6c], xmm1
mov eax, dword [esp + 0x6c]
movss dword [esp + 0x64], xmm2
movss dword [esp + 0x68], xmm0
movq xmm0, qword [esp + 0x64]
movq qword [esp + 0x14], xmm0
mov dword [esp + 0x1c], eax
cmp dword [edi + 0x9d4], ebx
jne 0x41ad23
push esi
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x28]
push edx
mov ecx, edi
call fcn.004268d0
cmp dword [esi + 0x9d0], 0x10
jne 0x41ad37
push 0
push 1
mov ecx, esi
call fcn.004339d0
cmp dword [edi + 0x9d0], 0x10
jne 0x41ad4b
push 0
push 1
mov ecx, edi
call fcn.004339d0
cmp dword [esi + 0x9d0], 0x10
jne 0x41ad68
cmp edi, 0x5c9660
jne 0x41ad68
lea eax, [esp + 0x38]
push eax
mov ecx, esi
call fcn.0042dc70
cmp dword [edi + 0x9d0], 0x10
jne 0x41ad85
cmp esi, 0x5c9660
jne 0x41ad85
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
call fcn.0042dc70
mov edi, dword [esp + 0x44]
xor esi, esi
cmp dword [edi + 0x2c8], esi
jle 0x41adb0
mov ebx, dword [esp + 0x44]
push edi
mov ecx, ebx
call fcn.0050b900
inc esi
add edi, 0xb0
cmp esi, dword [ebx + 0x2c8]
jl 0x41ad93
mov edi, ebx
mov dword [edi + 0x2c8], 0
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
inc eax
cmp eax, dword [edx + 0x1e1e8]
mov dword [esp + 0x4c], eax
jl 0x41a520
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret