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

Disassembly:
sub esp, 0xa0
push ebx
push ebp
push esi
mov esi, ecx
xor ecx, ecx
push edi
mov cl, byte [esi + 0x15]
mov edx, dword [esi + 0x18]
xor eax, eax
mov edx, dword [edx + ecx*4]
mov dword [esp + 0x30], eax
mov byte [esp + 0x13], al
mov eax, dword [esi + 0x20]
mov cl, byte [edx + 9]
mov edi, ecx
and edi, 0xff
fld dword [esi + 0x24]
lea ebp, [eax + edi*4]
mov eax, dword [eax + edi*4]
mov ebx, dword [eax]
mov dword [esp + 0x34], ebx
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], ebx
mov bl, byte [edx + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x28]
sub cl, bl
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x54], eax
mov eax, 0x32
and ecx, 0xff
cdq
inc ecx
idiv ecx
mov cl, 0x32
sub cl, dl
mov byte [esp + 0x2c], cl
mov ebx, dword [esp + 0x2c]
and ebx, 0xff
jle 0x424f19
mov al, byte [esp + 0x13]
test al, al
jne 0x4250d3
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x70]
fld dword [eax]
fsub dword [esp + 0x34]
fstp dword [esp + 0x58]
fld dword [eax + 4]
fsub dword [esp + 0x38]
fstp dword [esp + 0x5c]
fld dword [eax + 8]
fsub dword [esp + 0x3c]
fstp dword [esp + 0x60]
fsub dword [esp + 0x34]
fstp dword [esp + 0x40]
fld dword [esp + 0x50]
fsub dword [esp + 0x38]
fstp dword [esp + 0x44]
fld dword [esp + 0x54]
fsub dword [esp + 0x3c]
fstp dword [esp + 0x48]
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
push eax
push ecx
call fcn.0058f530
lea edx, [esp + 0x78]
lea eax, [esp + 0x60]
push edx
push 1
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.00591910
lea edx, [esp + 0x88]
lea eax, [esp + 0x58]
push edx
push 1
lea ecx, [esp + 0x40]
push eax
push ecx
call fcn.00591910
fld dword [esp + 0x40]
fmul dword [esp + 0x40]
fld dword [esp + 0x44]
fmul dword [esp + 0x44]
faddp st(1)
fld dword [esp + 0x3c]
fmul dword [esp + 0x3c]
faddp st(1)
fstp dword [esp + 0x54]
mov edx, dword [esp + 0x54]
push edx
call fcn.005917c0
fcom dword [0x622c08]
add esp, 0x2c
fnstsw ax
test ah, 0x44
jnp 0x424d47
fdivr dword [0x6222d4]
fld dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
push eax
call fcn.005917c0
fcom dword [0x622c08]
add esp, 4
fnstsw ax
test ah, 0x44
jnp 0x424da7
fdivr dword [0x6222d4]
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fmul st(1)
fstp dword [esp + 0x28]
fstp st(0)
fld dword [esp + 0x1c]
fmul dword [esp + 0x28]
fld dword [esp + 0x18]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x14]
faddp st(1)
fst dword [esp + 0x2c]
fcomp dword [0x623584]
fnstsw ax
test ah, 5
jp 0x424e92
fld dword [esp + 0x2c]
fcomp dword [0x623580]
fnstsw ax
and eax, 0x4100
jne 0x424e92
fld dword [esp + 0x1c]
fmul dword [esp + 0x24]
fld dword [esp + 0x18]
fmul dword [esp + 0x28]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x20]
fsubp st(1)
push 1
fstp dword [esp + 0x68]
fld dword [esp + 0x2c]
fmul dword [esp + 0x18]
fld dword [esp + 0x20]
fmul dword [esp + 0x24]
fsubp st(1)
fstp dword [esp + 0x6c]
fld dword [esp + 0x1c]
fmul dword [esp + 0x24]
fld dword [esp + 0x28]
fmul dword [esp + 0x18]
fsubp st(1)
fstp dword [esp + 0x70]
mov eax, dword [ecx + 0x20]
mov ecx, dword [edx + edi*4]
fld dword [esp + 0x30]
mov edx, dword [ecx + 0xc]
imul edx, dword [eax + 0x24]
lea eax, [edx + eax + 0x4c]
lea ebp, [eax + 8]
call fcn.0060a580
fmul dword [0x623530]
push ecx
lea eax, [esp + 0x6c]
fstp dword [esp]
push eax
push ebp
call fcn.00573510
add esp, 0x10
mov ecx, esi
push ebp
push edi
call fcn.004238c0
mov ecx, eax
call fcn.00423080
push edi
mov ecx, esi
call fcn.004247e0
push edi
mov ecx, esi
call fcn.00424640
jmp 0x424eb2
cmp dword [esp + 0x30], 5
jle 0x424eb2
mov edx, dword [esi + 0x18]
xor ecx, ecx
mov cl, byte [esi + 0x15]
mov eax, dword [edx + ecx*4]
xor ecx, ecx
mov cl, byte [eax + 9]
cmp edi, ecx
jne 0x424eb2
mov byte [esp + 0x13], 1
mov eax, dword [esi + 0x18]
xor edx, edx
mov dl, byte [esi + 0x15]
xor ecx, ecx
dec edi
mov eax, dword [eax + edx*4]
mov cl, byte [eax + 8]
cmp edi, ecx
jge 0x424ece
xor edx, edx
mov dl, byte [eax + 9]
mov edi, edx
mov eax, dword [esi + 0x20]
fld dword [esi + 0x24]
lea ebp, [eax + edi*4]
mov eax, dword [eax + edi*4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x38], edx
mov edx, dword [esi + 0x2c]
inc eax
cmp eax, ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x30], eax
jl 0x424c56
mov al, byte [esp + 0x13]
test al, al
jne 0x4250d3
mov ecx, dword [esi + 0x18]
xor eax, eax
mov al, byte [esi + 0x15]
mov esi, dword [esi + 0x20]
mov edx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
xor eax, eax
mov al, byte [edx + 9]
mov eax, dword [esi + eax*4]
fld dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x38], edx
xor edx, edx
fld dword [eax]
fsub st(1)
fstp dword [esp + 0x58]
fld dword [eax + 4]
fsub dword [esp + 0x38]
fstp dword [esp + 0x5c]
fld dword [eax + 8]
fsub dword [esp + 0x3c]
fstp dword [esp + 0x60]
fxch st(1)
fsub st(1)
fstp dword [esp + 0x40]
fstp st(0)
fld dword [esp + 0x50]
fsub dword [esp + 0x38]
fstp dword [esp + 0x44]
fld dword [esp + 0x54]
fsub dword [esp + 0x3c]
fstp dword [esp + 0x48]
mov ecx, dword [ecx]
mov dl, byte [ecx + 9]
mov eax, dword [esi + edx*4]
lea edx, [esp + 0x70]
mov ecx, dword [eax + 0x10]
push ecx
push edx
call fcn.0058f530
lea eax, [esp + 0x78]
lea ecx, [esp + 0x60]
push eax
push 1
lea edx, [esp + 0x24]
push ecx
push edx
call fcn.00591910
lea eax, [esp + 0x88]
lea ecx, [esp + 0x58]
push eax
push 1
lea edx, [esp + 0x40]
push ecx
push edx
call fcn.00591910
fld dword [esp + 0x40]
fmul dword [esp + 0x40]
fld dword [esp + 0x44]
fmul dword [esp + 0x44]
faddp st(1)
fld dword [esp + 0x3c]
fmul dword [esp + 0x3c]
faddp st(1)
fstp dword [esp + 0x58]
mov eax, dword [esp + 0x58]
push eax
call fcn.005917c0
fcom dword [0x622c08]
add esp, 0x2c
fnstsw ax
test ah, 0x44
jnp 0x42502e
fdivr dword [0x6222d4]
fld dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
push ecx
call fcn.005917c0
fcom dword [0x622c08]
add esp, 4
fnstsw ax
test ah, 0x44
jnp 0x42508a
fdivr dword [0x6222d4]
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x24]
fmul dword [esp + 0x28]
jmp 0x425090
fstp st(0)
fld dword [esp + 0x28]
fmul dword [esp + 0x1c]
fld dword [esp + 0x18]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x14]
faddp st(1)
fcom dword [0x62357c]
fnstsw ax
test ah, 5
jp 0x4250d3
fcomp dword [0x623578]
fnstsw ax
and eax, 0x4100
jne 0x4250d5
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0xa0
ret 4
fstp st(0)
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0xa0
ret 4