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

Disassembly:
mov edx, dword [ebx + 0x24]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
sub esp, 0x84
cmp edx, 0xff
push ebp
push esi
mov esi, dword [esp + 0x9c]
push edi
mov edi, dword [esp + 0xa4]
jl 0x41f9a8
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0xa0]
push edi
push esi
push eax
push ecx
push ebx
push edx
call fcn.0041f550
pop edi
pop esi
pop ebp
add esp, 0x84
ret 0x1c
test edx, edx
jle 0x41fd60
fld dword [ebx + 0x28]
lea edx, [edi + eax]
push edx
fstp dword [esp + 0x14]
lea edx, [esi + ecx]
push edx
push eax
push ecx
lea eax, [esp + 0x90]
push eax
call dword [0x435258]
fld dword [esp + 0x10]
call fcn.00431580
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp + 0x34]
fld dword [esp + 0x10]
call fcn.00431450
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
mov eax, esi
cdq
fstp dword [esp + 0x38]
sub eax, edx
mov esi, eax
mov eax, edi
cdq
sar esi, 1
sub dword [esp + 0x98], esi
sub eax, edx
mov dword [esp + 0xa0], esi
mov ebp, eax
sar ebp, 1
fild dword [esp + 0xa0]
sub dword [esp + 0x9c], ebp
mov dword [esp + 0xa4], ebp
fstp dword [esp + 0x3c]
fild dword [esp + 0xa4]
fstp dword [esp + 0x40]
fld dword [esp + 0x3c]
fld dword [esp + 0x40]
call fcn.0043167a
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
mov ecx, esi
fstp dword [esp + 0x30]
mov edx, ebp
imul ecx, esi
fld dword [esp + 0x30]
fld st(0)
fld dword [esp + 0x10]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
sub esp, 8
imul edx, ebp
fstp dword [esp + 4]
fsubrp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp]
add ecx, edx
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
call fcn.00431350
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
push ecx
lea edi, [esp + 0x6c]
fstp dword [esp]
call fcn.0041f090
mov eax, dword [ebx + 0x24]
inc eax
mov ecx, 0x100
sub ecx, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
cmp eax, dword [esp + 0x6c]
jge 0x41fd60
mov ecx, dword [esp + 0x9c]
add eax, ecx
add eax, ebp
mov dword [esp + 0x30], eax
fild dword [esp + 0x2c]
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld st(0)
fmul dword [esp + 0x38]
fstp dword [esp + 0x44]
fmul dword [esp + 0x34]
fstp dword [esp + 0x4c]
jge 0x41fd49
fild dword [esp + 0xa8]
fstp dword [esp + 0x48]
fild dword [esp + 0xac]
fstp dword [esp + 0x50]
fild dword [esp + 0x10]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld st(0)
fmul dword [esp + 0x34]
fadd dword [esp + 0x44]
fadd dword [esp + 0x48]
fstp dword [esp + 0x24]
fld dword [esp + 0x38]
fmulp st(1)
fsubr dword [esp + 0x4c]
fadd dword [esp + 0x50]
fstp dword [esp + 0x18]
fld dword [esp + 0x3c]
fadd dword [esp + 0x24]
fst qword [esp + 0x58]
call fcn.004312a0
fld dword [esp + 0x40]
mov ebp, eax
fadd dword [esp + 0x18]
mov dword [esp + 0x14], ebp
fst qword [esp + 0x18]
call fcn.004312a0
mov edi, eax
push edi
push ebp
lea edx, [esp + 0x88]
push edx
mov dword [esp + 0x30], edi
call dword [0x435254]
test eax, eax
je 0x41fd36
fild dword [esp + 0x14]
fsubr qword [esp + 0x58]
fstp dword [esp + 0x14]
fild dword [esp + 0x24]
fsubr qword [esp + 0x18]
fstp dword [esp + 0x18]
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x41fbd6
fadd qword [0x4388e0]
dec ebp
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld dword [esp + 0x18]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x41fbfc
fxch st(1)
dec edi
fadd qword [0x4388e0]
mov dword [esp + 0x24], edi
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fxch st(1)
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x10]
add ecx, eax
add ecx, esi
js 0x41fd32
mov edx, dword [esp + 0x30]
test edx, edx
jl 0x41fd32
mov eax, dword [esp + 0x94]
cmp ecx, dword [eax + 0x18]
jge 0x41fd32
mov eax, dword [eax + 0x1c]
cmp edx, eax
jge 0x41fd32
sub eax, edx
mov edx, dword [esp + 0x94]
dec eax
imul eax, dword [edx + 0x18]
mov edx, dword [edx]
add eax, ecx
mov esi, dword [edx + eax*4]
lea eax, [edx + eax*4]
mov dword [esp + 0x18], eax
test esi, esi
jbe 0x41fd2b
push ebp
mov eax, esi
mov edx, edi
mov ecx, ebx
call fcn.0041eec0
mov dword [esp + 0x70], eax
inc edi
push ebp
mov eax, esi
mov edx, edi
mov ecx, ebx
call fcn.0041eec0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x74], eax
inc ebp
push ebp
mov eax, esi
mov ecx, ebx
call fcn.0041eec0
mov dword [esp + 0x78], eax
push ebp
mov eax, esi
mov edx, edi
mov ecx, ebx
call fcn.0041eec0
fxch st(1)
sub esp, 8
fstp dword [esp + 4]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x78]
fstp dword [esp]
call fcn.0041eb50
mov ecx, dword [esp + 0x54]
mov edx, eax
and edx, 0xffff00ff
imul edx, ecx
mov edi, esi
and edi, 0xffff00ff
imul edi, dword [esp + 0x28]
add edx, edi
mov edi, eax
mov ebp, esi
and eax, 0xff00ff
imul eax, ecx
and edi, 0xff00
imul edi, ecx
and ebp, 0xff00
imul ebp, dword [esp + 0x28]
mov ecx, esi
and ecx, 0xff00ff
imul ecx, dword [esp + 0x28]
add edi, ebp
xor edx, edi
and edx, 0xff0000
add eax, ecx
xor edx, eax
mov eax, dword [esp + 0x18]
and esi, 0xff000000
shr edx, 8
or edx, esi
mov esi, dword [esp + 0xa0]
mov dword [eax], edx
jmp 0x41fd36
mov esi, dword [esp + 0xa0]
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x10]
inc eax
cmp eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
jl 0x41fb2a
mov eax, dword [esp + 0x2c]
inc dword [esp + 0x30]
inc eax
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x2c], eax
jl 0x41fae4
pop edi
pop esi
pop ebp
add esp, 0x84
ret 0x1c