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

Disassembly:
sub esp, 0x70
push esi
mov esi, ecx
mov eax, dword [esi + 0x988]
test eax, eax
je 0x4a8b41
push 0
push str.FSCommand:quit
call fcn.004d30c0
mov ecx, esi
call fcn.004a5680
mov eax, dword [esi + 0x988]
test eax, eax
jne 0x4a8dd9
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
test eax, eax
mov eax, dword [esp + 0x78]
jne 0x4a8b68
cmp eax, dword [esi + 0x5b0]
jne 0x4a8b68
cmp ecx, dword [esi + 0x5b4]
je 0x4a8dd9
mov edx, dword [esi + 0x5a4]
test edx, edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
je 0x4a8dd9
mov edx, dword [esi + 0x524]
test edx, edx
jne 0x4a8dd9
mov dword [esi + 0x5b4], ecx
lea ecx, [esp + 0x2c]
mov dword [esi + 0x5b0], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x50]
mov eax, dword [esi + 0x3f8]
test eax, eax
je 0x4a8bba
mov al, byte [eax + 0x39]
test al, al
jbe 0x4a8bba
movzx eax, al
jmp 0x4a8bc5
mov ecx, dword [esi + 0x41c]
call fcn.00484e10
cmp eax, 6
jl 0x4a8bd4
mov eax, dword [esi + 0x5ac]
test eax, eax
jg 0x4a8bea
lea edx, [esp + 4]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.00436920
add esp, 8
test eax, eax
je 0x4a8bf7
push 1
push 8
push esi
call fcn.00401c50
add esp, 0xc
push 1
push 0
push 0
push str.onMouseMove
push str.Mouse
mov ecx, esi
call fcn.004a5220
mov edx, dword [esi + 0x104]
lea ecx, [esp + 4]
push ecx
push edx
call fcn.00499ca0
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.00436920
add esp, 0x10
test eax, eax
je 0x4a8c4b
mov eax, dword [esi + 0x578]
test eax, eax
je 0x4a8c4b
lea edx, [esp + 4]
push edx
mov ecx, esi
call fcn.0049d510
mov ecx, dword [esi + 0x54c]
test ecx, ecx
je 0x4a8c95
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x14]
mov eax, dword [edx + 8]
test eax, eax
je 0x4a8c95
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x14], edx
call fcn.00479460
push 1
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [esi + 0x54c]
call fcn.0047a780
pop esi
add esp, 0x70
ret 0xc
mov eax, dword [esi + 0x4c4]
test eax, eax
je 0x4a8dc4
lea edx, [esp + 0x3c]
push edx
lea ecx, [esi + 0x24]
call fcn.00462e10
push esi
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.00438640
mov edx, dword [esi]
add esp, 0xc
lea eax, [esp + 0xc]
push eax
mov ecx, esi
call dword [edx + 0x50]
mov edx, dword [esi + 0x41c]
lea ecx, [esp + 0x1c]
push ecx
add edx, 0x194
push edx
lea eax, [esp + 0x44]
push eax
call fcn.00437110
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x18]
add esp, 0xc
test edx, edx
jle 0x4a8cfc
xor edx, edx
mov eax, dword [esp + 0x10]
push ebx
push ebp
mov ebp, dword [esp + 0x28]
sub ebp, eax
push edi
jns 0x4a8d0d
xor ebp, ebp
mov edi, dword [esp + 0x30]
sub edi, dword [esp + 0x20]
test edi, edi
jle 0x4a8d1b
xor edi, edi
mov ebx, dword [esp + 0x34]
sub ebx, dword [esp + 0x24]
jns 0x4a8d27
xor ebx, ebx
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x4bc]
sub eax, ecx
mov ecx, dword [esi + 0x4c0]
sub ecx, dword [esp + 0x14]
cmp eax, edx
jge 0x4a8d45
mov eax, edx
jmp 0x4a8d4b
cmp eax, ebp
jle 0x4a8d4b
mov eax, ebp
cmp ecx, edi
jge 0x4a8d53
mov ecx, edi
jmp 0x4a8d59
cmp ecx, ebx
jle 0x4a8d59
mov ecx, ebx
mov ebx, dword [esp + 0x18]
lea edi, [esi + 0x4ac]
mov edx, edi
mov dword [edx], ebx
mov ebx, dword [esp + 0x1c]
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x20]
push edi
mov dword [edx + 8], ebx
mov ebx, dword [esp + 0x28]
push ecx
push eax
mov dword [edx + 0xc], ebx
call fcn.004366a0
push edi
lea eax, [esp + 0x74]
push edi
push eax
call fcn.00437110
add esp, 0x18
push 1
mov ecx, esi
call fcn.004a5560
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x80]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
pop edi
pop ebp
pop ebx
mov dword [esi + 0x4bc], eax
mov dword [esi + 0x4c0], ecx
pop esi
add esp, 0x70
ret 0xc
mov edx, dword [esi + 0x4c8]
push 1
push edx
lea eax, [esp + 0xc]
push eax
mov ecx, esi
call fcn.004a87b0
pop esi
add esp, 0x70
ret 0xc