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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x690aa1
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
mov eax, dword [0x70c004]
xor eax, esp
mov dword [esp + 0x1b0], eax
push ebx
push esi
push edi
mov eax, dword [0x70c004]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 8]
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.004741a6
fstp dword [esp + 0x48]
mov eax, dword [esi + 8]
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.00474569
mov edx, dword [esi + 8]
push 0x550
mov dword [esp + 0x6c], edx
call fcn.0045c111
add esp, 4
mov dword [esp + 0x9c], eax
xor edi, edi
mov dword [esp + 0x200], edi
cmp eax, edi
je 0x42d50c
mov ecx, dword [esi + 8]
push ecx
push eax
call fcn.00451320
jmp 0x42d50e
xor eax, eax
mov dword [esp + 0x200], 0xffffffff
push 0x14
mov ebx, 0xf
push str.MsgWinSquareFilename
lea ecx, [esp + 0x54]
mov dword [esi + 0x10], eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.004051a0
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x70]
push ecx
mov dword [esp + 0x208], 1
call fcn.0046f7b8
mov ecx, eax
call fcn.004704b6
push edi
push 1
mov byte [esp + 0x208], 2
mov edx, dword [esi + 0x264]
lea ecx, [esi + 0x264]
push 0x15
push eax
mov eax, dword [edx + 0x140]
call eax
cmp dword [esp + 0x84], 0x10
jb 0x42d598
mov ecx, dword [esp + 0x70]
push ecx
call fcn.0045c06d
add esp, 4
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x64], 0x10
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], edi
mov byte [esp + 0x70], 0
jb 0x42d5ca
mov edx, dword [esp + 0x50]
push edx
call fcn.0045c06d
add esp, 4
mov eax, dword [esi + 8]
push 0x10
push str.objd000_000.bmp
lea ecx, [esp + 0x54]
mov dword [esi + 0x27d0], eax
mov dword [esi + 0x28c0], 0xffffffff
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x208], 3
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x140]
lea ecx, [esi + 0x14]
push 0x15
lea edx, [esp + 0x58]
push edx
call eax
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x64], 0x10
jb 0x42d63c
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0045c06d
add esp, 4
push 0x10
push str.objc000_000.bmp
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x208], 4
mov edx, dword [esi + 0xa8]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0xa8]
push 0x15
lea eax, [esp + 0x58]
push eax
call edx
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x64], 0x10
jb 0x42d6a1
mov eax, dword [esp + 0x50]
push eax
call fcn.0045c06d
add esp, 4
push 0x10
push str.objd001_000.bmp
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x208], 5
mov edx, dword [esi + 0x13c]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0x13c]
push 0x15
lea eax, [esp + 0x58]
push eax
call edx
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x64], 0x10
jb 0x42d706
mov eax, dword [esp + 0x50]
push eax
call fcn.0045c06d
add esp, 4
push 0x10
push str.objd002_000.bmp
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x208], 6
mov edx, dword [esi + 0x1d0]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0x1d0]
push 0x15
lea eax, [esp + 0x58]
push eax
call edx
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x64], 0x10
jb 0x42d76b
mov eax, dword [esp + 0x50]
push eax
call fcn.0045c06d
add esp, 4
fldz
mov eax, dword [esp + 0x68]
fstp dword [esp + 0x44]
fldz
cmp dword [eax + 0x3efc], edi
je 0x42d78b
fadd qword [0x6d05c0]
fstp dword [esp + 0x44]
jmp 0x42d7a2
test byte [eax + 0x2f4c], 1
je 0x42d7a0
fadd qword [0x6cfc40]
fstp dword [esp + 0x44]
jmp 0x42d7a2
fstp st(0)
push 0x10
push str.objd004_000.bmp
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x208], 7
mov edx, dword [esi + 0x2fc]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0x2fc]
push 0x15
lea eax, [esp + 0x58]
push eax
call edx
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x64], 0x10
jb 0x42d807
mov eax, dword [esp + 0x50]
push eax
call fcn.0045c06d
add esp, 4
push 0x10
push str.objd005_000.bmp
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x208], 8
mov edx, dword [esi + 0x390]
mov edx, dword [edx + 0x140]
lea ebx, [esi + 0x390]
push 0x15
lea eax, [esp + 0x58]
push eax
mov ecx, ebx
call edx
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x64], 0x10
jb 0x42d86e
mov eax, dword [esp + 0x50]
push eax
call fcn.0045c06d
add esp, 4
fld dword [0x6d05bc]
fst dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
fld dword [0x6d05b8]
mov dword [esp + 0x134], ecx
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x138], edx
fst dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
fld dword [esp + 0x44]
mov dword [esp + 0x13c], eax
fld qword [0x6d05b0]
fadd st(1)
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
fxch st(1)
mov dword [esp + 0x140], ecx
fst dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
fld st(1)
mov dword [esp + 0x144], edx
fadd qword [0x6d05a8]
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x148], eax
fst dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
fld st(1)
mov dword [esp + 0x14c], ecx
fadd qword [0x6d05a0]
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x150], edx
fst dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
fld st(1)
mov dword [esp + 0x154], eax
fadd qword [0x6d0598]
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x158], ecx
fst dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
fld st(1)
mov dword [esp + 0x15c], edx
fadd qword [0x6d0590]
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x160], eax
fst dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
fld st(1)
mov dword [esp + 0x164], ecx
fadd qword [0x6d0588]
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x168], edx
fst dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
fld st(1)
mov dword [esp + 0x16c], eax
fadd qword [0x6d0580]
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x170], ecx
fst dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
fxch st(1)
mov dword [esp + 0x174], edx
fadd qword [0x6d00b8]
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x178], eax
fstp dword [esp + 0x3c]
mov ecx, dword [esp + 0x3c]
fld dword [0x6d0234]
mov dword [esp + 0x17c], ecx
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x180], edx
fldz
fst dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
fld dword [0x6d0578]
fst dword [esp + 0x40]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x3c]
mov dword [esp + 0xe8], ecx
mov edx, dword [esp + 0x3c]
fxch st(1)
fst dword [esp + 0x40]
mov dword [esp + 0xec], edx
mov eax, dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x3c]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x3c]
fxch st(1)
fst dword [esp + 0x40]
mov dword [esp + 0xf4], ecx
mov edx, dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x3c]
mov dword [esp + 0xf8], edx
mov eax, dword [esp + 0x3c]
fxch st(1)
fst dword [esp + 0x40]
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x3c]
mov dword [esp + 0x100], ecx
mov edx, dword [esp + 0x3c]
fxch st(1)
fst dword [esp + 0x40]
mov dword [esp + 0x104], edx
mov eax, dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x3c]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x3c]
fxch st(1)
fst dword [esp + 0x40]
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x3c]
mov dword [esp + 0x110], edx
mov eax, dword [esp + 0x3c]
fxch st(1)
fst dword [esp + 0x40]
mov dword [esp + 0x114], eax
mov ecx, dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x3c]
mov dword [esp + 0x118], ecx
mov edx, dword [esp + 0x3c]
fxch st(1)
fst dword [esp + 0x40]
mov dword [esp + 0x11c], edx
mov eax, dword [esp + 0x40]
fxch st(1)
fst dword [esp + 0x3c]
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x3c]
fxch st(1)
fst dword [esp + 0x40]
mov dword [esp + 0x124], ecx
mov edx, dword [esp + 0x40]
fxch st(1)
fstp dword [esp + 0x3c]
mov dword [esp + 0x128], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x12c], eax
mov eax, dword [esi + 8]
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x130], ecx
mov dword [esi + 0x16ec], eax
mov edx, dword [ebx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x94]
push eax
mov ecx, ebx
call edx
mov ecx, dword [eax]
mov dword [esp + 0x8c], ecx
mov ecx, dword [eax + 4]
mov eax, 0x2e8ba2e9
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x90], eax
xor ebx, ebx
jmp 0x42db92
xor edi, edi
cmp ebx, edi
jne 0x42dbf5
push edi
xor eax, eax
push eax
xor edx, edx
mov dword [esp + 0x48], 3
mov eax, dword [esp + 0x48]
push eax
push edx
mov eax, 2
push eax
xor eax, eax
push eax
mov dword [esp + 0xb8], 1
mov edx, dword [esp + 0xb8]
push edx
push eax
mov eax, edi
push eax
xor eax, eax
mov dword [esp + 0x1ac], 5
mov edx, dword [esp + 0x1ac]
mov dword [esp + 0xd8], edi
mov dword [esp + 0x1c4], edi
lea ecx, [esi + 0x424]
push eax
jmp 0x42dc48
mov eax, 4
push eax
push ebx
lea edx, [eax - 1]
push edx
push ebx
mov ecx, ebx
mov eax, 2
imul ecx, ecx, 0x84
push eax
push ebx
mov dword [esp + 0x1b0], 1
mov edx, dword [esp + 0x1b0]
push edx
push ebx
mov eax, edi
push eax
mov dword [esp + 0xe8], 5
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x1b4], edi
lea ecx, [ecx + esi + 0x424]
push ebx
mov edi, dword [ecx]
push edx
mov eax, 0xa
push eax
lea eax, [esi + 0x2fc]
push eax
mov eax, dword [edi + 0x84]
call eax
mov ecx, ebx
imul ecx, ecx, 0x84
mov edx, dword [ecx + esi + 0x424]
mov eax, dword [edx + 0x18]
lea edi, [ecx + esi + 0x424]
push 0
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 8]
push 1
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
push 0
mov ecx, edi
call eax
fld dword [esp + ebx*8 + 0x134]
fld dword [esp + 0x48]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.0064b350
fmul dword [esp + ebx*8 + 0x138]
mov dword [esp + 0xb8], eax
call fcn.0064b350
mov edx, dword [edi]
mov edx, dword [edx + 0x2c]
push eax
mov eax, dword [esp + 0xbc]
push eax
mov ecx, edi
call edx
fld dword [esp + 0x48]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
push eax
push ecx
push ecx
mov ecx, edi
fstp dword [esp]
call fcn.004c32e5
mov edx, dword [edi]
mov eax, dword [edx + 0x28]
push 0
mov ecx, edi
call eax
mov ecx, ebx
imul ecx, ecx, 0x15c
mov edx, dword [ecx + esi + 0x94c]
lea ecx, [ecx + esi + 0x94c]
lea eax, [esi + 0x390]
push eax
mov eax, dword [edx + 0x28]
mov dword [esp + 0x48], ecx
call eax
mov ecx, dword [esp + 0x90]
mov eax, ebx
imul eax, ecx
mov dword [esp + 0x70], eax
lea eax, [ebx + 1]
mov dword [esp + 0xac], eax
imul eax, ecx
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx]
sub esp, 0x10
mov dword [esp + 0x88], eax
mov eax, esp
xor ecx, ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x9c]
mov edx, dword [edx + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x54]
call edx
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
push 0xff
call edx
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x50]
push 0xf
call edx
fld dword [esp + ebx*8 + 0xe4]
fld dword [esp + 0x48]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.0064b350
fmul dword [esp + ebx*8 + 0xe8]
mov dword [esp + 0x94], eax
call fcn.0064b350
mov ebx, dword [esp + 0x44]
mov edx, dword [ebx]
mov edx, dword [edx + 0x44]
push eax
mov eax, dword [esp + 0x98]
push eax
mov ecx, ebx
call edx
push ebx
push edi
lea eax, [esi + 0x16e4]
push eax
call fcn.0044e770
mov ebx, dword [esp + 0xac]
cmp ebx, 0xa
jb 0x42db90
mov eax, dword [esi + 8]
lea ecx, [eax + 0x1f90]
mov dword [esi + 0x1710], 2
call fcn.0046942d
test al, al
jne 0x42de36
lea edi, [esi + 0x16f0]
push 2
mov eax, edi
call fcn.0044fd00
cmp dword [eax], 0
je 0x42de36
push 2
mov eax, edi
call fcn.0044fd00
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
call edx
mov eax, dword [esi + 0x7c0]
mov edx, dword [eax + 0x18]
lea ecx, [esi + 0x7c0]
push 1
call edx
mov eax, dword [esi + 0x8c8]
mov edx, dword [eax + 0x18]
lea ecx, [esi + 0x8c8]
push 1
call edx
mov eax, dword [esi + 0x424]
mov edx, dword [eax + 0x18]
lea ecx, [esi + 0x424]
push 1
call edx
fld dword [0x6d0574]
fst dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
fld dword [0x6d0570]
mov dword [esp + 0x4c], eax
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x50], ecx
fst dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
fld dword [0x6d056c]
mov dword [esp + 0x54], edx
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 8]
fstp dword [esp + 0x3c]
fld dword [0x6d0568]
mov ecx, dword [esp + 0x3c]
mov dword [esi + 0x1de8], eax
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x68]
cmp dword [eax + 0x3efc], 0
mov edx, dword [esp + 0x40]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
je 0x42e246
lea edi, [esi + 0x16f0]
push 0
mov eax, edi
call fcn.0044fd00
cmp dword [eax], 0
je 0x42df0f
push 0
mov eax, edi
call fcn.0044fd00
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x7c]
call eax
mov ebx, 0x10
push ebx
mov edi, 0xf
push str.objd004_001.bmp
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], 0
mov byte [esp + 0x78], 0
call fcn.004051a0
push 0
push 1
mov dword [esp + 0x208], 9
mov edx, dword [esi + 0x1718]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0x1718]
push 0x15
lea eax, [esp + 0x78]
push eax
call edx
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x84], ebx
jb 0x42df8a
mov eax, dword [esp + 0x70]
push eax
call fcn.0045c06d
add esp, 4
push ebx
push str.objd005_001.bmp
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], 0
mov byte [esp + 0x78], 0
call fcn.004051a0
push 0
push 1
mov dword [esp + 0x208], 0xa
mov edx, dword [esi + 0x17ac]
mov edx, dword [edx + 0x140]
lea edi, [esi + 0x17ac]
push 0x15
lea eax, [esp + 0x78]
push eax
mov ecx, edi
call edx
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x84], ebx
jb 0x42dffd
mov eax, dword [esp + 0x70]
push eax
call fcn.0045c06d
add esp, 4
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
call edx
fld dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
fld qword [0x6cfbb8]
mov eax, 0x55555556
fmul st(1)
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
call fcn.0064b350
mov dword [esp + 0xb0], eax
fmul qword [0x6cfe90]
call fcn.0064b350
mov dword [esp + 0xb4], eax
lea ebx, [esi + 0x1840]
lea edi, [esi + 0x19cc]
nop
mov edx, dword [ebx]
mov eax, 4
push eax
mov eax, dword [esp + 0x48]
push eax
mov ecx, 3
push ecx
push eax
mov ecx, 2
push ecx
push eax
mov ecx, 1
push ecx
push eax
xor ecx, ecx
push ecx
push eax
mov eax, 5
push eax
mov eax, 3
push eax
lea eax, [esi + 0x1718]
push eax
mov eax, dword [edx + 0x84]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x18]
push 0
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push 1
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0xc]
push 0
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x44]
fld dword [esp + ecx*8 + 0x4c]
fld dword [esp + 0x48]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.0064b350
mov edx, dword [esp + 0x44]
fmul dword [esp + edx*8 + 0x50]
mov dword [esp + 0x94], eax
call fcn.0064b350
mov edx, dword [ebx]
mov edx, dword [edx + 0x2c]
push eax
mov eax, dword [esp + 0x98]
push eax
mov ecx, ebx
call edx
fld dword [esp + 0x48]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
push eax
push ecx
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.004c32e5
mov edx, dword [ebx]
mov eax, dword [edx + 0x28]
push 0
mov ecx, ebx
call eax
mov edx, dword [edi]
lea eax, [esi + 0x17ac]
push eax
mov eax, dword [edx + 0x28]
mov ecx, edi
call eax
mov edx, dword [esp + 0x44]
inc edx
mov ecx, dword [esp + 0x40]
mov eax, ecx
imul eax, edx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x44]
imul eax, ecx
xor ecx, ecx
mov dword [esp + 0x70], eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xac], edx
mov edx, dword [edi]
mov edx, dword [edx + 0x4c]
mov dword [eax + 0xc], ecx
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x48]
push 0xff
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x50]
push 0xf
mov ecx, edi
call edx
mov ecx, dword [esp + 0xb4]
mov eax, dword [edi]
mov edx, dword [esp + 0xb0]
mov eax, dword [eax + 0x44]
push ecx
push edx
mov ecx, edi
call eax
push edi
push ebx
lea eax, [esi + 0x1de0]
push eax
call fcn.0044e770
mov eax, dword [esp + 0x9c]
add edi, 0x15c
add ebx, 0x84
mov dword [esp + 0x44], eax
cmp eax, 3
jb 0x42e060
mov ecx, dword [esp + 0x68]
mov dword [esi + 0x1e0c], 2
cmp dword [ecx + 0x3f04], 0
jne 0x42e246
lea edi, [esi + 0x1dec]
push 2
mov eax, edi
call fcn.0044fd00
cmp dword [eax], 0
je 0x42e22c
push 2
mov eax, edi
call fcn.0044fd00
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x7c]
call eax
mov edi, dword [esi + 0x1948]
mov eax, 0xffffd8f1
mov edx, eax
lea ecx, [esi + 0x1948]
push edx
mov edx, dword [edi + 0x2c]
push eax
call edx
mov eax, dword [esi + 8]
push 0x10
push str.objd006_000.bmp
lea ecx, [esp + 0x54]
mov dword [esi + 0x2464], eax
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], 0
mov byte [esp + 0x58], 0
call fcn.004051a0
push 0
push 1
mov dword [esp + 0x208], 0xb
mov eax, dword [esi + 0x2154]
mov eax, dword [eax + 0x140]
lea ecx, [esi + 0x2154]
push 0x15
lea edx, [esp + 0x58]
push edx
call eax
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x64], 0x10
jb 0x42e2bd
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0045c06d
add esp, 4
xor eax, eax
lea ecx, [eax + 4]
push ecx
push eax
mov edi, dword [esi + 0x227c]
mov eax, 3
push eax
xor edx, edx
push edx
xor eax, eax
mov dword [esp + 0xa8], 2
mov edx, dword [esp + 0xa8]
push edx
push eax
mov eax, 1
push eax
xor eax, eax
push eax
push eax
push eax
mov eax, 5
push eax
mov eax, 1
push eax
lea ebx, [esi + 0x227c]
lea eax, [esi + 0x2154]
push eax
mov eax, dword [edi + 0x84]
mov ecx, ebx
mov byte [esi + 0x2150], 0
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x18]
push 1
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push 1
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0xc]
push 0
mov ecx, ebx
call eax
fld dword [esp + 0x48]
fld qword [0x6d0330]
fmul st(1)
call fcn.0064b350
fmul qword [0x6d0560]
mov edi, eax
call fcn.0064b350
mov edx, dword [ebx]
push eax
mov eax, dword [edx + 0x2c]
push edi
mov ecx, ebx
call eax
fld dword [esp + 0x48]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
push ecx
push edx
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.004c32e5
mov edx, dword [esi + 0x2300]
lea edi, [esi + 0x2300]
lea eax, [esi + 0x390]
push eax
mov eax, dword [edx + 0x28]
mov ecx, edi
call eax
mov eax, dword [esp + 0x90]
lea ecx, [eax + eax*4]
add ecx, ecx
xor edx, edx
imul eax, eax, 0xb
mov dword [esp + 0x70], ecx
mov dword [esp + 0x78], eax
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov eax, dword [edi]
mov edx, dword [eax + 0x4c]
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x48]
push 0xff
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x50]
push 0xf
mov ecx, edi
call edx
fld dword [esp + 0x48]
fld qword [0x6cfbb8]
fmul st(1)
call fcn.0064b350
fmul qword [0x6cfe90]
mov dword [esp + 0x44], eax
call fcn.0064b350
mov edx, dword [edi]
mov edx, dword [edx + 0x44]
push eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x48]
push eax
mov ecx, edi
call edx
push edi
push ebx
lea eax, [esi + 0x245c]
push eax
call fcn.0044e770
mov eax, dword [esi + 8]
push eax
lea ebx, [esi + 0x1e18]
mov dword [esi + 0x2488], 2
call fcn.00431110
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x68]
mov dword [esi + 0x27a0], eax
test byte [ecx + 0x2f4c], 1
je 0x42e708
push 0x16
xor edi, edi
push str.sys_1objd104_000.bmp
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x208], 0xc
mov edx, dword [esi + 0x2490]
mov edx, dword [edx + 0x140]
lea ebx, [esi + 0x2490]
push 0x15
lea eax, [esp + 0x58]
push eax
mov ecx, ebx
call edx
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x64], 0x10
jb 0x42e4de
mov eax, dword [esp + 0x50]
push eax
call fcn.0045c06d
add esp, 4
push 0x16
push str.sys_1objd105_000.bmp
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x208], 0xd
mov edx, dword [esi + 0x2524]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0x2524]
push 0x15
lea eax, [esp + 0x58]
push eax
call edx
mov dword [esp + 0x200], 0xffffffff
cmp dword [esp + 0x64], 0x10
jb 0x42e547
mov eax, dword [esp + 0x50]
push eax
call fcn.0045c06d
add esp, 4
xor eax, eax
mov edx, dword [esi + 0x25b8]
mov dword [esp + 0x98], 4
push dword [esp + 0x98]
mov edx, dword [edx + 0x84]
push eax
xor ecx, ecx
mov eax, 3
push eax
push ecx
mov eax, 2
push eax
xor eax, eax
push eax
mov eax, 1
push eax
xor eax, eax
push eax
mov dword [esp + 0xdc], edi
mov eax, dword [esp + 0xdc]
push eax
xor eax, eax
push eax
mov eax, 5
push eax
mov dword [esp + 0xec], 1
mov ecx, dword [esp + 0xec]
lea edi, [esi + 0x25b8]
push ecx
push ebx
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
push 0
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 8]
push 1
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0xc]
push 0
mov ecx, edi
call edx
fld dword [esp + 0x48]
mov eax, dword [esp + 0x68]
fld qword [0x6d0558]
cmp dword [eax + 0x3efc], 0
fmul st(1)
jne 0x42e600
call fcn.0064b350
fmul qword [0x6d0550]
jmp 0x42e621
cmp dword [eax + 0x3f04], 0
jne 0x42e616
call fcn.0064b350
fmul qword [0x6d0548]
jmp 0x42e621
call fcn.0064b350
fmul qword [0x6d0540]
mov ebx, eax
call fcn.0064b350
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x2c]
push ebx
mov ecx, edi
call eax
fld dword [esp + 0x48]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
push ecx
push edx
push ecx
mov ecx, edi
fstp dword [esp]
call fcn.004c32e5
mov edx, dword [esi + 0x263c]
lea ebx, [esi + 0x263c]
lea eax, [esi + 0x2524]
push eax
mov eax, dword [edx + 0x28]
mov ecx, ebx
call eax
mov edx, dword [esi + 0x2524]
mov edx, dword [edx + 0x1c]
lea ecx, [esi + 0x2524]
lea eax, [esp + 0x94]
push eax
call edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x8c], ecx
xor ecx, ecx
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xa0], edx
mov edx, dword [ebx]
mov edx, dword [edx + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xa0]
mov dword [eax + 0xc], ecx
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x48]
push 0xff
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 0x50]
push 0xf
mov ecx, ebx
call edx
mov ecx, dword [esp + 0x9c]
mov eax, dword [ebx]
mov edx, dword [esp + 0x44]
mov eax, dword [eax + 0x44]
push ecx
push edx
mov ecx, ebx
call eax
push ebx
push edi
lea ecx, [esi + 0x2798]
push ecx
call fcn.0044e770
mov dword [esi + 0x27c4], 2
mov eax, dword [esi + 8]
push 8
xor edi, edi
mov ebx, 0xf
push str.TitleBGM
lea ecx, [esp + 0x54]
mov dword [eax + 0x1fcc], edi
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], edi
mov byte [esp + 0x58], 0
call fcn.004051a0
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x1a8]
push eax
mov dword [esp + 0x208], 0xe
call fcn.0046f7b8
mov ecx, eax
call fcn.004704b6
mov byte [esp + 0x200], 0x10
cmp dword [esp + 0x64], 0x10
jb 0x42e775
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0045c06d
add esp, 4
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x1c]
mov edx, dword [edx]
add ecx, 0x1c
lea eax, [esp + 0x1a4]
push eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], edi
mov byte [esp + 0x54], 0
call edx
mov eax, dword [esi + 8]
mov dword [eax + 0xbc], 0x258
mov eax, dword [esi + 8]
mov edi, dword [eax + 0x1c]
lea ebx, [eax + 0x1c]
push 0
lea ecx, [eax + 0x1f90]
add edi, 0x68
call fcn.0046855c
fmul qword [0x6cfca0]
call fcn.0064b350
push eax
mov eax, dword [edi]
mov ecx, ebx
call eax
push 8
xor edi, edi
push str.TitleBGM
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], edi
mov byte [esp + 0x78], 0
call fcn.004051a0
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0xcc]
push edx
mov byte [esp + 0x208], 0x11
call fcn.0046f7b8
mov ecx, eax
call fcn.004704b6
mov byte [esp + 0x200], 0x12
mov ecx, dword [esi + 8]
push eax
add ecx, 0x1f90
call fcn.00468c59
mov ebx, 0x10
cmp dword [esp + 0xe0], ebx
jb 0x42e84e
mov eax, dword [esp + 0xcc]
push eax
call fcn.0045c06d
add esp, 4
mov byte [esp + 0x200], bl
mov dword [esp + 0xe0], 0xf
mov dword [esp + 0xdc], edi
mov byte [esp + 0xcc], 0
cmp dword [esp + 0x84], ebx
jb 0x42e885
mov ecx, dword [esp + 0x70]
push ecx
call fcn.0045c06d
add esp, 4
mov eax, dword [esi + 8]
fldz
mov edx, dword [eax + 0x1c]
sub esp, 8
lea ecx, [eax + 0x1c]
fstp qword [esp]
mov eax, dword [edx + 0x58]
push 0x7d0
push edi
call eax
mov edx, dword [esi + 0x2120]
mov eax, dword [edx]
push 0xa
lea ecx, [esi + 0x2120]
push edi
push edi
mov dword [esi + 0x20c8], edi
call eax
mov edx, dword [esi + 0x20d0]
mov eax, dword [edx]
push 0xffffffffffffffc4
lea ecx, [esi + 0x20d0]
push 0x172
push edi
call eax
push ebx
push str.objd000_001.bmp
lea ecx, [esp + 0xd0]
mov dword [esi + 0x28c8], edi
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], edi
mov byte [esp + 0xd4], 0
call fcn.004051a0
push edi
push 1
mov byte [esp + 0x208], 0x13
mov edx, dword [esi + 0x28e4]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0x28e4]
push 0x15
lea eax, [esp + 0xd4]
push eax
call edx
mov byte [esp + 0x200], 0x10
cmp dword [esp + 0xe0], ebx
jb 0x42e94f
mov eax, dword [esp + 0xcc]
push eax
call fcn.0045c06d
add esp, 4
mov edx, dword [esi + 0x28cc]
mov eax, dword [edx]
push edi
add esi, 0x28cc
push edi
push edi
mov ecx, esi
call eax
cmp dword [esp + 0x1bc], ebx
jb 0x42e97d
mov ecx, dword [esp + 0x1a8]
push ecx
call fcn.0045c06d
add esp, 4
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1b0]
xor ecx, esp
call fcn.00649a98
mov esp, ebp
pop ebp
ret