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

Disassembly:
sub esp, 0xd8
push ebx
push ebp
push esi
mov esi, dword [esp + 0xe8]
push edi
push esi
call fcn.004a0b80
add esp, 4
test eax, eax
je 0x4a7ee2
push esi
call fcn.004a0b60
add esp, 4
test eax, eax
jne 0x4a7ee2
mov ebp, dword [esp + 0xf0]
push ebp
call fcn.004a0b80
add esp, 4
test eax, eax
je 0x4a7ee2
mov ecx, dword [0xc68e3c]
lea eax, [ebp*8]
sub eax, ebp
mov edx, dword [ecx + eax*4 + 4]
test dh, 0x20
je 0x4a7ee2
mov eax, dword [0xc68e34]
lea ebx, [ebp + ebp*2]
shl ebx, 4
fld dword [ebx + eax + 0x20]
add ebx, eax
lea edx, [esi + esi*2]
shl edx, 4
fcomp dword [edx + eax + 0x14]
lea ecx, [edx + eax]
fnstsw ax
test ah, 1
jne 0x4a7ee2
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x24], eax
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x28], edx
mov eax, dword [ecx + 0x2c]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x30], eax
call fcn.004a9470
add esp, 4
test eax, eax
jne 0x4a7cc4
fld dword [esp + 0x2c]
sub esp, 8
fstp qword [esp]
sub esp, 8
fld dword [esp + 0x38]
sub esp, 8
fstp qword [esp + 8]
fld dword [esp + 0x3c]
fstp qword [esp]
push esi
push str.area__d_center__f__f__f_in_solid__r_n
call fcn.004951e0
add esp, 0x20
mov edx, dword [esp + 0x24]
fld dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push 0xffffffffffffffff
push 4
lea ecx, [esp + 0x6c]
mov dword [esp + 0x6c], edx
push ecx
lea edx, [esp + 0x30]
mov dword [esp + 0x74], eax
fsub dword [0x4bc300]
push edx
lea eax, [esp + 0x80]
push eax
fstp dword [esp + 0x80]
call fcn.004a9720
mov esi, eax
mov ecx, 9
lea edi, [esp + 0x84]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x84]
add esp, 0x14
test eax, eax
jne 0x4a7ee2
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 4]
xor edi, edi
test eax, eax
mov dword [esp + 0x30], edi
jle 0x4a7ee2
mov esi, 0x1e
mov ecx, dword [ebx + 8]
mov edx, dword [0xc68e2c]
add ecx, edi
mov ecx, dword [edx + ecx*4]
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0xc68e24]
lea eax, [eax + eax*2]
test byte [edx + eax*8 + 4], 4
je 0x4a7ed2
lea eax, [esp + 0x34]
push eax
push ecx
call fcn.004a0990
fld dword [esp + 0x24]
fadd dword [0x4bc788]
add esp, 8
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
je 0x4a7ed2
xor edi, edi
test edi, edi
je 0x4a7db5
lea ecx, [esp + 0x14]
push ecx
call fcn.0049be70
jmp 0x4a7dbf
lea edx, [esp + 0x14]
push edx
call fcn.0049be70
add esp, 4
fstp dword [esp + 0x20]
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x1c]
push edx
push eax
call fcn.0049d3b0
add esp, 0x10
test eax, eax
je 0x4a7ec4
fld dword [esp + 0x10]
fcomp dword [0x4bd21c]
fnstsw ax
test ah, 1
je 0x4a7ec4
fld dword [esp + 0x34]
lea ecx, [esp + 0x40]
fsub dword [esp + 0x14]
push ecx
mov dword [esp + 0x4c], 0
fstp dword [esp + 0x44]
fld dword [esp + 0x3c]
fsub dword [esp + 0x1c]
fstp dword [esp + 0x48]
call fcn.0042c7d0
mov edx, dword [esp + 0x24]
fstp st(0)
fld dword [esp + 0x44]
push 0
fmul dword [esp + 0x18]
push ebp
push 0x4bd
push 0x3dcccccd
push esi
fstp dword [esp + 0x64]
fld dword [esp + 0x5c]
push esi
fmul dword [esp + 0x2c]
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x78]
push ecx
fstp dword [esp + 0x74]
fld dword [esp + 0x6c]
push 1
fmul dword [esp + 0x38]
mov dword [esp + 0x88], edx
push 2
lea edx, [esp + 0x40]
push edx
fstp dword [esp + 0x84]
lea eax, [esp + 0xc4]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
call fcn.0049d2f0
mov eax, dword [esp + 0x11c]
add esp, 0x38
cmp eax, esi
jge 0x4a7ec4
mov eax, dword [esp + 0xd8]
test al, 0x38
jne 0x4a7ec4
test eax, 0x480
jne 0x4a7eef
inc edi
cmp edi, 1
jl 0x4a7da5
mov edi, dword [esp + 0x30]
mov eax, dword [ebx + 4]
inc edi
cmp edi, eax
mov dword [esp + 0x30], edi
jl 0x4a7d53
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xd8
ret
call fcn.004a08e0
mov esi, eax
xor eax, eax
cmp esi, eax
je 0x4a7ee2
cmp edi, eax
mov dword [esi], ebp
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov ecx, dword [esp + 0x14]
mov dword [esi + 0xc], ecx
mov edx, dword [esp + 0x18]
mov dword [esi + 0x10], edx
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x14], ecx
mov edx, dword [esp + 0x34]
mov dword [esi + 0x18], edx
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x1c], ecx
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x20], edx
je 0x4a7f41
mov dword [esi + 0x24], 0xd
fld dword [0xc688f8]
jmp 0x4a7f4e
mov dword [esi + 0x24], 0xc
fld dword [0xc688f4]
call fcn.004aeed0
mov word [esi + 0x28], ax
mov ecx, dword [0xc68810]
mov eax, dword [esp + 0xec]
mov edx, dword [ecx + eax*4]
mov dword [esi + 0x2c], edx
mov ecx, dword [0xc68810]
mov dword [ecx + eax*4], esi
mov eax, dword [0xc68854]
pop edi
pop esi
inc eax
pop ebp
mov dword [0xc68854], eax
mov eax, 1
pop ebx
add esp, 0xd8
ret