Function at 0x40b220
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x453c12
mov eax, dword fs:[0]
push eax
sub esp, 0xbc8
mov eax, dword [0x46a850]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xb94], ecx
mov dword [ebp - 0x124], 0
lea ecx, [ebp - 0x120]
call fcn.004136b0
mov dword [ebp - 4], 0
mov dword [ebp - 0x128], 0
call fcn.0041f307
push eax
lea ecx, [ebp - 0x12c]
call fcn.00407790
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.0040e1b0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xb94]
add eax, 0x150
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x1f4]
push eax
mov ecx, dword [ebp - 0x1f0]
push ecx
lea ecx, [ebp - 0x150]
call fcn.00417760
jmp 0x40b30e
mov edx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1fc], edx
mov dword [ebp - 0x1f8], eax
lea ecx, [ebp - 0x150]
call fcn.0040e990
mov ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0xb94]
add eax, 0x150
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x204]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0x200]
push ecx
lea ecx, [ebp - 0x194]
call fcn.00417760
lea edx, [ebp - 0x194]
push edx
lea ecx, [ebp - 0x150]
call fcn.00416570
movzx eax, al
neg eax
sbb eax, eax
add eax, 1
movzx ecx, al
test ecx, ecx
je 0x40cb6a
mov edx, dword [ebp - 0xb94]
mov eax, dword [ebp - 0x124]
cmp eax, dword [edx + 0x78]
jne 0x40cb56
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x208]
cmp dword [ecx + 0x18], 0
je 0x40b463
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x20c], eax
mov edx, dword [ebp - 0x20c]
mov eax, dword [edx + 0x18]
push eax
lea ecx, [ebp - 0x120]
call fcn.00415910
test eax, eax
jne 0x40b463
mov ecx, dword [ebp - 0xb94]
mov edx, dword [ecx + 0x78]
add edx, 1
mov eax, dword [ebp - 0xb94]
mov dword [eax + 0x78], edx
push 0
push 0x1f4
push 1
mov ecx, dword [ebp - 0xb94]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebp - 0x198], 1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x144]
call fcn.0040e850
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.004118d0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x12c]
sub eax, 0x10
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x210]
call fcn.004045c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.00413700
mov eax, dword [ebp - 0x198]
jmp 0x40cbdb
call fcn.0041f307
push eax
lea ecx, [ebp - 0x154]
call fcn.00407790
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xb94]
mov edx, dword [ecx + 0x8c]
push edx
push str.m_PlayCount:__d
lea eax, [ebp - 0x154]
push eax
call fcn.00409590
add esp, 0xc
lea ecx, [ebp - 0x120]
call fcn.00413720
test eax, eax
je 0x40b6b1
mov ecx, dword [ebp - 0xb94]
cmp dword [ecx + 0x8c], 0
jle 0x40b612
mov ecx, dword [ebp - 0xb94]
add ecx, 0x9c
call fcn.00417f60
test eax, eax
jne 0x40b56b
lea edx, [ebp - 0x19c]
push edx
mov ecx, dword [ebp - 0xb94]
add ecx, 0xfc
call fcn.0041c930
mov dword [ebp - 0xb98], eax
mov eax, dword [ebp - 0xb98]
mov dword [ebp - 0x218], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xb94]
add ecx, 0x94
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x218]
push edx
mov ecx, dword [ebp - 0x214]
call fcn.00408fe0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x19c]
sub eax, 0x10
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
call fcn.004045c0
push 0
push 0
push 0
push 0
push str.about:blank
mov ecx, dword [ebp - 0xb94]
add ecx, 0xfc
call fcn.0041c890
jmp 0x40b612
mov ecx, dword [ebp - 0xb94]
add ecx, 0x9c
call fcn.00417f60
cmp eax, 1
jne 0x40b612
lea ecx, [ebp - 0x1a0]
push ecx
mov ecx, dword [ebp - 0xb94]
add ecx, 0xa8
call fcn.0041c930
mov dword [ebp - 0xb9c], eax
mov edx, dword [ebp - 0xb9c]
mov dword [ebp - 0x224], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xb94]
add eax, 0x94
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x224]
push ecx
mov ecx, dword [ebp - 0x220]
call fcn.00408fe0
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x1a0]
sub edx, 0x10
mov dword [ebp - 0x228], edx
mov ecx, dword [ebp - 0x228]
call fcn.004045c0
push 0
push 0
push 0
push 0
push str.about:blank
mov ecx, dword [ebp - 0xb94]
add ecx, 0xa8
call fcn.0041c890
push 0
push 0x7530
push 1
mov eax, dword [ebp - 0xb94]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebp - 0x1a4], 1
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x154]
sub edx, 0x10
mov dword [ebp - 0x22c], edx
mov ecx, dword [ebp - 0x22c]
call fcn.004045c0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x144]
call fcn.0040e850
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.004118d0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x12c]
sub eax, 0x10
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x230]
call fcn.004045c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.00413700
mov eax, dword [ebp - 0x1a4]
jmp 0x40cbdb
mov ecx, dword [ebp - 0xb94]
cmp dword [ecx + 0x8c], 0
jle 0x40b8e3
call fcn.0041f307
push eax
lea ecx, [ebp - 0x15c]
call fcn.00407790
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xb94]
add ecx, 0x9c
call fcn.00417f60
test eax, eax
jne 0x40b702
mov edx, dword [ebp - 0xb94]
add edx, 0xfc
mov dword [ebp - 0x158], edx
jmp 0x40b729
mov ecx, dword [ebp - 0xb94]
add ecx, 0x9c
call fcn.00417f60
cmp eax, 1
jne 0x40b729
mov eax, dword [ebp - 0xb94]
add eax, 0xa8
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 0
je 0x40b8c5
lea ecx, [ebp - 0x1a8]
push ecx
mov ecx, dword [ebp - 0x158]
call fcn.0041c930
mov dword [ebp - 0xba0], eax
mov edx, dword [ebp - 0xba0]
mov dword [ebp - 0x234], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x234]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00408fe0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x1a8]
sub ecx, 0x10
mov dword [ebp - 0x238], ecx
mov ecx, dword [ebp - 0x238]
call fcn.004045c0
push str.about:blank
lea ecx, [ebp - 0x15c]
call fcn.0040e490
neg eax
sbb eax, eax
add eax, 1
movzx edx, al
test edx, edx
je 0x40b8c5
mov eax, dword [ebp - 0xb94]
mov ecx, dword [eax + 0x94]
mov dword [ebp - 0x23c], ecx
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x23c]
push edx
mov ecx, dword [ebp - 0x158]
call fcn.0041c890
push 0
push 0x1388
push 1
mov eax, dword [ebp - 0xb94]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov edx, dword [ebp - 0xb94]
mov eax, dword [edx + 0x78]
push eax
mov ecx, dword [ebp - 0xb94]
add ecx, 0x150
push ecx
mov ecx, dword [ebp - 0xb94]
add ecx, 0x9c
call fcn.00417f70
mov edx, dword [ebp - 0xb94]
mov dword [edx + 0x78], eax
mov dword [ebp - 0x1ac], 1
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x15c]
sub eax, 0x10
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x240]
call fcn.004045c0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x154]
sub ecx, 0x10
mov dword [ebp - 0x244], ecx
mov ecx, dword [ebp - 0x244]
call fcn.004045c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x144]
call fcn.0040e850
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.004118d0
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x12c]
sub edx, 0x10
mov dword [ebp - 0x248], edx
mov ecx, dword [ebp - 0x248]
call fcn.004045c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.00413700
mov eax, dword [ebp - 0x1ac]
jmp 0x40cbdb
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x15c]
sub eax, 0x10
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x24c]
call fcn.004045c0
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov ecx, dword [eax]
mov dword [ebp - 0xba4], ecx
mov edx, dword [ebp - 0xba4]
sub edx, 1
mov dword [ebp - 0xba4], edx
cmp dword [ebp - 0xba4], 9
ja case.default.0x40b918
mov eax, dword [ebp - 0xba4]
jmp dword [eax*4 + 0x40cbec]
push str..sogou.com
lea ecx, [ebp - 0x120]
call fcn.00413910
push 0
push 0x1f4
push 1
mov ecx, dword [ebp - 0xb94]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x254]
push edx
call fcn.0043ecc8
add esp, 4
mov dword [ebp - 0x128], eax
push 0
mov eax, dword [ebp - 0x128]
imul eax, eax, 0x3e8
push eax
push 1
mov ecx, dword [ebp - 0xb94]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
lea ecx, [ebp - 0x150]
call fcn.00401a50
add eax, 4
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0xb94]
add eax, 0x80
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x25c]
push ecx
mov ecx, dword [ebp - 0x258]
call fcn.00408fe0
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x260], eax
mov edx, dword [ebp - 0x260]
cmp dword [edx + 0xc], 0
je 0x40ba13
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov ecx, dword [ebp - 0xb94]
mov edx, dword [eax + 0xc]
mov dword [ecx + 0x74], edx
mov eax, dword [ebp - 0xb94]
cmp dword [eax + 0x74], 1
jne 0x40ba61
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x264]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x268], edx
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x268]
push eax
mov ecx, dword [ebp - 0xb94]
add ecx, 0xa8
call fcn.0041c890
jmp 0x40baa1
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x270], edx
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x270]
push eax
mov ecx, dword [ebp - 0xb94]
add ecx, 0xfc
call fcn.0041c890
mov ecx, dword [0x469198]
push ecx
mov edx, dword [0x469194]
push edx
mov ecx, dword [ebp - 0xb94]
call fcn.0040ae00
push 0
push 0x2710
push 1
mov eax, dword [ebp - 0xb94]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
call fcn.0040afb0
lea ecx, [ebp - 0x144]
call fcn.0040e3a0
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x2a4], eax
mov edx, dword [ebp - 0x2a4]
cmp dword [edx + 0xc], 0
je 0x40bb1c
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov ecx, dword [ebp - 0xb94]
mov edx, dword [eax + 0xc]
mov dword [ecx + 0x74], edx
mov eax, dword [0x469198]
push eax
mov ecx, dword [0x469194]
push ecx
mov ecx, dword [ebp - 0xb94]
call fcn.0040ae00
mov edx, dword [ebp - 0xb94]
cmp dword [edx + 0x74], 1
jne 0x40bb61
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0xb94]
add ecx, 0xa8
push ecx
lea ecx, [ebp - 0x120]
call fcn.00413ff0
jmp 0x40bb7f
lea edx, [ebp - 0x144]
push edx
mov eax, dword [ebp - 0xb94]
add eax, 0xfc
push eax
lea ecx, [ebp - 0x120]
call fcn.00413ff0
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x138]
cdq
mov ecx, 0x18
idiv ecx
test eax, eax
je 0x40bbc7
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x138]
cdq
mov ecx, 0x18
idiv ecx
mov edx, dword [ebp - 0x2a8]
cmp dword [edx + 0x10], eax
jb 0x40bbe5
push 0
push 0x1f4
push 1
mov eax, dword [ebp - 0xb94]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov edx, dword [eax + 0x14]
push edx
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov eax, dword [eax + 0x10]
push eax
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov ecx, dword [eax + 8]
push ecx
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x2ac], eax
push ecx
mov edx, esp
mov dword [ebp - 0x1b0], esp
mov dword [ebp - 0x2b8], edx
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [eax + 4]
sub ecx, 0x10
mov dword [ebp - 0x2b0], ecx
mov edx, dword [ebp - 0x2b0]
push edx
call fcn.00409380
add esp, 4
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b4]
add eax, 0x10
mov ecx, dword [ebp - 0x2b8]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2b8]
mov dword [ebp - 0xba8], edx
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x120]
call fcn.00414720
mov dword [ebp - 0xbac], eax
mov ecx, dword [ebp - 0xbac]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0x148], 0xffffffff
jne 0x40bcc1
push 0
push 0x1f4
push 1
mov edx, dword [ebp - 0xb94]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
mov ecx, dword [ebp - 0xb94]
cmp dword [ecx + 0x74], 1
jne 0x40bd3e
mov edx, dword [ebp - 0x148]
push edx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov edx, dword [eax + 8]
push edx
mov eax, dword [ebp - 0x148]
push eax
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x148]
push edx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0xb94]
add ecx, 0xa8
push ecx
lea ecx, [ebp - 0x120]
call fcn.00413d50
jmp 0x40bdad
mov edx, dword [ebp - 0x148]
push edx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov edx, dword [eax + 8]
push edx
mov eax, dword [ebp - 0x148]
push eax
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x148]
push edx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0xb94]
add ecx, 0xfc
push ecx
lea ecx, [ebp - 0x120]
call fcn.00413d50
push 0
push 0x2710
push 1
mov edx, dword [ebp - 0xb94]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
lea ecx, [ebp - 0x144]
call fcn.0040e3a0
mov ecx, dword [0x469198]
push ecx
mov edx, dword [0x469194]
push edx
mov ecx, dword [ebp - 0xb94]
call fcn.0040ae00
mov eax, dword [ebp - 0xb94]
cmp dword [eax + 0x74], 1
jne 0x40bea7
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x144]
push edx
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x5ec], eax
push ecx
mov eax, esp
mov dword [ebp - 0x1b4], esp
mov dword [ebp - 0x5f8], eax
mov ecx, dword [ebp - 0x5ec]
mov edx, dword [ecx + 4]
sub edx, 0x10
mov dword [ebp - 0x5f0], edx
mov eax, dword [ebp - 0x5f0]
push eax
call fcn.00409380
add esp, 4
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0x5f4]
add ecx, 0x10
mov edx, dword [ebp - 0x5f8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x5f8]
mov dword [ebp - 0xbb0], eax
mov ecx, dword [ebp - 0xb94]
add ecx, 0xa8
push ecx
lea ecx, [ebp - 0x120]
call fcn.00414d00
mov dword [ebp - 0xbb4], eax
mov edx, dword [ebp - 0xbb4]
mov dword [ebp - 0x148], edx
jmp 0x40bf49
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x144]
push ecx
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x5fc], eax
push ecx
mov edx, esp
mov dword [ebp - 0x1b8], esp
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x5fc]
mov ecx, dword [eax + 4]
sub ecx, 0x10
mov dword [ebp - 0x600], ecx
mov edx, dword [ebp - 0x600]
push edx
call fcn.00409380
add esp, 4
mov dword [ebp - 0x604], eax
mov eax, dword [ebp - 0x604]
add eax, 0x10
mov ecx, dword [ebp - 0x608]
mov dword [ecx], eax
mov edx, dword [ebp - 0x608]
mov dword [ebp - 0xbb8], edx
mov eax, dword [ebp - 0xb94]
add eax, 0xfc
push eax
lea ecx, [ebp - 0x120]
call fcn.00414d00
mov dword [ebp - 0xbbc], eax
mov ecx, dword [ebp - 0xbbc]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x138]
cdq
mov ecx, 0x18
idiv ecx
test eax, eax
je 0x40bf91
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x60c], eax
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x138]
cdq
mov ecx, 0x18
idiv ecx
mov edx, dword [ebp - 0x60c]
cmp dword [edx + 0x10], eax
jb 0x40bfba
push 0x4585a0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0
push 0x1f4
push 1
mov eax, dword [ebp - 0xb94]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
mov dword [ebp - 0x148], 0
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x610], eax
mov edx, dword [ebp - 0x610]
cmp dword [edx + 0x14], 0
je 0x40c0c2
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x138]
cdq
mov ecx, 0x18
idiv ecx
mov dword [ebp - 0x614], eax
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x618], eax
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x61c], eax
mov edx, dword [ebp - 0x618]
mov eax, dword [ebp - 0x614]
sub eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x61c]
cmp eax, dword [ecx + 0x14]
jae 0x40c07d
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x138]
cdq
mov ecx, 0x18
idiv ecx
mov dword [ebp - 0x620], eax
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x624], eax
mov edx, dword [ebp - 0x624]
mov eax, dword [ebp - 0x620]
sub eax, dword [edx + 0x10]
mov dword [ebp - 0xbc0], eax
jmp 0x40c091
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xbc0], ecx
mov edx, dword [ebp - 0xbc0]
mov dword [ebp - 0x148], edx
push 0
call fcn.0043e265
add esp, 4
push eax
call fcn.0043ddf4
add esp, 4
call fcn.0043de06
cdq
idiv dword [ebp - 0x148]
mov dword [ebp - 0x148], edx
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0x628]
mov ecx, dword [ebp - 0x148]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0x148], ecx
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x138]
cdq
mov ecx, 0x18
idiv ecx
cmp dword [ebp - 0x148], eax
jb 0x40c122
push 0
push 0x1f4
push 1
mov edx, dword [ebp - 0xb94]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
mov ecx, dword [ebp - 0xb94]
cmp dword [ecx + 0x74], 1
jne 0x40c19f
mov edx, dword [ebp - 0x148]
push edx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov edx, dword [eax + 8]
push edx
mov eax, dword [ebp - 0x148]
push eax
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x148]
push edx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0xb94]
add ecx, 0xa8
push ecx
lea ecx, [ebp - 0x120]
call fcn.00413d50
jmp 0x40c20e
mov edx, dword [ebp - 0x148]
push edx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov edx, dword [eax + 8]
push edx
mov eax, dword [ebp - 0x148]
push eax
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x148]
push edx
lea ecx, [ebp - 0x144]
call fcn.0040e300
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0xb94]
add ecx, 0xfc
push ecx
lea ecx, [ebp - 0x120]
call fcn.00413d50
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x92c], eax
mov edx, dword [ebp - 0x92c]
cmp dword [edx + 8], 0
jne 0x40c246
push 0
push 0x1f4
push 1
mov eax, dword [ebp - 0xb94]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x40c25f
push 0
push 0x2710
push 1
mov edx, dword [ebp - 0xb94]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x168], 0
lea ecx, [ebp - 0x168]
push ecx
lea edx, [ebp - 0x164]
push edx
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x170]
push ecx
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x930], eax
push ecx
mov edx, esp
mov dword [ebp - 0x1bc], esp
mov dword [ebp - 0x93c], edx
mov eax, dword [ebp - 0x930]
mov ecx, dword [eax + 4]
sub ecx, 0x10
mov dword [ebp - 0x934], ecx
mov edx, dword [ebp - 0x934]
push edx
call fcn.00409380
add esp, 4
mov dword [ebp - 0x938], eax
mov eax, dword [ebp - 0x938]
add eax, 0x10
mov ecx, dword [ebp - 0x93c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x93c]
mov dword [ebp - 0xbc4], edx
lea ecx, [ebp - 0x120]
call fcn.00415970
mov dword [ebp - 0xbc8], eax
cmp dword [ebp - 0xbc8], 0
je 0x40c39e
mov eax, dword [ebp - 0xb94]
cmp dword [eax + 0x74], 1
jne 0x40c368
mov ecx, dword [ebp - 0x168]
push ecx
mov edx, dword [ebp - 0x164]
push edx
mov eax, dword [ebp - 0x16c]
push eax
mov ecx, dword [ebp - 0x170]
push ecx
mov edx, dword [ebp - 0xb94]
add edx, 0xa8
push edx
lea ecx, [ebp - 0x120]
call fcn.00413d50
jmp 0x40c39c
mov eax, dword [ebp - 0x168]
push eax
mov ecx, dword [ebp - 0x164]
push ecx
mov edx, dword [ebp - 0x16c]
push edx
mov eax, dword [ebp - 0x170]
push eax
mov ecx, dword [ebp - 0xb94]
add ecx, 0xfc
push ecx
lea ecx, [ebp - 0x120]
call fcn.00413d50
jmp 0x40c3bc
push 0
push 0x1f4
push 1
mov edx, dword [ebp - 0xb94]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x940], eax
mov ecx, dword [ebp - 0x940]
cmp dword [ecx + 8], 0
jne 0x40c3f4
push 0
push 0x1f4
push 1
mov edx, dword [ebp - 0xb94]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x40c40d
push 0
push 0x2710
push 1
mov ecx, dword [ebp - 0xb94]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
push str.CLICK_POSITION
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x20a
push 0x12a
push 0xdc
push 0x2b2
mov eax, dword [ebp - 0xb94]
add eax, 0xfc
push eax
lea ecx, [ebp - 0x120]
call fcn.00413d50
jmp case.default.0x40b918
mov ecx, dword [ebp - 0xb94]
cmp dword [ecx + 0x74], 1
jne 0x40c4e8
mov edx, dword [ebp - 0xb94]
mov eax, dword [edx + 0x20]
push eax
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x944], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x1c0], esp
mov dword [ebp - 0x950], ecx
mov edx, dword [ebp - 0x944]
mov eax, dword [edx + 4]
sub eax, 0x10
mov dword [ebp - 0x948], eax
mov ecx, dword [ebp - 0x948]
push ecx
call fcn.00409380
add esp, 4
mov dword [ebp - 0x94c], eax
mov edx, dword [ebp - 0x94c]
add edx, 0x10
mov eax, dword [ebp - 0x950]
mov dword [eax], edx
mov ecx, dword [ebp - 0x950]
mov dword [ebp - 0xbcc], ecx
mov edx, dword [ebp - 0xb94]
add edx, 0xa8
push edx
lea ecx, [ebp - 0x120]
call fcn.00415610
jmp 0x40c56d
mov eax, dword [ebp - 0xb94]
mov ecx, dword [eax + 0x20]
push ecx
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x954], eax
push ecx
mov edx, esp
mov dword [ebp - 0x1c4], esp
mov dword [ebp - 0x960], edx
mov eax, dword [ebp - 0x954]
mov ecx, dword [eax + 4]
sub ecx, 0x10
mov dword [ebp - 0x958], ecx
mov edx, dword [ebp - 0x958]
push edx
call fcn.00409380
add esp, 4
mov dword [ebp - 0x95c], eax
mov eax, dword [ebp - 0x95c]
add eax, 0x10
mov ecx, dword [ebp - 0x960]
mov dword [ecx], eax
mov edx, dword [ebp - 0x960]
mov dword [ebp - 0xbd0], edx
mov eax, dword [ebp - 0xb94]
add eax, 0xfc
push eax
lea ecx, [ebp - 0x120]
call fcn.00415610
push 0
push 0x2710
push 1
mov ecx, dword [ebp - 0xb94]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp case.default.0x40b918
lea ecx, [ebp - 0x150]
call fcn.00401a50
mov dword [ebp - 0x964], eax
mov eax, dword [ebp - 0x964]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x968], ecx
mov edx, dword [ebp - 0x968]
push edx
call fcn.0043ecc8
add esp, 4
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0xb94]
mov dword [eax + 0x8c], 0
mov ecx, dword [0x46c354]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x96c], edx
cmp dword [ebp - 0x96c], 0
jle 0x40c751
mov eax, dword [0x46c380]
cmp eax, dword [0x46bf18]
jg 0x40c751
lea ecx, [ebp - 0x17c]
call fcn.00406890
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x178]
call fcn.00406890
mov byte [ebp - 4], 0xc
mov ecx, dword [0x46c380]
push ecx
push str.k_d
lea edx, [ebp - 0x178]
push edx
call fcn.00408c10
add esp, 0xc
push 0x46c354
lea ecx, [ebp - 0x17c]
call fcn.00407820
mov eax, dword [ebp - 0x178]
push eax
push 0x45857c
lea ecx, [ebp - 0x17c]
call fcn.00406b90
mov ecx, dword [0x46c380]
add ecx, 1
mov dword [0x46c380], ecx
push 0
push 0x800
lea ecx, [ebp - 0x17c]
call fcn.0040e000
push eax
lea ecx, [ebp - 0x17c]
call fcn.004072a0
push eax
call dword [0x46c370]
push 0xffffffffffffffff
lea ecx, [ebp - 0x17c]
call fcn.004072e0
lea ecx, [ebp - 0x184]
call fcn.00406890
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x17c]
push edx
push 0x46c358
lea eax, [ebp - 0x1c8]
push eax
call fcn.004071c0
add esp, 0xc
mov dword [ebp - 0xbd4], eax
mov ecx, dword [ebp - 0xbd4]
mov dword [ebp - 0x9e8], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x9e8]
push edx
lea ecx, [ebp - 0x184]
call fcn.00407820
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1c8]
call fcn.004077e0
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x9f0], eax
push 0
mov ecx, dword [ebp - 0x9f0]
push ecx
mov ecx, 0x46c2b0
call fcn.00405a70
mov dword [ebp - 0x180], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x184]
call fcn.004077e0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x178]
call fcn.004077e0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x17c]
call fcn.004077e0
mov dword [ebp - 0x1cc], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x154]
call fcn.004077e0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x144]
call fcn.0040e850
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.004118d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x12c]
call fcn.004077e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.00413700
mov eax, dword [ebp - 0x1cc]
jmp 0x40cbdb
mov ecx, dword [ebp - 0xb94]
mov edx, dword [ebp - 0xb94]
mov eax, dword [edx + 0x78]
mov dword [ecx + 0x7c], eax
mov ecx, dword [ebp - 0xb94]
mov edx, dword [ecx + 0x78]
add edx, 1
mov eax, dword [ebp - 0xb94]
mov dword [eax + 0x78], edx
mov dword [ebp - 0x1e0], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x154]
call fcn.004077e0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x144]
call fcn.0040e850
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0xb58], ecx
mov edx, dword [ebp - 0xb58]
push edx
call fcn.0041ca23
add esp, 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x12c]
call fcn.004077e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.00413700
mov eax, dword [ebp - 0x1e0]
jmp 0x40cbdb
mov eax, dword [ebp - 0x124]
add eax, 1
mov dword [ebp - 0x124], eax
jmp 0x40b2d3
mov ecx, dword [ebp - 0xb94]
mov edx, dword [ebp - 0xb94]
mov eax, dword [edx + 0x7c]
mov dword [ecx + 0x78], eax
mov dword [ebp - 0x1e4], 0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x144]
call fcn.0040e850
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0xb8c], ecx
mov edx, dword [ebp - 0xb8c]
push edx
call fcn.0041ca23
add esp, 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x12c]
call fcn.004077e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.00413700
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret