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

Disassembly:
sub esp, 0x78
push esi
mov esi, ecx
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x80]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + 0x24]
cmp eax, 0xc
push edi
je case.default.0x48c8f6
cmp eax, 0xb
je case.default.0x48c8f6
mov ecx, esi
call fcn.0048b800
test eax, eax
je case.default.0x48c8f6
mov eax, dword [esi + 0xdb4]
test eax, eax
je 0x48c726
mov ecx, dword [0x680098]
call fcn.004be550
fsubr dword [esi + 0xdb8]
fst dword [esi + 0xdb8]
fcomp dword [0x60477c]
fnstsw ax
test ah, 0x41
jp 0x48c726
mov ecx, dword [esi + 0xdb4]
lea eax, [esp + 0x18]
push eax
call fcn.00437500
push 0
push 6
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [0x6800b4]
call fcn.004f1bd0
mov edi, eax
test edi, edi
mov dword [esi + 0xdb8], 0x3e800000
je 0x48c726
mov ecx, dword [esi + 0xdb4]
lea edx, [esp + 0xc]
push edx
call fcn.004893b0
fld dword [esp + 0xc]
fchs
lea eax, [edi + 0x58]
fstp dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
fld dword [esp + 0x10]
mov dword [eax], ecx
mov ecx, dword [esp + 0x14]
fchs
fstp dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
push 0x80808080
mov ecx, edi
mov dword [edi + 0x7c], 0x41a00000
call fcn.0041c910
or dword [edi + 0xb0], 0x20
movzx edi, byte [esi + 0x6b4]
test edi, edi
je case.default.0x48c8f6
mov eax, dword [esi + 0xe34]
test eax, eax
jne 0x48c8e4
mov ecx, dword [0x62f46c]
call fcn.004f13a0
test eax, eax
mov dword [esi + 0xe34], eax
je 0x48c8e4
or dword [eax + 0x70], 8
mov ecx, dword [esi + 0x30]
call fcn.004d17f0
mov edx, dword [esi + 0xe34]
add eax, 0x90
mov ecx, dword [eax]
add edx, 8
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov eax, dword [esi + 0xe34]
fld dword [eax + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
fadd dword [0x5dee2c]
mov dword [eax + 0xc], edx
mov dword [eax + 8], ecx
fstp dword [eax + 0x10]
mov ecx, dword [esi + 0x30]
add eax, 8
mov eax, dword [esi + 0xe34]
mov dword [eax + 0x6c], ecx
mov edx, dword [esi + 0xe34]
mov dword [edx + 0x14], 6
mov eax, dword [esi + 0xe34]
mov dword [eax + 0x18], 0x3ecccccd
mov ecx, dword [esi + 0xe34]
mov dword [ecx + 0x1c], 0x3f4ccccd
mov edx, dword [esi + 0xe34]
add edx, 0x20
mov dword [esp + 0xc], 0x41c80000
mov eax, dword [esp + 0xc]
mov dword [edx], eax
mov dword [esp + 0x10], 0x42960000
mov ecx, dword [esp + 0x10]
mov dword [edx + 4], ecx
mov dword [esp + 0x14], 0x41c80000
mov eax, dword [esp + 0x14]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xe34]
add ecx, 0x2c
mov dword [esp + 0xc], 0x42480000
mov edx, dword [esp + 0xc]
mov dword [ecx], edx
mov dword [esp + 0x10], 0x43160000
mov eax, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov dword [esp + 0x14], 0x428c0000
mov edx, dword [esp + 0x14]
mov dword [ecx + 8], edx
mov eax, dword [esi + 0xe34]
mov dword [eax + 0x40], 0x44bb8000
mov ecx, dword [esi + 0xe34]
mov dword [ecx + 0x3c], 0x450fc000
mov edx, dword [esi + 0xe34]
mov dword [edx + 0x38], 0x43480000
mov eax, dword [esi + 0xe34]
mov dword [eax + 0x44], 0x40e00000
mov ecx, dword [esi + 0xe34]
mov dword [ecx + 0x48], 0x41200000
mov edx, dword [esi + 0xe34]
mov dword [edx + 0x50], 0
mov eax, dword [esi + 0xe34]
mov dword [eax], 0
mov eax, dword [esi + 0xe34]
or dword [eax + 0x70], 0x40
mov eax, dword [esi + 0xe34]
or dword [eax + 0x70], 0x20
mov eax, dword [esi + 0xe34]
or dword [eax + 0x70], 0x10
mov eax, dword [esi + 0xe34]
or dword [eax + 0x70], 0x200
mov ecx, dword [esi + 0xe34]
push ecx
mov ecx, dword [0x62f46c]
call fcn.00416810
movzx edx, al
mov dword [esi + 0x678], edx
mov eax, dword [esi + 0xe34]
test eax, eax
je case.default.0x48c8f6
lea ecx, [edi - 1]
cmp ecx, 3
ja case.default.0x48c8f6
jmp dword [ecx*4 + 0x48cbdc]
mov dword [esp + 0x24], 0x3dcccccd
jmp 0x48c923
mov dword [esp + 0x24], 0x3e99999a
jmp 0x48c923
mov dword [esp + 0x24], 0x3f000000
jmp 0x48c923
mov dword [esp + 0x24], 0x3f333333
add eax, 0x5c
mov dword [esp + 0x18], 0x3dcccccd
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [esp + 0x1c], 0x3dcccccd
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], 0x3dcccccd
mov ecx, dword [esp + 0x20]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0xdac]
test eax, eax
je 0x48c9f9
mov ecx, esi
call fcn.004ce4c0
test eax, eax
je 0x48c9f9
mov ecx, dword [esi + 0x30]
call fcn.004d17b0
cmp eax, 1
jg 0x48c9f9
mov ecx, dword [esi + 0xdac]
lea eax, [esp + 0xc]
push eax
call fcn.00437500
push 0
push 0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [0x6800b4]
call fcn.004f1bd0
test eax, eax
je 0x48c9b2
mov ecx, eax
call fcn.00403ea0
mov ecx, dword [esi + 0xdb0]
test ecx, ecx
je 0x48c9f9
lea edx, [esp + 0x18]
push edx
call fcn.00437500
mov ecx, dword [eax]
mov dword [esp + 0xc], ecx
mov edx, dword [eax + 4]
push 0
push 0
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], edx
mov eax, dword [eax + 8]
push ecx
mov ecx, dword [0x6800b4]
mov dword [esp + 0x20], eax
call fcn.004f1bd0
test eax, eax
je 0x48c9f9
mov ecx, eax
call fcn.00403ea0
mov edx, dword [esi + 0x24]
mov eax, dword [edx + 0x80]
mov ecx, dword [eax + 0x44]
cmp dword [ecx + 0x24], 0xc
jne 0x48cbd3
fld dword [esi + 0x58]
fcomp dword [0x60477c]
fnstsw ax
test ah, 0x44
jp 0x48cbd3
mov eax, dword [0x680098]
mov edx, dword [eax + 4]
fild dword [eax + 4]
test edx, edx
jge 0x48ca38
fadd dword [0x5da2fc]
fmul dword [0x5da73c]
mov ecx, dword [esi + 0xe38]
test ecx, ecx
fild dword [esi + 0xe38]
jge 0x48ca54
fadd dword [0x5da2fc]
mov edx, dword [eax + 0x10]
faddp st(1)
test edx, edx
fild dword [eax + 0x10]
jge 0x48ca66
fadd dword [0x5da2fc]
fcompp
fnstsw ax
test ah, 5
jp 0x48cbd3
call fcn.004bd590
test al, 1
jne 0x48cbd3
lea ecx, [esp + 0x28]
call fcn.004f4ce0
lea eax, [esp + 0xc]
push eax
mov ecx, esi
call fcn.00401470
fld dword [esp + 0x10]
fadd dword [0x5da750]
push 0x41200000
push 0x41180000
fstp dword [esp + 0x18]
call fcn.004bd540
push 0x40d00000
fstp dword [esp + 0x7c]
push 0x40b00000
call fcn.004bd540
fstp dword [esp + 0x84]
push 0x42480000
push 0x41200000
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0x3f800000
call fcn.004bd540
fstp dword [esp + 0x68]
push 0x43b38000
mov dword [esp + 0x78], 2
call fcn.004bd510
fstp dword [esp + 0x68]
mov ecx, dword [esi + 0x1c]
push 0x40400000
push 0x3f000000
mov dword [esp + 0x4c], ecx
call fcn.004bd540
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
fmul dword [0x5da2d4]
mov dword [esp + 0x50], edx
add esp, 0x24
lea edx, [esp + 0x28]
mov dword [esp + 0x34], ecx
mov ecx, dword [0x6800e4]
fstp dword [esp + 0x48]
push edx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x58], 0x66
call fcn.004f54c0
mov esi, eax
test esi, esi
je 0x48cbca
push 0x3f000000
push 0x3dcccccd
call fcn.004bd540
fmul dword [0x5da6e8]
add esp, 8
call fcn.0058c3f0
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x50]
or edi, 1
add ecx, eax
mov dword [esi + 0x68], eax
mov dword [esi + 4], edi
mov dword [esi + 0x54], ecx
mov esi, dword [esi + 0x94]
test esi, esi
je 0x48cbca
push 0x40000000
push 0x3f800000
call fcn.004bd540
add esp, 8
or byte [esi], 0x40
fstp dword [esi + 0x334]
lea ecx, [esp + 0x28]
call fcn.004031a0
pop edi
pop esi
add esp, 0x78
ret