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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x77dc0e
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push ebx
push ebp
push esi
push edi
mov eax, dword [0x867e6c]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov esi, ecx
push 0xd
xor ebx, ebx
mov ebp, 0xf
push 0x80f408
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.004016e0
lea eax, [esp + 0x1c]
mov dword [esp + 0x70], ebx
push eax
mov eax, dword [esi + 0x7e8]
call fcn.00462060
add eax, 7
mov edi, 0x10
mov dword [esp + 0x70], 0xffffffff
mov dword [esi + 0x6cc], eax
cmp dword [esp + 0x34], edi
jb 0x74f6bf
mov ecx, dword [esp + 0x20]
push ecx
call fcn.006441c7
add esp, 4
push 0xd
push str.LoadingThread
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.004016e0
mov dword [esp + 0x70], 1
mov ecx, dword [esi + 0x7e8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x54]
lea eax, [esp + 0x1c]
push eax
call edx
mov dword [esp + 0x70], 0xffffffff
cmp dword [esp + 0x34], edi
jb 0x74f710
mov eax, dword [esp + 0x20]
push eax
call fcn.006441c7
add esp, 4
mov ecx, dword [esi + 0x7e8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
test al, al
je 0x74f744
cmp byte [esi + 0x39d], bl
jne 0x74fd03
inc dword [esi + 0x6d0]
mov ecx, dword [esi + 0x7e8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x4c]
call eax
test al, al
jne 0x74f721
mov ecx, dword [esi + 0x7e8]
call fcn.006e1bf0
test al, al
jne 0x74f760
push ebx
mov edi, esi
call fcn.00469f80
mov edi, 0x10
push esi
call fcn.0074a130
push esi
call fcn.0074e670
push ebp
push str.questtemple.p3d
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.004016e0
mov dword [esp + 0x70], 2
mov eax, dword [esi + 0xc34]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov edx, dword [edx + 0x68]
push eax
lea eax, [esp + 0x20]
push eax
call edx
cmp eax, ebx
sete byte [esp + 0x17]
mov dword [esp + 0x70], 0xffffffff
mov dword [esi + 0xc38], eax
cmp dword [esp + 0x34], edi
jb 0x74f7cd
mov eax, dword [esp + 0x20]
push eax
call fcn.006441c7
add esp, 4
cmp byte [esp + 0x17], bl
je 0x74f85a
push 0x80f438
lea ecx, [esp + 0x4c]
call fcn.00401280
push str.questtemple.p3d_
lea ecx, [esp + 0x20]
mov dword [esp + 0x74], 3
call fcn.00401280
push ebx
lea eax, [esp + 0x4c]
mov byte [esp + 0x74], 4
mov edx, dword [esi]
mov edx, dword [edx + 0x78]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call edx
cmp dword [esp + 0x34], edi
jb 0x74f827
mov eax, dword [esp + 0x20]
push eax
call fcn.006441c7
add esp, 4
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x60], edi
jb 0x74f84e
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.006441c7
add esp, 4
mov edx, dword [esi]
mov eax, dword [edx + 0x98]
mov ecx, esi
call eax
call fcn.00749220
test al, al
jne 0x74f8ea
push 0x80f454
lea ecx, [esp + 0x4c]
call fcn.00401280
push str.Couldnt_read_Hyperspace_mesh_files
lea ecx, [esp + 0x20]
mov dword [esp + 0x74], 5
call fcn.00401280
push ebx
lea eax, [esp + 0x4c]
mov byte [esp + 0x74], 6
mov edx, dword [esi]
mov edx, dword [edx + 0x78]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call edx
cmp dword [esp + 0x34], edi
jb 0x74f8b7
mov eax, dword [esp + 0x20]
push eax
call fcn.006441c7
add esp, 4
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x60], edi
jb 0x74f8de
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.006441c7
add esp, 4
mov edx, dword [esi]
mov eax, dword [edx + 0x98]
mov ecx, esi
call eax
push esi
call fcn.0074df00
test al, al
jne 0x74f97b
push 0x80f480
lea ecx, [esp + 0x4c]
call fcn.00401280
push str.Couldnt_read_Hyperspace_animation_file
lea ecx, [esp + 0x20]
mov dword [esp + 0x74], 7
call fcn.00401280
push ebx
lea eax, [esp + 0x4c]
mov byte [esp + 0x74], 8
mov edx, dword [esi]
mov edx, dword [edx + 0x78]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call edx
cmp dword [esp + 0x34], edi
jb 0x74f948
mov eax, dword [esp + 0x20]
push eax
call fcn.006441c7
add esp, 4
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x60], edi
jb 0x74f96f
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.006441c7
add esp, 4
mov edx, dword [esi]
mov eax, dword [edx + 0x98]
mov ecx, esi
call eax
push 0xe6
mov edx, 0xff
push 0xff
mov ecx, edx
lea eax, [esp + 0x24]
call fcn.004348b0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x44], esp
push 4
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x80f4b0
mov byte [ecx + 4], bl
call fcn.004016e0
mov ecx, dword [0x880eec]
call fcn.006f1280
add esp, 0x2c
push 0x50
xor edx, edx
mov ecx, 0x80
lea eax, [esp + 0x20]
call fcn.00434890
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x44], esp
push 7
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x80f4b8
mov byte [ecx + 4], bl
call fcn.004016e0
mov ecx, dword [0x880eec]
call fcn.006f1280
add esp, 0x2c
push 0x80
push 0xa0
xor edx, edx
mov ecx, 0xff
lea eax, [esp + 0x24]
call fcn.004348b0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x44], esp
push 4
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x80f4c0
mov byte [ecx + 4], bl
call fcn.004016e0
mov ecx, dword [0x880eec]
call fcn.006f1280
add esp, 0x2c
push 0xe6
mov edx, 0xff
push 0xff
mov ecx, edx
lea eax, [esp + 0x24]
call fcn.004348b0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x44], esp
push 4
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x80f4c8
mov byte [ecx + 4], bl
call fcn.004016e0
mov ecx, dword [0x881ae4]
call fcn.006f1280
add esp, 0x2c
push 0x50
xor edx, edx
mov ecx, 0x80
lea eax, [esp + 0x20]
call fcn.00434890
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x44], esp
push 7
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x80f4d0
mov byte [ecx + 4], bl
call fcn.004016e0
mov ecx, dword [0x881ae4]
call fcn.006f1280
add esp, 0x2c
push 0x80
push 0xa0
xor edx, edx
mov ecx, 0xff
lea eax, [esp + 0x24]
call fcn.004348b0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x44], esp
push 4
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
mov byte [ecx + 4], bl
push 0x80f4d8
call fcn.004016e0
mov ecx, dword [0x881ae4]
call fcn.006f1280
add esp, 0x2c
push 0xe6
mov edx, 0xff
push 0xff
mov ecx, edx
lea eax, [esp + 0x24]
call fcn.004348b0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x44], esp
push 4
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x80f4e0
mov byte [ecx + 4], bl
call fcn.004016e0
mov ecx, dword [0x880770]
call fcn.006f1280
add esp, 0x2c
push 0x50
xor edx, edx
mov ecx, 0x80
lea eax, [esp + 0x20]
call fcn.00434890
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x44], esp
push 7
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push str.Outline
mov byte [ecx + 4], bl
call fcn.004016e0
mov ecx, dword [0x880770]
call fcn.006f1280
add esp, 0x2c
push 0x80
push 0xa0
xor edx, edx
mov ecx, 0xff
lea eax, [esp + 0x40]
call fcn.004348b0
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
sub esp, 0x1c
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
mov dword [esp + 0x44], esp
mov byte [ecx + 4], bl
push 4
push str.Glow
call fcn.004016e0
mov ecx, dword [0x880770]
call fcn.006f1280
add esp, 0x2c
call dword [sym.imp.winmm.dll_timeGetTime]
mov edx, dword [esi + 0x3a8]
xor ecx, ecx
push ebx
xor edi, edi
sub eax, edx
push 0x3e8
sbb ecx, edi
push ecx
push eax
call fcn.006501d0
push edx
push eax
mov eax, dword [esi + 0x9e0]
push eax
push str.LoadComplete_Res_d_Seconds_d
call fcn.0074f5a0
add esp, 0x10
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret