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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0xa8
mov edi, dword [esp + 0xbc]
mov eax, dword [edi]
test eax, eax
mov dword [esp + 0xc], eax
je 0x4d82b4
nop
mov eax, dword [esp + 0xc]
lea edi, [esp + 0x34]
mov ecx, eax
mov ebp, dword [eax]
mov eax, dword [ecx + 8]
mov dword [esp + 4], ebp
add dword [esp + 4], 4
mov dword [esp + 0xc], eax
add dword [esp + 4], 0x30
mov eax, dword [esp + 4]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
fldz
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 4]
mov eax, dword [esp + 0xc0]
fld dword [edx]
fsub dword [eax]
mov eax, dword [esp + 0xc0]
lea edi, [esp + 0x40]
fstp dword [esp + 0x70]
fld dword [edx + 4]
fsub dword [eax + 4]
mov eax, dword [esp + 0xc0]
lea esi, [esp + 0x70]
fstp dword [esp + 0x74]
fld dword [edx + 8]
fsub dword [eax + 8]
fstp dword [esp + 0x78]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
fld dword [esp + 0x18]
fmul st(0)
fld dword [esp + 0x40]
mov dword [esp + 0x1c], eax
fmul st(0)
faddp st(1)
fld dword [esp + 0x1c]
fmul st(0)
faddp st(1)
fst st(1)
fsqrt
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
fld dword [esp + 0x10]
fcomp dword [esp + 0xc4]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4d82e0
push ebp
fstp st(0)
call fcn.005c8b00
mov al, byte [ebp + 0x52]
pop ecx
shr al, 1
and al, 1
jne 0x4d82a9
mov bl, byte [ebp + 0x50]
and bl, 7
cmp bl, 3
jne 0x4d7cb9
cmp byte [ebp + 0x3ac], 0
jne 0x4d82a9
mov al, byte [ebp + 0x51]
mov cl, 1
shr al, 2
and al, 1
jne 0x4d7cd1
mov al, byte [ebp + 0x55]
shr al, 3
and al, 1
jne 0x4d7cd1
xor cl, cl
test cl, cl
je 0x4d82c0
cmp bl, 4
jne 0x4d7e84
fld dword [esp + 0xc8]
fcomp dword [ebp + 0x168]
fnstsw ax
test ah, 0x45
je 0x4d7d14
movsx esi, word [ebp + 0x5c]
movzx eax, word [0x68e95c]
cmp eax, esi
je 0x4d7d14
movzx eax, word [0x68e960]
cmp eax, esi
jne 0x4d7e1a
movsx eax, word [ebp + 0x5c]
mov edi, dword [eax*4 + 0x92d4d0]
mov bl, byte [edi + 0x19]
mov al, bl
cmp al, 1
je 0x4d7d31
cmp bl, 3
je 0x4d7d31
xor cl, cl
jmp 0x4d7d4a
movzx eax, word [edi + 0x42]
mov cl, 1
mov edx, eax
and edx, 0x2000
jne 0x4d7d4a
and eax, 0x4000
jne 0x4d7d4a
xor cl, cl
test cl, cl
je 0x4d7d70
mov eax, dword [esp + 0xc0]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
push ebp
call fcn.00553a00
add esp, 0x10
jmp 0x4d7e1a
mov al, byte [ebp + 0x51]
mov ecx, ebp
and al, 0xfb
mov byte [ebp + 0x51], al
call fcn.004baeb0
movsx eax, word [ebp + 0x5c]
movzx esi, word [0x68e8a4]
cmp esi, eax
jne 0x4d7dd4
lea ebx, [ebp + 0x16d]
mov dl, byte [ebx]
shr dl, 6
and dl, 1
jne 0x4d7dd4
mov eax, dword [esp + 4]
lea edi, [esp + 0x4c]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x58]
fsub dword [0x69125c]
lea eax, [esp + 0x50]
push eax
fstp dword [esp + 0x5c]
push 5
call fcn.004e8940
mov al, byte [ebx]
add esp, 0xc
and al, 0xbf
or al, 0x40
mov byte [ebx], al
jmp 0x4d7e1a
mov cl, byte [ebp + 0x50]
and cl, 7
cmp cl, 4
jne 0x4d7e1a
movzx edi, word [0x68e920]
cmp eax, edi
je 0x4d7e00
movzx edx, word [0x68e964]
cmp eax, edx
je 0x4d7e00
movzx esi, word [0x68e968]
cmp eax, esi
jne 0x4d7e04
mov al, 1
jmp 0x4d7e06
xor al, al
test al, al
jne 0x4d7e1a
mov al, byte [ebp + 0x16d]
and al, 0xbf
or al, 0x40
mov byte [ebp + 0x16d], al
mov al, byte [ebp + 0x51]
mov bl, 1
shr al, 2
and al, 1
fldz
jne 0x4d7e34
mov al, byte [ebp + 0x55]
shr al, 3
and al, 1
jne 0x4d7e34
xor bl, bl
test bl, bl
je 0x4d7e95
fld dword [esp + 0xc4]
fsub dword [esp + 0x10]
fmul dword [0x691260]
fdiv dword [esp + 0xc4]
fst st(1)
fcomp dword [0x691264]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4d7e6a
fld dword [0x691264]
fstp st(1)
fld dword [0x691344]
push eax
mov ecx, ebp
fmul st(1)
fstp dword [esp]
fstp st(0)
call fcn.004e09b0
jmp 0x4d82c7
mov al, byte [ebp + 0x51]
mov ecx, ebp
and al, 0xfb
mov byte [ebp + 0x51], al
call fcn.004baeb0
fldz
mov al, byte [ebp + 0x51]
mov cl, 1
shr al, 2
and al, 1
jne 0x4d7ead
mov al, byte [ebp + 0x55]
shr al, 3
and al, 1
jne 0x4d7ead
xor cl, cl
test cl, cl
jne 0x4d82e4
fld dword [esp + 0xc4]
fsub dword [esp + 0x10]
fmul dword [0x691260]
fdiv dword [esp + 0xc4]
fst st(1)
fcomp dword [0x691264]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4d7ee5
fst dword [esp + 0x14]
jmp 0x4d7eef
fld dword [0x691264]
fstp dword [esp + 0x14]
fld dword [0x691270]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x45
jne 0x4d7f08
fld dword [0x691270]
jmp 0x4d7f0c
fld dword [esp + 0x10]
fstp st(1)
fld dword [esp + 0xc8]
fmul dword [ebp + 0xb8]
lea edi, [esp + 0x58]
fmul dword [0x691348]
fmul dword [esp + 0x14]
fdiv st(1)
fst st(1)
fmul dword [esp + 0x40]
fstp dword [esp + 0x7c]
fld st(0)
fmul dword [esp + 0x18]
lea esi, [esp + 0x7c]
fstp dword [esp + 0x80]
fld st(0)
fmul dword [esp + 0x1c]
fstp dword [esp + 0x84]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x60]
fcomp dword [0x691268]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4d7f72
mov dword [esp + 0x60], 0
fstp st(0)
call fcn.004bc140
cmp ebp, eax
fldz
jne 0x4d7fa1
fld dword [esp + 0x60]
fst st(1)
fcomp dword [0x691264]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x4d7f9d
fld dword [0x691264]
fstp st(1)
fst dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov ecx, ebp
push eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
push eax
mov dword [esp + 0x2c], eax
push dword [esp + 0x60]
fstp st(0)
call fcn.004bade0
mov al, byte [ebp + 0x51]
shr al, 4
and al, 1
fldz
fldz
fldz
jne 0x4d82d0
movsx ebx, word [ebp + 0x5c]
mov eax, dword [ebx*4 + 0x92d4d0]
mov edx, dword [eax + 0x1c]
mov eax, dword [esp + 0xc0]
mov esi, edx
fld dword [esi + 0xc]
fchs
fld dword [eax + 8]
fsub dword [esp + 0x3c]
fstp st(3)
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4d8010
fld st(1)
jmp 0x4d8015
fld dword [edx + 0xc]
fchs
fstp st(3)
fld dword [edx + 0xc]
fstp st(1)
fld st(2)
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x4d8048
fld st(0)
fchs
fstp st(3)
fld st(1)
fcomp st(3)
fnstsw ax
test ah, 0x45
jne 0x4d8040
fld st(1)
jmp 0x4d8042
fld st(2)
fstp st(3)
fld st(2)
jmp 0x4d804a
fld st(0)
fstp st(3)
lea edi, [esp + 0x64]
mov dword [esp + 0x88], 0
lea esi, [esp + 0x88]
mov dword [esp + 0x8c], 0
fld st(2)
fstp dword [esp + 0x90]
movsd dword es:[edi], dword [esi]
fcompp
fstp st(0)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, ebp
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x2c]
push dword [esp + 0x34]
push dword [esp + 0x6c]
call fcn.004bace0
mov al, byte [ebp + 0x50]
and al, 7
cmp al, 2
jne 0x4d8156
lea ebx, [ebp + 0x50]
mov cl, byte [ebx]
shr cl, 3
movzx eax, cl
cmp eax, 2
jne 0x4d80c8
mov al, byte [ebx]
push ebp
and al, 7
or al, 0x18
mov byte [ebx], al
call fcn.0041d2d0
pop ecx
fld dword [0x69134c]
fmul dword [esp + 0x14]
mov dword [esp + 0x9c], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov ecx, ebp
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push dword [esp + 0x9c]
push eax
fstp dword [esp]
push 0x29
push dword [esp + 0xe0]
call fcn.005b9040
cmp byte [esp + 0xd0], 0
je 0x4d82a9
cmp word [ebp + 0x222], 0
je 0x4d82a9
xor dx, dx
mov edi, 0xa
mov ax, word [ebp + 0x222]
div di
mov word [ebp + 0x222], ax
jmp 0x4d82a9
cmp al, 3
jne 0x4d8290
fld dword [esp + 0x58]
fchs
fstp dword [esp + 0xa0]
fld dword [esp + 0x24]
lea eax, [esp + 0xa0]
mov esi, ebp
fchs
mov ecx, esi
push eax
fstp dword [esp + 0xa8]
call fcn.00503610
mov ecx, dword [esi + 0x5a0]
mov ebx, eax
test ecx, ecx
je 0x4d81c5
lea edi, [ecx + 0x50]
mov al, byte [edi]
and al, 7
cmp al, 2
jne 0x4d81c5
mov dl, byte [edi]
shr dl, 3
movzx eax, dl
cmp eax, 5
jne 0x4d81c5
mov al, bl
mov ecx, esi
push eax
push 0
push dword [0x6912d0]
push 0x29
push dword [esp + 0xdc]
jmp 0x4d820e
test ecx, ecx
jne 0x4d81f0
mov al, byte [esi + 0x14c]
mov ecx, esi
and al, 0xfe
mov byte [esi + 0x14c], al
push dword [0x691260]
push dword [0x691268]
push dword [0x691268]
call fcn.004bade0
fld dword [0x691350]
fmul dword [esp + 0x14]
mov al, bl
mov ecx, esi
push eax
push 0
push eax
fstp dword [esp]
push 0x29
push dword [esp + 0xdc]
call fcn.00525b40
cmp dword [ebp + 0x244], 0x36
je 0x4d822e
add ebx, 0x19
mov ecx, ebp
push 0
push ebx
push 0x7d0
call fcn.004fda10
cmp dword [esp + 0xcc], 0
je 0x4d82a9
mov eax, dword [esp + 0xcc]
mov al, byte [eax + 0x50]
and al, 7
cmp al, 3
jne 0x4d82a9
cmp dword [ebp + 0x3d4], 6
jne 0x4d8264
push 0x2710
push dword [esp + 0xd0]
push ebp
push 1
push 0xc
jmp 0x4d8275
push 0x2710
push dword [esp + 0xd0]
push ebp
push 1
push 0xb
call fcn.0048a0e0
add esp, 0x14
mov ecx, ebp
push dword [esp + 0xcc]
call fcn.00514380
jmp 0x4d82a9
cmp al, 4
jne 0x4d82a9
fld dword [0x691344]
fmul dword [esp + 0x14]
push eax
mov ecx, ebp
fstp dword [esp]
call fcn.004e09b0
cmp dword [esp + 0xc], 0
jne 0x4d7bd0
add esp, 0xa8
pop ebp
pop edi
pop esi
pop ebx
ret
fldz
jmp 0x4d7e95
fldz
jmp 0x4d7e95
fcompp
fstp st(0)
jmp 0x4d809c
fstp st(0)
jmp 0x4d82a9
fstp st(0)
jmp 0x4d82a9