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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffdd8
mov dword [esp], edx
mov esi, eax
mov edi, 0x5071f8
inc dword [0x5071d0]
mov byte [esi], 0
mov eax, dword [esp]
mov edx, dword [eax + 0xa0]
mov dword [esi + 8], edx
mov edx, dword [eax + 0xa4]
mov dword [esi + 0xc], edx
mov eax, dword [esp]
push esi
push edi
lea esi, [eax + 0x20]
lea edi, [esp + 0x88]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, dword [esp]
push esi
push edi
lea esi, [eax + 0x60]
lea edi, [esp + 0xc8]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x80]
call fcn.004bd014
lea eax, [esp + 0xc0]
call fcn.004bd014
mov eax, dword [esp]
fld qword [eax + 8]
mov eax, dword [esp]
fadd qword [eax + 0x18]
fstp qword [esp + 0x50]
wait
fld xword [0x4c0898]
fsubr qword [esp + 0x50]
fld xword [0x4c08a4]
fcompp
wait
fnstsw ax
sahf
jb 0x4c049d
mov dword [esp + 0x78], 0x47ae147b
mov dword [esp + 0x7c], 0x3f747ae1
jmp 0x4c04ac
fld xword [0x4c0898]
fsubr qword [esp + 0x50]
fstp qword [esp + 0x78]
wait
mov eax, dword [esp + 0x78]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 0x47ae147b
mov dword [esp + 0x64], 0x3f547ae1
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov word [esp + 0x108], 0
mov eax, dword [esp]
push esi
push edi
mov esi, eax
lea edi, [esp + 0x118]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, dword [esp]
push esi
push edi
lea esi, [eax + 0x10]
lea edi, [esp + 0x128]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov byte [esp + 0x190], 0
push dword [esp + 0x14]
push dword [esp + 0x14]
lea edx, [esp + 0x1d0]
lea eax, [esp + 0x88]
call fcn.004bcea8
push dword [esp + 0x14]
push dword [esp + 0x14]
lea edx, [esp + 0x200]
lea eax, [esp + 0xc8]
call fcn.004bcea8
push esi
push edi
lea esi, [esp + 0x1d0]
lea edi, [esp + 0x138]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
push esi
push edi
lea esi, [esp + 0x200]
lea edi, [esp + 0x168]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea ecx, [esp + 0x110]
lea edx, [esp + 0x100]
lea eax, [esp + 0x198]
call fcn.004c16d8
fld qword [esp + 0x1b8]
fcomp dword [0x4c08b0]
wait
fnstsw ax
sahf
ja 0x4c05bc
mov byte [esi], 2
xor eax, eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
jmp 0x4c0873
fld qword [esp + 0x58]
fadd qword [esp + 0x60]
fcomp qword [esp + 0x1b8]
wait
fnstsw ax
sahf
jbe 0x4c05e7
mov byte [esi], 3
mov eax, dword [esp + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
jmp 0x4c0873
mov eax, dword [esp]
add eax, 0x10
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0xc8]
push eax
push dword [esp + 0x20]
push dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x114]
mov eax, dword [edi]
call fcn.004bf064
fstp st(0)
mov byte [esp + 0x6c], 0
mov eax, dword [esp]
mov edx, dword [eax + 0xa0]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0xa4]
mov dword [esp + 0x24], edx
xor ebp, ebp
push dword [esp + 0x24]
push dword [esp + 0x24]
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x78]
mov eax, dword [edi]
call fcn.004bf8c8
fstp qword [esp + 0x28]
wait
fld qword [esp + 0x58]
fadd qword [esp + 0x60]
fcomp qword [esp + 0x28]
wait
fnstsw ax
sahf
jae 0x4c0688
mov byte [esi], 4
mov eax, dword [esp]
mov edx, dword [eax + 0xa0]
mov dword [esi + 8], edx
mov edx, dword [eax + 0xa4]
mov dword [esi + 0xc], edx
mov byte [esp + 0x6c], 1
jmp 0x4c0846
fld qword [esp + 0x58]
fsub qword [esp + 0x60]
fcomp qword [esp + 0x28]
wait
fnstsw ax
sahf
jae 0x4c06af
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
jmp 0x4c0846
push dword [esp + 0x14]
push dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov eax, dword [edi]
call fcn.004bffcc
fstp qword [esp + 0x18]
wait
fld qword [esp + 0x58]
fsub qword [esp + 0x60]
fcomp qword [esp + 0x18]
wait
fnstsw ax
sahf
jbe 0x4c06f8
mov byte [esi], 1
mov eax, dword [esp + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov byte [esp + 0x6c], 1
jmp 0x4c0846
fld qword [esp + 0x58]
fadd qword [esp + 0x60]
fcomp qword [esp + 0x18]
wait
fnstsw ax
sahf
jb 0x4c0725
mov byte [esi], 3
mov eax, dword [esp + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov byte [esp + 0x6c], 1
jmp 0x4c0846
xor ebx, ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
test bl, 1
je 0x4c0776
fld qword [esp + 0x58]
fsub qword [esp + 0x18]
fld qword [esp + 0x38]
fsub qword [esp + 0x30]
fmulp st(1)
fld qword [esp + 0x28]
fsub qword [esp + 0x18]
call fcn.00403928
fadd qword [esp + 0x30]
fstp qword [esp + 0x40]
wait
jmp 0x4c0789
fld qword [esp + 0x30]
fadd qword [esp + 0x38]
fmul dword [0x4c08b4]
fstp qword [esp + 0x40]
wait
push dword [esp + 0x44]
push dword [esp + 0x44]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov eax, dword [edi]
call fcn.004bffcc
fstp qword [esp + 0x48]
wait
fld qword [esp + 0x48]
fsub qword [esp + 0x58]
fabs
fcomp qword [esp + 0x60]
wait
fnstsw ax
sahf
jae 0x4c07cb
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], eax
jmp 0x4c082b
fld qword [esp + 0x48]
fcomp qword [esp + 0x58]
wait
fnstsw ax
sahf
jbe 0x4c07fb
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
jmp 0x4c081b
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
inc ebx
inc dword [0x5071dc]
cmp ebx, 0x32
jne 0x4c0747
mov edx, ebx
mov eax, dword [0x5071e0]
call fcn.004bd1e8
mov dword [0x5071e0], eax
inc ebp
cmp ebp, 8
jne 0x4c0638
inc dword [esp + 0x68]
inc dword [0x5071d4]
cmp byte [esp + 0x6c], 0
jne 0x4c0873
cmp dword [esp + 0x68], 0x14
jne 0x4c0517
mov byte [esi], 1
mov eax, dword [esp + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov edx, dword [esp + 0x68]
mov eax, dword [0x5071d8]
call fcn.004bd1e8
mov dword [0x5071d8], eax
fld qword [esp + 8]
add esp, 0x228
pop ebp
pop edi
pop esi
pop ebx
ret