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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6905ff
mov eax, dword fs:[0]
push eax
sub esp, 0x110
push ebx
push esi
push edi
mov eax, dword [0x70c004]
xor eax, esp
push eax
lea eax, [esp + 0x120]
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 + 0x5c]
push ecx
lea ecx, [eax + 0x80918]
call fcn.0046f4f8
mov ecx, eax
call fcn.00474569
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x1c]
lea ecx, [eax + 0x1c]
mov eax, dword [edx + 0x38]
call eax
test al, al
mov eax, dword [esi + 8]
setne cl
mov byte [esi + 0xc], cl
mov edx, dword [eax + 0x1c]
lea ecx, [eax + 0x1c]
mov eax, dword [edx + 0x5c]
push 0x1f4
call eax
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x80118]
xor ebx, ebx
cmp ecx, ebx
je 0x439fbb
push 0x1f4
mov eax, ecx
call fcn.0045df10
mov eax, dword [esi + 8]
cmp dword [eax + 0x8011c], ebx
je 0x439fd8
mov eax, dword [eax + 0x8011c]
push 0x1f4
mov ecx, eax
call fcn.0045df10
push 0x10
mov edi, 0xf
push str.objj000_000.bmp
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.004051a0
push ebx
push 1
mov dword [esp + 0x130], ebx
mov edx, dword [esi + 0x534]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0x534]
push 0x15
lea eax, [esp + 0x2c]
push eax
call edx
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x38], 0x10
jb 0x43a03d
mov eax, dword [esp + 0x24]
push eax
call fcn.0045c06d
add esp, 4
push 0x14
push str.MsgWinSquareFilename
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], 0
call fcn.004051a0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x70]
push edx
mov dword [esp + 0x130], 1
call fcn.0046f7b8
mov ecx, eax
call fcn.004704b6
push ebx
push 1
mov byte [esp + 0x130], 2
mov edx, dword [esi + 0x5c8]
lea ecx, [esi + 0x5c8]
push 0x15
push eax
mov eax, dword [edx + 0x140]
call eax
cmp dword [esp + 0x84], 0x10
jb 0x43a0b4
mov ecx, dword [esp + 0x70]
push ecx
call fcn.0045c06d
add esp, 4
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x38], 0x10
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], ebx
mov byte [esp + 0x70], 0
jb 0x43a0e6
mov edx, dword [esp + 0x24]
push edx
call fcn.0045c06d
add esp, 4
fldz
mov eax, dword [esi + 8]
fstp dword [esp + 0x4c]
cmp dword [eax + 0x2064], ebx
je 0x43a101
fld dword [0x6cfe48]
fstp dword [esp + 0x4c]
fld dword [0x6d0538]
push 0x10
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
fld dword [esp + 0x50]
mov dword [esp + 0xc8], ecx
fld qword [0x6d0530]
push str.objj000_001.bmp
fadd st(1)
mov dword [esi + 0x17b4], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [0x6d0528]
mov dword [esp + 0xd0], edx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
fld qword [0x6d0520]
mov dword [esp + 0xd4], ecx
fadd st(1)
mov byte [esp + 0x2c], 0
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fst dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [0x6d0518]
mov dword [esp + 0xd8], edx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xdc], ecx
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [0x6d0514]
mov dword [esp + 0xe0], edx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xe4], ecx
fadd qword [0x6cfea8]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fst dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [0x6d0510]
mov dword [esp + 0xe8], edx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xec], ecx
fst dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [0x6d050c]
mov dword [esp + 0xf0], edx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xf4], ecx
fst dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [0x6cfe04]
mov dword [esp + 0xf8], edx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xfc], ecx
fst dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [0x6d0508]
mov dword [esp + 0x100], edx
fstp dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x104], ecx
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x28]
mov dword [esp + 0x108], edx
call fcn.004051a0
push ebx
lea ecx, [esi + 0x784]
push 1
mov dword [esp + 0x130], 3
mov eax, dword [ecx]
push 0x15
mov eax, dword [eax + 0x140]
lea edx, [esp + 0x2c]
push edx
call eax
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x38], 0x10
jb 0x43a2b2
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0045c06d
add esp, 4
push 0x10
push str.objj001_000.bmp
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], 0
call fcn.004051a0
push ebx
push 1
mov dword [esp + 0x130], 4
mov edx, dword [esi + 0x65c]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0x65c]
push 0x15
lea eax, [esp + 0x2c]
push eax
call edx
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x38], 0x10
jb 0x43a317
mov eax, dword [esp + 0x24]
push eax
call fcn.0045c06d
add esp, 4
push 0x10
push str.objj001_001.bmp
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], 0
call fcn.004051a0
push ebx
push 1
mov dword [esp + 0x130], 5
mov edx, dword [esi + 0x6f0]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0x6f0]
push 0x15
lea eax, [esp + 0x2c]
push eax
call edx
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x38], 0x10
jb 0x43a37c
mov eax, dword [esp + 0x24]
push eax
call fcn.0045c06d
add esp, 4
push 0x10
push str.objj001_002.bmp
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], 0
call fcn.004051a0
push ebx
push 1
mov dword [esp + 0x130], 6
mov edx, dword [esi + 0xc38]
mov edx, dword [edx + 0x140]
lea edi, [esi + 0xc38]
push 0x15
lea eax, [esp + 0x2c]
push eax
mov ecx, edi
call edx
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x38], 0x10
jb 0x43a3e3
mov eax, dword [esp + 0x24]
push eax
call fcn.0045c06d
add esp, 4
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x50]
push eax
mov ecx, edi
call edx
fld dword [esp + 0x48]
mov ecx, dword [esp + 0x54]
fld qword [0x6d0500]
mov eax, 0x4ec4ec4f
fmul st(1)
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x54], eax
xor edi, edi
call fcn.0064b350
mov dword [esp + 0x44], eax
fld dword [esp + 0x4c]
fadd qword [0x6d04f8]
fmulp st(1)
call fcn.0064b350
mov dword [esp + 0x58], eax
jmp 0x43a442
xor ebx, ebx
cmp edi, 7
ja case.default.0x43a44b
jmp dword [edi*4 + 0x43af18]
xor eax, eax
mov dword [esp + 0x118], 4
push dword [esp + 0x118]
xor edx, edx
push eax
mov dword [esp + 0x110], 3
mov eax, dword [esp + 0x110]
push eax
push edx
mov eax, 2
push eax
xor eax, eax
push eax
mov dword [esp + 0x128], 1
mov edx, dword [esp + 0x128]
push edx
push eax
push eax
push eax
mov dword [esp + 0xcc], 5
mov eax, dword [esp + 0xcc]
push eax
mov dword [esp + 0xcc], ebx
mov edx, dword [esp + 0xcc]
mov ebx, dword [esi + 0x818]
lea ecx, [esi + 0x818]
push edx
lea eax, [esi + 0x784]
push eax
mov eax, dword [ebx + 0x84]
call eax
jmp 0x43a5bd
lea eax, [edi - 1]
mov edx, 4
push edx
push eax
mov dword [esp + 0x98], 3
mov edx, dword [esp + 0x98]
push edx
push eax
mov edx, 2
push edx
push eax
mov ecx, edi
mov edx, 1
imul ecx, ecx, 0x84
mov ebx, dword [ecx + esi + 0x818]
push edx
push eax
xor edx, edx
push edx
push eax
mov dword [esp + 0x68], 5
mov eax, dword [esp + 0x68]
push eax
mov dword [esp + 0x68], 2
mov edx, dword [esp + 0x68]
lea ecx, [ecx + esi + 0x818]
push edx
lea eax, [esi + 0x65c]
push eax
mov eax, dword [ebx + 0x84]
call eax
jmp 0x43a5bd
lea eax, [edi - 3]
mov edx, 4
push edx
push eax
mov dword [esp + 0xa4], 3
mov edx, dword [esp + 0xa4]
push edx
push eax
mov edx, 2
push edx
push eax
mov edx, 1
push edx
push eax
mov ecx, edi
imul ecx, ecx, 0x84
mov ebx, dword [ecx + esi + 0x818]
xor edx, edx
push edx
mov edx, dword [ebx + 0x84]
push eax
mov dword [esp + 0x98], 5
mov eax, dword [esp + 0x98]
push eax
mov eax, 5
lea ecx, [ecx + esi + 0x818]
push eax
lea eax, [esi + 0x6f0]
push eax
call edx
xor ebx, ebx
mov eax, edi
sub eax, 1
je 0x43a5fb
sub eax, 6
je 0x43a5fb
mov eax, edi
imul eax, eax, 0x84
mov edx, dword [eax + esi + 0x818]
lea ebx, [eax + esi + 0x818]
mov eax, dword [edx + 0x18]
push 1
mov ecx, ebx
mov dword [esp + 0x20], ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x1c]
push 0xf
mov ecx, ebx
call eax
jmp 0x43a61f
mov ecx, edi
imul ecx, ecx, 0x84
mov edx, dword [ecx + esi + 0x818]
mov eax, dword [edx + 0x18]
lea ecx, [ecx + esi + 0x818]
push ebx
mov dword [esp + 0x20], ecx
call eax
mov ebx, dword [esp + 0x1c]
fld dword [esp + edi*8 + 0xc4]
fld dword [esp + 0x48]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.0064b350
fmul dword [esp + edi*8 + 0xc8]
mov dword [esp + 0x64], eax
call fcn.0064b350
mov edx, dword [ebx]
mov edx, dword [edx + 0x2c]
push eax
mov eax, dword [esp + 0x68]
push eax
mov ecx, ebx
call edx
fld dword [esp + 0x48]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push eax
push ecx
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.004c32e5
mov edx, edi
imul edx, edx, 0x15c
lea ebx, [edx + esi + 0xccc]
mov edx, dword [ebx]
lea eax, [esi + 0xc38]
push eax
mov eax, dword [edx + 0x28]
mov ecx, ebx
call eax
sub esp, 0x10
test edi, edi
jne 0x43a6bd
mov edx, dword [esi + 0xccc]
xor ecx, ecx
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xc], ecx
mov eax, dword [edx + 0x4c]
lea ecx, [esi + 0xccc]
call eax
jmp 0x43a6ff
mov ecx, dword [esp + 0x64]
lea eax, [edi + 2]
imul eax, ecx
mov edx, dword [ebx]
mov edx, dword [edx + 0x4c]
mov dword [esp + 0x24], eax
lea eax, [edi + 1]
imul eax, ecx
xor ecx, ecx
mov dword [esp + 0xa4], eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
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 + 0x58]
mov eax, dword [ebx]
mov edx, dword [esp + 0x44]
mov eax, dword [eax + 0x44]
push ecx
push edx
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x1c]
push ebx
push ecx
lea eax, [esi + 0x17ac]
push eax
call fcn.0044e770
inc edi
cmp edi, 8
jb 0x43a440
mov edx, dword [esi + 0xbb4]
mov eax, dword [edx + 0xc]
lea ecx, [esi + 0xbb4]
push 1
mov dword [esi + 0x17d8], 2
call eax
mov edi, dword [esi + 0x89c]
mov eax, 0xffffd8f1
mov edx, eax
lea ecx, [esi + 0x89c]
push edx
mov edx, dword [edi + 0x2c]
push eax
call edx
lea edi, [esi + 0x17b8]
push 1
mov eax, edi
call fcn.0044fd00
xor ebx, ebx
cmp dword [eax], ebx
je 0x43a7a5
push 1
mov eax, edi
call fcn.0044fd00
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
call edx
fld dword [0x6d04f0]
push 0x10
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
fld dword [esp + 0x50]
mov dword [esp + 0x24], eax
fadd qword [0x6d0140]
push str.objj002_000.bmp
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebx
fstp dword [esp + 0x1c]
mov byte [esp + 0x78], 0
fld dword [esp + 0x1c]
fst dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
fld dword [0x6d04ec]
mov dword [esp + 0x2c], ecx
fstp dword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x30], edx
fst dword [esp + 0x48]
mov eax, dword [esp + 0x48]
fld dword [0x6d04e8]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 8]
fstp dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
fstp dword [esp + 0x48]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x3c], edx
mov dword [esi + 0x60e3c], eax
call fcn.004051a0
push ebx
push 1
mov dword [esp + 0x130], 7
mov eax, dword [esi + 0x6076c]
mov eax, dword [eax + 0x140]
lea ecx, [esi + 0x6076c]
push 0x15
lea edx, [esp + 0x78]
push edx
call eax
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x84], 0x10
jb 0x43a88c
mov ecx, dword [esp + 0x70]
push ecx
call fcn.0045c06d
add esp, 4
lea ecx, [esi + 0x60800]
mov dword [esp + 0x1c], ecx
lea edi, [esi + 0x60a20]
jmp 0x43a8a4
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, 4
push eax
push ebx
mov eax, 3
push eax
push ebx
mov eax, 2
push eax
push ebx
mov eax, 1
push eax
push ebx
xor eax, eax
push eax
push ebx
mov eax, 5
push eax
mov eax, 3
push eax
lea eax, [esi + 0x6076c]
push eax
mov eax, dword [edx + 0x84]
call eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 1
call eax
fld dword [esp + ebx*8 + 0x20]
fld dword [esp + 0x48]
fld st(0)
fmulp st(2)
fxch st(1)
call fcn.0064b350
fmul dword [esp + ebx*8 + 0x24]
mov dword [esp + 0x64], eax
call fcn.0064b350
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
push eax
mov eax, dword [esp + 0x68]
push eax
call edx
fld dword [esp + 0x48]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push eax
push ecx
push ecx
mov ecx, dword [esp + 0x28]
fstp dword [esp]
call fcn.004c32e5
mov edx, dword [edi]
lea eax, [esi + 0xc38]
push eax
mov eax, dword [edx + 0x28]
mov ecx, edi
call eax
mov edx, dword [esp + 0x54]
lea eax, [ebx + 9]
lea ecx, [eax + 1]
imul eax, edx
imul ecx, edx
mov edx, dword [edi]
mov edx, dword [edx + 0x4c]
mov dword [esp + 0x14], 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 + 0x60]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
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 + 0x58]
mov eax, dword [edi]
mov edx, dword [esp + 0x44]
mov eax, dword [eax + 0x44]
push ecx
push edx
mov ecx, edi
call eax
mov ecx, dword [esp + 0x1c]
push edi
push ecx
lea eax, [esi + 0x60e34]
push eax
call fcn.0044e770
add dword [esp + 0x1c], 0x84
inc ebx
add edi, 0x15c
cmp ebx, 3
jb 0x43a8a0
push 0x10
xor edi, edi
push str.obje008_001.bmp
lea ecx, [esp + 0x28]
mov dword [esi + 0x60e60], 2
mov dword [esi + 0x60764], 0x64
mov byte [esi + 0x60768], 0
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], edi
mov byte [esp + 0x2c], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x130], 8
mov edx, dword [esi + 0x17e0]
mov edx, dword [edx + 0x140]
lea ebx, [esi + 0x17e0]
push 0x15
lea eax, [esp + 0x2c]
push eax
mov ecx, ebx
call edx
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x38], 0x10
jb 0x43aa6a
mov eax, dword [esp + 0x24]
push eax
call fcn.0045c06d
add esp, 4
mov ecx, 1
push ecx
mov eax, 0xa
push eax
push ebx
lea ecx, [esi + 0x1874]
call fcn.004c3ce9
push 0x10
push str.obje008_002.bmp
lea ecx, [esp + 0x28]
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], edi
mov byte [esp + 0x2c], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x130], 9
mov edx, dword [esi + 0x1884]
mov edx, dword [edx + 0x140]
lea ebx, [esi + 0x1884]
push 0x15
lea eax, [esp + 0x2c]
push eax
mov ecx, ebx
call edx
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x38], 0x10
jb 0x43aaed
mov eax, dword [esp + 0x24]
push eax
call fcn.0045c06d
add esp, 4
mov ecx, 1
push ecx
mov eax, 0xa
push eax
push ebx
lea ecx, [esi + 0x1918]
call fcn.004c3ce9
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x2008]
push 0x10
push str.objj004_000.bmp
lea ecx, [esp + 0x28]
mov dword [esi + 0x200], eax
mov byte [esi + 0x1fc], 0
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], edi
mov byte [esp + 0x2c], 0
call fcn.004051a0
push edi
push 1
mov dword [esp + 0x130], 0xa
mov edx, dword [esi + 0xb0]
mov edx, dword [edx + 0x140]
lea ebx, [esi + 0xb0]
push 0x15
lea eax, [esp + 0x2c]
push eax
mov ecx, ebx
call edx
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x38], 0x10
jb 0x43ab86
mov eax, dword [esp + 0x24]
push eax
call fcn.0045c06d
add esp, 4
xor eax, eax
mov edx, dword [esi + 0x144]
mov dword [esp + 0x68], 4
push dword [esp + 0x68]
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 dword [esp + 0x88], 1
mov eax, dword [esp + 0x88]
push eax
xor eax, eax
push eax
mov dword [esp + 0xbc], edi
mov ecx, dword [esp + 0xbc]
push ecx
push eax
mov eax, 5
push eax
mov dword [esp + 0xb8], 2
mov eax, dword [esp + 0xb8]
lea edi, [esi + 0x144]
push eax
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 1
mov ecx, edi
call edx
fld dword [esp + 0x48]
fld qword [0x6d04e0]
fmul st(1)
call fcn.0064b350
fld dword [esp + 0x4c]
fadd qword [0x6d04d8]
mov ebx, eax
fmulp st(1)
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 + 0x60]
mov edx, dword [esp + 0x5c]
push ecx
push edx
push ecx
mov ecx, edi
fstp dword [esp]
call fcn.004c32e5
mov eax, dword [esi + 8]
push 0
mov dword [esi + 0x1d0], eax
push edi
lea eax, [esi + 0x1c8]
push eax
call fcn.0044e770
mov dword [esi + 0x1f4], 2
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
push 0x10
push str.objj003_000.bmp
lea ecx, [esp + 0x28]
mov byte [esp + 0x2c], 0
call fcn.004051a0
push 0
push 1
mov dword [esp + 0x130], 0xb
mov edx, dword [esi + 0x29c]
mov edx, dword [edx + 0x140]
lea ecx, [esi + 0x29c]
push 0x15
lea eax, [esp + 0x2c]
push eax
call edx
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0x38], 0x10
jb 0x43acf6
mov eax, dword [esp + 0x24]
push eax
call fcn.0045c06d
add esp, 4
mov edx, dword [esi + 0x330]
lea edi, [esi + 0x330]
lea eax, [esi + 0xc38]
push eax
mov eax, dword [edx + 0x28]
mov ecx, edi
call eax
mov eax, dword [esp + 0x54]
mov ebx, dword [edi]
mov ecx, eax
lea eax, [eax + eax*2]
imul ecx, ecx, 0xd
add eax, eax
add eax, eax
mov dword [esp + 0x14], eax
xor edx, edx
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov eax, dword [ebx + 0x4c]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0x48]
push 0xff
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0x50]
push 0xf
mov ecx, edi
call eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov edx, dword [edi]
mov edx, dword [edx + 0x44]
push eax
push ecx
mov ecx, edi
call edx
push 0x10
xor ebx, ebx
push str.obje008_002.bmp
lea ecx, [esp + 0xb0]
mov dword [esp + 0xc8], 0xf
mov dword [esp + 0xc4], ebx
mov byte [esp + 0xb4], bl
call fcn.004051a0
push ebx
push 1
mov dword [esp + 0x130], 0xc
mov eax, dword [esi + 0x48c]
mov edx, dword [eax + 0x140]
lea edi, [esi + 0x48c]
push 0x15
lea ecx, [esp + 0xb4]
push ecx
mov ecx, edi
call edx
mov dword [esp + 0x128], 0xffffffff
cmp dword [esp + 0xc0], 0x10
jb 0x43adf4
mov eax, dword [esp + 0xac]
push eax
call fcn.0045c06d
add esp, 4
mov ecx, 1
push ecx
mov eax, 0xa
push eax
push edi
lea ecx, [esi + 0x520]
mov dword [esp + 0xcc], 0xf
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], 0
call fcn.004c3ce9
push esi
call fcn.0043cda0
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x80934]
mov edx, dword [eax + 0x80930]
mov dword [eax + 0x80930], edx
mov eax, dword [esi + 8]
mov dword [eax + 0x80934], ecx
mov eax, dword [esi + 8]
push ecx
push edx
lea ecx, [eax + 0x1f90]
mov dword [esi + 0x1a94], ebx
call fcn.00468890
cmp eax, ebx
je 0x43ae9a
mov edx, dword [eax + 0x4c]
sub edx, dword [eax + 0x48]
lea ecx, [eax + 0x3c]
test edx, 0xffffffc0
jle 0x43ae9a
mov eax, dword [esi + 0x1a94]
mov edi, dword [esi + 8]
push eax
call fcn.00438870
mov eax, dword [eax + 4]
cmp eax, 0xffffffff
je 0x43ae9f
cmp dword [edi + eax*4 + 0x138e0], ebx
setne al
test al, al
jne 0x43ae9f
call fcn.0043c8d0
mov ecx, esi
call fcn.0043cb50
push esi
call fcn.0043dc40
mov edx, dword [esi + 0x1ab4]
xor ecx, ecx
mov dword [esi + 0x1aac], ecx
mov byte [esi + 0x1ab0], cl
push 0xb4
xor eax, eax
lea ecx, [esi + 0x1ab4]
push ebx
mov dword [esi + 0x1aa8], eax
mov eax, dword [edx]
push ebx
mov dword [esi + 0x1aa0], ebx
mov dword [esi + 0x1aa4], ebx
call eax
mov eax, esi
mov dword [esi + 0x1a98], ebx
mov byte [esi + 0x204], 0
mov byte [esi + 0x1acc], 0
call fcn.0043da30
mov ecx, dword [esp + 0x120]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret