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

Disassembly:
mov al, byte [0x8ccc27]
sub esp, 0x118
push ebx
push ebp
xor ebx, ebx
cmp al, bl
push esi
push edi
jne 0x450061
push 0x3f800000
call fcn.00488e30
add esp, 4
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
mov eax, 0x3a
call fcn.004a1fe0
mov esi, dword [0x8cccd8]
add esp, 0xc
cmp esi, ebx
jne 0x44f9f1
push 0x7f02
push ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
mov esi, eax
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [esp + 0x3c], eax
mov eax, esi
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov ecx, dword [0x85c164]
mov edx, dword [0x728820]
mov eax, ecx
shr eax, 2
and al, 1
and ecx, 0xfffffffb
mov byte [esp + 0x16], al
mov eax, dword [0x728a84]
mov dword [0x85c164], ecx
mov ecx, dword [0x7283bc]
mov dword [eax*4 + 0x7288f4], ecx
mov al, byte [0x727d98]
mov esi, dword [0x728a84]
mov byte [edx + 0x728814], al
mov edx, dword [0x728820]
inc esi
inc edx
cmp al, bl
mov byte [esp + 0x17], bl
mov dword [0x728a84], esi
mov dword [0x7283bc], 0xff7ffff
mov dword [0x728820], edx
je 0x44fa72
call fcn.00481060
mov byte [0x727d98], bl
mov byte [0x8cbdf4], 1
call fcn.004b02b0
cmp eax, ebx
mov dword [esp + 0x30], eax
je 0x44fa8f
inc dword [eax + 4]
cmp dword [esp + 0x12c], ebx
jne 0x44fad0
push ebx
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push ebx
push str.pc_lost_city.kfm
push ecx
mov ecx, dword [0x8ec000]
mov eax, esp
mov dword [eax], ecx
mov eax, ecx
cmp eax, ebx
mov byte [esp + 0x47], 1
je 0x44fac1
inc dword [eax + 4]
call fcn.004afb00
add esp, 0x30
mov dword [esp + 0x12c], eax
push 0xc0
call fcn.005354b8
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x44fb2e
mov eax, dword [0x8ec000]
mov edi, dword [0x729444]
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push ebx
mov dword [esi + 4], ebx
push ebx
mov dword [esi], 0x6ff14c
mov dword [esi + 0x1c], ebx
push ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0xbc], ebx
push eax
inc edi
mov ebx, 1
mov eax, str.firstmate_lost_city.kfm
mov ecx, esi
mov dword [0x729444], edi
call fcn.004be370
mov dword [esp + 0x1c], esi
xor ebx, ebx
jmp 0x44fb32
mov dword [esp + 0x1c], ebx
mov edx, dword [0x8ec000]
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push 8
or ecx, 0xffffffff
call fcn.004814c0
mov edx, dword [0x8ec000]
push ebx
push ebx
push ebx
push 0xffffffffffffffff
mov edi, eax
push 1
push 8
or ecx, 0xffffffff
mov dword [esp + 0x50], edi
call fcn.004814c0
push 0xc0
mov dword [esp + 0x58], eax
call fcn.005354b8
mov esi, eax
add esp, 0x34
cmp esi, ebx
je 0x44fbc7
mov eax, dword [0x8ebfec]
mov edx, dword [0x729444]
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push ebx
mov dword [esi + 4], ebx
push ebx
mov dword [esi], 0x6ff14c
mov dword [esi + 0x1c], ebx
push ebx
mov dword [esi + 0x64], ebx
inc edx
mov dword [esi + 0xbc], ebx
push eax
mov ebx, 1
mov eax, str.lost_city.nif
mov ecx, esi
mov dword [0x729444], edx
call fcn.004be370
mov dword [esp + 0x18], esi
xor ebx, ebx
jmp 0x44fbcd
mov dword [esp + 0x18], ebx
mov esi, ebx
push 0xc0
call fcn.005354b8
mov ebp, eax
add esp, 4
cmp ebp, ebx
je 0x44fd18
mov eax, dword [0x8ebfec]
mov ecx, dword [0x729444]
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push ebx
mov dword [ebp + 4], ebx
push ebx
mov dword [ebp], 0x6ff14c
mov dword [ebp + 0x1c], ebx
inc ecx
push ebx
mov dword [ebp + 0x64], ebx
mov dword [0x729444], ecx
mov dword [ebp + 0xbc], ebx
push eax
mov ebx, 1
mov eax, str.cam_lost_city.kfm
mov ecx, ebp
call fcn.004be370
push str.Camera_All
mov eax, ebp
call fcn.004aea30
add esp, 4
mov eax, dword [0x8ebfd8]
push 0x47c35000
push 0x3dcccccd
call fcn.00412840
mov ebx, dword [0x8ec000]
call fcn.004bf5b0
mov al, byte [0x86bb48]
test al, al
mov dword [esp + 0x2c], 0
je 0x44fc83
fld qword [0x8ca4b0]
fmul dword [0x7157e4]
call fcn.005f275c
mov ecx, 0xfa0
sub ecx, eax
mov dword [esp + 0x2c], ecx
mov eax, ebp
call fcn.004bb170
push 1
push 0
mov eax, esi
call fcn.004bb170
mov ecx, eax
call fcn.00535550
push str.shadow_01
lea ebx, [esp + 0x48]
call fcn.004c16d0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
add esi, 0x78
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov esi, dword [esp + 0x12c]
add esi, 0x78
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov esi, dword [esp + 0x1c]
add esi, 0x78
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov esi, dword [esp + 0x24]
add edi, 0x78
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
add esi, 0x78
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
call fcn.004a2120
mov edi, 0x65
xor esi, esi
xor ebx, ebx
cmp edi, 0xffffffff
mov dword [esp + 0x34], esi
jne 0x44fd24
fld dword [ebp + 0x2c]
jmp 0x44fd40
xor ebp, ebp
call fcn.004ae970
jmp 0x44fc37
mov eax, edi
mov ecx, ebp
call fcn.004bc7a0
cmp eax, ebx
je 0x44fd36
fld dword [eax + 0xc]
jmp 0x44fd40
fld dword [esp + 0x34]
lea ebx, [ebx]
fmul dword [0x715698]
call fcn.005f275c
fld qword [0x8ca4b0]
fmul dword [0x715698]
mov dword [esp + 0x28], eax
call fcn.005f275c
mov dword [esp + 0x38], eax
cmp dword [esp + 0x28], ebx
jle 0x44ff23
mov edi, edi
push ebx
call fcn.0042e1a0
add esp, 4
cmp eax, 0x1b
je 0x44ff03
cmp eax, 0x20
je 0x44ff03
cmp eax, 0xd
je 0x44ff03
cmp dword [0x86e35c], ebx
jne 0x44ff03
cmp byte [0x8ccc27], bl
jne 0x44ff03
push ebx
push ebx
push ebx
lea eax, [esp + 0xec]
call fcn.004dc670
mov ecx, dword [esp + 0x24]
add esp, 0xc
push esi
push ebx
push 0x64
mov edx, eax
push edx
push ebx
push ebx
push ebx
call fcn.004bc350
push ebx
push ebx
push ebx
lea eax, [esp + 0xa4]
call fcn.004dc670
mov ecx, dword [esp + 0x138]
add esp, 0xc
push esi
push edi
push 0x64
push eax
push ebx
push ebx
push ebx
call fcn.004bc350
push ebx
push ebx
push ebx
lea eax, [esp + 0x5c]
call fcn.004dc670
add esp, 0xc
push esi
push edi
push 0x64
mov ecx, eax
push ecx
mov ecx, dword [esp + 0x2c]
push ebx
push ebx
push ebx
call fcn.004bc350
push ebx
push ebx
push ebx
lea eax, [esp + 0x80]
call fcn.004dc670
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push esi
push edi
push 0x64
mov edx, eax
push edx
push ebx
push ebx
push ebx
call fcn.004bc350
push ebx
push ebx
push ebx
lea eax, [esp + 0xc8]
call fcn.004dc670
mov ecx, dword [esp + 0x30]
add esp, 0xc
push esi
push edi
push 0x64
push eax
push ebx
push ebx
push ebx
call fcn.004bc350
push ebx
push ebx
push ebx
lea eax, [esp + 0x110]
call fcn.004dc670
add esp, 0xc
push ebx
push 0xffffffffffffffff
push 0x64
mov ecx, eax
push ecx
push ebx
push ebx
push ebx
mov ecx, ebp
call fcn.004bc350
push esi
push edi
mov ecx, ebp
call fcn.004bc4e0
mov eax, ebp
call fcn.004bc620
mov esi, dword [esp + 0x30]
mov byte [ebp + 0x24], bl
call fcn.004b0360
mov esi, dword [esp + 0x2c]
cmp esi, ebx
je 0x44fecb
fld qword [0x8ca4b0]
fmul dword [0x715698]
call fcn.005f275c
cmp esi, eax
jg 0x44fecb
push 0x86bb48
call fcn.004b03f0
add esp, 4
push ebx
push ebx
push ebx
call fcn.004d1a40
add esp, 0xc
push 5
call dword [sym.imp.KERNEL32.dll_Sleep]
fld qword [0x8ca4b0]
fmul dword [0x7157e4]
call fcn.005f275c
mov esi, dword [esp + 0x38]
neg esi
sub esi, eax
cmp esi, dword [esp + 0x28]
jl 0x44fd70
jmp 0x44ff23
cmp byte [0x8ca27f], bl
je 0x44ff1e
push 0x8ca288
call fcn.00489090
add esp, 4
mov byte [0x8ca27f], bl
mov edi, 0x67
inc edi
cmp edi, 0x66
jle 0x44fd06
cmp byte [esp + 0x16], bl
je 0x44ff3a
or dword [0x85c164], 4
mov eax, dword [0x728a84]
mov cl, byte [0x727d98]
dec eax
mov dword [0x728a84], eax
mov edx, dword [eax*4 + 0x7288f4]
mov eax, dword [0x728820]
dec eax
mov dword [0x728820], eax
mov al, byte [eax + 0x728814]
cmp al, cl
mov dword [0x7283bc], edx
mov byte [esp + 0x16], al
je 0x44ffdb
cmp al, bl
mov edx, dword [0x8cb7c4]
mov ecx, dword [0x8cb7c0]
je 0x44ffae
mov al, 1
mov byte [ecx + 0xb4], al
mov byte [edx + 0xb4], al
mov eax, dword [0x8ebfe8]
push eax
call fcn.00536dc0
mov ecx, dword [0x8ebfe8]
push ecx
mov ecx, dword [0x8cb7c4]
call fcn.00536dc0
jmp 0x44ffd7
mov byte [ecx + 0xb4], bl
mov byte [edx + 0xb4], bl
mov eax, dword [0x8ebfe8]
push eax
call fcn.00537020
mov ecx, dword [0x8ebfe8]
push ecx
mov ecx, dword [0x8cb7c4]
call fcn.00537020
mov al, byte [esp + 0x16]
mov ebx, dword [0x8ec000]
mov edi, dword [esp + 0x18]
mov byte [0x727d98], al
mov byte [0x8cbdf4], 1
call fcn.004bf620
call fcn.004ae970
test ebp, ebp
je 0x450008
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
push 1
call dword [edx]
mov al, byte [esp + 0x17]
test al, al
je 0x450043
mov ecx, dword [esp + 0x12c]
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x450056
dec dword [ecx + 4]
jne 0x450056
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esp + 0x3c]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x118
ret