Function at 0x417880
Capabilities:
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x728b60
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x114
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov ecx, 0x7cb478
call fcn.004d51b0
push str.Initializing_Main
mov dword [esp + 0x28], eax
call fcn.00477fa0
add esp, 4
push str.Morrowind
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x3e99999a
push 0x3e99999a
push 0x3e99999a
call fcn.004057e0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0xc8]
push ecx
mov ecx, ebp
call fcn.00429780
test al, al
je 0x4195af
mov eax, dword [ebp + 8]
mov dl, byte [ebp + 0x1c]
mov ecx, dword [0x7c67dc]
push eax
mov byte [esp + 0x20], dl
mov eax, dword [esp + 0x20]
and eax, 0xff
push eax
call fcn.0040e4b0
mov al, byte [ebp + 0x1c]
mov ecx, dword [0x7c67dc]
mov byte [ecx + 0xdf], al
mov ebx, 1
mov dword [0x7dea4c], ebx
call fcn.0047cc90
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x38], eax
mov eax, dword [0x7c67dc]
mov byte [esp + 0x40], bl
mov edx, dword [eax + 0x30]
xor edi, edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edi
mov ecx, dword [eax + 0x4c]
call fcn.00406510
mov eax, dword [0x7c67dc]
lea ecx, [eax + 0xf8]
lea eax, [esp + 0x2c]
mov dword [esp + 0x34], edi
mov edx, dword [ecx]
push eax
call dword [edx + 0xc]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x100]
push str.SplashScreen_Scene_Graph_Root
call fcn.006ea1a0
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x104]
push str.SplashScreen_Camera_Root
call fcn.006ea1a0
push 0xc8
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov dword [esp + 0x12c], edi
je 0x4179ce
mov ecx, eax
call fcn.006ee1d0
jmp 0x4179d0
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [0x7c67dc]
mov edx, dword [eax + 0x124]
lea ecx, [eax + 0x124]
lea eax, [esp + 0x2c]
or esi, 0xffffffff
push eax
mov dword [esp + 0x130], esi
call dword [edx + 0xc]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x12c]
push str.World_Scene_Graph_Root
call fcn.006ea1a0
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x130]
push str.World_Camera_Root
call fcn.006ea1a0
fld dword [ebp + 0x4c]
mov eax, dword [0x7c67dc]
fstp dword [eax + 0x144]
lea ecx, [eax + 0x134]
call fcn.00404960
push 0xc8
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov dword [esp + 0x12c], ebx
je 0x417a61
mov ecx, eax
call fcn.006ee1d0
jmp 0x417a63
xor eax, eax
mov ecx, dword [0x7c67dc]
mov dword [esp + 0x34], eax
mov edx, dword [ecx + 0x150]
add ecx, 0x150
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x130], esi
call dword [edx + 0xc]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x158]
push str.Arm_Scene_Graph_Root
call fcn.006ea1a0
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x15c]
push str.Arm_Camera_Root
call fcn.006ea1a0
mov eax, dword [0x7c67dc]
lea ecx, [eax + 0x17c]
lea eax, [esp + 0x2c]
mov dword [esp + 0x34], edi
mov edx, dword [ecx]
push eax
call dword [edx + 0xc]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x184]
push str.Menu_Scene_Graph_Root
call fcn.006ea1a0
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x188]
push str.Menu_Camera_Root
call fcn.006ea1a0
push 0x1c
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
cmp esi, edi
mov dword [esp + 0x12c], 2
je 0x417b48
mov ecx, esi
call fcn.00405990
push edi
push edi
mov ecx, esi
mov byte [esp + 0x134], 3
mov dword [esi], 0x74652c
call fcn.00405960
push ebx
push edi
mov ecx, esi
call fcn.00405960
mov dword [esi + 0x18], 3
jmp 0x417b4a
xor esi, esi
cmp esi, edi
mov dword [esp + 0x1c], esi
je 0x417b55
inc dword [esi + 4]
push edi
push ebx
mov ecx, esi
mov dword [esp + 0x134], 4
call fcn.00405960
push ebx
push edi
mov ecx, esi
call fcn.00405960
mov eax, dword [0x7c67dc]
mov ebx, dword [eax + 0x184]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push esi
call fcn.0040a840
lea ecx, [ebx + 0x88]
call fcn.00405840
cmp esi, edi
je 0x417ba4
mov ecx, esi
call fcn.00404630
mov dword [esp + 0x1c], edi
cmp dword [ebp + 0x108], edi
jne 0x417bdf
push 0x30
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x12c], 5
je 0x417bcf
mov ecx, eax
call fcn.004586c0
jmp 0x417bd1
xor eax, eax
mov byte [esp + 0x12c], 4
mov dword [ebp + 0x108], eax
mov edx, dword [0x7c67dc]
push edi
push 0x200
lea ecx, [esp + 0x34]
push ecx
lea ecx, [edx + 0x1a8]
call fcn.0042d4f0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x1b0]
push str.Inventory_Scene_Graph_Root
call fcn.006ea1a0
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x1b4]
push str.Inventory_Camera_Root
call fcn.006ea1a0
mov eax, dword [0x7c67dc]
lea edx, [esp + 0x14]
push edx
lea ecx, [eax + 0x1b8]
call fcn.00430f70
mov eax, dword [eax]
push str.Inventory_Camera
mov ecx, eax
mov byte [esp + 0x130], 6
call fcn.006ea1a0
mov ecx, dword [esp + 0x14]
cmp ecx, edi
mov byte [esp + 0x12c], 4
je 0x417c66
call fcn.00404630
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x1b4]
push 0x7de6cc
lea ecx, [eax + 0x30]
call fcn.0040a7e0
mov edx, dword [0x7c67dc]
mov eax, dword [edx + 0x1b4]
push 0x7de664
lea ecx, [eax + 0x2c]
call fcn.006e93d0
mov ecx, dword [0x7c67dc]
lea eax, [esp + 0x14]
push eax
add ecx, 0x1b8
call fcn.00430f70
mov ecx, dword [esp + 0x14]
cmp ecx, edi
mov ebx, dword [eax]
je 0x417cbd
call fcn.00404630
lea edx, [ebx + 0x100]
mov ecx, 6
mov esi, edx
lea edi, [esp + 0x5c]
rep movsd dword es:[edi], dword [esi]
fld dword [esp + 0x6c]
fld dword [esp + 0x70]
fdiv dword [0x7c47fc]
fstp dword [esp + 0x14]
fld dword [esp + 0x6c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x417cf7
fstp st(0)
fld dword [esp + 0x14]
fcom dword [0x7c47f8]
fnstsw ax
test ah, 1
je 0x417d0c
fstp st(0)
fld dword [0x7c47f8]
mov dword [edx], 0xbdae147b
fstp dword [ebx + 0x110]
mov edx, dword [esp + 0x70]
mov dword [ebx + 0x104], 0x3dae147b
mov dword [ebx + 0x108], 0x3e3851ec
mov dword [ebx + 0x10c], 0xbe2e147b
mov dword [ebx + 0x114], edx
mov eax, dword [0x7c67dc]
lea ecx, [eax + 0x1a8]
call fcn.0042ff50
mov edx, dword [0x7c67dc]
push 1
push 0x100
lea ecx, [esp + 0x34]
push ecx
lea ecx, [edx + 0x22c]
call fcn.0042d4f0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x234]
push str.Map_Scene_Graph_Root
call fcn.006ea1a0
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x238]
push str.Map_Camera_Root
call fcn.006ea1a0
mov eax, dword [0x7c67dc]
lea edx, [esp + 0x14]
push edx
lea ecx, [eax + 0x23c]
call fcn.00430f70
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov esi, dword [eax]
je 0x417dbc
call fcn.00404630
push str.Map_Camera
mov ecx, esi
call fcn.006ea1a0
fld dword [0x74672c]
fld dword [0x746728]
fdiv dword [0x7c47fc]
fstp dword [esp + 0x14]
fld dword [0x74672c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x417df5
fstp st(0)
fld dword [esp + 0x14]
fcom dword [0x7c47f8]
fnstsw ax
test ah, 1
je 0x417e0a
fstp st(0)
fld dword [0x7c47f8]
mov ecx, 0xbb8637bd
fstp dword [esi + 0x110]
mov eax, 0x3b8637bd
mov dword [esi + 0x100], ecx
mov dword [esi + 0x104], eax
mov dword [esi + 0x108], eax
mov dword [esi + 0x10c], ecx
mov dword [esi + 0x114], 0x4b189680
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x2b0]
add ecx, 0x2b0
lea eax, [esp + 0x2c]
push eax
call dword [edx + 0xc]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x2b8]
push str.Shadow_Scene_Graph_Root
call fcn.006ea1a0
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x2bc]
push str.Shadow_Camera_Root
call fcn.006ea1a0
fld dword [ebp + 0x4c]
mov eax, dword [0x7c67dc]
fstp dword [eax + 0x2d0]
lea ecx, [eax + 0x2c0]
call fcn.00404960
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x34]
mov al, byte [ebp + 0x52]
mov byte [ecx + 0x298], al
mov edx, dword [0x7c67dc]
mov al, byte [ebp + 0x51]
mov ecx, dword [edx + 0x34]
mov byte [ecx + 0x299], al
mov ecx, dword [0x7c67dc]
mov al, byte [ebp + 0x53]
mov ecx, dword [ecx + 0x34]
mov byte [ecx + 0x29a], al
mov edx, dword [ebp + 0x54]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x34]
push edx
call fcn.00403a10
mov edx, dword [0x7c67dc]
xor ecx, ecx
mov cl, byte [ebp + 0x58]
push ecx
mov ecx, dword [edx + 0x34]
call fcn.00403c80
push 0x1f0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 7
je 0x417f1e
push 0
mov ecx, eax
call fcn.00439f60
jmp 0x417f20
xor eax, eax
mov ecx, dword [0x7c67dc]
mov dword [ecx + 0x58], eax
mov eax, dword [0x7c67dc]
mov edx, dword [eax + 0x58]
mov edx, dword [edx + 0x4c]
mov ecx, dword [eax + 0x12c]
mov eax, dword [ecx]
push 1
push edx
mov byte [esp + 0x134], 4
call dword [eax + 0x94]
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 8
je 0x417f75
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x417f77
xor esi, esi
mov ecx, dword [ebp + 0x9c]
cmp ecx, esi
mov byte [esp + 0x12c], 4
je 0x417f9f
test ecx, ecx
je 0x417f92
call fcn.00404630
test esi, esi
mov dword [ebp + 0x9c], esi
je 0x417f9f
inc dword [esi + 4]
mov ecx, dword [ebp + 0x9c]
push str.worldRoot
call fcn.006ea1a0
mov eax, dword [ebp + 0x9c]
push 0x7de6cc
lea ecx, [eax + 0x30]
call fcn.0040a7e0
mov eax, dword [ebp + 0x9c]
push 0x7de664
lea ecx, [eax + 0x2c]
call fcn.006e93d0
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x58]
mov eax, dword [edx + 0x5c]
mov ecx, dword [ebp + 0x9c]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x58]
mov eax, dword [ecx + 0x60]
mov ecx, dword [ebp + 0x9c]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x58]
mov eax, dword [ecx + 0x6c]
mov ecx, dword [ebp + 0x9c]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
mov ecx, dword [0x7c67dc]
mov eax, dword [ebp + 0x9c]
mov ecx, dword [ecx + 0x12c]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
push 0x1c
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
test esi, esi
mov byte [esp + 0x12c], 9
je 0x418099
mov ecx, esi
call fcn.00405990
push 0
push 0
mov ecx, esi
mov byte [esp + 0x134], 0xa
mov dword [esi], 0x74652c
call fcn.00405960
push 1
push 0
mov ecx, esi
call fcn.00405960
mov dword [esi + 0x18], 3
mov edi, esi
jmp 0x41809b
xor edi, edi
test edi, edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x44], edi
je 0x4180aa
inc dword [edi + 4]
push str.worldObjectRoot_zBufferProperty
mov ecx, edi
mov byte [esp + 0x130], 0xb
call fcn.006ea1a0
push 0
push 1
mov ecx, edi
call fcn.00405960
push 1
push 1
mov ecx, edi
call fcn.00405960
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0xc
je 0x4180fc
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x4180fe
xor esi, esi
push str.WorldProjectileRoot
mov ecx, esi
mov byte [esp + 0x130], 0xb
call fcn.006ea1a0
push 0x7de6cc
lea ecx, [esi + 0x30]
call fcn.0040a7e0
push 0x7de664
lea ecx, [esi + 0x2c]
call fcn.006e93d0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push edi
call fcn.0040a840
lea ecx, [esi + 0x88]
call fcn.00405840
mov ecx, dword [ebp + 0x9c]
mov eax, dword [ecx]
push 1
push esi
call dword [eax + 0x94]
mov ecx, esi
call fcn.006eb0e0
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0x5c]
mov eax, dword [edx + 0x28]
push 0xb0
mov dword [eax + 0x14], esi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0xd
je 0x418193
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x418195
xor esi, esi
mov ecx, dword [ebp + 0xa0]
cmp ecx, esi
mov byte [esp + 0x12c], 0xb
je 0x4181bd
test ecx, ecx
je 0x4181b0
call fcn.00404630
test esi, esi
mov dword [ebp + 0xa0], esi
je 0x4181bd
inc dword [esi + 4]
mov ecx, dword [ebp + 0xa0]
push str.WorldObjectRoot
call fcn.006ea1a0
mov eax, dword [ebp + 0xa0]
push 0x7de6cc
lea ecx, [eax + 0x30]
call fcn.0040a7e0
mov eax, dword [ebp + 0xa0]
push 0x7de664
lea ecx, [eax + 0x2c]
call fcn.006e93d0
mov esi, dword [ebp + 0xa0]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push edi
call fcn.0040a840
lea ecx, [esi + 0x88]
call fcn.00405840
mov eax, dword [ebp + 0xa0]
mov ecx, dword [ebp + 0x9c]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0xe
je 0x418250
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x418252
xor esi, esi
mov ecx, dword [ebp + 0xa4]
cmp ecx, esi
mov byte [esp + 0x12c], 0xb
je 0x41827a
test ecx, ecx
je 0x41826d
call fcn.00404630
test esi, esi
mov dword [ebp + 0xa4], esi
je 0x41827a
inc dword [esi + 4]
mov ecx, dword [ebp + 0xa4]
push str.WorldPickObjectRoot
call fcn.006ea1a0
mov eax, dword [ebp + 0xa4]
push 0x7de6cc
lea ecx, [eax + 0x30]
call fcn.0040a7e0
mov eax, dword [ebp + 0xa4]
push 0x7de664
lea ecx, [eax + 0x2c]
call fcn.006e93d0
mov esi, dword [ebp + 0xa4]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push edi
call fcn.0040a840
lea ecx, [esi + 0x88]
call fcn.00405840
mov eax, dword [ebp + 0xa4]
mov ecx, dword [ebp + 0x9c]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0xf
je 0x41830d
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x41830f
xor esi, esi
mov ecx, dword [ebp + 0xa8]
cmp ecx, esi
mov byte [esp + 0x12c], 0xb
je 0x418337
test ecx, ecx
je 0x41832a
call fcn.00404630
test esi, esi
mov dword [ebp + 0xa8], esi
je 0x418337
inc dword [esi + 4]
mov ecx, dword [ebp + 0xa8]
push str.WorldLandscapeRoot
call fcn.006ea1a0
mov eax, dword [ebp + 0xa8]
push 0x7de6cc
lea ecx, [eax + 0x30]
call fcn.0040a7e0
mov eax, dword [ebp + 0xa8]
push 0x7de664
lea ecx, [eax + 0x2c]
call fcn.006e93d0
mov esi, dword [ebp + 0xa8]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push edi
call fcn.0040a840
lea ecx, [esi + 0x88]
call fcn.00405840
mov eax, dword [ebp + 0xa8]
mov ecx, dword [ebp + 0x9c]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0x10
je 0x4183ca
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x4183cc
xor esi, esi
push str.WorldSpellRoot
mov ecx, esi
mov byte [esp + 0x130], 0xb
call fcn.006ea1a0
push 0x7de6cc
lea ecx, [esi + 0x30]
call fcn.0040a7e0
push 0x7de664
lea ecx, [esi + 0x2c]
call fcn.006e93d0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push edi
call fcn.0040a840
lea edi, [esi + 0x88]
mov ecx, edi
call fcn.00405840
mov ecx, dword [ebp + 0x9c]
mov eax, dword [ecx]
push 1
push esi
call dword [eax + 0x94]
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x70]
push 0x20
mov dword [eax], esi
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
test esi, esi
mov byte [esp + 0x12c], 0x11
je 0x4184ae
mov ecx, esi
call fcn.00405990
push 0
push 0
push 0
lea ebx, [esi + 0x1c]
push 0
mov ecx, ebx
mov byte [esp + 0x13c], 0x12
call fcn.00405760
push 1
push 0
mov ecx, esi
mov dword [esi], 0x7466f4
call fcn.00405960
push 3
push 3
push 0
mov ecx, esi
mov dword [esi + 0x18], 0x3f800000
call fcn.00408a10
push 0x3f800000
push 0
push 0
push 0
lea ecx, [esp + 0x24]
call fcn.00405760
mov edx, dword [eax]
mov dword [ebx], edx
mov ebx, esi
jmp 0x4184b0
xor ebx, ebx
push 1
push 0
mov ecx, ebx
mov byte [esp + 0x134], 0xb
call fcn.00405960
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push ebx
call fcn.0040a840
mov ecx, edi
call fcn.00405840
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0x13
je 0x4184ff
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x418501
xor esi, esi
push str.WorldVFXRoot
mov ecx, esi
mov byte [esp + 0x130], 0xb
call fcn.006ea1a0
push 0x7de6cc
lea ecx, [esi + 0x30]
call fcn.0040a7e0
push 0x7de664
lea ecx, [esi + 0x2c]
call fcn.006e93d0
mov eax, dword [esp + 0x20]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0040a840
lea edi, [esi + 0x88]
mov ecx, edi
call fcn.00405840
mov ecx, dword [ebp + 0x9c]
mov edx, dword [ecx]
push 1
push esi
call dword [edx + 0x94]
mov eax, dword [0x7c67dc]
mov eax, dword [eax + 0x74]
push esi
lea ecx, [eax + 0xc]
call fcn.00471b00
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push ebx
call fcn.0040a840
mov ecx, edi
call fcn.00405840
push 0xd0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0x14
je 0x4185ab
mov ecx, eax
call fcn.006d0520
mov esi, eax
jmp 0x4185ad
xor esi, esi
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x74]
push esi
lea ecx, [eax + 0x10]
mov byte [esp + 0x130], 0xb
call fcn.00471b00
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x74]
lea edx, [esp + 0x14]
push edx
call fcn.00439790
mov eax, dword [eax]
push eax
mov ecx, esi
mov byte [esp + 0x130], 0x15
call fcn.006f3790
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov byte [esp + 0x12c], 0xb
je 0x418600
call fcn.00404630
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0x16
je 0x418628
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x41862a
xor esi, esi
push str.WorldArmRoot
mov ecx, esi
mov byte [esp + 0x130], 0xb
call fcn.006ea1a0
push 0x7de6cc
lea ecx, [esi + 0x30]
call fcn.0040a7e0
push 0x7de664
lea ecx, [esi + 0x2c]
call fcn.006e93d0
mov edx, dword [esp + 0x20]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0040a840
lea ecx, [esi + 0x88]
call fcn.00405840
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x158]
mov edx, dword [ecx]
mov edi, 1
push edi
push esi
call dword [edx + 0x94]
push 0x18
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
test esi, esi
mov byte [esp + 0x12c], 0x17
je 0x4186cc
mov ecx, esi
call fcn.00405990
push 0
push 0
mov ecx, esi
mov byte [esp + 0x134], 0x18
mov dword [esi], 0x7466c0
call fcn.00405960
jmp 0x4186ce
xor esi, esi
mov ecx, dword [ebp + 0xb0]
cmp ecx, esi
mov byte [esp + 0x12c], 0xb
je 0x4186f6
test ecx, ecx
je 0x4186e9
call fcn.00404630
test esi, esi
mov dword [ebp + 0xb0], esi
je 0x4186f6
inc dword [esi + 4]
mov eax, dword [ebp + 0xb0]
test eax, eax
mov edx, dword [ebp + 0x9c]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
mov dword [ecx], eax
je 0x418712
inc dword [eax + 4]
lea ecx, [edx + 0x88]
call fcn.00405840
push 0x20
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
test esi, esi
mov byte [esp + 0x12c], 0x19
je 0x418752
mov ecx, esi
call fcn.00405990
mov dword [esi], 0x7464f8
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], edi
jmp 0x418754
xor esi, esi
test esi, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x50], esi
je 0x418763
inc dword [esi + 4]
push str.worldRoot_vertexColorProperty
mov ecx, esi
mov byte [esp + 0x130], 0x1a
call fcn.006ea1a0
test esi, esi
mov dword [esi + 0x18], 2
mov dword [esi + 0x1c], edi
mov ecx, dword [ebp + 0x9c]
push ecx
mov eax, esp
mov dword [esp + 0x14], esp
mov dword [eax], esi
je 0x418797
inc dword [esi + 4]
add ecx, 0x88
call fcn.00405840
test esi, esi
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x158]
push ecx
mov eax, esp
mov dword [esp + 0x14], esp
mov dword [eax], esi
je 0x4187bd
inc dword [esi + 4]
add ecx, 0x88
call fcn.00405840
test esi, esi
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x1b0]
push ecx
mov eax, esp
mov dword [esp + 0x14], esp
mov dword [eax], esi
je 0x4187e4
inc dword [esi + 4]
add ecx, 0x88
call fcn.00405840
test esi, esi
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x234]
push ecx
mov eax, esp
mov dword [esp + 0x14], esp
mov dword [eax], esi
je 0x41880b
inc dword [esi + 4]
add ecx, 0x88
call fcn.00405840
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0x1b
je 0x41883e
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x418840
xor esi, esi
push str.glareRoot
mov ecx, esi
mov byte [esp + 0x130], 0x1a
call fcn.006ea1a0
push 0x7de6cc
lea ecx, [esi + 0x30]
call fcn.0040a7e0
push 0x7de664
lea ecx, [esi + 0x2c]
call fcn.006e93d0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x58]
mov eax, dword [ecx + 8]
mov edx, dword [esi]
push edi
push eax
mov ecx, esi
call dword [edx + 0x94]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x158]
mov edx, dword [ecx]
push edi
push esi
call dword [edx + 0x94]
lea ecx, [esp + 0x74]
call fcn.0051ad20
push str.Textures
mov byte [esp + 0x130], 0x1c
call fcn.006c4b30
mov edi, dword [esp + 0x28]
add esp, 4
push str.Meshes
push str._smenu_target.nif
push edi
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push edi
lea ecx, [esp + 0x78]
call fcn.006c41d0
test al, al
jne 0x4188f1
push 0x7ddd58
push edi
push str.Failed_to_load_screen_center_target___s_._r_n__s_
call fcn.00476e20
add esp, 0xc
mov eax, dword [esp + 0xd8]
mov esi, dword [eax]
test esi, esi
je 0x418914
push 0x7de550
mov ecx, esi
call fcn.004113d0
neg al
sbb eax, eax
and eax, esi
mov ebx, eax
jmp 0x418916
xor ebx, ebx
test ebx, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x4c], ebx
je 0x418925
inc dword [ebx + 4]
test ebx, ebx
mov byte [esp + 0x12c], 0x1d
je 0x4189fa
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0x1e
je 0x41895d
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x41895f
xor esi, esi
mov ecx, dword [0x7c67dc]
lea edi, [ecx + 0xf4]
mov ecx, dword [edi]
cmp ecx, esi
mov byte [esp + 0x12c], 0x1d
je 0x418995
test ecx, ecx
je 0x41898c
dec dword [ecx + 4]
jne 0x41898c
test ecx, ecx
je 0x41898c
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov dword [edi], esi
je 0x418995
inc dword [esi + 4]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0xf4]
push str.Center_Target
call fcn.006ea1a0
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0xf4]
xor edi, edi
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], 0x447a0000
mov dword [eax + 0x38], edi
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0xf4]
mov eax, dword [ecx]
push 1
push ebx
call dword [eax + 0x94]
mov eax, dword [0x7c67dc]
mov edx, dword [eax + 0xf4]
mov ecx, dword [eax + 0x188]
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 0x94]
jmp 0x418a0a
push edi
push str.Target___s__is_not_an_NiTriShape._r_n
call fcn.00476e20
add esp, 8
xor edi, edi
mov ecx, dword [0x7c67dc]
call fcn.00411400
push 0xd0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x12c], 0x1f
je 0x418a3d
mov ecx, eax
call fcn.006d0520
mov esi, eax
jmp 0x418a3f
xor esi, esi
mov ecx, dword [ebp + 0xb4]
cmp ecx, esi
mov byte [esp + 0x12c], 0x1d
je 0x418a71
cmp ecx, edi
je 0x418a64
dec dword [ecx + 4]
jne 0x418a64
cmp ecx, edi
je 0x418a64
mov edx, dword [ecx]
push 1
call dword [edx]
cmp esi, edi
mov dword [ebp + 0xb4], esi
je 0x418a71
inc dword [esi + 4]
mov ecx, dword [ebp + 0xb4]
push str.activation_ambientLight
call fcn.006ea1a0
mov eax, dword [ebp + 0xb4]
mov dword [eax + 0xac], edi
mov dword [eax + 0xb0], edi
mov dword [eax + 0xb4], 0x3f800000
inc dword [eax + 0x9c]
mov eax, dword [ebp + 0xb4]
mov ecx, dword [ebp + 0xa0]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
mov eax, dword [0x7c67dc]
lea ecx, [eax + 0x124]
call fcn.00433610
mov ecx, dword [0x7c67dc]
add ecx, 0x150
call fcn.00433610
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e4]
lea edx, [esp + 0x18]
push edx
call fcn.00412820
mov ecx, dword [0x7c67dc]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x188]
mov edx, dword [ecx]
push 1
push eax
mov byte [esp + 0x134], 0x20
call dword [edx + 0x94]
mov eax, dword [esp + 0x18]
cmp eax, edi
mov byte [esp + 0x12c], 0x1d
je 0x418b3c
mov esi, dword [eax + 4]
mov ecx, eax
add eax, 4
dec esi
mov edx, esi
cmp edx, edi
mov dword [eax], esi
jne 0x418b3c
cmp ecx, edi
je 0x418b3c
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0xa4]
lea edx, [esp + 0x10]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x2e4]
push edx
call fcn.00412820
mov eax, dword [eax]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], edi
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x418b8d
mov esi, dword [eax + 4]
mov ecx, eax
add eax, 4
dec esi
mov edx, esi
cmp edx, edi
mov dword [eax], esi
jne 0x418b8d
cmp ecx, edi
je 0x418b8d
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x2e4]
lea eax, [esp + 0x10]
push eax
call fcn.00439790
mov edx, dword [0x7c67dc]
mov eax, dword [eax]
mov ecx, dword [edx + 0x188]
mov edx, dword [ecx]
push 1
push eax
mov byte [esp + 0x134], 0x21
call dword [edx + 0x94]
mov eax, dword [esp + 0x10]
cmp eax, edi
mov byte [esp + 0x12c], 0x1d
je 0x418bef
mov esi, dword [eax + 4]
mov ecx, eax
add eax, 4
dec esi
mov edx, esi
cmp edx, edi
mov dword [eax], esi
jne 0x418bef
cmp ecx, edi
je 0x418bef
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0xa4]
lea edx, [esp + 0x18]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x2e4]
push edx
call fcn.00439790
mov eax, dword [eax]
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], edi
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x418c40
mov esi, dword [eax + 4]
mov ecx, eax
add eax, 4
dec esi
mov edx, esi
cmp edx, edi
mov dword [eax], esi
jne 0x418c40
cmp ecx, edi
je 0x418c40
mov edx, dword [ecx]
push 1
call dword [edx]
push 0x1c
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
cmp esi, edi
mov byte [esp + 0x12c], 0x22
je 0x418cb4
mov ecx, esi
call fcn.006e9ed0
mov word [esi + 0x14], di
push edi
push edi
mov ecx, esi
mov byte [esp + 0x134], 0x23
mov dword [esi], 0x7465a8
call fcn.00405960
push 1
push 0xf
push 6
mov ecx, esi
call fcn.00408a10
push 5
push 0xf
push 7
mov ecx, esi
call fcn.00408a10
push 9
push edi
mov ecx, esi
call fcn.00405960
push 0xa
push 7
push edi
mov ecx, esi
call fcn.00408a10
mov byte [esi + 0x18], 0
jmp 0x418cb6
xor esi, esi
cmp esi, edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x58], esi
je 0x418cc5
inc dword [esi + 4]
or word [esi + 0x14], 0x2001
cmp esi, edi
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x184]
push ecx
mov eax, esp
mov byte [esp + 0x130], 0x24
mov dword [esp + 0x14], esp
mov dword [eax], esi
je 0x418cee
inc dword [esi + 4]
add ecx, 0x88
call fcn.00405840
push 0xd0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x12c], 0x25
je 0x418d21
mov ecx, eax
call fcn.006d0520
mov ebx, eax
jmp 0x418d23
xor ebx, ebx
test ebx, ebx
mov dword [esp + 0x54], ebx
je 0x418d2e
inc dword [ebx + 4]
mov ecx, dword [0x7de818]
mov dword [ebx + 0xac], ecx
mov edx, dword [0x7de81c]
mov dword [ebx + 0xb0], edx
mov eax, dword [0x7de820]
mov dword [ebx + 0xb4], eax
inc dword [ebx + 0x9c]
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x188]
push eax
mov ecx, ebx
mov byte [esp + 0x130], 0x26
call fcn.006f3790
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x188]
mov eax, dword [ecx]
push 1
push ebx
call dword [eax + 0x94]
push 0x58
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0x27
je 0x418daf
mov ecx, eax
call fcn.006db0a0
mov edi, eax
jmp 0x418db1
xor edi, edi
test edi, edi
mov dword [esp + 0x48], edi
je 0x418dbc
inc dword [edi + 4]
mov ecx, dword [esp + 0x18]
push str.Camera_Root_Alpha_Property
mov byte [esp + 0x130], 0x28
call fcn.006ea1a0
push str.Camera_Root_Ambient_Light
mov ecx, ebx
call fcn.006ea1a0
push str.font_materialProperty
mov ecx, edi
call fcn.006ea1a0
mov ecx, dword [0x7de818]
mov dword [edi + 0x1c], ecx
mov edx, dword [0x7de81c]
mov dword [edi + 0x20], edx
mov eax, dword [0x7de820]
push 0
push 1
mov ecx, edi
mov dword [edi + 0x24], eax
call fcn.00405960
mov ecx, dword [0x7de818]
mov dword [edi + 0x28], ecx
mov edx, dword [0x7de81c]
mov dword [edi + 0x2c], edx
mov eax, dword [0x7de820]
push 0
push 1
mov ecx, edi
mov dword [edi + 0x30], eax
call fcn.00405960
mov ecx, dword [0x7de804]
mov dword [edi + 0x40], ecx
mov edx, dword [0x7de808]
mov dword [edi + 0x44], edx
mov eax, dword [0x7de80c]
push 0
push 1
mov ecx, edi
mov dword [edi + 0x48], eax
call fcn.00405960
test edi, edi
mov ecx, dword [0x7c67dc]
mov eax, dword [ecx + 0x188]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
mov dword [ecx], edi
je 0x418e75
inc dword [edi + 4]
lea ecx, [eax + 0x88]
call fcn.00405840
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x184]
call fcn.006eb380
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x184]
call fcn.006eb0e0
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x184]
push 1
push 0
push 0
call fcn.006eb000
mov esi, dword [esp + 0x24]
push str..Morrowind.ini
push 0x200
push esi
push str.mwind_logo.bik
push str.Company_Logo
push str.Movies
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp + 0x108]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x418ef0
mov edx, dword [ecx]
push 0
call dword [edx + 0x1c]
mov ecx, dword [ebp + 0x108]
push 1
push 0
push 0
push 0
push 0
push 1
push esi
call fcn.004587e0
mov esi, dword [ebp + 0x108]
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x418f3f
call fcn.006b6e20
cmp eax, 2
je 0x418f2c
mov ecx, dword [esi + 4]
call fcn.006b6e20
cmp eax, 3
jne 0x418f3f
mov ecx, dword [ebp + 0x108]
push 1
push 1
push 1
call fcn.00458910
jmp 0x418f08
mov eax, dword [0x7c6cdc]
mov esi, dword [esp + 0x24]
mov ecx, dword [eax + 0x108]
push 3
push esi
call fcn.00459830
mov ecx, dword [0x7c6cdc]
mov ecx, dword [ecx + 0x108]
push 1
push 1
push esi
call fcn.00458dd0
mov edx, dword [0x7c6cdc]
mov eax, dword [edx + 0x108]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x418f86
mov eax, dword [ecx]
push 1
call dword [eax + 0x1c]
mov ecx, ebp
call fcn.00419ce0
test al, al
jne 0x419069
test edi, edi
mov byte [esp + 0x12c], 0x26
je 0x418fae
dec dword [edi + 4]
jne 0x418fae
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
test ebx, ebx
mov byte [esp + 0x12c], 0x24
je 0x418fc7
dec dword [ebx + 4]
jne 0x418fc7
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov ecx, dword [esp + 0x18]
test ecx, ecx
mov byte [esp + 0x12c], 0x1d
je 0x418fe2
dec dword [ecx + 4]
jne 0x418fe2
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x28]
test ecx, ecx
mov byte [esp + 0x12c], 0x1c
je 0x418ffd
dec dword [ecx + 4]
jne 0x418ffd
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [esp + 0x74]
mov byte [esp + 0x12c], 0x1a
call fcn.0051ad60
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov byte [esp + 0x12c], 0xb
je 0x419029
dec dword [ecx + 4]
jne 0x419029
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x20]
test ecx, ecx
mov byte [esp + 0x12c], 4
je 0x419044
dec dword [ecx + 4]
jne 0x419044
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov dword [esp + 0x12c], 0xffffffff
je 0x419062
dec dword [ecx + 4]
jne 0x419062
mov edx, dword [ecx]
push 1
call dword [edx]
xor al, al
jmp 0x4195af
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2e0]
call fcn.0041dca0
mov ecx, ebp
call fcn.00419670
mov ecx, ebp
call fcn.00419c00
call fcn.0053ad30
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x12c]
call fcn.006eb0e0
mov ecx, ebp
call fcn.0041a070
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0x29
je 0x4190cc
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x4190ce
xor esi, esi
mov ecx, dword [ebp + 0xb8]
cmp ecx, esi
mov byte [esp + 0x12c], 0x28
je 0x419100
test ecx, ecx
je 0x4190f3
dec dword [ecx + 4]
jne 0x4190f3
test ecx, ecx
je 0x4190f3
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov dword [ebp + 0xb8], esi
je 0x419100
inc dword [esi + 4]
mov ecx, dword [ebp + 0xb8]
push str.gridString
call fcn.006ea1a0
mov ecx, dword [0x7c67dc]
mov eax, dword [ebp + 0xb8]
mov ecx, dword [ecx + 0x188]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
mov ecx, dword [ebp + 0xb8]
mov eax, dword [ecx]
push 1
call dword [eax + 0x50]
mov eax, dword [ebp + 0xb8]
mov ecx, dword [0x7c67e0]
push eax
call fcn.00487bb0
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0x2a
je 0x419174
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x419176
xor esi, esi
mov ecx, dword [ebp + 0xbc]
cmp ecx, esi
mov byte [esp + 0x12c], 0x28
je 0x4191a8
test ecx, ecx
je 0x41919b
dec dword [ecx + 4]
jne 0x41919b
test ecx, ecx
je 0x41919b
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov dword [ebp + 0xbc], esi
je 0x4191a8
inc dword [esi + 4]
mov ecx, dword [0x7c67dc]
mov eax, dword [ebp + 0xbc]
mov ecx, dword [ecx + 0x188]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
mov ecx, dword [ebp + 0xbc]
push str.collideString
call fcn.006ea1a0
mov ecx, dword [ebp + 0xbc]
mov eax, dword [ecx]
push 1
call dword [eax + 0x50]
mov eax, dword [ebp + 0xbc]
mov ecx, dword [0x7c67e0]
push eax
call fcn.00487bb0
push 0xb0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x12c], 0x2b
je 0x41921c
mov ecx, eax
call fcn.006c81e0
mov esi, eax
jmp 0x41921e
xor esi, esi
mov ecx, dword [ebp + 0xc8]
cmp ecx, esi
mov byte [esp + 0x12c], 0x28
je 0x419250
test ecx, ecx
je 0x419243
dec dword [ecx + 4]
jne 0x419243
test ecx, ecx
je 0x419243
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov dword [ebp + 0xc8], esi
je 0x419250
inc dword [esi + 4]
mov ecx, dword [0x7c67dc]
mov eax, dword [ebp + 0xc8]
mov ecx, dword [ecx + 0x188]
mov edx, dword [ecx]
push 1
push eax
call dword [edx + 0x94]
mov ecx, dword [ebp + 0xc8]
push str.textureString
call fcn.006ea1a0
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x50]
lea eax, [esp + 0x10]
push eax
call fcn.004090e0
mov edx, dword [0x7c67dc]
mov eax, dword [eax]
mov ecx, dword [edx + 0x188]
mov edx, dword [ecx]
push 0
push eax
mov byte [esp + 0x134], 0x2c
call dword [edx + 0x94]
mov eax, dword [esp + 0x10]
test eax, eax
mov byte [esp + 0x12c], 0x28
je 0x4192dc
mov esi, dword [eax + 4]
mov ecx, eax
add eax, 4
dec esi
mov edx, esi
test edx, edx
mov dword [eax], esi
jne 0x4192dc
test ecx, ecx
je 0x4192dc
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [0x7c67dc]
add ecx, 0x124
call fcn.004195d0
mov ecx, eax
call fcn.004195e0
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x58]
mov dword [esp + 0x30], esp
call fcn.0043b8e0
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x1b0]
call fcn.006eb0e0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x1b0]
call fcn.006eb380
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x1b0]
push 1
push 0
push 0
call fcn.006eb000
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x234]
call fcn.006eb0e0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x234]
call fcn.006eb380
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x234]
push 1
push 0
push 0
call fcn.006eb000
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x158]
call fcn.006eb0e0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x158]
call fcn.006eb380
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x158]
push 1
push 0
push 0
call fcn.006eb000
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x12c]
call fcn.006eb380
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x12c]
call fcn.006eb0e0
mov ecx, dword [ebp + 0x108]
call fcn.00458d70
mov ecx, dword [0x7c67dc]
mov ecx, dword [ecx + 0x184]
call fcn.006eb380
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x184]
call fcn.006eb0e0
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x184]
push 1
push 0
push 0
call fcn.006eb000
mov ecx, dword [ebp + 0x108]
call fcn.00458da0
call fcn.00638330
test al, al
mov eax, dword [0x7c67dc]
je 0x41944e
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x41944e
push 1
jmp 0x419450
push 0
mov ecx, dword [eax + 0x2dc]
call fcn.004360f0
mov ecx, dword [0x7c67dc]
add ecx, 0x2b0
call fcn.00433610
mov edx, dword [0x7c67dc]
mov ecx, dword [edx + 0x2b8]
call fcn.006eb380
mov eax, dword [0x7c67dc]
mov ecx, dword [eax + 0x2b8]
call fcn.006eb0e0
push str.Done_Initalizing_Main
call fcn.00477fa0
mov ecx, dword [0x7c67dc]
mov edx, dword [ecx + 0xc0]
fld dword [edx + 0x34]
add esp, 4
fcomp dword [0x746468]
fnstsw ax
test ah, 0x40
jne 0x4194c3
mov ecx, dword [ebp + 0x108]
push 1
call fcn.004599e0
mov byte [ebp + 0x10c], 1
mov eax, dword [0x7c67e0]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
push str.Meshesllight_torch10.nif
mov ecx, eax
call fcn.004ee0a0
test edi, edi
mov byte [esp + 0x12c], 0x26
je 0x4194f9
dec dword [edi + 4]
jne 0x4194f9
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
test ebx, ebx
mov byte [esp + 0x12c], 0x24
je 0x419512
dec dword [ebx + 4]
jne 0x419512
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov ecx, dword [esp + 0x18]
test ecx, ecx
mov byte [esp + 0x12c], 0x1d
je 0x41952d
dec dword [ecx + 4]
jne 0x41952d
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x28]
test ecx, ecx
mov byte [esp + 0x12c], 0x1c
je 0x419548
dec dword [ecx + 4]
jne 0x419548
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [esp + 0x74]
mov byte [esp + 0x12c], 0x1a
call fcn.0051ad60
mov ecx, dword [esp + 0x14]
test ecx, ecx
mov byte [esp + 0x12c], 0xb
je 0x419574
dec dword [ecx + 4]
jne 0x419574
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [esp + 0x20]
test ecx, ecx
mov byte [esp + 0x12c], 4
je 0x41958f
dec dword [ecx + 4]
jne 0x41958f
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov dword [esp + 0x12c], 0xffffffff
je 0x4195ad
dec dword [ecx + 4]
jne 0x4195ad
mov edx, dword [ecx]
push 1
call dword [edx]
mov al, 1
mov ecx, dword [esp + 0x124]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x120
ret