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

Disassembly:
sub esp, 0x260
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x274]
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], eax
push edi
lea eax, [esp + 0x14]
mov esi, ecx
push eax
mov dword [esp + 0x4c], esi
call fcn.00544e90
test eax, eax
je 0x55a0a0
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x260
ret 0xc
mov ebx, dword [esp + 0x27c]
mov eax, 0x48
mov ecx, ebx
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov ebp, 0x20
call fcn.00559a70
cmp eax, 1
je 0x55a391
lea ecx, [ecx]
mov eax, dword [ebx]
cmp eax, 3
je 0x55a358
cmp eax, 2
je 0x55a348
push 0
push edi
push str.VIEW
mov ecx, ebx
call fcn.00559e20
test eax, eax
je 0x55a15d
mov ecx, dword [esp + 0x10]
push ebx
push ecx
push edi
mov ecx, esi
call fcn.0055a060
test eax, eax
jne 0x55a381
push 0
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x34]
push ecx
push 0x5dc230
mov ecx, ebx
call fcn.00559fb0
push 0
push 0
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x74]
push eax
push 0x5c57fc
mov ecx, ebx
call fcn.00559fb0
push 0
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x44]
push eax
push str.COLOR
mov ecx, ebx
call fcn.00559f00
push 0
push 0
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x78]
push edx
push str.CLIPPLANES
mov ecx, ebx
call fcn.00559fb0
push 0
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x5c]
push edx
push str.ORIENT
mov ecx, ebx
call fcn.00559fb0
test eax, eax
je 0x55a1f4
mov dword [esp + 0x30], 1
push 0
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x70]
push edx
push 0x5dc224
mov ecx, ebx
call fcn.00559fb0
test eax, eax
je 0x55a21d
mov dword [esp + 0x30], 2
push 0
push 0
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
push str.SIZE
mov ecx, ebx
call fcn.00559fb0
test eax, eax
je 0x55a279
fld dword [esp + 0x18]
fcomp qword [0x59e420]
fnstsw ax
test ah, 0x41
jp 0x55a25a
fild dword [0x8b8dd4]
fmul dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x14]
fcomp qword [0x59e420]
fnstsw ax
test ah, 0x41
jp 0x55a279
fild dword [0x8b8dd8]
fmul dword [esp + 0x14]
fstp dword [esp + 0x14]
push 0
push 0
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x28]
push eax
push str.CENTER
mov ecx, ebx
call fcn.00559fb0
test eax, eax
je 0x55a2d5
fld dword [esp + 0x1c]
fcomp qword [0x59e420]
fnstsw ax
test ah, 0x41
jp 0x55a2b6
fild dword [0x8b8dd4]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fcomp qword [0x59e420]
fnstsw ax
test ah, 0x41
jp 0x55a2d5
fild dword [0x8b8dd8]
fmul dword [esp + 0x20]
fstp dword [esp + 0x20]
push 0
lea ecx, [esp + 0x74]
push ecx
push str.CLEAR
mov ecx, ebx
call fcn.00559e20
test eax, eax
je 0x55a30c
mov edi, str.TRUE
lea esi, [esp + 0x70]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
mov esi, dword [esp + 0x44]
jne 0x55a309
or ebp, 2
jmp 0x55a30c
and ebp, 0xfffffffd
push 0
lea eax, [esp + 0x174]
push eax
push str.BGMAP
mov ecx, ebx
call fcn.00559e20
test eax, eax
je 0x55a32e
mov dword [esp + 0x3c], 1
push 0
lea ecx, [esp + 0x74]
push ecx
push str.SEPARATESURFACE
mov ecx, ebx
call fcn.00559e20
mov edi, dword [esp + 0x274]
mov ecx, ebx
call fcn.00559a70
cmp eax, 1
jne 0x55a120
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x55a391
mov eax, dword [esp + 0x10]
push 1
push 0
lea edx, [esp + 0x178]
push edx
add eax, 0x1a0
push eax
mov ecx, esi
call fcn.0053cb20
test eax, eax
je 0x55a391
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x260
ret 0xc
fld dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
fmul dword [0x59e65c]
push 0
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x74]
fmul dword [0x59e65c]
fstp dword [esp]
call fcn.00542050
fld dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
fmul dword [0x59e450]
mov edx, dword [esp + 0x18]
push 0
push ecx
mov ecx, dword [esp + 0x18]
fsubr dword [esp + 0x28]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x2c]
fmul dword [0x59e450]
fsubr dword [esp + 0x30]
fstp dword [esp]
call fcn.00542200
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x6c]
push eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.005423c0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.005423e0
cmp dword [esp + 0x30], 2
mov edx, dword [esp + 0x10]
mov dword [edx + 0x80], ebp
jne 0x55a491
fld dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
fchs
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x30]
fchs
fstp dword [esp + 4]
fld dword [esp + 0x34]
fchs
fstp dword [esp]
call fcn.00541d10
fld dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
fadd dword [esp + 0x2c]
sub esp, 0xc
fchs
fstp dword [esp + 8]
fld dword [esp + 0x68]
fadd dword [esp + 0x30]
fchs
fstp dword [esp + 4]
fld dword [esp + 0x70]
fadd dword [esp + 0x34]
fchs
fstp dword [esp]
call fcn.00541f60
jmp 0x55a4b8
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.00541cd0
mov ecx, dword [esp + 0x278]
test ecx, ecx
je 0x55a4dc
mov eax, dword [esp + 0x10]
push eax
call fcn.005419d0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x260
ret 0xc
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, esi
call fcn.00545030
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x260
ret 0xc