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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x74
push ebx
push esi
push edi
mov edi, ecx
movzx eax, byte [edi + 0x16]
cmp eax, 6
mov dword [esp + 0x18], eax
je 0x42a179
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
movzx edx, word [eax]
mov cl, byte [ecx]
cmp cl, 1
mov ebx, dword [edx*4 + 0x4c38cc]
jbe 0x429c96
cmp cl, 3
movzx esi, word [eax + 2]
mov esi, dword [esi*4 + 0x4c38cc]
mov dword [esp + 0xc], esi
jne 0x429c8b
movzx ecx, word [eax + 4]
movzx esi, word [eax + 2]
add esi, ecx
add esi, edx
cmp esi, 3
je 0x42a179
mov esi, dword [esp + 0xc]
cmp esi, ebx
jne 0x429c7e
mov esi, dword [ecx*4 + 0x4c38cc]
mov edx, dword [ebp + 0xc]
mov byte [edx], 2
mov word [eax], bx
mov word [eax + 2], si
cmp dword [ebx*4 + 0x4c38d0], esi
je 0x429c96
mov ebx, esi
mov eax, dword [ebx*4 + 0x4c38d0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x24], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0x34], edx
call fcn.0042a9a0
lea edx, [edi + 0x20]
lea ecx, [edi + 0x40]
lea eax, [edi + 0x30]
push edx
lea esi, [esp + 0x44]
mov dword [esp + 0x20], edx
call fcn.004291c0
fld dword [esp + 0x78]
fld dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
fld st(0)
lea eax, [ebx + 2]
fmulp st(2)
shl eax, 4
fld dword [esp + 0x44]
add eax, edi
fld st(0)
add ecx, 2
fmul dword [esp + 0x74]
shl ecx, 4
add esp, 4
add ecx, edi
faddp st(3)
fld dword [esp + 0x48]
fld st(0)
fmul dword [esp + 0x78]
faddp st(4)
fxch st(3)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fabs
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [esp + 0x2c]
fstp dword [esp + 0x10]
fld dword [ecx]
fsub dword [eax]
fstp dword [esp + 0x30]
fld dword [ecx + 4]
fsub dword [eax + 4]
fstp dword [esp + 0x34]
fld dword [ecx + 8]
fsub dword [eax + 8]
fstp dword [esp + 0x38]
fld dword [ecx + 0xc]
fsub dword [eax + 0xc]
fstp dword [esp + 0x3c]
fld dword [esp + 0x34]
fld dword [esp + 0x30]
fld dword [esp + 0x38]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0xc]
fldz
fld st(0)
fld dword [esp + 0xc]
fucom st(1)
fnstsw ax
test ah, 0x44
fstp st(1)
jnp 0x429dc3
fstp st(3)
fstp st(1)
fstp st(2)
fstp st(1)
call fcn.0042eb10
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld1
fdivrp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0x48]
fld dword [esp + 0x44]
fld dword [esp + 0x40]
jmp 0x429dc9
fstp st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov esi, dword [esp + 0x18]
fld st(0)
mov al, bl
fmul dword [esp + 0x30]
mov dl, 5
imul dl
fstp dword [esp + 0x30]
fld dword [esp + 0x34]
fmul st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
movzx edx, word [edi + 0x14]
fmul st(1)
fstp dword [esp + 0x38]
fmul dword [esp + 0x3c]
mov ecx, eax
shr edx, cl
fstp dword [esp + 0x3c]
and edx, 0x1f
cmp esi, 5
lea edx, [edx + edx*2]
je 0x42a0e0
test esi, esi
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
lea ecx, [edx*8 + 0x4c60f0]
fld dword [esp + 0x14]
jne 0x429e48
fld dword [ecx]
fcompp
fnstsw ax
test ah, 0x41
je 0x429e58
fstp st(1)
lea eax, [esi + 2]
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
fld dword [ecx + esi*4]
fcompp
fnstsw ax
test ah, 5
jp 0x42a173
fld dword [esp + 0x34]
fld st(0)
fmul st(4)
fld dword [esp + 0x38]
fld st(0)
fmul st(5)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x60]
fmul st(2)
fld st(4)
fld dword [esp + 0x30]
fld st(0)
fmulp st(2)
fxch st(2)
fsubrp st(1)
fstp dword [esp + 0x64]
fmul st(3)
fld st(2)
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x68]
fld dword [ecx + esi*4]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x50]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x54]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x58]
fmul dword [esp + 0x4c]
fstp dword [esp + 0x5c]
fld dword [ecx + esi*4 + 4]
fstp dword [esp + 0x18]
fld dword [esp + 0x60]
fld dword [esp + 0x18]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x64]
fmul st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x68]
fmul st(1)
fstp dword [esp + 0x38]
fmul qword [0x4bea18]
fstp dword [esp + 0x3c]
fld dword [esp + 0x50]
fadd dword [esp + 0x30]
fstp dword [esp + 0x20]
fld dword [esp + 0x34]
fadd dword [esp + 0x54]
fstp dword [esp + 0x24]
fld dword [esp + 0x38]
fadd dword [esp + 0x58]
fstp dword [esp + 0x28]
fld dword [esp + 0x3c]
fadd dword [esp + 0x5c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x20]
fld dword [esp + 0x24]
fld dword [esp + 0x28]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x18]
fldz
fld st(0)
fld dword [esp + 0x18]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x429f71
fstp st(1)
call fcn.0042eb10
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld1
fdivrp st(1)
jmp 0x429f73
fstp st(0)
fstp dword [esp + 0x14]
mov ebx, dword [ebp + 0x14]
fld dword [esp + 0x14]
lea eax, [esp + 0x20]
fld st(0)
push eax
fmul dword [esp + 0x24]
push ebx
mov ecx, eax
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fmul st(1)
fstp dword [esp + 0x30]
fmul dword [esp + 0x34]
fstp dword [esp + 0x34]
call fcn.0040d5c0
cmp byte [edi + 0x17], 0
je 0x42a05e
fld dword [esi*4 + 0x4c38b8]
mov ecx, dword [ebp + 0x10]
fstp dword [esp + 0x18]
push ecx
fld dword [esp + 0x1c]
push ebx
fld st(0)
lea ecx, [esp + 0x78]
fmul dword [esp + 0x48]
fstp dword [esp + 0x48]
fld dword [esp + 0x4c]
fmul st(1)
fstp dword [esp + 0x4c]
fmul dword [esp + 0x50]
fstp dword [esp + 0x50]
call fcn.0040d530
mov eax, dword [esp + 0x1c]
fld dword [esp + 0x70]
fsub dword [eax]
sub esp, 8
fstp dword [esp + 0x68]
fld dword [esp + 0x7c]
fsub dword [eax + 4]
fstp dword [esp + 0x6c]
fld dword [esp + 0x80]
fsub dword [eax + 8]
fstp dword [esp + 0x70]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [esp + 0x6c]
fmul dword [esp + 0x4c]
fld dword [esp + 0x68]
fmul dword [esp + 0x48]
faddp st(1)
fld dword [esp + 0x70]
fmul dword [esp + 0x50]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.0041d260
fstp dword [esp + 0x18]
add esp, 8
jmp 0x42a43a
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0x3c]
lea eax, [esp + 0x60]
push eax
call edx
mov ecx, dword [ebp + 0x1c]
lea eax, [esp + 0x60]
push eax
push ecx
mov ecx, eax
call fcn.0040d4a0
mov eax, dword [ebp + 0x10]
fld dword [eax]
fsub dword [esp + 0x60]
fstp dword [esp + 0x50]
fld dword [eax + 4]
fsub dword [esp + 0x64]
fstp dword [esp + 0x54]
fld dword [eax + 8]
fsub dword [esp + 0x68]
fstp dword [esp + 0x58]
fld dword [esp + 0x20]
fmul dword [esp + 0x50]
fld dword [esp + 0x54]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x58]
fmul dword [esp + 0x28]
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x4b72f4]
fnstsw ax
test ah, 0x41
jnp 0x42a43a
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
fld dword [esp + 0x24]
add edx, edx
fmul st(2)
add edx, edx
fld dword [esp + 0x20]
add edx, edx
fmul st(2)
faddp st(1)
fld dword [esp + 0x28]
fmul st(4)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld dword [edx + 0x4c60f0]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x42a11c
fstp st(0)
mov eax, 1
jmp 0x42a162
fld dword [edx + 0x4c60f8]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x42a131
fstp st(0)
xor eax, eax
jmp 0x42a162
fld dword [edx + 0x4c60fc]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x42a149
fstp st(0)
mov eax, 2
jmp 0x42a162
fld dword [edx + 0x4c6100]
fcompp
fnstsw ax
test ah, 0x41
mov eax, 4
jnp 0x42a162
mov eax, 3
mov ecx, eax
sub ecx, 0
je 0x42a198
sub ecx, 2
je 0x42a187
sub ecx, 2
je 0x42a198
fstp st(1)
fstp st(0)
fstp st(0)
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
fstp st(1)
xor eax, eax
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
fld dword [esp + 0x34]
fld st(0)
fmul st(4)
fld dword [esp + 0x38]
fld st(0)
fmul st(5)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x70]
fld st(0)
fmul st(3)
fld st(5)
fmul dword [esp + 0x30]
fsubp st(1)
fstp dword [esp + 0x74]
fld st(3)
fmul dword [esp + 0x30]
fld st(2)
fmul st(4)
fsubp st(1)
fstp dword [esp + 0x78]
fld dword [edx + eax*4 + 0x4c60f0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld st(0)
fmulp st(4)
fxch st(3)
fstp dword [esp + 0x60]
fld st(2)
fmulp st(4)
fxch st(3)
fstp dword [esp + 0x64]
fld st(1)
fmulp st(4)
fxch st(3)
fstp dword [esp + 0x68]
fmul dword [esp + 0x4c]
fstp dword [esp + 0x6c]
fld dword [edx + eax*4 + 0x4c60f4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x70]
fld dword [esp + 0x1c]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x74]
fmul st(1)
fstp dword [esp + 0x54]
fld dword [esp + 0x78]
fmul st(1)
fstp dword [esp + 0x58]
fmul qword [0x4bea18]
fstp dword [esp + 0x5c]
fld dword [esp + 0x60]
fadd dword [esp + 0x50]
fstp dword [esp + 0x40]
fld dword [esp + 0x54]
fadd dword [esp + 0x64]
fstp dword [esp + 0x44]
fld dword [esp + 0x58]
fadd dword [esp + 0x68]
fstp dword [esp + 0x48]
fld dword [esp + 0x5c]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x44]
fld dword [esp + 0x40]
fld dword [esp + 0x48]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x1c]
fldz
fld st(0)
fld dword [esp + 0x1c]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x42a2c8
fstp st(1)
fstp st(2)
fstp st(0)
call fcn.0042eb10
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld1
fdivrp st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x34]
fld dword [esp + 0x38]
jmp 0x42a2ce
fstp st(0)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x40]
fstp dword [esp + 0x40]
fld dword [esp + 0x44]
fmul st(1)
fstp dword [esp + 0x44]
fld dword [esp + 0x48]
fmul st(1)
fstp dword [esp + 0x48]
fmul dword [esp + 0x4c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x40]
fld st(0)
fmul dword [esp + 0x20]
fld dword [esp + 0x44]
fld st(0)
fmul dword [esp + 0x24]
faddp st(2)
fld dword [esp + 0x48]
fld st(0)
fmul dword [esp + 0x28]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld st(0)
fmulp st(4)
fxch st(3)
fstp dword [esp + 0x50]
fmul st(2)
fstp dword [esp + 0x54]
fmul st(1)
fstp dword [esp + 0x58]
fmul dword [esp + 0x4c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x24]
fmul st(2)
fld dword [esp + 0x20]
fld dword [esp + 0x30]
fld st(0)
fmulp st(2)
fxch st(2)
faddp st(1)
fld dword [esp + 0x28]
fmul st(3)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x60]
fld st(0)
fmulp st(3)
fxch st(2)
fstp dword [esp + 0x64]
fmul st(1)
fstp dword [esp + 0x68]
fmul dword [esp + 0x3c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x60]
fadd dword [esp + 0x50]
fstp dword [esp + 0x20]
fld dword [esp + 0x64]
fadd dword [esp + 0x54]
fstp dword [esp + 0x24]
fld dword [esp + 0x68]
fadd dword [esp + 0x58]
fstp dword [esp + 0x28]
fld dword [esp + 0x6c]
fadd dword [esp + 0x5c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x20]
fld dword [esp + 0x24]
fld dword [esp + 0x28]
fld dword [esp + 0x2c]
fld st(2)
fmulp st(3)
fld st(3)
fmulp st(4)
fxch st(2)
faddp st(3)
fmul st(0), st(0)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x1c]
fldz
fld st(0)
fld dword [esp + 0x1c]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x42a40a
fstp st(1)
call fcn.0042eb10
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld1
fdivrp st(1)
jmp 0x42a40c
fstp st(0)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x20]
fstp dword [esp + 0x20]
fld st(0)
fmul dword [esp + 0x24]
fstp dword [esp + 0x24]
fld st(0)
fmul dword [esp + 0x28]
fstp dword [esp + 0x28]
fmul dword [esp + 0x2c]
fstp dword [esp + 0x2c]
mov eax, dword [ebp + 0x20]
fld dword [esp + 0x20]
fstp dword [eax]
pop edi
fld dword [esp + 0x20]
pop esi
fstp dword [eax + 4]
pop ebx
fld dword [esp + 0x1c]
fstp dword [eax + 8]
fld dword [esp + 0x20]
fstp dword [eax + 0xc]
fld dword [esp + 4]
fstp dword [eax + 0xc]
mov eax, 1
mov esp, ebp
pop ebp
ret 0x1c