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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx + 0xc]
mov eax, ecx
dec eax
cmp eax, 1
ja 0x4d2bd1
mov ebx, dword [esp + 0x70]
mov edx, dword [ebx + 0x10]
mov eax, edx
and eax, 0x1fffff
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
mov eax, edx
and eax, 0x7fe00000
sar eax, 0x15
test edx, edx
js 0x4d2bca
sub eax, 0x314
mov dword [esp + 8], eax
fstp qword [esp]
call fcn.0062b7c8
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x14]
mov eax, edx
and eax, 0x1fffff
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
mov eax, edx
and eax, 0x7fe00000
sar eax, 0x15
test edx, edx
js 0x4d2bc6
sub eax, 0x314
mov dword [esp + 8], eax
fstp qword [esp]
fstp dword [esp + 0x10]
call fcn.0062b7c8
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
mov ecx, dword [esp + 0x70]
mov ebx, dword [ecx]
mov dword [esp + 4], 4
mov eax, dword [esp + 0x74]
imul eax, ebx
mov dword [esp], eax
fstp dword [esp + 0x20]
call fcn.0062b740
mov ebp, eax
mov esi, dword [esp + 0x70]
mov eax, dword [esi + 0xc]
cmp eax, 1
fld dword [esp + 0x10]
fld dword [esp + 0x20]
je 0x4d2bdd
cmp eax, 2
je 0x4d2def
fstp st(0)
fstp st(0)
jmp 0x4d2bbc
fstp st(0)
fstp st(0)
jmp 0x4d2bbc
fstp st(0)
fstp st(0)
mov eax, ebp
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
fchs
jmp 0x4d2b4f
fchs
jmp 0x4d2b12
xor ebp, ebp
mov eax, ebp
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
fld1
push ebx
fidiv dword [esp]
pop eax
fstp qword [esp + 8]
mov ebx, dword [esp + 0x70]
fild dword [ebx + 4]
fstp qword [esp]
fxch st(1)
fstp dword [esp + 0x10]
fstp dword [esp + 0x20]
call fcn.00621f20
fstp qword [esp]
call fcn.0062b660
fnstcw word [esp + 0x4a]
mov ax, word [esp + 0x4a]
mov ah, 0xc
mov word [esp + 0x48], ax
fldcw word [esp + 0x48]
fistp dword [esp + 0x44]
fldcw word [esp + 0x4a]
mov edi, dword [esp + 0x44]
mov esi, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov ecx, dword [ebx]
fld dword [esp + 0x20]
fld dword [esp + 0x10]
lea esi, [esi]
test ecx, ecx
jle 0x4d2c7c
lea esi, [edi + 1]
xor eax, eax
mov ebx, 1
mov edx, 1
lea esi, [esi]
lea edi, [edi]
imul edx, edi
imul ebx, esi
inc eax
cmp eax, ecx
jne 0x4d2c60
cmp edx, dword [esp + 0x3c]
jg 0x4d2c90
cmp ebx, dword [esp + 0x3c]
jg 0x4d2c93
inc edi
test ecx, ecx
jg 0x4d2c44
mov ebx, 1
mov edx, 1
cmp edx, dword [esp + 0x3c]
jle 0x4d2c71
lea esi, [esi]
dec edi
jmp 0x4d2c40
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x4d2bb2
mov dword [esp + 0x40], 0
mov dword [esp + 0x30], 0
fldz
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ecx
mov ecx, edi
nop
lea esi, [esi]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4d2cde
mov ebx, dword [esp + 0x70]
mov eax, dword [ebx + 8]
mov esi, dword [esp + 0x30]
mov ebp, dword [eax + esi*4]
test ebp, ebp
je 0x4d2d64
mov edi, dword [esp + 0x34]
test edi, edi
jle 0x4d2d60
mov ebx, dword [esp + 0x70]
mov edi, dword [ebx + 0x20]
fld st(2)
fld st(2)
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x78]
lea eax, [ebx + esi*4]
mov edx, dword [esp + 0x34]
imul edx, esi
mov esi, dword [esp + 0x70]
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x4d2d90
test ebx, ebx
je 0x4d2f88
mov ebp, dword [esp + 0x34]
imul ebp, dword [eax]
mov esi, 1
xor ebx, ebx
fld st(2)
lea esi, [esi]
mov eax, dword [esp + 0x30]
cdq
idiv esi
cdq
idiv ecx
fild dword [edi + edx*4]
fabs
fmul st(3)
fadd st(2)
fadd st(1)
lea eax, [ebp + ebx]
mov edx, dword [esp + 0x38]
fstp dword [edx + eax*4]
imul esi, ecx
inc ebx
cmp dword [esp + 0x34], ebx
jne 0x4d2d30
fstp st(0)
fstp st(0)
fstp st(0)
inc dword [esp + 0x40]
inc dword [esp + 0x30]
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x30], ebx
jne 0x4d2cc0
fstp st(0)
fstp st(0)
fstp st(0)
mov ebp, dword [esp + 0x38]
mov eax, ebp
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esp + 0x78]
test ebx, ebx
je 0x4d2fcc
mov ebp, dword [esp + 0x34]
imul ebp, dword [eax]
mov esi, 1
fldz
xor ebx, ebx
lea esi, [esi]
mov eax, dword [esp + 0x30]
cdq
idiv esi
cdq
idiv ecx
fild dword [edi + edx*4]
fabs
fld st(3)
fmulp st(1)
fadd st(2)
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
lea eax, [ebp + ebx]
mov edx, dword [esp + 0x38]
fst dword [edx + eax*4]
imul esi, ecx
inc ebx
cmp ebx, dword [esp + 0x34]
jne 0x4d2db0
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4d2d60
mov ecx, dword [esi + 4]
mov dword [esp + 0x38], ecx
test ecx, ecx
jle 0x4d2bb8
lea esi, [ebx*4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
xor edi, edi
fldz
lea esi, [esi]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4d2e36
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 8]
mov eax, dword [eax + edi*4]
test eax, eax
je 0x4d2ea1
test ebx, ebx
jle 0x4d2e9d
fld st(1)
fld st(3)
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x78]
lea eax, [esi + ecx*4]
imul ecx, ebx
mov esi, dword [esp + 0x70]
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x4d2ed0
mov esi, dword [esp + 0x78]
test esi, esi
je 0x4d2f19
mov esi, dword [eax]
imul esi, ebx
xor eax, eax
mov ecx, dword [esp + 0x30]
add edx, ecx
fld st(2)
lea esi, [esi]
fild dword [edx + eax*4]
fabs
fmul st(3)
fadd st(2)
fadd st(1)
lea ecx, [esi + eax]
fstp dword [ebp + ecx*4]
inc eax
cmp eax, ebx
jne 0x4d2e80
fstp st(0)
fstp st(0)
fstp st(0)
inc dword [esp + 0x34]
inc edi
mov esi, dword [esp + 0x3c]
add dword [esp + 0x30], esi
cmp edi, dword [esp + 0x38]
jne 0x4d2e20
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, ebp
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x78]
test esi, esi
je 0x4d2f4e
mov esi, dword [eax]
imul esi, ebx
fldz
xor eax, eax
mov ecx, dword [esp + 0x30]
add edx, ecx
mov esi, esi
lea edi, [edi]
fild dword [edx + eax*4]
fabs
fld st(3)
fmulp st(1)
fadd st(2)
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
lea ecx, [esi + eax]
fst dword [ebp + ecx*4]
inc eax
cmp eax, ebx
jne 0x4d2ef0
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4d2e9d
lea ecx, [ebp + ecx*4]
xor eax, eax
mov esi, dword [esp + 0x30]
add edx, esi
fldz
mov esi, esi
lea edi, [edi]
fild dword [edx + eax*4]
fabs
fmul st(3)
fadd st(2)
fadd st(1)
fstp dword [ecx + eax*4]
inc eax
cmp eax, ebx
jne 0x4d2f30
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4d2e9d
lea ecx, [ebp + ecx*4]
fldz
xor eax, eax
mov esi, dword [esp + 0x30]
add edx, esi
lea esi, [esi]
fild dword [edx + eax*4]
fabs
fld st(3)
fmulp st(1)
fadd st(2)
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fst dword [ecx + eax*4]
inc eax
cmp eax, ebx
jne 0x4d2f60
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4d2e9d
mov eax, dword [esp + 0x38]
lea ebx, [eax + edx*4]
add edx, dword [esp + 0x34]
lea ebp, [eax + edx*4]
mov esi, 1
fldz
lea esi, [esi]
mov eax, dword [esp + 0x30]
cdq
idiv esi
cdq
idiv ecx
fild dword [edi + edx*4]
fabs
fmul st(3)
fadd st(2)
fadd st(1)
fstp dword [ebx]
imul esi, ecx
add ebx, 4
cmp ebx, ebp
jne 0x4d2fa0
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4d2d60
mov eax, dword [esp + 0x38]
lea ebx, [eax + edx*4]
add edx, dword [esp + 0x34]
lea ebp, [eax + edx*4]
mov esi, 1
fldz
jmp 0x4d2ff0
mov eax, dword [esp + 0x30]
cdq
idiv esi
cdq
idiv ecx
fild dword [edi + edx*4]
fabs
fld st(3)
fmulp st(1)
fadd st(2)
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fst dword [ebx]
imul esi, ecx
add ebx, 4
cmp ebx, ebp
jne 0x4d2ff0
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x4d2d60