Function at 0x46d7a0
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59beb4
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x298
mov eax, dword [0x5e000c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x27c], esi
mov dword [ebp - 0x29c], esi
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 8]
mov dword [ebp - 0x2a8], esi
mov dword [ebp - 0x28c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x290], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x294], eax
mov eax, dword [ebx + 0x24]
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [ebp - 0x298], eax
mov eax, dword [0x5e6500]
mov dword [ebp - 0x2a0], eax
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [ebp - 4], 0
lea ecx, [esi + 0x34]
mov dword [esi], vtable.LegacyGame.0
mov dword [esi + 0x30], 0
call fcn.004c74d0
add esi, 0x44
mov byte [ebp - 4], 1
mov dword [ebp - 0x284], esi
push 0x6c
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0052f855
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi], eax
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x27c]
add esi, 0x4c
mov dword [ebp - 0x284], esi
push 0x2c
mov dword [ebp - 0x284], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.0052f855
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 4], eax
lea ecx, [esi + 0xc]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov byte [ebp - 4], 4
mov dword [esi + 0x18], 7
mov dword [esi + 0x1c], 8
mov dword [esi], 0x3f800000
push dword [esi + 4]
push 0x10
call fcn.004056e0
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x27c]
lea ecx, [esi + 0x70]
mov dword [esi + 0x6c], 0
call fcn.00455850
lea eax, [esi + 0xc4]
mov byte [ebp - 4], 6
mov dword [ebp - 0x284], eax
lea esi, [eax + 4]
mov dword [eax], 0
mov dword [ebp - 0x284], esi
push 0x6c
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0052f855
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov edx, dword [ebp - 0x27c]
mov dword [edx + 0xd0], 0
lea ecx, [edx + 0xf4]
mov dword [edx + 0xe0], 0
mov dword [edx + 0xe4], 0
mov dword [edx + 0xe8], 0
mov dword [edx + 0xec], 0
mov dword [edx + 0xf0], 0
call fcn.00455390
xor eax, eax
mov dword [edx + 0x160], 0
mov dword [edx + 0x170], 0
mov dword [edx + 0x174], 7
mov word [edx + 0x160], ax
mov dword [edx + 0x178], eax
mov dword [edx + 0x17c], eax
mov dword [edx + 0x180], eax
mov dword [edx + 0x184], eax
mov dword [edx + 0x188], eax
mov dword [edx + 0x18c], eax
lea esi, [edx + 0x190]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x284], esi
push 0x6c
mov dword [esi], eax
mov dword [esi + 4], eax
call fcn.0052f855
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
push dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x27c]
add ecx, 0x198
push edi
call fcn.004203f0
mov edi, dword [ebp - 0x27c]
push str.imm32.dll
lea esi, [edi + 0x19c]
call dword [0x5a61a4]
mov dword [esi + 0x1830], eax
test eax, eax
je 0x46dad9
mov esi, dword [0x5a6170]
push str.ImmLockIMC
push eax
call esi
push str.ImmUnlockIMC
push dword [edi + 0x19cc]
mov dword [edi + 0x19d0], eax
call esi
push str.ImmLockIMCC
push dword [edi + 0x19cc]
mov dword [edi + 0x19d4], eax
call esi
push str.ImmUnlockIMCC
push dword [edi + 0x19cc]
mov dword [edi + 0x19d8], eax
call esi
lea esi, [edi + 0x19c]
mov dword [esi + 0x1840], eax
mov eax, dword [ebp - 0x28c]
push 0x800
mov dword [esi], eax
lea eax, [esi + 0x1018]
push 0
push eax
mov dword [esi + 4], 0
mov dword [esi + 0x181c], 0
mov dword [esi + 0x182c], 0
mov dword [esi + 8], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xffffffff
mov dword [esi + 0x1818], 0
call fcn.00582b3f
add esp, 0xc
mov ecx, esi
call fcn.00444000
push 0xffffffffffffffff
call dword [0x5a60bc]
push dword [esi]
call dword [0x5a60a8]
push eax
push dword [esi]
mov dword [esi + 4], eax
call dword [0x5a60ac]
cmp dword [esi + 0x1844], 0
je 0x46db67
push 0
push dword [esi]
call dword [0x5a60a4]
mov dword [esi + 0x1844], 0
mov dword [esi + 0x1858], 0
mov dword [esi + 0x185c], 0
mov dword [esi + 0x186c], 0
mov dword [esi + 0x1870], 7
mov dword [esi + 0x1874], 0
mov byte [ebp - 4], 0xe
lea esi, [edi + 0x1a20]
mov dword [ebp - 0x284], esi
push 0x3c
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0052f855
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi], eax
lea ecx, [edi + 0x1a28]
call fcn.00422e60
push 0x38
lea eax, [edi + 0x1a3c]
mov dword [edi + 0x1a34], 0xffffffff
push 0
push eax
mov dword [edi + 0x1a38], 0
call fcn.00582b3f
mov dword [edi + 0x1a48], 0x18
add esp, 0xc
mov dword [edi + 0x1a74], 0
mov dword [edi + 0x1a78], 0
mov dword [edi + 0x1a88], 0
mov dword [edi + 0x1a8c], 0xf
mov byte [edi + 0x1a78], 0
mov dword [edi + 0x1a90], 0
mov dword [edi + 0x1aa0], 0
mov dword [edi + 0x1aa4], 0xf
mov byte [edi + 0x1a90], 0
mov byte [ebp - 4], 0x12
lea esi, [edi + 0x1aac]
mov dword [edi + 0x1aa8], 0
mov dword [ebp - 0x284], esi
mov dword [esi], 0xffffffff
push 0xc
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.0052f855
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 4], eax
mov byte [ebp - 4], 0x13
lea esi, [edi + 0x1ab8]
mov dword [ebp - 0x284], esi
push 0x88
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0052f855
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov byte [ebp - 4], 0x14
lea ecx, [edi + 0xf4]
mov esi, dword [ebp - 0x294]
xorps xmm0, xmm0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x24], 0
movq qword [0x5e65b0], xmm0
mov dword [0x5e65b8], 0
mov eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
lea eax, [esi + 0xc]
add ecx, 0xc
cmp ecx, eax
je 0x46dd41
cmp dword [eax + 0x14], 8
mov edx, dword [eax + 0x10]
jb 0x46dd3a
mov eax, dword [eax]
push edx
push eax
call fcn.004039b0
lea eax, [esi + 0x24]
lea ecx, [edi + 0x118]
cmp ecx, eax
je 0x46dd60
cmp dword [eax + 0x14], 8
mov edx, dword [eax + 0x10]
jb 0x46dd59
mov eax, dword [eax]
push edx
push eax
call fcn.004039b0
lea eax, [esi + 0x3c]
lea ecx, [edi + 0x130]
cmp ecx, eax
je 0x46dd7f
cmp dword [eax + 0x14], 8
mov edx, dword [eax + 0x10]
jb 0x46dd78
mov eax, dword [eax]
push edx
push eax
call fcn.004039b0
lea eax, [esi + 0x54]
lea ecx, [edi + 0x148]
cmp ecx, eax
je 0x46dd9e
cmp dword [eax + 0x14], 8
mov edx, dword [eax + 0x10]
jb 0x46dd97
mov eax, dword [eax]
push edx
push eax
call fcn.004039b0
mov ecx, edi
call fcn.00455c30
cmp dword [edi + 0x19e0], 0
je 0x46ddc6
push 0
push dword [edi + 0x19c]
call dword [0x5a60a4]
mov dword [edi + 0x19e0], 0
push dword [ebp - 0x2a0]
mov ecx, edi
call fcn.0046d320
test eax, eax
jne 0x46de09
mov esi, dword [ebp - 0x28c]
push 0x10
push str.error
push str.The_application_terminates_because_an_error_occurred.
push esi
call dword [0x5a652c]
push 0
push 0
push 0x10
push esi
call dword [0x5a659c]
mov dword [edi + 0x24], 1
jmp 0x46e9f6
mov esi, dword [edi + 0x6c]
test esi, esi
jne 0x46de25
movsd xmm0, qword [0x5c8fb8]
movsd qword [0x5e6540], xmm0
jmp 0x46e223
push 0x4125a0
push 0x412570
push 0x14
push 0x18
lea eax, [ebp - 0x278]
push eax
call fcn.0052f9d8
mov dword [ebp - 0x98], 0
push 0
push 1
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 0x15
push eax
push str.getGameEngineVersion
mov ecx, esi
call fcn.004a72c0
test al, al
je 0x46dec6
cmp dword [ebp - 0x98], 0
jg 0x46de76
xorps xmm0, xmm0
jmp 0x46de8c
cmp dword [ebp - 0x278], 3
je 0x46de84
xorps xmm0, xmm0
jmp 0x46de8c
movsd xmm0, qword [ebp - 0x268]
movsd qword [ebp - 0x288], xmm0
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x16
call fcn.004a6a50
push 0x4125a0
push 0x14
push 0x18
lea eax, [ebp - 0x278]
push eax
call fcn.0052f4e1
mov byte [ebp - 4], 0x14
movsd xmm0, qword [ebp - 0x288]
jmp 0x46def6
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x17
call fcn.004a6a50
push 0x4125a0
push 0x14
push 0x18
lea eax, [ebp - 0x278]
push eax
call fcn.0052f4e1
mov byte [ebp - 4], 0x14
movsd xmm0, qword [0x5c8fb8]
comisd xmm0, xmmword [0x5c8fc8]
movsd qword [0x5e6540], xmm0
jb 0x46e223
cmp dword [0x5e0f44], 8
mov edx, 0x5e0f30
mov dword [ebp - 0x2c], 0
cmovae edx, dword [0x5e0f30]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46df40
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.004039b0
mov byte [ebp - 4], 0x18
mov eax, 0x7ffffffe
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
cmp eax, 1
jb 0x46ea18
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
push 1
cmovae eax, dword [ebp - 0x2c]
push 0x5acaf8
push ecx
push eax
push ecx
push dword [ebp - 0x284]
lea ecx, [ebp - 0x5c]
call fcn.00403fa0
push str.Save000
lea edx, [ebp - 0x5c]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x8c]
call fcn.00408130
add esp, 4
push 0x5c123c
mov edx, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x74]
call fcn.00408130
mov esi, eax
add esp, 4
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x46e03a
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x46e008
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46dffe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x46dffe
call dword [0x5a67b8]
push edx
push ecx
call fcn.0052f847
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x74]
call fcn.00403950
lea ecx, [ebp - 0x8c]
call fcn.00403950
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x18
call fcn.00403950
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x150]
cmovae eax, dword [ebp - 0x2c]
sub esp, 8
push 0x21
push eax
call fcn.00487e60
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x150]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x144], 6
jne 0x46e1d8
push 0
push 4
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x150]
call dword [0x5a6364]
xor esi, esi
cmp dword [ebp - 0x28c], esi
jbe 0x46e1ae
nop word [eax + eax]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 7
mov word [ebp - 0x5c], ax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], ax
lea edx, [ebp - 0x5c]
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x150]
call fcn.004df5c0
lea edx, [ebp - 0x74]
lea ecx, [ebp - 0x150]
call fcn.004df5c0
lea eax, [ebp - 0x74]
mov ecx, 0x5e6674
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.00488e00
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x60]
cmp edx, 8
jb 0x46e163
mov ecx, dword [ebp - 0x74]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46e159
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46dff8
push edx
push ecx
call fcn.0052f847
add esp, 8
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x48]
cmp edx, 8
jb 0x46e1a1
mov ecx, dword [ebp - 0x5c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46e197
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46dff8
push edx
push ecx
call fcn.0052f847
add esp, 8
inc esi
cmp esi, dword [ebp - 0x28c]
jb 0x46e0c0
lea ecx, [ebp - 0x138]
call fcn.00449d00
test eax, eax
jne 0x46e1d8
mov eax, dword [ebp - 0x150]
lea ecx, [ebp - 0x150]
push 0
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [0x5a62a0]
lea ecx, [ebp - 0x150]
call fcn.0046eb00
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x46e223
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46e219
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x46e219
call dword [0x5a67b8]
push edx
push ecx
call fcn.0052f847
add esp, 8
cmp dword [0x5e0f44], 8
mov edx, 0x5e0f30
mov dword [ebp - 0x44], 0
cmovae edx, dword [0x5e0f30]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46e256
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.004039b0
mov byte [ebp - 4], 0x1e
mov eax, 0x7ffffffe
mov ecx, dword [ebp - 0x34]
sub eax, ecx
cmp eax, 1
jb 0x46ea1d
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
push 1
cmovae eax, dword [ebp - 0x44]
push 0x5acaf8
push ecx
push eax
push ecx
push dword [ebp - 0x284]
lea ecx, [ebp - 0x5c]
call fcn.00403fa0
push str.Save000
lea edx, [ebp - 0x5c]
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x74]
call fcn.00408130
add esp, 4
push str.TIPS
mov edx, eax
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x8c]
call fcn.00408130
mov esi, eax
add esp, 4
lea eax, [ebp - 0x44]
cmp eax, esi
je 0x46e350
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x46e31e
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46e314
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x46e314
call dword [0x5a67b8]
push edx
push ecx
call fcn.0052f847
add esp, 8
mov dword [ebp - 0x34], 0
xor eax, eax
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x34], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x8c]
call fcn.00403950
lea ecx, [ebp - 0x74]
call fcn.00403950
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x1e
call fcn.00403950
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x150]
cmovae eax, dword [ebp - 0x44]
sub esp, 8
push 0x21
push eax
call fcn.00487e60
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x150]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x144], 6
jne 0x46e411
push 0
push 4
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x150]
call dword [0x5a6364]
xor esi, esi
cmp dword [ebp - 0x294], esi
jbe 0x46e411
push 0
push 2
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x150]
call dword [0x5a6364]
mov ecx, dword [0x5e666c]
cmp ecx, dword [0x5e6670]
je 0x46e3fb
mov ax, word [ebp - 0x28c]
mov word [ecx], ax
add dword [0x5e666c], 2
jmp 0x46e408
lea eax, [ebp - 0x28c]
push eax
push ecx
call fcn.004890d0
inc esi
cmp esi, dword [ebp - 0x294]
jb 0x46e3c3
lea ecx, [ebp - 0x138]
call fcn.00449d00
test eax, eax
jne 0x46e43b
mov eax, dword [ebp - 0x150]
lea ecx, [ebp - 0x150]
push 0
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [0x5a62a0]
lea ecx, [ebp - 0x150]
call fcn.0046eb00
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x46e486
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46e47c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x46e47c
call dword [0x5a67b8]
push edx
push ecx
call fcn.0052f847
add esp, 8
push 0x558
call fcn.0052f855
add esp, 4
mov dword [ebp - 0x284], eax
push dword [ebp - 0x290]
mov ecx, eax
mov byte [ebp - 4], 0x22
call fcn.00493860
mov dword [0x5e65a4], eax
xor eax, eax
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 7
mov word [ebp - 0xac], ax
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x23
call fcn.0041afd0
cmp dword [ebp - 0xc0], 0
mov esi, dword [ebp - 0x298]
je 0x46e4fd
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x64]
mov eax, dword [esi]
mov ecx, esi
push 2
call dword [eax + 0x38]
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax + 0x40]
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x1c]
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0x48]
mov eax, dword [0x5e65a4]
mov ecx, esi
mov dword [eax + 0x510], esi
mov eax, dword [esi]
call dword [eax + 4]
mov esi, dword [ebp - 0x290]
mov ecx, dword [0x5e65a4]
push esi
call fcn.0049af00
test eax, eax
jne 0x46e5c1
call dword [0x5a620c]
xor ecx, ecx
mov edx, 0x411
cmp ax, dx
mov edx, str.Texture_create_failed.
mov eax, 0x5c1250
sete cl
test ecx, ecx
cmove eax, edx
push eax
push ecx
push 0xffffffffffffffff
push 2
mov ecx, edi
call fcn.004f7570
mov edx, dword [ebp - 0x98]
cmp edx, 8
jb 0x46e9f6
mov ecx, dword [ebp - 0xac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46e5b2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46e778
push edx
push ecx
call fcn.0052f847
add esp, 8
jmp 0x46e9f6
push 0x2a4
call fcn.0052f855
mov dword [ebp - 0x284], eax
mov byte [ebp - 4], 0x24
mov ecx, eax
movss xmm3, dword [0x5c9270]
push esi
call fcn.004e5660
mov byte [ebp - 4], 0x23
mov ecx, eax
push dword [0x5e6524]
mov dword [edi + 0xec], eax
push dword [0x5e6534]
push esi
call fcn.004e5770
cmp dword [0x5e65d4], 0
jne 0x46e6aa
push 0x34
call fcn.0052f855
mov edi, eax
add esp, 4
mov dword [ebp - 0x284], edi
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0xf
mov byte [edi + 4], 0
mov dword [edi + 0x1c], esi
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
lea esi, [edi + 0x2c]
mov byte [ebp - 4], 0x27
push 0x2c
mov dword [ebp - 0x298], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0052f855
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov byte [ebp - 4], 0x28
mov eax, dword [edi + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
mov byte [ebp - 4], 0x23
mov dword [0x5e65d4], edi
mov edi, dword [ebp - 0x27c]
push 0x18
call fcn.0052f855
mov esi, eax
add esp, 4
mov dword [ebp - 0x284], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
push dword [ebp - 0x290]
mov ecx, esi
mov byte [ebp - 4], 0x2b
call fcn.004dc860
mov byte [ebp - 4], 0x23
mov ecx, edi
mov dword [edi + 0x1a74], esi
call fcn.0047b6f0
test eax, eax
jne 0x46e77e
call dword [0x5a620c]
xor ecx, ecx
mov edx, 0x411
cmp ax, dx
mov edx, str.Initialized_fail_in_lua_script.
mov eax, 0x5c1368
sete cl
test ecx, ecx
cmove eax, edx
push eax
push ecx
push 0xffffffffffffffff
push 2
mov ecx, edi
call fcn.004f7570
mov edx, dword [ebp - 0x98]
cmp edx, 8
jb 0x46e9f6
mov ecx, dword [ebp - 0xac]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46e5b2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x46e5b2
call dword [0x5a67b8]
xor eax, eax
lea ecx, [edi + 0xc4]
cmp dword [0x5e654c], 2
sete al
push eax
sub esp, 0xc
push dword [ebp - 0x2a0]
call fcn.0044a660
cmp dword [edi + 0xf4], 0
jne 0x46e812
cmp dword [edi + 0x12c], 8
lea eax, [edi + 0x118]
jb 0x46e7b9
mov eax, dword [eax]
push 0
push 0
push eax
mov ecx, edi
call fcn.00470740
test eax, eax
jne 0x46e851
call dword [0x5a620c]
mov edx, 0x411
xor ecx, ecx
cmp ax, dx
mov eax, 0x5c12b4
mov edx, str.Script_read_failed.
sete cl
test ecx, ecx
cmove eax, edx
push eax
push ecx
push 0xffffffffffffffff
push 2
mov ecx, edi
call fcn.004f7570
mov eax, dword [ebp - 0x98]
cmp eax, 8
jb 0x46e9f6
inc eax
push eax
jmp 0x46e9eb
call fcn.004555c0
lea eax, [edi + 0x118]
mov ecx, edi
push eax
push dword [ebp - 0x2a4]
push dword [ebp - 0x290]
call fcn.004848c0
test eax, eax
jne 0x46e851
call dword [0x5a620c]
mov edx, 0x411
xor ecx, ecx
cmp ax, dx
mov eax, 0x5c1304
mov edx, str.Load_failed.
jmp 0x46e7e7
cmp dword [0x5e654c], 2
jne 0x46e871
cmp dword [edi + 0x110], 0
je 0x46e871
lea eax, [edi + 0x100]
mov ecx, edi
push eax
call fcn.00470480
lea eax, [ebp - 0x29c]
xor ecx, ecx
push eax
lea edx, [ebp - 0x27c]
call fcn.004e0b40
mov eax, dword [0x5e6698]
lea edx, [ebp - 0x27c]
add esp, 4
mov esi, 1
cmp dword [ebp - 0x27c], 0
cmovge eax, esi
mov dword [0x5e6698], eax
lea ecx, [esi + 1]
lea eax, [ebp - 0x29c]
push eax
call fcn.004e0b40
mov eax, dword [0x5e6698]
lea edx, [ebp - 0x27c]
add esp, 4
mov ecx, esi
cmp dword [ebp - 0x27c], 0
cmovge eax, esi
mov dword [0x5e6698], eax
lea eax, [ebp - 0x29c]
push eax
call fcn.004e0b40
mov eax, dword [0x5e669c]
add esp, 4
cmp dword [ebp - 0x27c], 0
cmovge eax, esi
mov dword [0x5e669c], eax
call dword [0x5a620c]
xor ecx, ecx
movzx eax, ax
mov edx, 0x411
cmp ax, dx
mov edx, str.Task_running.
mov eax, str.ck8k0
sete cl
test ecx, ecx
cmove eax, edx
push eax
push ecx
push 0
push 0
mov ecx, edi
call fcn.004f7570
cmp dword [0x5e654c], 0
mov dword [edi + 0x20], esi
je 0x46e963
mov eax, dword [edi + 0x30]
test eax, eax
je 0x46e963
add eax, 0x20
cmp dword [eax + 0x14], 8
jb 0x46e948
mov eax, dword [eax]
push 0
push 1
push dword [0x5e65a4]
push ecx
lea ecx, [edi + 0x178]
push ecx
sub esp, 8
push eax
call fcn.00420d40
cmp dword [0x5e64fc], 0
je 0x46e9a5
push 0x40
call fcn.0052f855
add esp, 4
mov dword [ebp - 0x284], eax
xor ecx, ecx
mov byte [ebp - 4], 0x2c
cmp dword [0x5e654c], 2
sete cl
push ecx
push ecx
push str.NameTable.txt
push ecx
mov ecx, eax
call fcn.004042f0
mov byte [ebp - 4], 0x23
mov dword [edi + 0x1aa8], eax
cmp dword [0x5e667c], 0
jne 0x46e9de
push 4
call fcn.0052f855
mov dword [ebp - 0x284], eax
add esp, 4
mov dword [eax], 0x5e1bd0
mov ecx, dword [0x5e667c]
mov dword [0x5e667c], eax
test ecx, ecx
je 0x46e9de
push 4
push ecx
call fcn.0052f847
add esp, 8
mov ecx, dword [ebp - 0x98]
cmp ecx, 8
jb 0x46e9f6
inc ecx
push ecx
push dword [ebp - 0xac]
call fcn.00403cf0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0052f4c5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x20
call fcn.00402970
call fcn.00402970
int3