Function at 0x4166a6
Capabilities:
Print debug messages

Disassembly:
mov eax, dword fs:[0]
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x417a70
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push esi
mov eax, dword [ecx + 0x5c]
push edi
mov esi, ecx
test eax, eax
je 0x417a4c
mov dword [0x4ec414], 0
mov dword [0x4ec410], 0
mov dword [0x4ec40c], 0
mov eax, dword [esi + 0x44]
test eax, eax
jle 0x417a14
mov eax, dword [0x4ec40c]
mov ecx, dword [esi + eax*4 + 0x64]
mov dword [0x4ec134], ecx
mov edx, dword [ecx + 0x24]
test edx, edx
je 0x417a00
mov eax, dword [ecx + 0x94]
test eax, eax
je 0x416723
cmp word [eax + 0x1e], 5
je 0x417a00
mov dword [0x4ec130], 1
mov eax, dword [esi + 0x83c]
test eax, eax
je 0x416836
mov eax, dword [0x4ec134]
cmp word [eax + 0x1e], 5
jne 0x416836
mov ax, word [eax + 0x1c]
cmp ax, 3
je 0x416836
cmp ax, 0xd
je 0x416836
mov eax, dword [0x4ec134]
mov dword [0x4ec130], 0
mov ecx, dword [eax + 0x6c]
test ecx, ecx
je 0x416795
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x4ec134]
mov dword [ecx + 0x64], eax
mov ecx, dword [0x4ec134]
mov dword [ecx + 0x6c], 0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x4ec134]
mov edx, dword [ecx + 0x64]
mov ebx, dword [ecx + 0x68]
sub eax, edx
cmp eax, ebx
jb case.0x4167c4.105
movsx eax, word [ecx + 0x1e]
lea edx, [ecx + 0x1e]
mov eax, dword [ecx + eax*4 + 0x78]
sub eax, 0x64
cmp eax, 5
ja case.default.0x4167c4
jmp dword [eax*4 + 0x417a94]
mov word [edx], 0
jmp 0x416849
mov eax, dword [0x4ec134]
mov ecx, esi
push eax
call fcn.00417c20
mov dword [0x4ec130], eax
jmp case.0x4167c4.105
mov eax, dword [0x4ec134]
mov ecx, esi
push eax
call fcn.00417f90
mov dword [0x4ec130], eax
jmp case.0x4167c4.105
mov eax, dword [0x4ec134]
mov ecx, esi
push eax
call fcn.004185a0
mov dword [0x4ec130], eax
jmp case.0x4167c4.105
mov eax, dword [0x4ec134]
mov ecx, esi
push eax
call fcn.004182a0
mov dword [0x4ec130], eax
jmp case.0x4167c4.105
mov eax, dword [0x4ec134]
mov ecx, esi
push eax
call fcn.004188a0
mov dword [0x4ec130], eax
jmp case.0x4167c4.105
mov eax, dword [0x4ec134]
add eax, 0x1e
cmp word [eax], 5
jne case.0x4167c4.105
mov word [eax], 0
mov dword [0x4ec130], 1
mov eax, dword [0x4ec130]
test eax, eax
je 0x417a00
mov eax, dword [0x4ec134]
mov eax, dword [eax + 0x94]
test eax, eax
je 0x41687a
cmp word [eax + 0x1e], 5
je 0x417a00
mov eax, dword [0x4ec134]
mov edx, dword [eax + 0xbc]
mov dword [eax + 0xc0], edx
mov eax, dword [0x4ec134]
mov dword [0x4ec0b0], 0xffffffff
mov dx, word [eax + 0x1c]
movsx eax, dx
dec eax
cmp eax, 0xc
ja case.0x4168ab.6
jmp dword [eax*4 + 0x417aac]
mov eax, dword [0x4ec134]
movsx edx, word [eax + 0x1e]
mov ecx, dword [eax + edx*4 + 0x78]
test ecx, ecx
je 0x4169c2
call fcn.0041ae50
mov edx, dword [0x4ec134]
mov dword [0x4ec168], eax
mov ecx, dword [eax + 0x14]
add edx, 0xc
mov dword [0x4ec12c], ecx
mov ecx, 0x4ec0e0
mov eax, dword [edx]
mov dword [ecx], eax
mov ebx, dword [edx + 4]
mov dword [ecx + 4], ebx
mov edi, dword [edx + 8]
mov dword [ecx + 8], edi
mov eax, dword [edx + 0xc]
mov edx, dword [0x4ec134]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0x60]
test eax, eax
je 0x416941
mov ecx, dword [edx + 0x78]
call fcn.0041ae50
mov ecx, dword [0x4ec0e0]
mov edx, dword [0x4ec134]
movsx eax, word [eax + 0x18]
add eax, ecx
mov dword [0x4ec0e8], eax
mov ecx, dword [edx + 0x78]
call fcn.0041ae50
movsx eax, word [eax + 0x1a]
add eax, dword [0x4ec0e4]
mov dword [0x4ec0ec], eax
mov ecx, dword [esi + 0x10a0]
test ecx, ecx
je 0x416996
push 0
mov eax, dword [0x4ec134]
add eax, 0xbc
push eax
mov eax, dword [0x4ec134]
mov edx, dword [eax + 0xd0]
mov ebx, dword [eax + 0xb8]
push edx
push ebx
push 0x1008000
mov edx, dword [0x4ec12c]
push 0
push 0x4ec0e0
push edx
call fcn.004212a0
mov eax, dword [0x4ec134]
mov ecx, dword [eax + 0xbc]
mov dword [0x4ec0b0], ecx
jmp 0x4169c2
mov eax, dword [esi + 0x1c]
push 0
push 0x1008000
mov edx, dword [0x4ec12c]
mov ecx, dword [eax + 8]
push 0
mov eax, dword [edx + 0x18]
push eax
mov ebx, dword [ecx]
push 0x4ec0e0
push ecx
call dword [ebx + 0x14]
test eax, eax
jne 0x417a5c
mov eax, dword [0x4ec134]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x416b02
mov ecx, dword [eax + 0xe0]
test ecx, ecx
je 0x416b02
mov edx, dword [eax + 0xc0]
mov edi, 2
xor ebx, ebx
mov dword [eax + 0xbc], edx
mov eax, dword [0x4ec134]
mov ecx, esi
push eax
push 0x4ec16c
add eax, 0xc
push eax
push 0x4ec390
call fcn.00418cf0
test eax, eax
je 0x416ae0
mov eax, dword [0x4ec134]
mov ecx, 0x4ec0e0
mov edx, dword [eax + 0xc]
add eax, 0xc
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [0x4ec134]
cmp word [ecx + 0x1e], di
jne 0x416a79
mov eax, dword [0x4ec0e4]
mov ecx, dword [0x4ec0e0]
inc eax
inc ecx
mov edx, dword [0x4ec0ec]
mov dword [0x4ec0e4], eax
inc edx
mov eax, dword [0x4ec0e8]
inc eax
mov dword [0x4ec0e0], ecx
mov dword [0x4ec0ec], edx
mov dword [0x4ec0e8], eax
push ebx
mov eax, dword [0x4ec134]
mov ax, word [eax + 0xf0]
push 1
push eax
mov ecx, dword [0x4ec134]
mov edx, dword [ecx + 0xdc]
mov eax, dword [ecx + 0xec]
push edx
push eax
mov edx, dword [ecx + 0xf4]
mov eax, dword [ecx + 0x11c]
push edx
push eax
mov edx, dword [ecx + 0xd8]
mov eax, dword [ecx + 0xe0]
push edx
push eax
mov edx, dword [ecx + 0xd4]
mov eax, dword [0x4ec390]
push edx
mov ecx, esi
push 0x4ec0e0
push eax
call fcn.00419320
mov ecx, dword [0x4ec390]
push ecx
mov ecx, esi
call fcn.00418e50
mov eax, dword [0x4ec16c]
test eax, eax
jne 0x4169f6
mov eax, dword [0x4ec0b0]
test eax, eax
jl 0x416b02
mov ecx, dword [0x4ec134]
mov dword [ecx + 0xbc], eax
mov eax, dword [0x4ec134]
movsx edx, word [eax + 0x1e]
mov eax, dword [eax + edx*4 + 0x78]
test eax, eax
je 0x4179dc
cmp word [eax + 0x10], 1
mov eax, dword [0x4ec134]
je 0x4179e1
mov ebx, dword [eax]
mov ecx, eax
call dword [ebx + 0x14]
jmp case.0x4168ab.6
mov eax, dword [0x4ec134]
mov dword [0x4ec400], eax
mov edx, dword [eax + 0x12c]
test edx, edx
je 0x416ca4
movsx eax, word [eax + 0x12a]
mov ecx, eax
shl eax, 3
sub eax, ecx
mov ecx, dword [edx + eax*4]
test ecx, ecx
je 0x416ca4
call fcn.0041ae50
movsx eax, word [eax + 0x18]
mov edx, dword [0x4ec400]
mov dword [0x4ec418], eax
movsx ecx, word [edx + 0x12a]
mov eax, ecx
shl ecx, 3
sub ecx, eax
mov eax, dword [edx + 0x12c]
mov ecx, dword [eax + ecx*4]
call fcn.0041ae50
movsx ecx, word [eax + 0x1a]
mov edx, dword [0x4ec400]
mov dword [0x4ec41c], ecx
movsx ecx, word [edx + 0x12a]
mov eax, ecx
shl ecx, 3
sub ecx, eax
mov eax, dword [edx + 0x12c]
mov ecx, dword [eax + ecx*4]
call fcn.0041ae50
mov edx, dword [0x4ec134]
mov dword [0x4ec168], eax
mov ecx, dword [eax + 0x14]
add edx, 0xc
mov dword [0x4ec12c], ecx
mov ecx, 0x4ec0e0
mov eax, dword [edx]
mov dword [ecx], eax
mov ebx, dword [edx + 4]
mov dword [ecx + 4], ebx
mov edi, dword [edx + 8]
mov dword [ecx + 8], edi
mov eax, dword [edx + 0xc]
mov edx, dword [0x4ec134]
mov dword [ecx + 0xc], eax
mov eax, dword [edx + 0x60]
test eax, eax
je 0x416c23
mov eax, dword [0x4ec418]
mov ecx, dword [0x4ec0e0]
add eax, ecx
mov edx, dword [0x4ec0e4]
mov dword [0x4ec0e8], eax
mov eax, dword [0x4ec41c]
add eax, edx
mov dword [0x4ec0ec], eax
mov ecx, dword [esi + 0x10a0]
test ecx, ecx
je 0x416c78
push 0
mov eax, dword [0x4ec134]
add eax, 0xbc
push eax
mov eax, dword [0x4ec134]
mov edx, dword [eax + 0xd0]
mov ebx, dword [eax + 0xb8]
push edx
push ebx
push 0x1008000
mov edx, dword [0x4ec12c]
push 0
push 0x4ec0e0
push edx
call fcn.004212a0
mov eax, dword [0x4ec134]
mov ecx, dword [eax + 0xbc]
mov dword [0x4ec0b0], ecx
jmp 0x416ca4
mov eax, dword [esi + 0x1c]
push 0
push 0x1008000
mov edx, dword [0x4ec12c]
mov ecx, dword [eax + 8]
push 0
mov eax, dword [edx + 0x18]
push eax
mov ebx, dword [ecx]
push 0x4ec0e0
push ecx
call dword [ebx + 0x14]
test eax, eax
jne 0x417a66
mov eax, dword [0x4ec400]
mov edx, dword [eax + 0x12c]
test edx, edx
je 0x416d4b
movsx ecx, word [eax + 0x12a]
mov ebx, ecx
shl ecx, 3
sub ecx, ebx
lea eax, [edx + ecx*4]
mov edx, dword [edx + ecx*4 + 4]
test edx, edx
je 0x416d4b
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x416d4b
mov eax, dword [0x4ec134]
xor edi, edi
mov edx, dword [eax + 0xc0]
mov dword [eax + 0xbc], edx
mov eax, dword [0x4ec400]
mov ecx, esi
push eax
push 0x4ec16c
add eax, 0xc
push eax
push 0x4ec390
call fcn.00418cf0
test eax, eax
je 0x416d2d
push 1
mov eax, dword [0x4ec134]
push eax
mov ecx, dword [0x4ec390]
push ecx
mov ecx, esi
call fcn.004194b0
mov ecx, dword [0x4ec390]
push ecx
mov ecx, esi
call fcn.00418e50
mov eax, dword [0x4ec16c]
test eax, eax
jne 0x416cea
mov eax, dword [0x4ec0b0]
test eax, eax
jl 0x416d4b
mov ecx, dword [0x4ec134]
mov dword [ecx + 0xbc], eax
mov eax, dword [0x4ec400]
mov edx, dword [eax + 0x12c]
test edx, edx
je 0x4179dc
movsx eax, word [eax + 0x12a]
mov ecx, eax
shl eax, 3
sub eax, ecx
mov eax, dword [edx + eax*4]
test eax, eax
je 0x4179dc
cmp word [eax + 0x10], 1
mov eax, dword [0x4ec134]
je 0x4179e1
mov ebx, dword [eax]
mov ecx, eax
call dword [ebx + 0x14]
jmp case.0x4168ab.6
mov dword [0x4ec36c], 0
mov dword [0x4ec138], 1
mov dword [0x4ec3c0], 0
mov eax, dword [0x4ec134]
mov dword [0x4ec098], eax
mov eax, dword [0x4ec3c0]
cmp eax, 2
jge 0x4174e2
xor edi, edi
mov eax, dword [0x4ec3c0]
test eax, eax
jne 0x416e1d
mov eax, dword [0x4ec098]
mov ecx, esi
push eax
push 0x4ec16c
mov eax, dword [0x4ec134]
add eax, 0xc
push eax
push 0x4ec390
call fcn.00418cf0
mov ecx, dword [0x4ec098]
mov eax, dword [ecx + 0x138]
test eax, eax
je 0x416e44
push eax
mov ecx, dword [0x4ec390]
mov eax, dword [0x4ec134]
add eax, 0xc
push eax
push ecx
call dword [sym.imp.USER32.dll_FillRect]
jmp 0x416e44
mov ecx, dword [0x4ec134]
mov edx, dword [0x4ec134]
add ecx, 0xbc
mov dword [0x4ec16c], edi
mov eax, dword [ecx]
mov dword [0x4ec0b0], eax
mov ebx, dword [edx + 0xc0]
mov dword [ecx], ebx
mov eax, dword [0x4ec134]
mov edx, dword [0x4ec098]
mov ecx, dword [eax + 0x10]
mov dword [0x4ec130], ecx
mov ecx, edx
movsx eax, word [edx + 0x12a]
mov dword [0x4ec428], eax
call fcn.0041c1d0
movsx ecx, ax
cmp ecx, dword [0x4ec428]
jle 0x4174af
mov eax, dword [0x4ec428]
mov ecx, dword [0x4ec098]
push eax
call fcn.0041c240
movsx eax, ax
mov ecx, dword [0x4ec098]
mov dword [0x4ec0b8], eax
mov edx, dword [ecx + 0x170]
test edx, edx
je 0x416eb1
mov eax, dword [0x4ec36c]
mov ebx, 0
test eax, eax
jle 0x416eb6
mov ebx, 1
test ebx, ebx
je 0x416ed6
mov ecx, dword [0x4ec134]
mov eax, dword [0x4ec0b8]
add eax, dword [0x4ec130]
mov edx, dword [ecx + 0x18]
cmp edx, eax
jl 0x4174af
mov eax, dword [0x4ec428]
mov ecx, dword [0x4ec098]
push eax
call fcn.0041c200
movsx eax, ax
cmp eax, 1
je 0x416f06
cmp eax, 2
je 0x4172a1
cmp eax, 3
je 0x417110
jmp 0x417475
mov eax, dword [0x4ec3c0]
test eax, eax
jne 0x417475
mov eax, dword [0x4ec098]
mov ecx, dword [0x4ec428]
shl ecx, 4
nop
mov edx, dword [eax + 0x148]
lea eax, [ecx + ecx*2]
mov ebx, dword [edx + eax + 0xc]
test ebx, ebx
je 0x417475
mov eax, dword [0x4ec130]
mov ecx, dword [0x4ec134]
mov ebx, dword [0x4ec130]
push 1
mov dword [0x4ec0e4], eax
mov eax, dword [0x4ec0b8]
mov edx, dword [ecx + 0xc]
add eax, ebx
mov dword [0x4ec0e0], edx
mov dword [0x4ec0ec], eax
mov eax, dword [ecx + 0x14]
mov edx, dword [0x4ec390]
push edx
mov dword [0x4ec0e8], eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov ecx, dword [0x4ec098]
mov eax, dword [0x4ec428]
movsx edx, word [ecx + 0x12c]
cmp edx, eax
jne 0x416fc7
mov ecx, dword [ecx + 0x158]
test ecx, ecx
je 0x416fc7
mov eax, dword [0x4ec098]
mov eax, dword [eax + 0x13c]
test eax, eax
je 0x416fba
push eax
push 0x4ec0e0
mov eax, dword [0x4ec390]
push eax
call dword [sym.imp.USER32.dll_FillRect]
mov eax, dword [0x4ec098]
mov ecx, dword [eax + 0x134]
jmp 0x41702b
mov eax, dword [0x4ec098]
mov ecx, dword [0x4ec428]
shl ecx, 4
nop
mov edx, dword [eax + 0x148]
lea ebx, [ecx + ecx*2]
mov eax, dword [edx + ebx + 0x24]
test eax, eax
je 0x416ff9
push eax
push 0x4ec0e0
mov eax, dword [0x4ec390]
push eax
call dword [sym.imp.USER32.dll_FillRect]
mov eax, dword [0x4ec098]
mov ecx, dword [0x4ec428]
shl ecx, 4
nop
mov edx, dword [eax + 0x148]
lea ebx, [ecx + ecx*2]
mov eax, dword [edx + ebx + 0x20]
test eax, eax
je 0x417020
mov dword [0x4ec3bc], eax
jmp 0x417031
mov eax, dword [0x4ec098]
mov ecx, dword [eax + 0xd8]
mov dword [0x4ec3bc], ecx
mov eax, dword [0x4ec098]
add eax, 0x148
mov dword [ebp - 0x14], eax
mov eax, dword [0x4ec428]
shl eax, 4
mov edx, dword [ebp - 0x14]
lea ecx, [eax + eax*2]
mov eax, dword [edx]
cmp word [eax + ecx + 4], di
mov dword [ebp - 0x10], ecx
je 0x4170fe
mov eax, dword [0x4ec098]
mov edx, dword [0x4ec098]
add eax, 0x162
add edx, 0x164
movsx ecx, word [eax]
movsx ebx, word [edx]
add ecx, ebx
push edi
add ecx, 2
mov ebx, dword [0x4ec0e0]
add ebx, ecx
push 1
mov dword [0x4ec0e0], ebx
movsx eax, word [eax]
movsx ecx, word [edx]
add eax, ecx
mov edx, dword [ebp - 0x14]
add eax, 2
mov ecx, dword [0x4ec0e8]
add ecx, eax
mov eax, dword [0x4ec134]
mov dword [0x4ec0e8], ecx
mov ecx, dword [ebp - 0x10]
mov ax, word [eax + 0xf0]
add ecx, dword [edx]
push eax
mov edx, dword [0x4ec098]
mov ebx, dword [edx + 0xdc]
mov eax, dword [edx + 0xec]
push ebx
push eax
mov ebx, dword [ecx + 0x1c]
mov eax, dword [edx + 0x11c]
movsx edx, word [ecx + 4]
push ebx
push eax
mov ebx, dword [0x4ec3bc]
mov eax, dword [ecx + 0xc]
push ebx
mov ecx, dword [0x4ec390]
push edx
push eax
push 0x4ec0e0
push ecx
mov ecx, esi
call fcn.00419320
mov eax, dword [0x4ec16c]
test eax, eax
jne 0x417475
jmp 0x41746f
mov eax, dword [0x4ec3c0]
cmp eax, 1
jne 0x417281
mov eax, dword [0x4ec098]
mov ecx, dword [0x4ec428]
shl ecx, 4
nop
mov edx, dword [eax + 0x148]
lea eax, [ecx + ecx*2]
mov ecx, dword [edx + eax + 0x10]
test ecx, ecx
je 0x41722f
push 0xec
call fcn.0045b6b0
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], edi
test eax, eax
je 0x417164
push 1
mov ecx, eax
call fcn.0041ac80
jmp 0x417166
xor eax, eax
mov ecx, dword [0x4ec098]
mov edx, dword [0x4ec428]
shl edx, 4
nop
mov ecx, dword [ecx + 0x148]
lea edx, [edx + edx*2]
mov dword [ebp - 4], 0xffffffff
mov dword [ecx + edx + 0x18], eax
mov eax, dword [0x4ec098]
mov ecx, dword [0x4ec428]
mov edx, dword [esi + 0x10e0]
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, dword [eax + 0x148]
mov eax, dword [esi + 0x10dc]
push eax
push edx
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x18]
push eax
call fcn.0041af70
mov ecx, dword [0x4ec098]
mov edx, dword [ecx + 0x148]
mov ecx, dword [0x4ec428]
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, edx
mov eax, dword [ecx + 0x18]
mov edx, dword [eax + 0x1c]
mov ax, word [edx + 0x18]
mov word [ecx + 4], ax
mov ecx, dword [0x4ec098]
mov edx, dword [ecx + 0x148]
mov ecx, dword [0x4ec428]
shl ecx, 4
lea ecx, [ecx + ecx*2]
add ecx, edx
mov eax, dword [ecx + 0x18]
mov edx, dword [eax + 0x1c]
mov ax, word [edx + 0x1a]
mov word [ecx + 6], ax
mov ecx, dword [0x4ec098]
mov edx, dword [ecx + 0x148]
mov ecx, dword [0x4ec428]
shl ecx, 4
lea ecx, [ecx + ecx*2]
movsx eax, word [edx + ecx + 6]
mov dword [0x4ec0b8], eax
jmp 0x417256
push str.Warning__No_TGA_file_specified_in_listbox_entry__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [0x4ec098]
mov ecx, dword [0x4ec428]
shl ecx, 4
nop
mov edx, dword [eax + 0x148]
lea eax, [ecx + ecx*2]
mov dword [edx + eax + 0x18], edi
mov eax, dword [0x4ec098]
mov ecx, dword [0x4ec428]
shl ecx, 4
nop
mov edx, dword [eax + 0x148]
lea eax, [ecx + ecx*2]
mov word [edx + eax], 2
mov edx, dword [0x4ec098]
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 0x14]
test ebx, ebx
je 0x4172a1
mov eax, dword [0x4ec134]
mov ecx, dword [0x4ec0b8]
add ecx, dword [0x4ec130]
mov ebx, dword [eax + 0x18]
cmp ebx, ecx
jl 0x417475
mov eax, dword [0x4ec3c0]
cmp eax, 1
jne 0x417475
mov eax, dword [0x4ec098]
mov ecx, dword [0x4ec428]
shl ecx, 4
nop
mov edx, dword [eax + 0x148]
lea eax, [ecx + ecx*2]
mov ecx, dword [edx + eax + 0x18]
test ecx, ecx
je 0x417475
call fcn.0041ae50
movsx eax, word [eax + 0x18]
mov ecx, dword [0x4ec098]
mov dword [0x4ec418], eax
mov edx, dword [ecx + 0x148]
mov ecx, dword [0x4ec428]
shl ecx, 4
lea eax, [ecx + ecx*2]
mov ecx, dword [edx + eax + 0x18]
call fcn.0041ae50
movsx ecx, word [eax + 0x1a]
mov edx, dword [0x4ec098]
mov eax, dword [0x4ec134]
mov dword [0x4ec41c], ecx
movsx ecx, word [edx + 0x162]
mov ebx, dword [eax + 0xc]
mov edx, dword [0x4ec134]
add ecx, ebx
mov eax, dword [0x4ec130]
mov dword [0x4ec0e0], ecx
mov dword [0x4ec0e4], eax
mov ecx, dword [0x4ec418]
mov eax, dword [0x4ec0e0]
add ecx, eax
mov eax, dword [edx + 0x14]
cmp ecx, eax
jl 0x41734f
mov ecx, eax
mov eax, dword [0x4ec098]
mov dword [0x4ec0e8], ecx
mov ecx, dword [eax + 0x170]
test ecx, ecx
je 0x417388
mov ecx, dword [0x4ec41c]
mov eax, dword [0x4ec130]
add ecx, eax
mov edx, dword [0x4ec134]
mov eax, dword [edx + 0x18]
cmp ecx, eax
jl 0x417380
mov ecx, eax
mov dword [0x4ec0ec], ecx
jmp 0x41739a
mov eax, dword [0x4ec41c]
mov ecx, dword [0x4ec130]
add eax, ecx
mov dword [0x4ec0ec], eax
mov eax, dword [0x4ec098]
mov ecx, dword [0x4ec428]
shl ecx, 4
nop
mov edx, dword [eax + 0x148]
lea eax, [ecx + ecx*2]
mov ecx, dword [edx + eax + 0x18]
call fcn.0041ae50
mov dword [0x4ec168], eax
mov ecx, dword [eax + 0x14]
mov dword [0x4ec12c], ecx
mov ecx, dword [esi + 0x10a0]
test ecx, ecx
je 0x417445
push edi
mov eax, dword [0x4ec098]
add eax, 0xbc
push eax
mov eax, dword [0x4ec098]
mov edx, dword [eax + 0xd0]
mov ebx, dword [eax + 0xb8]
push edx
push ebx
push 0x1008000
mov edx, dword [0x4ec12c]
push edi
push 0x4ec0e0
push edx
call fcn.004212a0
mov eax, dword [0x4ec098]
mov ecx, dword [0x4ec428]
shl ecx, 4
nop
mov edx, dword [eax + 0x148]
lea ebx, [ecx + ecx*2]
mov eax, dword [edx + ebx + 0x18]
cmp word [eax + 0x10], 1
jle 0x41746f
mov eax, dword [0x4ec098]
mov dword [0x4ec138], edi
mov ecx, dword [eax + 0xbc]
mov dword [0x4ec0b0], ecx
jmp 0x41746f
mov eax, dword [esi + 0x1c]
push edi
push 0x1008000
mov edx, dword [0x4ec12c]
mov ecx, dword [eax + 8]
push edi
mov eax, dword [edx + 0x18]
push eax
mov ebx, dword [ecx]
push 0x4ec0e0
push ecx
call dword [ebx + 0x14]
test eax, eax
jne 0x417a87
inc dword [0x4ec36c]
mov eax, dword [0x4ec0b8]
mov ecx, dword [0x4ec130]
add ecx, eax
mov edx, dword [0x4ec428]
inc edx
mov dword [0x4ec130], ecx
mov ecx, dword [0x4ec098]
mov dword [0x4ec428], edx
call fcn.0041c1d0
movsx ecx, ax
cmp ecx, dword [0x4ec428]
jg 0x416e7a
mov eax, dword [0x4ec3c0]
test eax, eax
jne 0x4174c5
mov eax, dword [0x4ec390]
mov ecx, esi
push eax
call fcn.00418e50
mov eax, dword [0x4ec16c]
test eax, eax
jne 0x416dcb
mov eax, dword [0x4ec3c0]
inc eax
mov dword [0x4ec3c0], eax
jmp 0x416dbb
mov eax, dword [0x4ec36c]
mov ecx, dword [0x4ec098]
mov word [ecx + 0x130], ax
mov eax, dword [0x4ec134]
mov edx, dword [0x4ec138]
mov dword [eax + 0xd0], edx
jmp case.0x4168ab.6
mov edi, dword [0x4ec134]
mov ecx, dword [0x4ec134]
movsx eax, word [edi + 0x1e]
add edi, 0x1e
mov ebx, dword [ecx + eax*4 + 0x78]
test ebx, ebx
je case.0x4168ab.6
cmp dx, 9
jne 0x417556
mov ecx, dword [ecx + 0x10]
mov eax, dword [0x4ec134]
mov dword [0x4ec0e4], ecx
fld dword [eax + 0x128]
call fcn.004bd1d8
mov ecx, dword [0x4ec134]
movsx eax, ax
add eax, dword [ecx + 0xc]
jmp 0x41757a
mov eax, dword [0x4ec134]
fld dword [eax + 0x128]
call fcn.004bd1d8
mov ecx, dword [0x4ec134]
movsx eax, ax
add eax, dword [ecx + 0x10]
mov dword [0x4ec0e4], eax
mov eax, dword [ecx + 0xc]
mov ebx, dword [0x4ec0e4]
mov dword [0x4ec0e0], eax
movsx eax, word [ecx + 0x134]
add eax, ebx
mov dword [0x4ec0ec], eax
movsx eax, word [ecx + 0x132]
add eax, dword [0x4ec0e0]
mov ecx, dword [0x4ec134]
mov dword [0x4ec0e8], eax
movsx eax, word [edi]
mov ecx, dword [ecx + eax*4 + 0x78]
call fcn.0041ae50
mov dword [0x4ec168], eax
mov ecx, dword [eax + 0x14]
mov dword [0x4ec12c], ecx
mov ecx, dword [esi + 0x10a0]
test ecx, ecx
je 0x417630
push 0
mov eax, dword [0x4ec134]
add eax, 0xbc
push eax
mov eax, dword [0x4ec134]
mov edx, dword [eax + 0xd0]
mov ebx, dword [eax + 0xb8]
push edx
push ebx
push 0x1008000
mov edx, dword [0x4ec12c]
push 0
push 0x4ec0e0
push edx
call fcn.004212a0
mov eax, dword [0x4ec134]
movsx edx, word [eax + 0x1e]
mov eax, dword [eax + edx*4 + 0x78]
cmp word [eax + 0x10], 1
mov eax, dword [0x4ec134]
je 0x4179e1
mov ebx, dword [eax]
mov ecx, eax
call dword [ebx + 0x14]
jmp case.0x4168ab.6
mov eax, dword [esi + 0x1c]
push 0
push 0x1008000
mov edx, dword [0x4ec12c]
mov ecx, dword [eax + 8]
push 0
mov eax, dword [edx + 0x18]
push eax
mov ebx, dword [ecx]
push 0x4ec0e0
push ecx
call dword [ebx + 0x14]
test eax, eax
je case.0x4168ab.6
push 0x9cd
push str.C:_aardvark_vc_trkviewgameui.cpp
push eax
call fcn.0048f750
add esp, 0xc
mov eax, dword [0x4ec134]
add eax, 0xf8
lea ecx, [ebp - 0x68]
push eax
push str.ERROR__Problem_while_drawing_control__s:_n
push ecx
call fcn.004bd200
add esp, 0xc
lea ecx, [ebp - 0x68]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [0x4ec134]
mov edx, dword [ecx + 0x18]
mov eax, dword [ecx + 0x14]
push edx
push eax
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx + 0xc]
push edx
push eax
push str.__ld__ld______ld__ld__n
lea edx, [ebp - 0x68]
push edx
call fcn.004bd200
add esp, 0x18
lea ecx, [ebp - 0x68]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x417a4c
mov eax, dword [0x4ec134]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x4179dc
xor edi, edi
mov eax, dword [0x4ec134]
mov ecx, esi
push eax
push 0x4ec16c
add eax, 0xc
push eax
push 0x4ec390
call fcn.00418cf0
test eax, eax
je 0x417966
mov eax, dword [0x4ec134]
mov dword [0x4ec424], eax
mov ax, word [eax + 0xf0]
test al, 1
je 0x41773b
mov eax, dword [0x4ec134]
movsx ecx, word [eax + 0x134]
movsx edx, word [eax + 0x130]
sub ecx, edx
js 0x417731
xor ecx, ecx
mov eax, dword [0x4ec134]
jmp 0x4177be
test al, 2
je 0x41778c
mov eax, dword [0x4ec424]
mov cx, word [eax + 0x130]
mov dx, word [eax + 0x134]
cmp cx, dx
jge 0x41777b
movsx eax, dx
cdq
sub eax, edx
sar eax, 1
mov bx, ax
movsx eax, cx
cdq
sub eax, edx
sar eax, 1
sub bx, ax
mov eax, dword [0x4ec424]
mov word [eax + 0x132], bx
jmp 0x4177c5
sub dx, cx
mov eax, dword [0x4ec424]
mov word [eax + 0x132], dx
jmp 0x4177c5
test al, 4
mov eax, dword [0x4ec424]
je 0x4177a5
mov cx, word [eax + 0x134]
sub cx, word [eax + 0x130]
jmp 0x4177be
movsx ecx, word [eax + 0x134]
movsx edx, word [eax + 0x130]
sub ecx, edx
js 0x4177b9
xor ecx, ecx
mov eax, dword [0x4ec424]
mov word [eax + 0x132], cx
mov eax, dword [0x4ec424]
mov ecx, dword [0x4ec134]
movsx eax, word [eax + 0x132]
add eax, dword [ecx + 0xc]
mov dword [0x4ec0e0], eax
mov ax, word [ecx + 0xf0]
test al, 8
je 0x4177ef
mov ecx, dword [ecx + 0x10]
jmp 0x417846
test al, 0x10
je 0x417824
mov eax, dword [0x4ec134]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [0x4ec134]
sar eax, 1
mov ebx, eax
mov eax, dword [edx + 0x11c]
cdq
sub eax, edx
sar eax, 1
sub ebx, eax
add ebx, ecx
mov dword [0x4ec0e4], ebx
jmp 0x41784c
test al, 0x20
mov eax, dword [0x4ec134]
je 0x417843
mov eax, dword [eax + 0x18]
mov ecx, dword [0x4ec134]
sub eax, dword [ecx + 0x11c]
mov dword [0x4ec0e4], eax
jmp 0x41784c
mov ecx, dword [eax + 0x10]
mov dword [0x4ec0e4], ecx
mov eax, dword [0x4ec134]
mov ecx, dword [eax + 0x14]
mov dword [0x4ec0e8], ecx
mov edx, dword [eax + 0x18]
mov dword [0x4ec0ec], edx
mov ecx, dword [eax + 0xe0]
test ecx, ecx
je 0x4178aa
push edi
mov edx, dword [eax + 0xdc]
push 1
mov ebx, dword [eax + 0xec]
push 0x11
push edx
push ebx
mov edx, dword [eax + 0x11c]
push edi
mov ebx, dword [eax + 0xd8]
push edx
push ebx
push ecx
mov edx, dword [0x4ec390]
mov ecx, dword [eax + 0xd4]
push ecx
push 0x4ec0e0
push edx
mov ecx, esi
call fcn.00419320
mov eax, dword [0x4ec16c]
test eax, eax
jne 0x417959
mov eax, dword [0x4ec134]
mov ecx, dword [esi + 0x54]
cmp ecx, eax
jne 0x417959
mov eax, dword [0x4ec424]
mov ebx, dword [0x4ec0e0]
mov edx, dword [eax + 0xc]
movsx ecx, word [eax + 0x134]
movsx eax, word [eax + 0x130]
add ecx, edx
add eax, ebx
dec ecx
cmp ecx, eax
jl 0x4178ee
mov ecx, eax
mov eax, dword [0x4ec0e4]
mov dword [0x4ec0e0], ecx
inc eax
mov dword [0x4ec0e4], eax
lea eax, [ecx + 1]
mov ecx, dword [0x4ec134]
mov dword [0x4ec0e8], eax
mov eax, dword [ecx + 0x11c]
test eax, eax
jne 0x41791d
mov eax, dword [esi + 0x85c]
inc eax
mov ecx, dword [0x4ec0e4]
add ecx, eax
mov eax, dword [0x4ec424]
mov dword [0x4ec0ec], ecx
mov eax, dword [eax + 0x144]
test eax, eax
jne 0x417942
push edi
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push 0x4ec0e0
mov eax, dword [0x4ec390]
push eax
call dword [sym.imp.USER32.dll_FrameRect]
mov dword [0x4ec130], eax
mov eax, dword [0x4ec390]
mov ecx, esi
push eax
call fcn.00418e50
mov eax, dword [0x4ec16c]
test eax, eax
jne 0x4176e0
jmp 0x4179dc
mov eax, dword [0x4ec134]
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x4179dc
mov ecx, dword [eax + 0xe0]
test ecx, ecx
je 0x4179dc
xor edi, edi
mov eax, dword [0x4ec134]
mov ecx, esi
push eax
push 0x4ec16c
add eax, 0xc
push eax
push 0x4ec390
call fcn.00418cf0
test eax, eax
je 0x4179d3
push 1
mov eax, dword [0x4ec134]
push eax
mov ecx, dword [0x4ec390]
push ecx
mov ecx, esi
call fcn.004194b0
mov ecx, dword [0x4ec390]
push ecx
mov ecx, esi
call fcn.00418e50
mov eax, dword [0x4ec16c]
test eax, eax
jne 0x417990
mov eax, dword [0x4ec134]
mov dword [eax + 0xd0], 1
mov eax, dword [0x4ec0b0]
test eax, eax
jl 0x417a00
mov ecx, dword [0x4ec134]
mov dword [ecx + 0xbc], eax
mov eax, dword [0x4ec40c]
inc eax
mov dword [0x4ec40c], eax
cmp dword [esi + 0x44], eax
jg 0x4166f4
mov ecx, dword [esi + 0x10a0]
test ecx, ecx
je 0x417a23
call fcn.00421af0
mov eax, dword [esi + 0x10e8]
test eax, eax
je 0x417a4c
mov eax, dword [esi + 0x10dc]
mov ecx, dword [esi + 0x10e0]
mov dword [esi + 0x10e8], 0
push eax
push ecx
mov ecx, esi
call fcn.00414a20
mov eax, dword [ebp - 0xc]
pop edi
mov dword fs:[0], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x9eb
jmp 0x417661
push 0xa34
jmp 0x417661
push 0x985
jmp 0x417661