Function at 0x509988
Capabilities:
Check for unmoving mouse cursor
Get keyboard layout
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x152
push 0
push 0
dec ecx
jne 0x509991
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov byte [ebp - 0x19], cl
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x118]
mov edx, dword [0x4dbd3c]
call fcn.0040968c
lea eax, [ebp - 0x12c]
mov edx, dword [0x4dbdb0]
call fcn.0040968c
lea eax, [ebp - 0x194]
mov edx, dword [0x4dbdf8]
call fcn.0040968c
lea eax, [ebp - 0x1e8]
mov edx, dword [0x4dbee8]
call fcn.0040968c
lea eax, [ebp - 0x230]
mov edx, dword [0x4dc090]
call fcn.0040968c
lea eax, [ebp - 0x23c]
mov edx, dword [0x4dc144]
call fcn.0040968c
lea eax, [ebp - 0x28]
mov edx, dword [0x4dc184]
call fcn.0040968c
lea eax, [ebp - 0x250]
mov edx, dword [0x4dc1b4]
call fcn.0040968c
lea eax, [ebp - 0x30]
mov edx, dword [0x4dc204]
call fcn.0040968c
lea eax, [ebp - 0x25c]
mov edx, dword [0x4dc240]
call fcn.0040968c
lea eax, [ebp - 0x268]
mov edx, dword [0x4dc284]
call fcn.0040968c
lea eax, [ebp - 0x274]
mov edx, dword [0x4dc2c8]
call fcn.0040968c
lea eax, [ebp - 0x288]
mov edx, dword [0x4dc30c]
call fcn.0040968c
lea eax, [ebp - 0x298]
mov edx, dword [0x4dc35c]
call fcn.0040968c
lea eax, [ebp - 0x2a8]
mov edx, dword [0x4dc3a4]
call fcn.0040968c
lea eax, [ebp - 0x43c]
mov edx, dword [0x4dc004]
call fcn.0040968c
lea eax, [ebp - 0x454]
mov edx, dword [0x4dbfb4]
call fcn.0040968c
lea eax, [ebp - 0x4a0]
mov edx, dword [0x4dc3f4]
call fcn.0040968c
lea eax, [ebp - 0x4b4]
mov edx, dword [0x4dc508]
call fcn.0040968c
lea eax, [ebp - 0x4cc]
mov edx, dword [0x4dc55c]
call fcn.0040968c
lea eax, [ebp - 0x52c]
mov edx, dword [0x4dc3f4]
call fcn.0040968c
lea eax, [ebp - 0x53c]
mov edx, dword [0x4dc4bc]
call fcn.0040968c
xor eax, eax
push ebp
push 0x511a8f
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x509304]
call fcn.004064d0
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0xf0]
mov edx, dword [ebp - 0xec]
test edx, edx
je 0x509b4a
sub edx, 0xfffffff8
call fcn.0040bbe8
cmp byte [0x52191a], 0
je 0x509b65
cmp byte [0x52191b], 0
jne 0x5116a2
call sub.winmm.dll_timeGetTime
sub eax, dword [0x527b1c]
mov dword [ebp - 0x88], eax
call sub.winmm.dll_timeGetTime
mov dword [0x527b1c], eax
lea eax, [ebp - 0x118]
mov edx, 0x511aac
call fcn.00408598
lea eax, [ebp - 0x10c]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x108]
call fcn.00408170
lea eax, [ebp - 0x104]
mov edx, 0x511ad0
call fcn.00408598
lea eax, [ebp - 0x100]
call fcn.00408170
lea eax, [ebp - 0xf8]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0xfc]
mov edx, 0x511ad0
call fcn.00408598
cmp byte [ebp - 0x19], 8
jne 0x50afac
cmp dword [0x527b3c], 0xffffffff
jne 0x509e46
lea edx, [ebp - 0x540]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x540]
mov ecx, 1
mov eax, 0x511ae0
call fcn.0040935c
test eax, eax
jg 0x509e3f
lea eax, [ebp - 0x528]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x52c]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x524]
mov edx, 0x511ac0
call fcn.00408598
mov eax, dword [0x52191c]
mov eax, dword [eax + 4]
push eax
call sub.user32.dll_IsZoomed
test eax, eax
je 0x509c84
lea eax, [ebp - 0x524]
mov edx, 0x511ad0
call fcn.00408598
push dword [ebp - 0x52c]
push 0x511b08
push dword [ebp - 0x528]
push 0x511b08
push dword [ebp - 0x524]
lea eax, [ebp - 0x544]
mov edx, 5
call fcn.0040911c
mov edx, dword [ebp - 0x544]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5b8]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x118]
mov edx, 0x511b18
call fcn.00408598
lea eax, [ebp - 0x114]
mov edx, 0x511ae0
call fcn.00408598
lea edx, [ebp - 0x548]
mov eax, dword [ebp - 0x64]
call fcn.0041edac
mov edx, dword [ebp - 0x548]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x54c]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x54c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
lea edx, [ebp - 0x554]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x554]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x558]
call fcn.0041edac
push dword [ebp - 0x558]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5b8]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x55c]
call fcn.0041edac
push dword [ebp - 0x55c]
lea eax, [ebp - 0x550]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x550]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 0xe
call fcn.00501580
xor eax, eax
mov dword [0x527b3c], eax
jmp 0x509e46
xor eax, eax
mov dword [0x527b3c], eax
cmp dword [0x527b40], 0xffffffff
jne 0x50a084
lea edx, [ebp - 0x560]
mov eax, dword [0x527b3c]
call fcn.0041edac
mov edx, dword [ebp - 0x560]
lea eax, [ebp - 0x53c]
call fcn.00408598
lea eax, [ebp - 0x538]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x564]
call fcn.004081b8
push eax
mov eax, dword [0x52191c]
call fcn.004f9640
lea edx, [ebp - 0x568]
call fcn.004eb4a8
mov eax, dword [ebp - 0x568]
push eax
mov eax, dword [eax]
call dword [eax + 0xa0]
call fcn.0040bd14
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x534]
call fcn.00408f20
push dword [ebp - 0x53c]
push 0x511b08
push dword [ebp - 0x538]
push 0x511b08
push dword [ebp - 0x534]
lea eax, [ebp - 0x56c]
mov edx, 5
call fcn.0040911c
mov edx, dword [ebp - 0x56c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5bc]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x118]
mov edx, 0x511b18
call fcn.00408598
lea eax, [ebp - 0x114]
mov edx, 0x511b54
call fcn.00408598
lea edx, [ebp - 0x570]
mov eax, dword [ebp - 0x64]
call fcn.0041edac
mov edx, dword [ebp - 0x570]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x574]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x574]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
lea edx, [ebp - 0x57c]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x57c]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x580]
call fcn.0041edac
push dword [ebp - 0x580]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5bc]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x584]
call fcn.0041edac
push dword [ebp - 0x584]
lea eax, [ebp - 0x578]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x578]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 0xe
call fcn.00501580
mov eax, dword [ebp - 0x64]
mov dword [0x527b40], eax
lea eax, [ebp - 0x454]
mov edx, 0x511b90
call fcn.00408598
lea eax, [ebp - 0x450]
mov edx, 0x511b90
call fcn.00408598
lea eax, [ebp - 0x44c]
mov edx, 0x511b90
call fcn.00408598
lea eax, [ebp - 0x588]
call fcn.004081b8
push eax
mov eax, dword [0x52191c]
call fcn.004f9640
lea edx, [ebp - 0x58c]
call fcn.004eb4a8
mov eax, dword [ebp - 0x58c]
push eax
mov eax, dword [eax]
call dword [eax + 0x44]
call fcn.0040bd14
mov edx, dword [ebp - 0x588]
lea eax, [ebp - 0x448]
call fcn.00408f20
lea eax, [ebp - 0x590]
call fcn.004081b8
push eax
mov eax, dword [0x52191c]
call fcn.004f9640
lea edx, [ebp - 0x594]
call fcn.004eb4a8
mov eax, dword [ebp - 0x594]
push eax
mov eax, dword [eax]
call dword [eax + 0xa0]
call fcn.0040bd14
mov edx, dword [ebp - 0x590]
lea eax, [ebp - 0x444]
call fcn.00408f20
push dword [ebp - 0x454]
push 0x511b08
push dword [ebp - 0x450]
push 0x511b08
push dword [ebp - 0x44c]
push 0x511b08
push dword [ebp - 0x448]
push 0x511b08
push dword [ebp - 0x444]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 9
call fcn.0040911c
mov dword [ebp - 0xb8], 0xffffffff
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5d8]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x50a1f8
inc eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x64], 0
lea ecx, [ebp - 0x598]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5d8]
mov edx, dword [ebp - 0x64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x598]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.004091cc
jne 0x50a1ed
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xb8], eax
jmp 0x50a1f8
inc dword [ebp - 0x64]
dec dword [ebp - 0xe4]
jne 0x50a1b1
cmp dword [ebp - 0xb8], 0xffffffff
jne 0x50a222
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5d8]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xac]
mov edx, dword [ebp - 0x14]
mov edx, dword [edx]
call fcn.0040bbe8
lea eax, [ebp - 0x43c]
mov edx, 0x511b90
call fcn.00408598
lea eax, [ebp - 0x438]
mov edx, 0x511b90
call fcn.00408598
lea eax, [ebp - 0x434]
mov edx, 0x511b90
call fcn.00408598
lea edx, [ebp - 0x59c]
mov eax, dword [ebp - 0xb8]
call fcn.0041edac
mov edx, dword [ebp - 0x59c]
lea eax, [ebp - 0x430]
call fcn.00408598
lea eax, [ebp - 0x5a0]
call fcn.004081b8
push eax
mov eax, dword [ebp - 0xac]
push eax
mov eax, dword [eax]
call dword [eax + 0x38]
call fcn.0040bd14
mov edx, dword [ebp - 0x5a0]
lea eax, [ebp - 0xb4]
call fcn.00408f20
cmp dword [ebp - 0xb4], 0
je 0x50a2d1
lea eax, [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov edx, 0x511ba4
call fcn.00409094
lea edx, [ebp - 0x5ac]
mov eax, dword [ebp - 0xb4]
call fcn.0041e1e4
mov eax, dword [ebp - 0x5ac]
lea edx, [ebp - 0x5a8]
call fcn.0041e53c
mov eax, dword [ebp - 0x5a8]
lea ecx, [ebp - 0x5a4]
xor edx, edx
call fcn.004c5b70
mov edx, dword [ebp - 0x5a4]
lea eax, [ebp - 0x428]
call fcn.00408598
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408170
lea eax, [ebp - 0x4e0]
call fcn.0042b930
push eax
push 0
push 0x511bac
mov eax, dword [ebp - 0xac]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.0040bd14
lea eax, [ebp - 0x4e0]
call fcn.00432318
test al, al
jne 0x50a38e
lea eax, [ebp - 0x5b4]
lea edx, [ebp - 0x4e0]
call fcn.004307d0
mov eax, dword [ebp - 0x5b4]
lea edx, [ebp - 0x5b0]
call fcn.0041e53c
mov edx, dword [ebp - 0x5b0]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea edx, [ebp - 0x5bc]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.0041e53c
mov eax, dword [ebp - 0x5bc]
lea ecx, [ebp - 0x5b8]
xor edx, edx
call fcn.004c5b70
mov edx, dword [ebp - 0x5b8]
lea eax, [ebp - 0x424]
call fcn.00408598
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408170
lea eax, [ebp - 0x4e0]
call fcn.0042b930
push eax
push 0
push 0x511bb8
mov eax, dword [ebp - 0xac]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
call fcn.0040bd14
lea eax, [ebp - 0x4e0]
call fcn.00432318
test al, al
jne 0x50a41d
mov eax, dword [ebp - 0xec]
add eax, 0x14
lea edx, [ebp - 0x4e0]
call fcn.004307d0
jmp 0x50a42b
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408170
lea edx, [ebp - 0x5c4]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.0041e53c
mov eax, dword [ebp - 0x5c4]
lea ecx, [ebp - 0x5c0]
xor edx, edx
call fcn.004c5b70
mov edx, dword [ebp - 0x5c0]
lea eax, [ebp - 0x420]
call fcn.00408598
lea eax, [ebp - 0x5c8]
call fcn.004081b8
push eax
mov eax, dword [ebp - 0xac]
push eax
mov eax, dword [eax]
call dword [eax + 0xf8]
call fcn.0040bd14
mov edx, dword [ebp - 0x5c8]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408f20
mov eax, dword [ebp - 0xb4]
call fcn.00408668
mov ecx, eax
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 1
call fcn.0040924c
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov ecx, 1
mov eax, 0x511bd0
call fcn.0040935c
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.00408668
mov ecx, eax
mov eax, dword [ebp - 0xec]
add eax, 0x14
pop edx
call fcn.0040924c
mov al, byte [0x511bd4]
push eax
lea eax, [ebp - 0x5cc]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
xor ecx, ecx
mov edx, 0x511be4
call fcn.00426580
mov edx, dword [ebp - 0x5cc]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0x40]
call fcn.00408170
lea eax, [ebp - 0xc0]
call fcn.0040bbd0
mov ecx, eax
mov edx, 0x511be8
mov eax, dword [ebp - 0xac]
call fcn.004270d8
test al, al
je 0x50a6f2
lea eax, [ebp - 0x5d0]
push eax
lea eax, [ebp - 0x5d4]
call fcn.0040bbd0
push eax
mov eax, dword [ebp - 0xc0]
push eax
mov eax, dword [eax]
call dword [eax + 0xa8]
call fcn.0040bd14
mov eax, dword [ebp - 0x5d4]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
call fcn.0040bd14
mov eax, dword [ebp - 0x5d0]
dec eax
test eax, eax
jl 0x50a6f2
inc eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x68], 0
lea eax, [ebp - 0x5e0]
call fcn.004081b8
push eax
lea eax, [ebp - 0x5e4]
call fcn.0040bbd0
push eax
mov eax, dword [ebp - 0x68]
push eax
lea eax, [ebp - 0x5e8]
call fcn.0040bbd0
push eax
mov eax, dword [ebp - 0xc0]
push eax
mov eax, dword [eax]
call dword [eax + 0xa8]
call fcn.0040bd14
mov eax, dword [ebp - 0x5e8]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
call fcn.0040bd14
mov eax, dword [ebp - 0x5e4]
push eax
mov eax, dword [eax]
call dword [eax + 0x1c]
call fcn.0040bd14
mov edx, dword [ebp - 0x5e0]
lea eax, [ebp - 0x5dc]
call fcn.00408f20
mov eax, dword [ebp - 0x5dc]
lea edx, [ebp - 0x5d8]
call fcn.0041e1e4
push dword [ebp - 0x5d8]
push 0x511c04
lea eax, [ebp - 0x5fc]
call fcn.0042b930
push eax
lea eax, [ebp - 0x600]
call fcn.0040bbd0
push eax
mov eax, dword [ebp - 0x68]
push eax
lea eax, [ebp - 0x604]
call fcn.0040bbd0
push eax
mov eax, dword [ebp - 0xc0]
push eax
mov eax, dword [eax]
call dword [eax + 0xa8]
call fcn.0040bd14
mov eax, dword [ebp - 0x604]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
call fcn.0040bd14
mov eax, dword [ebp - 0x600]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.0040bd14
lea eax, [ebp - 0x5fc]
lea ecx, [ebp - 0x5ec]
xor edx, edx
call fcn.0043232c
push dword [ebp - 0x5ec]
lea eax, [ebp - 0x3c]
mov edx, 3
call fcn.0040911c
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x3c]
call fcn.00432f44
test al, al
je 0x50a6e3
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
push 0x511b30
lea eax, [ebp - 0x40]
mov edx, 3
call fcn.0040911c
inc dword [ebp - 0x68]
dec dword [ebp - 0xe4]
jne 0x50a5a7
lea edx, [ebp - 0x60c]
mov eax, dword [ebp - 0x40]
call fcn.0041e53c
mov eax, dword [ebp - 0x60c]
lea ecx, [ebp - 0x608]
xor edx, edx
call fcn.004c5b70
mov edx, dword [ebp - 0x608]
lea eax, [ebp - 0x41c]
call fcn.00408598
mov eax, dword [0x52191c]
call fcn.004f9640
lea edx, [ebp - 0x614]
call fcn.004eb4a8
mov eax, dword [ebp - 0x614]
lea ecx, [ebp - 0x610]
mov edx, dword [ebp - 0xac]
call fcn.004f6ca8
mov edx, dword [ebp - 0x610]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea edx, [ebp - 0x61c]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.0041e53c
mov eax, dword [ebp - 0x61c]
lea ecx, [ebp - 0x618]
xor edx, edx
call fcn.004c5b70
mov edx, dword [ebp - 0x618]
lea eax, [ebp - 0x418]
call fcn.00408598
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408170
lea eax, [ebp - 0x628]
call fcn.004081b8
push eax
mov eax, dword [ebp - 0xac]
push eax
mov eax, dword [eax]
call dword [eax + 0xf0]
call fcn.0040bd14
mov edx, dword [ebp - 0x628]
lea eax, [ebp - 0x624]
call fcn.00408f20
mov eax, dword [ebp - 0x624]
lea edx, [ebp - 0x620]
call fcn.0041e53c
mov edx, dword [ebp - 0x620]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x14], 0
jne 0x50a88b
lea eax, [ebp - 0x634]
call fcn.004081b8
push eax
mov eax, dword [ebp - 0xac]
push eax
mov eax, dword [eax]
call dword [eax + 0xe8]
call fcn.0040bd14
mov edx, dword [ebp - 0x634]
lea eax, [ebp - 0x630]
call fcn.00408f20
mov eax, dword [ebp - 0x630]
lea edx, [ebp - 0x62c]
call fcn.0041e53c
mov edx, dword [ebp - 0x62c]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x14], 0
je 0x50a88b
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
cmp word [eax], 0x3c
jne 0x50a88b
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408170
lea ecx, [ebp - 0x638]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov dl, 1
call fcn.004c5b70
mov edx, dword [ebp - 0x638]
lea eax, [ebp - 0x414]
call fcn.00408598
cmp dword [ebp - 0x424], 0
jne 0x50a8c4
cmp dword [ebp - 0x420], 0
je 0x50a8d6
lea eax, [ebp - 0x42c]
mov edx, 0x511c14
call fcn.00408598
jmp 0x50a925
cmp dword [ebp - 0x414], 0
je 0x50a90c
cmp dword [ebp - 0x41c], 0
je 0x50a8fa
lea eax, [ebp - 0x42c]
mov edx, 0x511c2c
call fcn.00408598
jmp 0x50a925
lea eax, [ebp - 0x42c]
mov edx, 0x511c4c
call fcn.00408598
jmp 0x50a925
cmp dword [ebp - 0x41c], 0
je 0x50a925
lea eax, [ebp - 0x42c]
mov edx, 0x511c64
call fcn.00408598
push dword [ebp - 0x428]
push 0x511b08
push dword [ebp - 0x424]
push 0x511b08
push dword [ebp - 0x420]
push 0x511b08
push dword [ebp - 0x41c]
push 0x511b08
push dword [ebp - 0x418]
push 0x511b08
push dword [ebp - 0x414]
lea eax, [ebp - 0x3c]
mov edx, 0xb
call fcn.0040911c
mov dword [ebp - 0xbc], 0xffffffff
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x50aa9e
inc eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x64], 0
lea eax, [ebp - 0x63c]
push eax
lea ecx, [ebp - 0x640]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov edx, dword [ebp - 0x64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x640]
mov cx, 9
mov edx, 4
call fcn.004c5ac4
mov edx, dword [ebp - 0x63c]
mov eax, dword [ebp - 0x430]
call fcn.004091cc
jne 0x50aa8f
lea ecx, [ebp - 0x644]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov edx, dword [ebp - 0x64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x644]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov dword [ebp - 0xb0], 1
mov dword [ebp - 0x68], 1
mov ecx, dword [ebp - 0xb0]
inc ecx
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov eax, 0x511b08
call fcn.0040935c
mov dword [ebp - 0xb0], eax
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 6
jne 0x50aa2f
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov ecx, dword [ebp - 0xb0]
mov edx, 1
call fcn.0040924c
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x3c]
call fcn.004091cc
jne 0x50aa8f
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xbc], eax
jmp 0x50aa9e
inc dword [ebp - 0x64]
dec dword [ebp - 0xe4]
jne 0x50a9a2
cmp dword [ebp - 0xbc], 0xffffffff
jne 0x50ab09
push dword [ebp - 0x43c]
push 0x511b08
push dword [ebp - 0x438]
push 0x511b08
push dword [ebp - 0x434]
push 0x511b08
push dword [ebp - 0x430]
push 0x511b08
push dword [ebp - 0x42c]
push 0x511b08
push dword [ebp - 0x3c]
lea eax, [ebp - 0x3c]
mov edx, 0xb
call fcn.0040911c
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5dc]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0xbc], eax
lea edx, [ebp - 0x648]
mov eax, dword [0x527b3c]
call fcn.0041edac
mov edx, dword [ebp - 0x648]
lea eax, [ebp - 0x4b4]
call fcn.00408598
lea edx, [ebp - 0x64c]
mov eax, dword [ebp - 0xb8]
call fcn.0041edac
mov edx, dword [ebp - 0x64c]
lea eax, [ebp - 0x4b0]
call fcn.00408598
lea edx, [ebp - 0x650]
mov eax, dword [ebp - 0xbc]
call fcn.0041edac
mov edx, dword [ebp - 0x650]
lea eax, [ebp - 0x4ac]
call fcn.00408598
lea eax, [ebp - 0x4a8]
mov edx, 0x511c7c
call fcn.00408598
lea eax, [ebp - 0x4a4]
mov edx, 0x511c90
call fcn.00408598
push dword [ebp - 0x4b4]
push 0x511b08
push dword [ebp - 0x4b0]
push 0x511b08
push dword [ebp - 0x4ac]
push 0x511b08
push dword [ebp - 0x4a8]
push 0x511b08
push dword [ebp - 0x4a4]
lea eax, [ebp - 0x654]
mov edx, 9
call fcn.0040911c
mov edx, dword [ebp - 0x654]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x118]
mov edx, 0x511b18
call fcn.00408598
lea edx, [ebp - 0x658]
mov eax, dword [ebp - 0x64]
call fcn.0041edac
mov edx, dword [ebp - 0x658]
lea eax, [ebp - 0x110]
call fcn.00408598
lea eax, [ebp - 0x114]
mov edx, 0x511cac
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x65c]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x65c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
lea edx, [ebp - 0x664]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x664]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x668]
call fcn.0041edac
push dword [ebp - 0x668]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x66c]
call fcn.0041edac
push dword [ebp - 0x66c]
lea eax, [ebp - 0x660]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x660]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 0xe
call fcn.00501580
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
lea edx, [ebp - 0x670]
mov eax, dword [0x527b3c]
call fcn.0041edac
mov edx, dword [ebp - 0x670]
lea eax, [ebp - 0x4cc]
call fcn.00408598
lea edx, [ebp - 0x674]
mov eax, dword [ebp - 0xbc]
call fcn.0041edac
mov edx, dword [ebp - 0x674]
lea eax, [ebp - 0x4c8]
call fcn.00408598
lea eax, [ebp - 0x4c4]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x4c0]
mov edx, 0x511b90
call fcn.00408598
lea eax, [ebp - 0x4bc]
mov edx, 0x511b90
call fcn.00408598
push dword [ebp - 0x4cc]
push 0x511b08
push dword [ebp - 0x4c8]
push 0x511b08
push dword [ebp - 0x4c4]
push 0x511b08
push dword [ebp - 0x4c0]
push 0x511b08
push dword [ebp - 0x4bc]
lea eax, [ebp - 0x678]
mov edx, 9
call fcn.0040911c
mov edx, dword [ebp - 0x678]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c4]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x118]
mov edx, 0x511b18
call fcn.00408598
lea edx, [ebp - 0x67c]
mov eax, dword [ebp - 0x64]
call fcn.0041edac
mov edx, dword [ebp - 0x67c]
lea eax, [ebp - 0x110]
call fcn.00408598
lea eax, [ebp - 0x114]
mov edx, 0x511cf4
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x680]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x680]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
lea edx, [ebp - 0x688]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x688]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x68c]
call fcn.0041edac
push dword [ebp - 0x68c]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c4]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x690]
call fcn.0041edac
push dword [ebp - 0x690]
lea eax, [ebp - 0x684]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x684]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 0xe
call fcn.00501580
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
jmp 0x5116a2
cmp byte [0x52191a], 0
jne 0x5116a2
cmp byte [ebp - 0x19], 0
sete byte [ebp - 0xa6]
mov byte [ebp - 0x6a], 0
mov byte [ebp - 0x6b], 0
mov byte [ebp - 0x6c], 0
mov byte [ebp - 0x6d], 0
mov byte [ebp - 0x6e], 0
mov byte [ebp - 0x6f], 0
mov byte [ebp - 0x70], 0
mov byte [ebp - 0x69], 0
mov byte [ebp - 0x7c], 0
mov byte [ebp - 0xa5], 0
lea eax, [ebp - 0x34]
call fcn.00408170
lea eax, [ebp - 0x38]
call fcn.00408170
cmp byte [ebp - 0xa6], 0
je 0x50b0c4
mov eax, dword [ebp - 0x14]
cmp eax, 0x205
jg 0x50b02f
je 0x50b07b
sub eax, 0x200
je 0x50b045
dec eax
je 0x50b04e
dec eax
je 0x50b05d
sub eax, 2
je 0x50b06c
jmp 0x50b0c4
sub eax, 0x207
je 0x50b08a
dec eax
je 0x50b099
sub eax, 0x8a1
je 0x50b0a8
dec eax
je 0x50b0b7
jmp 0x50b0c4
mov byte [ebp - 0xa5], 1
jmp 0x50b0c4
lea eax, [ebp - 0x38]
mov edx, 0x511d38
call fcn.00408598
jmp 0x50b0c4
lea eax, [ebp - 0x38]
mov edx, 0x511d64
call fcn.00408598
jmp 0x50b0c4
lea eax, [ebp - 0x38]
mov edx, 0x511d8c
call fcn.00408598
jmp 0x50b0c4
lea eax, [ebp - 0x38]
mov edx, 0x511db8
call fcn.00408598
jmp 0x50b0c4
lea eax, [ebp - 0x38]
mov edx, 0x511de0
call fcn.00408598
jmp 0x50b0c4
lea eax, [ebp - 0x38]
mov edx, 0x511e0c
call fcn.00408598
jmp 0x50b0c4
lea eax, [ebp - 0x38]
mov edx, 0x511e34
call fcn.00408598
jmp 0x50b0c4
lea eax, [ebp - 0x38]
mov edx, 0x511e58
call fcn.00408598
cmp byte [ebp - 0xa6], 0
je 0x50b3f0
cmp byte [0x521914], 0
je 0x50b3f0
cmp byte [0x527ae1], 0
je 0x50b3f0
cmp byte [ebp - 0xa5], 0
je 0x50b3f0
lea eax, [ebp - 0x78]
push eax
call sub.user32.dll_GetCursorPos
mov eax, dword [0x527b14]
cmp eax, dword [ebp - 0x78]
jne 0x50b119
mov eax, dword [0x527b18]
cmp eax, dword [ebp - 0x74]
je 0x5116a2
mov eax, dword [ebp - 0x78]
mov dword [0x527b14], eax
mov eax, dword [ebp - 0x74]
mov dword [0x527b18], eax
lea edx, [ebp - 0x694]
mov eax, dword [ebp - 0x88]
call fcn.0041edac
push dword [ebp - 0x694]
push 0x511e78
lea edx, [ebp - 0x698]
mov eax, dword [ebp - 0x78]
call fcn.0041edac
push dword [ebp - 0x698]
push 0x511e78
lea edx, [ebp - 0x69c]
mov eax, dword [ebp - 0x74]
call fcn.0041edac
push dword [ebp - 0x69c]
lea eax, [ebp - 0x28]
mov edx, 5
call fcn.0040911c
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x527b10]
jne 0x50b238
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e8]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x6a0]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x6a0]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [ebp - 0xec]
push dword [eax + 0x14]
push 0x511e88
push dword [ebp - 0x28]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 3
call fcn.0040911c
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e8]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e8]
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x50b3e0
lea eax, [ebp - 0x118]
mov edx, 0x511ac0
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e8]
mov edx, dword [ebp - 0x28]
call fcn.0048a954
lea eax, [ebp - 0x114]
mov edx, 0x511e98
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e8]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
lea edx, [ebp - 0x6a4]
call fcn.0041edac
mov edx, dword [ebp - 0x6a4]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x6a8]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x6a8]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
mov dword [0x527b10], eax
lea edx, [ebp - 0x6b0]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x6b0]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x6b4]
call fcn.0041edac
push dword [ebp - 0x6b4]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e8]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x6b8]
call fcn.0041edac
push dword [ebp - 0x6b8]
lea eax, [ebp - 0x6ac]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x6ac]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 0x26
call fcn.00501580
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
jmp 0x5116a2
cmp dword [ebp - 0x38], 0
jne 0x50c7f9
cmp dword [ebp - 0x18], 0x101
je 0x50b410
cmp dword [ebp - 0x18], 0x105
je 0x50b410
xor eax, eax
jmp 0x50b412
mov al, 1
mov byte [ebp - 0x7a], al
cmp dword [ebp - 0x18], 0x100
je 0x50b42b
cmp dword [ebp - 0x18], 0x104
je 0x50b42b
xor eax, eax
jmp 0x50b42d
mov al, 1
mov byte [ebp - 0x79], al
mov byte [ebp - 0x7b], 0
cmp byte [ebp - 0x79], 0
je 0x50b444
cmp byte [ebp - 0x7b], 0
jne 0x50b444
mov byte [ebp - 0x7c], 1
cmp byte [ebp - 0x79], 0
jne 0x50b44e
mov byte [ebp - 0x7c], 2
mov al, byte [ebp - 0x79]
and al, byte [ebp - 0x7b]
je 0x50b45a
mov byte [ebp - 0x7c], 3
cmp dword [ebp - 0x14], 0x77
jne 0x50b488
mov eax, dword [0x521d4c]
mov eax, dword [eax]
cmp byte [eax + 0xb0], 0
je 0x50b488
cmp byte [ebp - 0x7c], 1
jne 0x50b488
call fcn.004b7ce0
test al, al
je 0x50b488
mov byte [ebp - 0x6b], 1
jmp case.default.0x50c2b0
cmp dword [ebp - 0x14], 0x76
jne 0x50b4b6
mov eax, dword [0x521d4c]
mov eax, dword [eax]
cmp byte [eax + 0xb1], 0
je 0x50b4b6
cmp byte [ebp - 0x7c], 1
jne 0x50b4b6
call fcn.004b7ce0
test al, al
je 0x50b4b6
mov byte [ebp - 0x6c], 1
jmp case.default.0x50c2b0
cmp dword [ebp - 0x14], 0x74
jne 0x50b4e4
mov eax, dword [0x521d4c]
mov eax, dword [eax]
cmp byte [eax + 0xb3], 0
je 0x50b4e4
cmp byte [ebp - 0x7c], 1
jne 0x50b4e4
call fcn.004b7ce0
test al, al
je 0x50b4e4
mov byte [ebp - 0x6d], 1
jmp case.default.0x50c2b0
cmp dword [ebp - 0x14], 0x75
jne 0x50b512
mov eax, dword [0x521d4c]
mov eax, dword [eax]
cmp byte [eax + 0xb4], 0
je 0x50b512
cmp byte [ebp - 0x7c], 1
jne 0x50b512
call fcn.004b7ce0
test al, al
je 0x50b512
mov byte [ebp - 0x6e], 1
jmp case.default.0x50c2b0
cmp dword [ebp - 0x14], 0x73
jne 0x50b540
mov eax, dword [0x521d4c]
mov eax, dword [eax]
cmp byte [eax + 0xb2], 0
je 0x50b540
cmp byte [ebp - 0x7c], 1
jne 0x50b540
call fcn.004b7ce0
test al, al
je 0x50b540
mov byte [ebp - 0x6f], 1
jmp case.default.0x50c2b0
cmp dword [ebp - 0x14], 0x78
jne 0x50b56e
mov eax, dword [0x521d4c]
mov eax, dword [eax]
cmp byte [eax + 0xb5], 0
je 0x50b56e
cmp byte [ebp - 0x7c], 1
jne 0x50b56e
call fcn.004b7ce0
test al, al
je 0x50b56e
mov byte [ebp - 0x70], 1
jmp case.default.0x50c2b0
cmp dword [ebp - 0x14], 0x7a
jne 0x50b59d
cmp byte [ebp - 0x7c], 1
jne 0x50b59d
cmp byte [0x521918], 0
jne 0x50b59d
call fcn.004b7ce0
test al, al
je 0x50b59d
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fcefc
jmp 0x5116a2
cmp dword [ebp - 0x14], 0x7b
jne 0x50b5cc
cmp byte [ebp - 0x7c], 1
jne 0x50b5cc
cmp byte [0x521918], 0
jne 0x50b5cc
call fcn.004b7ce0
test al, al
je 0x50b5cc
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.00501668
jmp 0x5116a2
cmp dword [ebp - 0x14], 0x71
jne 0x50b5ee
cmp byte [ebp - 0x7c], 1
jne 0x50b5ee
cmp byte [0x521918], 0
jne 0x50b5ee
call fcn.004b7ce0
test al, al
jne 0x5116a2
cmp dword [ebp - 0x14], 0x72
jne 0x50b610
cmp byte [ebp - 0x7c], 1
jne 0x50b610
cmp byte [0x521918], 0
jne 0x50b610
call fcn.004b7ce0
test al, al
jne 0x5116a2
push 0x14
call sub.user32.dll_GetKeyState
test al, 1
je 0x50b624
mov byte [0x527b35], 1
jmp 0x50b62b
mov byte [0x527b35], 0
cmp byte [0x527b35], 0
je 0x50b63d
cmp byte [0x527b36], 0
je 0x50b653
cmp byte [0x527b36], 0
je 0x50b64f
cmp byte [0x527b35], 0
je 0x50b653
xor eax, eax
jmp 0x50b655
mov al, 1
mov byte [ebp - 0x81], al
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff8
cmp eax, 0xd6
ja case.0x50b672.8
mov al, byte [eax + 0x50b679]
jmp dword [eax*4 + 0x50b750]
cmp byte [ebp - 0x7c], 1
jne 0x50b8bf
lea eax, [ebp - 0x34]
mov edx, 0x511ebc
call fcn.00408598
mov byte [0x527b36], 1
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x511ee4
call fcn.00408598
mov byte [0x527b36], 0
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 1
jne 0x50b901
lea eax, [ebp - 0x34]
mov edx, 0x511f08
call fcn.00408598
mov byte [0x527b36], 1
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x511f38
call fcn.00408598
mov byte [0x527b36], 0
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 1
jne 0x50b943
lea eax, [ebp - 0x34]
mov edx, 0x511f64
call fcn.00408598
mov byte [0x527b36], 1
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x511f98
call fcn.00408598
mov byte [0x527b36], 0
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 1
jne 0x50b97e
lea eax, [ebp - 0x34]
mov edx, 0x511fc8
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x511fec
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 1
jne 0x50b9b2
lea eax, [ebp - 0x34]
mov edx, 0x51200c
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512030
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 1
jne 0x50b9e6
lea eax, [ebp - 0x34]
mov edx, 0x512050
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512080
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 1
jne 0x50ba1a
lea eax, [ebp - 0x34]
mov edx, 0x5120ac
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5120dc
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 1
jne 0x50ba4e
lea eax, [ebp - 0x34]
mov edx, 0x512108
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512134
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 1
jne 0x50ba82
lea eax, [ebp - 0x34]
mov edx, 0x51215c
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x51218c
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 1
jne 0x50bab6
lea eax, [ebp - 0x34]
mov edx, 0x5121b8
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5121ec
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 1
jne 0x50baea
lea eax, [ebp - 0x34]
mov edx, 0x51221c
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x7c], 2
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512250
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x6b], 0
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1d8]
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x6c], 0
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1d4]
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x6d], 0
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1cc]
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x6e], 0
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1d0]
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x6f], 0
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1c8]
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x70], 0
jne case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1dc]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1e8]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1e4]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1e0]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1c4]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1c0]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1bc]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1ec]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1f0]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1f4]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1f8]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512280
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512290
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5122a0
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5122b0
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5122c0
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5122d0
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5122e0
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x511c04
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5122f0
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512300
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512310
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x511ac0
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x511ad0
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512320
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512330
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512340
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512350
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512360
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512370
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512380
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512390
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x511b30
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1c]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x20]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x30]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x48]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x4c]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x68]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x80]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x84]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x88]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x8c]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x90]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x98]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x94]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x9c]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0xac]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0xb0]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0xb4]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x17c]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x180]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x184]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x188]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x18c]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x190]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x194]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x198]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x19c]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1a0]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1a4]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1a8]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1ac]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1b0]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1b4]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x1b8]
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, dword [0x521b10]
mov edx, dword [edx + 0x23c]
call fcn.00408598
jmp case.default.0x50c2b0
cmp dword [ebp - 0x14], 0x41
jl case.default.0x50c2b0
cmp dword [ebp - 0x14], 0x5a
jg case.default.0x50c2b0
call fcn.004b7ce0
test al, al
jne 0x50c1c8
call fcn.004b7d58
test al, al
je 0x50c2a1
push 0
call sub.user32.dll_GetForegroundWindow
push eax
call sub.user32.dll_GetWindowThreadProcessId
push eax
call sub.user32.dll_GetKeyboardLayout
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
push eax
push 0
mov eax, dword [ebp - 0x14]
push eax
call sub.user32.dll_MapVirtualKeyExW
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x50c24e
lea eax, [ebp - 0x408]
push eax
call sub.user32.dll_GetKeyboardState
mov eax, dword [ebp - 0x9c]
push eax
push 0
push 4
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x408]
push eax
mov eax, dword [ebp - 0x98]
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.user32.dll_ToUnicodeEx
test eax, eax
jle 0x50c24e
lea eax, [ebp - 0x34]
lea edx, [ebp - 0x94]
mov ecx, 2
call fcn.00408ee4
mov eax, dword [ebp - 0x9c]
cmp eax, dword [0x527b38]
je case.default.0x50c2b0
push 0x5123a0
lea edx, [ebp - 0x6bc]
mov eax, dword [ebp - 0x9c]
call fcn.00508984
push dword [ebp - 0x6bc]
push 0x511bd0
push dword [ebp - 0x34]
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.0040911c
mov eax, dword [ebp - 0x9c]
mov dword [0x527b38], eax
jmp case.default.0x50c2b0
mov eax, dword [ebp - 0x14]
add eax, 0xffffffbf
cmp eax, 0x19
ja case.default.0x50c2b0
jmp dword [eax*4 + 0x50c2b7]
cmp byte [ebp - 0x81], 0
je 0x50c33a
lea eax, [ebp - 0x34]
mov edx, 0x5123c4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5123d4
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c367
lea eax, [ebp - 0x34]
mov edx, 0x5123e4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5123f4
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c394
lea eax, [ebp - 0x34]
mov edx, 0x512404
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512414
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c3c1
lea eax, [ebp - 0x34]
mov edx, 0x512424
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512434
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c3ee
lea eax, [ebp - 0x34]
mov edx, 0x512444
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512454
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c41b
lea eax, [ebp - 0x34]
mov edx, 0x512464
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512474
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c448
lea eax, [ebp - 0x34]
mov edx, 0x512484
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512494
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c475
lea eax, [ebp - 0x34]
mov edx, 0x5124a4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5124b4
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c4a2
lea eax, [ebp - 0x34]
mov edx, 0x5124c4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5124d4
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c4cf
lea eax, [ebp - 0x34]
mov edx, 0x5124e4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5124f4
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c4fc
lea eax, [ebp - 0x34]
mov edx, 0x512504
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512514
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c529
lea eax, [ebp - 0x34]
mov edx, 0x512524
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512534
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c556
lea eax, [ebp - 0x34]
mov edx, 0x512544
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512554
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c583
lea eax, [ebp - 0x34]
mov edx, 0x512564
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512574
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c5b0
lea eax, [ebp - 0x34]
mov edx, 0x512584
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512594
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c5dd
lea eax, [ebp - 0x34]
mov edx, 0x5125a4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5125b4
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c60a
lea eax, [ebp - 0x34]
mov edx, 0x5125c4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5125d4
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c637
lea eax, [ebp - 0x34]
mov edx, 0x5125e4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5125f4
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c664
lea eax, [ebp - 0x34]
mov edx, 0x512604
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512614
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c691
lea eax, [ebp - 0x34]
mov edx, 0x512624
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512634
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c6be
lea eax, [ebp - 0x34]
mov edx, 0x512644
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512654
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c6eb
lea eax, [ebp - 0x34]
mov edx, 0x512664
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512674
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c718
lea eax, [ebp - 0x34]
mov edx, 0x512684
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x512694
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c73f
lea eax, [ebp - 0x34]
mov edx, 0x5126a4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5126b4
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c766
lea eax, [ebp - 0x34]
mov edx, 0x5126c4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5126d4
call fcn.00408598
jmp case.default.0x50c2b0
cmp byte [ebp - 0x81], 0
je 0x50c78d
lea eax, [ebp - 0x34]
mov edx, 0x5126e4
call fcn.00408598
jmp case.default.0x50c2b0
lea eax, [ebp - 0x34]
mov edx, 0x5126f4
call fcn.00408598
cmp dword [ebp - 0x34], 0
je 0x50c7b9
cmp byte [ebp - 0x7c], 2
jne 0x50c7b3
mov eax, dword [ebp - 0x34]
cmp word [eax], 0x7b
jne 0x5116a2
mov byte [ebp - 0x69], 1
jmp 0x50c7f9
mov al, byte [ebp - 0x6b]
or al, byte [ebp - 0x6c]
jne 0x50c7dd
cmp byte [ebp - 0x6d], 0
jne 0x50c7dd
cmp byte [ebp - 0x6e], 0
jne 0x50c7dd
cmp byte [ebp - 0x6f], 0
jne 0x50c7dd
cmp byte [ebp - 0x70], 0
jne 0x50c7dd
xor eax, eax
jmp 0x50c7df
mov al, 1
test al, al
je 0x5116a2
mov al, byte [ebp - 0x6b]
or al, byte [ebp - 0x6c]
jne 0x50c7f5
cmp byte [ebp - 0x6f], 0
je 0x50c7f9
mov byte [ebp - 0x69], 1
mov al, byte [ebp - 0xa6]
and al, byte [0x527b34]
je 0x50c849
cmp byte [0x527ae0], 0
jne 0x50c849
mov eax, dword [ebp - 0x38]
mov edx, 0x511d64
call fcn.004091cc
je 0x50c83d
mov eax, dword [ebp - 0x38]
mov edx, 0x511db8
call fcn.004091cc
je 0x50c83d
mov eax, dword [ebp - 0x38]
mov edx, 0x511e0c
call fcn.004091cc
jne 0x50c849
mov byte [0x527b34], 0
jmp 0x5116a2
cmp byte [ebp - 0xa6], 0
je 0x50c882
cmp byte [0x527ae0], 0
jne 0x50c882
cmp byte [0x527add], 0
je 0x50c882
mov eax, dword [0x521e9c]
mov eax, dword [eax]
cmp dword [eax + 0xd8], 0x2b
je 0x50c882
mov byte [0x527add], 0
mov byte [0x527adc], 0
cmp byte [ebp - 0xa6], 0
je 0x50c8b2
cmp byte [0x527ae0], 0
jne 0x50c8b2
cmp byte [0x527adc], 0
jne 0x50c8b2
cmp byte [0x527add], 0
jne 0x50c8b2
mov byte [0x527b34], 1
jmp 0x5116a2
mov byte [0x527b34], 0
lea eax, [ebp - 0x78]
push eax
call sub.user32.dll_GetCursorPos
cmp byte [ebp - 0x69], 0
je 0x50c90d
mov dword [ebp - 0x2f8], 0x30
lea eax, [ebp - 0x2f8]
push eax
push 0
call sub.user32.dll_GetForegroundWindow
push eax
call sub.user32.dll_GetWindowThreadProcessId
push eax
call sub.user32.dll_GetGUIThreadInfo
mov eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0x2ec]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0xc], 0
je 0x5116a2
jmp 0x50c92e
lea eax, [ebp - 0x78]
call fcn.004c6428
mov edx, dword [ebp - 0xec]
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0xc], 0
je 0x5116a2
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
mov dl, 1
call fcn.004c6378
test al, al
je 0x50c956
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
mov edx, dword [ebp - 0xec]
mov dword [edx + 0x10], eax
jmp 0x50c96f
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
mov dl, 1
call fcn.004c63e4
mov edx, dword [ebp - 0xec]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
cmp eax, dword [0x527ae8]
jne 0x50c989
mov byte [0x527aec], 1
jmp 0x50c99e
mov byte [0x527aec], 0
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
mov dword [0x527ae8], eax
mov edx, 0x527af0
lea eax, [ebp - 0x78]
call fcn.0040dcf8
test al, al
je 0x50c9b8
mov byte [0x527af8], 1
jmp 0x50c9d1
mov byte [0x527af8], 0
mov eax, dword [ebp - 0x78]
mov dword [0x527af0], eax
mov eax, dword [ebp - 0x74]
mov dword [0x527af4], eax
mov al, byte [ebp - 0xa6]
and al, byte [0x527ae0]
je 0x50d677
cmp byte [0x521914], 0
je 0x50d677
lea edx, [ebp - 0x6c0]
mov eax, dword [ebp - 0x78]
call fcn.0041edac
mov edx, dword [ebp - 0x6c0]
lea eax, [ebp - 0x238]
call fcn.00408598
lea edx, [ebp - 0x6c4]
mov eax, dword [ebp - 0x74]
call fcn.0041edac
mov edx, dword [ebp - 0x6c4]
lea eax, [ebp - 0x234]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x527b0c]
jne 0x50d412
mov al, byte [0x527aec]
or al, byte [0x527af8]
je 0x50d412
mov eax, dword [0x527b08]
mov edx, 0x511d38
call fcn.004091cc
jne 0x50cbd4
mov eax, dword [ebp - 0x38]
mov edx, 0x511d64
call fcn.004091cc
jne 0x50cbd4
lea eax, [ebp - 0x38]
mov edx, 0x512704
call fcn.00408598
lea eax, [ebp - 0x6c8]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x6cc]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6cc]
mov cx, 9
mov edx, 1
call fcn.004c5ac4
mov edx, dword [ebp - 0x6c8]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0x6d0]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x6d4]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6d4]
call fcn.00408668
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x6d8]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6d8]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.00408668
mov edx, eax
inc edx
pop eax
pop ecx
call fcn.00409204
mov ecx, dword [ebp - 0x6d0]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, dword [ebp - 0x38]
call fcn.00409094
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b08
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b08]
mov edx, 0x511d8c
call fcn.004091cc
jne 0x50cd4a
mov eax, dword [ebp - 0x38]
mov edx, 0x511db8
call fcn.004091cc
jne 0x50cd4a
lea eax, [ebp - 0x38]
mov edx, 0x512728
call fcn.00408598
lea eax, [ebp - 0x6dc]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x6e0]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6e0]
mov cx, 9
mov edx, 1
call fcn.004c5ac4
mov edx, dword [ebp - 0x6dc]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0x6e4]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x6e8]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6e8]
call fcn.00408668
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x6ec]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6ec]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.00408668
mov edx, eax
inc edx
pop eax
pop ecx
call fcn.00409204
mov ecx, dword [ebp - 0x6e4]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, dword [ebp - 0x38]
call fcn.00409094
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b08
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b08]
mov edx, 0x511de0
call fcn.004091cc
jne 0x50cec0
mov eax, dword [ebp - 0x38]
mov edx, 0x511e0c
call fcn.004091cc
jne 0x50cec0
lea eax, [ebp - 0x38]
mov edx, 0x51274c
call fcn.00408598
lea eax, [ebp - 0x6f0]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x6f4]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6f4]
mov cx, 9
mov edx, 1
call fcn.004c5ac4
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0x6f8]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x6fc]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x6fc]
call fcn.00408668
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x700]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x700]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.00408668
mov edx, eax
inc edx
pop eax
pop ecx
call fcn.00409204
mov ecx, dword [ebp - 0x6f8]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, dword [ebp - 0x38]
call fcn.00409094
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b08
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b08]
mov edx, 0x512704
call fcn.004091cc
jne 0x50d054
mov eax, dword [ebp - 0x38]
mov edx, 0x511d38
call fcn.004091cc
jne 0x50d054
cmp byte [0x527aec], 0
je 0x50d054
call fcn.005130f8
cmp eax, dword [ebp - 0x88]
jl 0x50d054
lea eax, [ebp - 0x38]
mov edx, 0x512774
call fcn.00408598
lea eax, [ebp - 0x704]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x708]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x708]
mov cx, 9
mov edx, 1
call fcn.004c5ac4
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0x70c]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x710]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x710]
call fcn.00408668
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x714]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x714]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.00408668
mov edx, eax
inc edx
pop eax
pop ecx
call fcn.00409204
mov ecx, dword [ebp - 0x70c]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, dword [ebp - 0x38]
call fcn.00409094
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b08
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b08]
mov edx, 0x512728
call fcn.004091cc
jne 0x50d1e8
mov eax, dword [ebp - 0x38]
mov edx, 0x511d8c
call fcn.004091cc
jne 0x50d1e8
cmp byte [0x527aec], 0
je 0x50d1e8
call fcn.005130f8
cmp eax, dword [ebp - 0x88]
jl 0x50d1e8
lea eax, [ebp - 0x38]
mov edx, 0x5127a4
call fcn.00408598
lea eax, [ebp - 0x718]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x71c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x71c]
mov cx, 9
mov edx, 1
call fcn.004c5ac4
mov edx, dword [ebp - 0x718]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0x720]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x724]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x724]
call fcn.00408668
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x728]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x728]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.00408668
mov edx, eax
inc edx
pop eax
pop ecx
call fcn.00409204
mov ecx, dword [ebp - 0x720]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, dword [ebp - 0x38]
call fcn.00409094
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b08
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b08]
mov edx, 0x51274c
call fcn.004091cc
jne 0x50d37c
mov eax, dword [ebp - 0x38]
mov edx, 0x511de0
call fcn.004091cc
jne 0x50d37c
cmp byte [0x527aec], 0
je 0x50d37c
call fcn.005130f8
cmp eax, dword [ebp - 0x88]
jl 0x50d37c
lea eax, [ebp - 0x38]
mov edx, 0x5127d8
call fcn.00408598
lea eax, [ebp - 0x72c]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x730]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x730]
mov cx, 9
mov edx, 1
call fcn.004c5ac4
mov edx, dword [ebp - 0x72c]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0x734]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x738]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x738]
call fcn.00408668
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x73c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x73c]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.00408668
mov edx, eax
inc edx
pop eax
pop ecx
call fcn.00409204
mov ecx, dword [ebp - 0x734]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, dword [ebp - 0x38]
call fcn.00409094
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b08
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b08]
mov edx, 0x512774
call fcn.004091cc
jne 0x50d3ae
mov eax, dword [ebp - 0x38]
mov edx, 0x511d64
call fcn.004091cc
jne 0x50d3ae
mov eax, 0x527b08
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b08]
mov edx, 0x5127a4
call fcn.004091cc
jne 0x50d3e0
mov eax, dword [ebp - 0x38]
mov edx, 0x511db8
call fcn.004091cc
jne 0x50d3e0
mov eax, 0x527b08
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b08]
mov edx, 0x5127d8
call fcn.004091cc
jne 0x50d412
mov eax, dword [ebp - 0x38]
mov edx, 0x511e0c
call fcn.004091cc
jne 0x50d412
mov eax, 0x527b08
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
lea eax, [ebp - 0x23c]
mov edx, dword [ebp - 0x38]
call fcn.00408598
mov eax, 0x527b08
mov edx, dword [ebp - 0x38]
call fcn.00408550
push dword [ebp - 0x23c]
push 0x511b08
push dword [ebp - 0x238]
push 0x511b08
push dword [ebp - 0x234]
lea eax, [ebp - 0x740]
mov edx, 5
call fcn.0040911c
mov edx, dword [ebp - 0x740]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
call fcn.0048a954
lea eax, [ebp - 0x114]
mov edx, 0x51280c
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
lea edx, [ebp - 0x744]
call fcn.0041edac
mov edx, dword [ebp - 0x744]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
inc word [eax + 0xc]
lea edx, [ebp - 0x748]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
call fcn.0041edac
mov edx, dword [ebp - 0x748]
lea eax, [ebp - 0xf8]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x74c]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x74c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
mov dword [0x527b0c], eax
lea edx, [ebp - 0x754]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x754]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x758]
call fcn.0041edac
push dword [ebp - 0x758]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e4]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x75c]
call fcn.0041edac
push dword [ebp - 0x75c]
lea eax, [ebp - 0x750]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x750]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 0xb
call fcn.00501580
lea eax, [ebp - 0x760]
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0xf8]
call fcn.00508b64
mov edx, dword [ebp - 0x760]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x50d668
sub eax, 0xffffffc4
call fcn.00496f4c
call fcn.0049765c
jmp 0x5116a2
mov al, byte [ebp - 0x69]
and al, byte [0x527ae2]
je 0x50da91
cmp byte [0x521915], 0
je 0x50da91
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x527b30]
jne 0x50d7b2
mov eax, dword [ebp - 0x34]
call fcn.00408668
mov edx, dword [ebp - 0x34]
cmp word [edx + eax*2 - 2], 0x7d
sete al
or al, byte [0x527aec]
je 0x50d7b2
mov eax, dword [ebp - 0x34]
call fcn.00408668
mov edx, dword [ebp - 0x34]
cmp word [edx + eax*2 - 4], 0x6e
jne 0x50d73a
mov eax, 0x527b2c
mov dx, 0x7b
call fcn.00427a98
inc eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x527b2c]
call fcn.00408668
mov ecx, eax
mov edx, dword [ebp - 0x64]
mov eax, dword [0x527b2c]
call fcn.00409204
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
call fcn.004091cc
jne 0x50d73a
mov eax, dword [0x527b2c]
call fcn.00408668
mov ecx, eax
mov eax, 0x527b2c
mov edx, dword [ebp - 0x64]
call fcn.0040924c
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov edx, dword [0x527b2c]
call fcn.00409094
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4f0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
push eax
push dword [ebp - 0x34]
push 0x511b08
push 0x511c7c
lea eax, [ebp - 0x764]
mov edx, 3
call fcn.0040911c
mov ecx, dword [ebp - 0x764]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4f0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b2c
mov edx, dword [ebp - 0x34]
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
jmp 0x5116a2
push 0x5123a0
lea edx, [ebp - 0x768]
xor eax, eax
call fcn.00508984
push dword [ebp - 0x768]
push 0x511bd0
push dword [ebp - 0x34]
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.0040911c
push 0x90
call sub.user32.dll_GetKeyState
test al, 1
je 0x50d7ff
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov edx, 0x512830
call fcn.00409094
jmp 0x50d80c
lea eax, [ebp - 0x34]
mov edx, 0x512858
call fcn.00408598
cmp byte [0x527b35], 0
je 0x50d827
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov edx, 0x512884
call fcn.00409094
jmp 0x50d837
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov edx, 0x5128b0
call fcn.00409094
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x34]
call fcn.00408598
mov eax, 0x527b2c
mov edx, dword [ebp - 0x34]
call fcn.00408550
push dword [ebp - 0x30]
push 0x511b08
push 0x511c7c
lea eax, [ebp - 0x76c]
mov edx, 3
call fcn.0040911c
mov edx, dword [ebp - 0x76c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4f0]
call fcn.0048a954
lea eax, [ebp - 0x114]
mov edx, 0x5128dc
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4f0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
lea edx, [ebp - 0x770]
call fcn.0041edac
mov edx, dword [ebp - 0x770]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
inc word [eax + 0xc]
lea edx, [ebp - 0x774]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
call fcn.0041edac
mov edx, dword [ebp - 0x774]
lea eax, [ebp - 0xf8]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x778]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x778]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
mov dword [0x527b30], eax
lea edx, [ebp - 0x780]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x780]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x784]
call fcn.0041edac
push dword [ebp - 0x784]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4f0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x788]
call fcn.0041edac
push dword [ebp - 0x788]
lea eax, [ebp - 0x77c]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x77c]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 9
call fcn.00501580
lea eax, [ebp - 0x78c]
push eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
call fcn.00508b64
mov edx, dword [ebp - 0x78c]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x50da82
sub eax, 0xffffffc8
call fcn.00496f4c
call fcn.0049765c
jmp 0x5116a2
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
mov edx, dword [0x521d4c]
mov edx, dword [edx]
cmp eax, dword [edx + 4]
je 0x5116a2
push 0
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
push eax
call sub.user32.dll_GetWindowThreadProcessId
mov ebx, eax
call sub.kernel32.dll_GetCurrentThreadId_1
cmp ebx, eax
je 0x5116a2
cmp byte [ebp - 0xa6], 0
je 0x50dae1
cmp byte [0x521914], 0
je 0x5116a2
cmp byte [ebp - 0x69], 0
je 0x50db18
cmp byte [0x521915], 0
jne 0x50db18
cmp byte [ebp - 0x6b], 0
jne 0x50db18
cmp byte [ebp - 0x6c], 0
jne 0x50db18
cmp byte [ebp - 0x6d], 0
jne 0x50db18
cmp byte [ebp - 0x6e], 0
jne 0x50db18
cmp byte [ebp - 0x6f], 0
jne 0x50db18
cmp byte [ebp - 0x70], 0
je 0x5116a2
mov byte [ebp - 0x89], 0
lea edx, [ebp - 0x80]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
call fcn.00512f68
lea edx, [ebp - 0x790]
mov eax, dword [0x521cb0]
mov eax, dword [eax]
call fcn.004b7310
mov edx, dword [ebp - 0x790]
mov eax, dword [ebp - 0x80]
call fcn.0041e414
test al, al
jne 0x5116a2
lea edx, [ebp - 0x794]
mov eax, dword [ebp - 0x80]
call fcn.004c3ab0
mov edx, dword [ebp - 0x794]
lea eax, [ebp - 0x12c]
call fcn.00408598
lea edx, [ebp - 0x798]
mov eax, dword [ebp - 0x80]
call fcn.004e61a4
mov edx, dword [ebp - 0x798]
lea eax, [ebp - 0x128]
call fcn.00408598
lea eax, [ebp - 0x124]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x120]
call fcn.00408170
push dword [ebp - 0x12c]
push 0x511b08
push dword [ebp - 0x128]
push 0x511b08
push dword [ebp - 0x124]
push 0x511b08
push dword [ebp - 0x120]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 7
call fcn.0040911c
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d4]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xffffffff
jne 0x50dcae
mov byte [ebp - 0x89], 1
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d4]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0x58], eax
xor eax, eax
push ebp
push 0x50dca4
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x512908
lea edx, [ebp - 0x7a4]
mov eax, dword [ebp - 0x58]
call fcn.0041edac
push dword [ebp - 0x7a4]
push 0x512928
lea eax, [ebp - 0x7a0]
mov edx, 3
call fcn.0040911c
mov edx, dword [ebp - 0x7a0]
lea ecx, [ebp - 0x79c]
mov eax, dword [0x521b8c]
mov eax, dword [eax]
call fcn.004c3174
mov edx, dword [ebp - 0x79c]
mov eax, dword [ebp - 0x80]
call fcn.004dac04
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x50dcae
cmp byte [ebp - 0x69], 0
je 0x50dd06
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x527b28]
jne 0x50dd06
mov eax, dword [ebp - 0x34]
call fcn.00408668
mov edx, dword [ebp - 0x34]
cmp word [edx + eax*2 - 2], 0x7d
jne 0x50dcf9
mov eax, dword [ebp - 0x34]
call fcn.00408668
mov edx, dword [ebp - 0x34]
cmp word [edx + eax*2 - 4], 0x70
je 0x50dead
cmp byte [0x527aec], 0
jne 0x50dead
cmp byte [ebp - 0xa6], 0
je 0x50dd5b
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x527b04]
jne 0x50dd5b
mov al, byte [0x527aec]
or al, byte [0x527af8]
je 0x50dd5b
mov eax, dword [0x527b00]
mov edx, 0x511d38
call fcn.004091cc
jne 0x50dd5b
mov eax, dword [ebp - 0x38]
mov edx, 0x511d64
call fcn.004091cc
je 0x50dead
mov eax, dword [0x527b00]
mov edx, 0x511d8c
call fcn.004091cc
jne 0x50dd7f
mov eax, dword [ebp - 0x38]
mov edx, 0x511db8
call fcn.004091cc
je 0x50dead
mov eax, dword [0x527b00]
mov edx, 0x511de0
call fcn.004091cc
jne 0x50dda3
mov eax, dword [ebp - 0x38]
mov edx, 0x511e0c
call fcn.004091cc
je 0x50dead
mov eax, dword [0x527b00]
mov edx, 0x512704
call fcn.004091cc
jne 0x50dddd
mov eax, dword [ebp - 0x38]
mov edx, 0x511d38
call fcn.004091cc
jne 0x50dddd
cmp byte [0x527aec], 0
je 0x50dddd
call fcn.005130f8
cmp eax, dword [ebp - 0x88]
jge 0x50dead
mov eax, dword [0x527b00]
mov edx, 0x512728
call fcn.004091cc
jne 0x50de17
mov eax, dword [ebp - 0x38]
mov edx, 0x511d8c
call fcn.004091cc
jne 0x50de17
cmp byte [0x527aec], 0
je 0x50de17
call fcn.005130f8
cmp eax, dword [ebp - 0x88]
jge 0x50dead
mov eax, dword [0x527b00]
mov edx, 0x51274c
call fcn.004091cc
jne 0x50de4d
mov eax, dword [ebp - 0x38]
mov edx, 0x511de0
call fcn.004091cc
jne 0x50de4d
cmp byte [0x527aec], 0
je 0x50de4d
call fcn.005130f8
cmp eax, dword [ebp - 0x88]
jge 0x50dead
mov eax, dword [0x527b00]
mov edx, 0x512774
call fcn.004091cc
jne 0x50de6d
mov eax, dword [ebp - 0x38]
mov edx, 0x511d64
call fcn.004091cc
je 0x50dead
mov eax, dword [0x527b00]
mov edx, 0x5127a4
call fcn.004091cc
jne 0x50de8d
mov eax, dword [ebp - 0x38]
mov edx, 0x511db8
call fcn.004091cc
je 0x50dead
mov eax, dword [0x527b00]
mov edx, 0x5127d8
call fcn.004091cc
jne 0x50dedb
mov eax, dword [ebp - 0x38]
mov edx, 0x511e0c
call fcn.004091cc
jne 0x50dedb
mov dword [ebp - 0x5c], 0xfffffffe
cmp byte [ebp - 0x89], 0
je 0x50e63a
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d4]
mov edx, dword [ebp - 0x58]
mov ecx, dword [eax]
call dword [ecx + 0x4c]
jmp 0x50e63a
mov dword [ebp - 0x5c], 0xffffffff
xor eax, eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
jne 0x50df2f
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
call fcn.004c6348
test al, al
je 0x50df37
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
xor edx, edx
call fcn.004c63e4
mov edx, dword [ebp - 0xec]
mov dword [edx + 0x10], eax
jmp 0x50df37
xor eax, eax
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x89], 0
lea edx, [ebp - 0x7a8]
mov eax, dword [ebp - 0x58]
call fcn.0041edac
mov edx, dword [ebp - 0x7a8]
lea eax, [ebp - 0x16c]
call fcn.00408598
lea ecx, [ebp - 0x7ac]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
mov dl, 1
call fcn.004c6584
mov edx, dword [ebp - 0x7ac]
lea eax, [ebp - 0x140]
call fcn.00408598
lea edx, [ebp - 0x7b0]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
call fcn.004c64dc
mov edx, dword [ebp - 0x7b0]
lea eax, [ebp - 0x13c]
call fcn.00408598
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
call fcn.004c7638
test al, al
je 0x50dfc5
mov byte [ebp - 0x89], 1
cmp byte [ebp - 0x89], 0
je 0x50dfdb
lea eax, [ebp - 0x138]
call fcn.00408170
jmp 0x50e000
lea edx, [ebp - 0x7b4]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
call fcn.004c72c4
mov edx, dword [ebp - 0x7b4]
lea eax, [ebp - 0x138]
call fcn.00408598
lea eax, [ebp - 0x134]
mov edx, 0x511ac0
call fcn.00408598
cmp byte [ebp - 0x89], 0
je 0x50e023
lea eax, [ebp - 0x3c]
call fcn.00408170
jmp 0x50e034
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
call fcn.004c7454
cmp dword [ebp - 0x3c], 0
jne 0x50e047
lea eax, [ebp - 0x3c]
mov edx, 0x512940
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x530]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0xffffffff
jne 0x50e07d
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x530]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0x64], eax
lea edx, [ebp - 0x7b8]
mov eax, dword [ebp - 0x64]
call fcn.0041edac
mov edx, dword [ebp - 0x7b8]
lea eax, [ebp - 0x130]
call fcn.00408598
mov edx, dword [ebp - 0x140]
mov eax, 0x51295c
call fcn.00433064
test al, al
je 0x50e0da
cmp dword [ebp - 0x138], 0
jne 0x50e0da
mov eax, dword [ebp - 0x3c]
mov edx, 0x512940
call fcn.004091cc
jne 0x50e0da
lea eax, [ebp - 0x144]
mov edx, 0x5123e4
call fcn.00408598
jmp 0x50e110
mov edx, dword [ebp - 0x13c]
mov eax, 0x51297c
call fcn.00433064
test al, al
je 0x50e100
lea eax, [ebp - 0x144]
mov edx, 0x5129a4
call fcn.00408598
jmp 0x50e110
lea eax, [ebp - 0x144]
mov edx, 0x512a08
call fcn.00408598
lea eax, [ebp - 0x158]
mov edx, 0x511b90
call fcn.00408598
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
call fcn.004c6348
test al, al
je 0x50e151
lea edx, [ebp - 0x7bc]
mov eax, dword [ebp - 0x5c]
call fcn.0041edac
mov edx, dword [ebp - 0x7bc]
lea eax, [ebp - 0x158]
call fcn.00408598
mov eax, dword [ebp - 0x158]
mov edx, 0x511b90
call fcn.004091cc
je 0x50e277
lea eax, [ebp - 0x2b8]
call fcn.0040dd0c
lea eax, [ebp - 0x2b8]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
push eax
call sub.user32.dll_GetClientRect
lea eax, [ebp - 0x2b8]
call fcn.0040dd40
lea edx, [ebp - 0x7c0]
call fcn.0041edac
mov edx, dword [ebp - 0x7c0]
lea eax, [ebp - 0x14c]
call fcn.00408598
lea eax, [ebp - 0x2b8]
call fcn.0040dd50
lea edx, [ebp - 0x7c4]
call fcn.0041edac
mov edx, dword [ebp - 0x7c4]
lea eax, [ebp - 0x148]
call fcn.00408598
push 2
lea eax, [ebp - 0x2b8]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
push eax
call sub.user32.dll_GetParent
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
push eax
call sub.user32.dll_MapWindowPoints
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
push eax
call sub.user32.dll_IsZoomed
test eax, eax
jne 0x50e257
lea edx, [ebp - 0x7c8]
mov eax, dword [ebp - 0x2b8]
call fcn.0041edac
mov edx, dword [ebp - 0x7c8]
lea eax, [ebp - 0x154]
call fcn.00408598
lea edx, [ebp - 0x7cc]
mov eax, dword [ebp - 0x2b4]
call fcn.0041edac
mov edx, dword [ebp - 0x7cc]
lea eax, [ebp - 0x150]
call fcn.00408598
jmp 0x50e277
lea eax, [ebp - 0x154]
mov edx, 0x512a4c
call fcn.00408598
lea eax, [ebp - 0x150]
mov edx, 0x512a4c
call fcn.00408598
lea eax, [ebp - 0x2b8]
call fcn.0040dd0c
lea edx, [ebp - 0x2b8]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
call fcn.004dbc3c
lea edx, [ebp - 0x7d0]
mov eax, dword [ebp - 0x2b8]
call fcn.0041edac
mov edx, dword [ebp - 0x7d0]
lea eax, [ebp - 0x168]
call fcn.00408598
lea edx, [ebp - 0x7d4]
mov eax, dword [ebp - 0x2b4]
call fcn.0041edac
mov edx, dword [ebp - 0x7d4]
lea eax, [ebp - 0x164]
call fcn.00408598
lea edx, [ebp - 0x7d8]
mov eax, dword [ebp - 0x2b0]
call fcn.0041edac
mov edx, dword [ebp - 0x7d8]
lea eax, [ebp - 0x160]
call fcn.00408598
lea edx, [ebp - 0x7dc]
mov eax, dword [ebp - 0x2ac]
call fcn.0041edac
mov edx, dword [ebp - 0x7dc]
lea eax, [ebp - 0x15c]
call fcn.00408598
lea eax, [ebp - 0x170]
call fcn.00408170
push dword [ebp - 0x194]
push 0x511b08
push dword [ebp - 0x190]
push 0x511b08
push dword [ebp - 0x18c]
push 0x511b08
push dword [ebp - 0x188]
push 0x511b08
push dword [ebp - 0x184]
push 0x511b08
push dword [ebp - 0x180]
push 0x511b08
push dword [ebp - 0x17c]
push 0x511b08
push dword [ebp - 0x178]
push 0x511b08
push dword [ebp - 0x174]
push 0x511b08
push dword [ebp - 0x170]
push 0x511b08
push dword [ebp - 0x16c]
push 0x511b08
push dword [ebp - 0x168]
push 0x511b08
push dword [ebp - 0x164]
push 0x511b08
push dword [ebp - 0x160]
push 0x511b08
push dword [ebp - 0x15c]
push 0x511b08
push dword [ebp - 0x158]
push 0x511b08
push dword [ebp - 0x154]
push 0x511b08
push dword [ebp - 0x150]
push 0x511b08
push dword [ebp - 0x14c]
push 0x511b08
push dword [ebp - 0x148]
push 0x511b08
push dword [ebp - 0x140]
push 0x511b08
push dword [ebp - 0x13c]
push 0x511b08
push dword [ebp - 0x138]
push 0x511b08
push dword [ebp - 0x134]
push 0x511b08
push dword [ebp - 0x130]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 0x31
call fcn.0040911c
mov dword [ebp - 0x5c], 0xffffffff
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d8]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, 0
jl 0x50e4c9
mov dword [ebp - 0x64], eax
lea ecx, [ebp - 0x3c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d8]
mov edx, dword [ebp - 0x64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x3c]
mov dx, 9
call fcn.00427a98
mov ecx, eax
mov edx, 1
mov eax, dword [ebp - 0x3c]
call fcn.00409204
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x3c]
call fcn.0041e2a0
test al, al
je 0x50e4c0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x5c], eax
jmp 0x50e4c9
dec dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0xffffffff
jne 0x50e46c
cmp dword [ebp - 0x5c], 0xffffffff
jne 0x50e514
mov eax, dword [ebp - 0xec]
push dword [eax + 0x14]
push 0x511b08
push dword [ebp - 0x144]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 3
call fcn.0040911c
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d8]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x90], 0
je 0x50e531
mov eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0x90]
mov dword [eax + 0x10], edx
jmp 0x50deea
cmp byte [0x521916], 0
je 0x50e561
cmp byte [ebp - 0x6b], 0
jne 0x50e561
cmp byte [ebp - 0x6c], 0
jne 0x50e561
mov eax, dword [0x527afc]
cmp eax, dword [ebp - 0x5c]
je 0x50e561
cmp byte [ebp - 0x89], 0
jne 0x50e561
mov byte [ebp - 0x6a], 1
mov byte [ebp - 0x6b], 1
lea edx, [ebp - 0x7e0]
mov eax, dword [ebp - 0x5c]
call fcn.0041edac
mov edx, dword [ebp - 0x7e0]
lea eax, [ebp - 0x25c]
call fcn.00408598
lea edx, [ebp - 0x7e4]
mov eax, dword [ebp - 0x5c]
call fcn.0041edac
mov edx, dword [ebp - 0x7e4]
lea eax, [ebp - 0x268]
call fcn.00408598
lea edx, [ebp - 0x7e8]
mov eax, dword [ebp - 0x5c]
call fcn.0041edac
mov edx, dword [ebp - 0x7e8]
lea eax, [ebp - 0x230]
call fcn.00408598
lea edx, [ebp - 0x7ec]
mov eax, dword [ebp - 0x5c]
call fcn.0041edac
mov edx, dword [ebp - 0x7ec]
lea eax, [ebp - 0x250]
call fcn.00408598
lea edx, [ebp - 0x7f0]
mov eax, dword [ebp - 0x5c]
call fcn.0041edac
mov edx, dword [ebp - 0x7f0]
lea eax, [ebp - 0x288]
call fcn.00408598
lea edx, [ebp - 0x7f4]
mov eax, dword [ebp - 0x5c]
call fcn.0041edac
mov edx, dword [ebp - 0x7f4]
lea eax, [ebp - 0x298]
call fcn.00408598
lea edx, [ebp - 0x7f8]
mov eax, dword [ebp - 0x5c]
call fcn.0041edac
mov edx, dword [ebp - 0x7f8]
lea eax, [ebp - 0x274]
call fcn.00408598
cmp dword [ebp - 0x5c], 0xfffffffe
je 0x50f5f4
cmp byte [ebp - 0xa6], 0
je 0x50e656
cmp byte [0x521914], 0
jne 0x50e67b
cmp byte [ebp - 0x69], 0
je 0x50e665
cmp byte [0x521915], 0
jne 0x50e67b
cmp byte [ebp - 0x6d], 0
jne 0x50e67b
cmp byte [ebp - 0x6e], 0
jne 0x50e67b
cmp byte [ebp - 0x70], 0
je 0x50f5f4
lea edx, [ebp - 0x7fc]
mov eax, dword [ebp - 0x5c]
call fcn.0041edac
mov edx, dword [ebp - 0x7fc]
lea eax, [ebp - 0x1c0]
call fcn.00408598
lea eax, [ebp - 0x1a0]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x1e0]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x1dc]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x1e8]
call fcn.00408170
lea eax, [ebp - 0x1e4]
call fcn.00408170
lea eax, [ebp - 0x1d8]
call fcn.00408170
lea eax, [ebp - 0x1d4]
call fcn.00408170
lea eax, [ebp - 0x1d0]
mov edx, 0x511ac0
call fcn.00408598
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408170
lea eax, [ebp - 0xc8]
call fcn.0040bbd0
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xec]
cmp eax, dword [edx + 0xc]
jne 0x50e78c
lea eax, [ebp - 0xc8]
call fcn.0040bbd0
push eax
mov eax, dword [0x521dd4]
push eax
push 0xfffffffffffffffc
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
push eax
call sub.oleacc.dll_AccessibleObjectFromWindow
test eax, eax
jne 0x50e782
mov eax, dword [0x521e9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xa0]
cmp eax, dword [ebp - 0xc8]
jne 0x50e782
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 0x511b90
call fcn.00408550
xor eax, eax
mov dword [ebp - 0xcc], eax
jmp 0x50e796
mov dword [ebp - 0xcc], 0xfffffffc
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xec]
cmp eax, dword [edx + 0xc]
jne 0x50e7ba
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x14], 0
jne 0x50f1ba
xor eax, eax
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x50], eax
push 1
lea eax, [ebp - 0x54]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
push eax
call sub.user32.dll_MapWindowPoints
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
call fcn.004c7534
lea edx, [ebp - 0x800]
call fcn.0041edac
mov edx, dword [ebp - 0x800]
lea eax, [ebp - 0x1b4]
call fcn.00408598
lea edx, [ebp - 0x804]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
call fcn.004c64dc
mov edx, dword [ebp - 0x804]
lea eax, [ebp - 0x1b8]
call fcn.00408598
lea edx, [ebp - 0x808]
mov eax, dword [ebp - 0x54]
call fcn.0041edac
mov edx, dword [ebp - 0x808]
lea eax, [ebp - 0x1b0]
call fcn.00408598
lea edx, [ebp - 0x80c]
mov eax, dword [ebp - 0x50]
call fcn.0041edac
mov edx, dword [ebp - 0x80c]
lea eax, [ebp - 0x1ac]
call fcn.00408598
lea eax, [ebp - 0x1a8]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x1a4]
mov edx, 0x511ac0
call fcn.00408598
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
push eax
call sub.user32.dll_GetDlgCtrlID
lea edx, [ebp - 0x810]
call fcn.0041edac
mov edx, dword [ebp - 0x810]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x538]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0xffffffff
jne 0x50e909
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x538]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0x64], eax
lea edx, [ebp - 0x814]
mov eax, dword [ebp - 0x64]
call fcn.0041edac
mov edx, dword [ebp - 0x814]
lea eax, [ebp - 0x19c]
call fcn.00408598
lea ecx, [ebp - 0x818]
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
mov dl, 1
call fcn.004c6584
mov edx, dword [ebp - 0x818]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [ebp - 0xec]
cmp dword [eax + 0x14], 0
jne 0x50e971
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 0x512940
call fcn.00408550
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x534]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0xffffffff
jne 0x50e9b3
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x534]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0x64], eax
lea edx, [ebp - 0x81c]
mov eax, dword [ebp - 0x64]
call fcn.0041edac
mov edx, dword [ebp - 0x81c]
lea eax, [ebp - 0x198]
call fcn.00408598
xor eax, eax
push ebp
push 0x50f00c
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x89], 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [0x521e9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xa0]
push eax
call sub.oleacc.dll_WindowFromAccessibleObject
test eax, eax
jne 0x50ecbd
cmp dword [ebp - 0xcc], 0xfffffffc
jne 0x50ecbd
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
cmp eax, dword [ebp - 0x24]
je 0x50ecbd
lea eax, [ebp - 0x2c8]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
push eax
call sub.user32.dll_GetWindowRect
mov eax, dword [0x521e9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc8]
cmp eax, dword [ebp - 0x2c8]
jg 0x50ecbd
mov eax, dword [0x521e9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xcc]
cmp eax, dword [ebp - 0x2c4]
jg 0x50ecbd
lea eax, [ebp - 0xc8]
call fcn.0040bbd0
push eax
mov eax, dword [0x521dd4]
push eax
mov eax, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
push eax
call sub.oleacc.dll_AccessibleObjectFromWindow
test eax, eax
jne 0x50ecbd
mov byte [ebp - 0x89], 1
mov eax, dword [0x521e9c]
mov eax, dword [eax]
add eax, 0xa0
mov edx, dword [ebp - 0xc8]
call fcn.0040bbe8
mov eax, dword [0x521e9c]
mov eax, dword [eax]
add eax, 0xa0
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0x10]
call fcn.0042b930
push eax
lea eax, [ebp - 0x82c]
xor edx, edx
mov cl, 1
call fcn.00431094
push dword [ebp - 0x820]
push dword [ebp - 0x824]
push dword [ebp - 0x828]
push dword [ebp - 0x82c]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
push eax
mov eax, dword [eax]
call dword [eax + 0x34]
test eax, eax
jne 0x50eb22
cmp word [ebp - 0x10], 3
jne 0x50eb22
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 8]
mov dword [eax + 0x38], edx
lea ecx, [ebp - 0x83c]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
xor edx, edx
call fcn.004a7fc0
mov eax, dword [ebp - 0xe8]
lea esi, [ebp - 0x83c]
lea edi, [eax + 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xe8]
add eax, 0x18
call fcn.004081b8
push eax
lea eax, [ebp - 0x84c]
xor edx, edx
mov cl, 1
call fcn.00431094
push dword [ebp - 0x840]
push dword [ebp - 0x844]
push dword [ebp - 0x848]
push dword [ebp - 0x84c]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
push eax
mov eax, dword [eax]
call dword [eax + 0x28]
mov eax, dword [ebp - 0xe8]
add eax, 0x20
call fcn.004081b8
push eax
lea eax, [ebp - 0x85c]
xor edx, edx
mov cl, 1
call fcn.00431094
push dword [ebp - 0x850]
push dword [ebp - 0x854]
push dword [ebp - 0x858]
push dword [ebp - 0x85c]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
push eax
mov eax, dword [eax]
call dword [eax + 0x2c]
mov eax, dword [ebp - 0xe8]
add eax, 0x1c
call fcn.004081b8
push eax
lea eax, [ebp - 0x86c]
xor edx, edx
mov cl, 1
call fcn.00431094
push dword [ebp - 0x860]
push dword [ebp - 0x864]
push dword [ebp - 0x868]
push dword [ebp - 0x86c]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
push eax
mov eax, dword [eax]
call dword [eax + 0x30]
mov eax, dword [ebp - 0xe8]
add eax, 0x24
call fcn.004081b8
push eax
lea eax, [ebp - 0x87c]
xor edx, edx
mov cl, 1
call fcn.00431094
push dword [ebp - 0x870]
push dword [ebp - 0x874]
push dword [ebp - 0x878]
push dword [ebp - 0x87c]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
push eax
mov eax, dword [eax]
call dword [eax + 0x50]
mov eax, dword [ebp - 0xe8]
add eax, 0x40
push eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
push eax
mov eax, dword [eax]
call dword [eax + 0x20]
mov eax, dword [ebp - 0xe8]
xor edx, edx
mov dword [eax + 0x3c], edx
lea eax, [ebp - 0x10]
call fcn.0042b930
push eax
mov eax, dword [ebp - 0xe8]
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax]
push eax
mov eax, dword [eax]
call dword [eax + 0x38]
test eax, eax
jne 0x50ecbd
cmp word [ebp - 0x10], 3
jne 0x50ecbd
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 8]
mov dword [eax + 0x3c], edx
lea eax, [ebp - 0x884]
mov edx, dword [0x521e9c]
mov edx, dword [edx]
mov edx, dword [edx + 0xb8]
call fcn.00408f20
mov eax, dword [ebp - 0x884]
lea ecx, [ebp - 0x880]
xor edx, edx
call fcn.004c5b70
mov edx, dword [ebp - 0x880]
lea eax, [ebp - 0x1e8]
call fcn.00408598
lea eax, [ebp - 0x88c]
mov edx, dword [0x521e9c]
mov edx, dword [edx]
mov edx, dword [edx + 0xc0]
call fcn.00408f20
mov eax, dword [ebp - 0x88c]
lea ecx, [ebp - 0x888]
mov dl, 1
call fcn.004c5b70
mov edx, dword [ebp - 0x888]
lea eax, [ebp - 0x1e4]
call fcn.00408598
lea eax, [ebp - 0x894]
mov edx, dword [0x521e9c]
mov edx, dword [edx]
mov edx, dword [edx + 0xbc]
call fcn.00408f20
mov eax, dword [ebp - 0x894]
lea ecx, [ebp - 0x890]
mov dl, 1
call fcn.004c5b70
mov edx, dword [ebp - 0x890]
lea eax, [ebp - 0x1d8]
call fcn.00408598
lea eax, [ebp - 0x89c]
mov edx, dword [0x521e9c]
mov edx, dword [edx]
mov edx, dword [edx + 0xc4]
call fcn.00408f20
mov eax, dword [ebp - 0x89c]
lea ecx, [ebp - 0x898]
xor edx, edx
call fcn.004c5b70
mov edx, dword [ebp - 0x898]
lea eax, [ebp - 0x1d4]
call fcn.00408598
mov eax, dword [0x521e9c]
mov eax, dword [eax]
cmp dword [eax + 0xd8], 0
jl 0x50edfa
mov eax, dword [0x521e9c]
mov eax, dword [eax]
cmp dword [eax + 0xd8], 0x40
jg 0x50edfa
lea edx, [ebp - 0x8a0]
mov eax, dword [0x521e9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xd8]
call fcn.0041edac
mov edx, dword [ebp - 0x8a0]
lea eax, [ebp - 0x1d0]
call fcn.00408598
mov eax, dword [0x521e9c]
mov eax, dword [eax]
lea esi, [eax + 0xc8]
lea edi, [ebp - 0x2b8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 2
lea eax, [ebp - 0x2b8]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
push eax
push 0
call sub.user32.dll_MapWindowPoints
lea edx, [ebp - 0x8a4]
mov eax, dword [ebp - 0x2b8]
call fcn.0041edac
mov edx, dword [ebp - 0x8a4]
lea eax, [ebp - 0x1e0]
call fcn.00408598
lea edx, [ebp - 0x8a8]
mov eax, dword [ebp - 0x2b4]
call fcn.0041edac
mov edx, dword [ebp - 0x8a8]
lea eax, [ebp - 0x1dc]
call fcn.00408598
cmp byte [ebp - 0x89], 0
jne 0x50ef2e
lea eax, [ebp - 0xc8]
call fcn.0040bbd0
lea eax, [ebp - 0xc8]
call fcn.0040bbd0
push eax
mov eax, dword [0x521dd4]
push eax
mov eax, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
push eax
call sub.oleacc.dll_AccessibleObjectFromWindow
test eax, eax
jne 0x50ef2e
cmp dword [ebp - 0xc8], 0
je 0x50ef2e
lea eax, [ebp - 0x10]
call fcn.0042b930
push eax
lea eax, [ebp - 0x8b8]
xor edx, edx
mov cl, 1
call fcn.00431094
push dword [ebp - 0x8ac]
push dword [ebp - 0x8b0]
push dword [ebp - 0x8b4]
push dword [ebp - 0x8b8]
mov eax, dword [ebp - 0xc8]
push eax
mov eax, dword [eax]
call dword [eax + 0x34]
test eax, eax
jne 0x50ef2e
cmp word [ebp - 0x10], 3
jne 0x50ef2e
cmp dword [ebp - 8], 0
jl 0x50ef2e
cmp dword [ebp - 8], 0x40
jg 0x50ef2e
lea edx, [ebp - 0x8bc]
mov eax, dword [ebp - 8]
call fcn.0041edac
mov edx, dword [ebp - 0x8bc]
lea eax, [ebp - 0x1a0]
call fcn.00408598
lea eax, [ebp - 0xd0]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0xd4]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0xd8]
mov edx, 0x511ad0
call fcn.00408598
lea edx, [ebp - 0xdc]
mov eax, dword [0x521e9c]
mov eax, dword [eax]
mov eax, dword [eax + 0xe0]
call fcn.0041edac
mov eax, dword [0x521e9c]
mov eax, dword [eax]
test byte [eax + 0xde], 1
jne 0x50ef98
lea eax, [ebp - 0xe0]
mov edx, 0x511ac0
call fcn.00408598
jmp 0x50efa8
lea eax, [ebp - 0xe0]
mov edx, 0x511ad0
call fcn.00408598
push dword [ebp - 0xd0]
push 0x511e88
push dword [ebp - 0xd4]
push 0x511e88
push dword [ebp - 0xd8]
push 0x511e88
push dword [ebp - 0xdc]
push 0x511e88
push dword [ebp - 0xe0]
lea eax, [ebp - 0x1cc]
mov edx, 9
call fcn.0040911c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50f013
lea eax, [ebp - 0x10]
push eax
call sub.oleaut32.dll_VariantClear_1
lea eax, [ebp - 0xc8]
call fcn.0040bbd0
ret
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov edx, 0x511b90
call fcn.004091cc
je 0x50f552
mov dword [ebp - 0x60], 0xffffffff
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4dc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, 0
jl 0x50f290
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x3c]
call fcn.00408170
mov dword [ebp - 0x68], 1
lea eax, [ebp - 0x8c0]
push eax
lea ecx, [ebp - 0x8c4]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4dc]
mov edx, dword [ebp - 0x64]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x8c4]
mov cx, 9
mov edx, dword [ebp - 0x68]
call fcn.004c5ac4
mov edx, dword [ebp - 0x8c0]
lea eax, [ebp - 0x3c]
call fcn.0040903c
cmp dword [ebp - 0x68], 0x12
jge 0x50f25d
lea eax, [ebp - 0x3c]
mov edx, 0x511b08
call fcn.0040903c
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 0x13
jne 0x50f208
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x3c]
call fcn.0041e2a0
test al, al
je 0x50f283
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], eax
jmp 0x50f290
dec dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0xffffffff
jne 0x50f1f9
cmp byte [0x527add], 0
je 0x50f2ae
lea eax, [ebp - 0x1bc]
mov edx, 0x512a64
call fcn.00408598
jmp 0x50f39d
mov eax, dword [ebp - 0x1a0]
mov edx, 0x512390
call fcn.004091cc
je 0x50f2d2
mov eax, dword [ebp - 0x1b8]
mov edx, 0x512a84
call fcn.004091cc
jne 0x50f2e7
lea eax, [ebp - 0x1bc]
mov edx, 0x512aa0
call fcn.00408598
jmp 0x50f39d
mov edx, dword [ebp - 0x13c]
mov eax, 0x51297c
call fcn.00433064
test al, al
je 0x50f321
mov edx, dword [ebp - 0x1b8]
mov eax, 0x51297c
call fcn.00433064
test al, al
je 0x50f321
lea eax, [ebp - 0x1bc]
mov edx, 0x512ad8
call fcn.00408598
jmp 0x50f39d
lea eax, [ebp - 0x8cc]
mov edx, dword [ebp - 0x13c]
mov dx, word [edx]
call fcn.00408e68
mov eax, dword [ebp - 0x8cc]
lea edx, [ebp - 0x8c8]
call fcn.0041e194
mov eax, dword [ebp - 0x8c8]
mov edx, 0x512624
call fcn.004091cc
je 0x50f37b
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
push eax
call sub.user32.dll_GetDlgCtrlID
mov edx, eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
call fcn.004c775c
test al, al
je 0x50f38d
lea eax, [ebp - 0x1bc]
mov edx, 0x512b80
call fcn.00408598
jmp 0x50f39d
lea eax, [ebp - 0x1bc]
mov edx, 0x512c18
call fcn.00408598
cmp dword [ebp - 0x60], 0xffffffff
jne 0x50f403
mov eax, dword [ebp - 0xec]
push dword [eax + 0x14]
push 0x511b08
push dword [ebp - 0x198]
push 0x511b08
push dword [ebp - 0x1a0]
push 0x511b08
push dword [ebp - 0x1bc]
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 7
call fcn.0040911c
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4dc]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov dword [ebp - 0x60], eax
jmp 0x50f559
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x8d0]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4dc]
mov edx, dword [ebp - 0x60]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x8d0]
mov cx, 9
mov edx, 0x13
call fcn.004c5ac4
lea eax, [ebp - 0x8d4]
push eax
mov dx, 8
mov eax, dword [ebp - 0x3c]
call fcn.004c5a94
mov edx, eax
mov cx, 8
mov eax, dword [ebp - 0x3c]
call fcn.004c5ac4
mov edx, dword [ebp - 0x8d4]
lea eax, [ebp - 0x3c]
call fcn.00408598
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x198]
call fcn.004091cc
je 0x50f4cb
lea eax, [ebp - 0x8d8]
push eax
lea ecx, [ebp - 0x8dc]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4dc]
mov edx, dword [ebp - 0x60]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x8dc]
mov cx, 9
mov edx, 0x13
call fcn.004c5ac4
push dword [ebp - 0x8d8]
push 0x511e78
push dword [ebp - 0x198]
lea eax, [ebp - 0x3c]
mov edx, 3
call fcn.0040911c
jmp 0x50f4fe
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x8e0]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4dc]
mov edx, dword [ebp - 0x60]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x8e0]
mov cx, 9
mov edx, 0x13
call fcn.004c5ac4
mov eax, dword [ebp - 0xec]
push dword [eax + 0x14]
push 0x511b08
push dword [ebp - 0x3c]
push 0x511b08
push dword [ebp - 0x1a0]
push 0x511b08
push dword [ebp - 0x1bc]
lea eax, [ebp - 0x8e4]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x8e4]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4dc]
mov edx, dword [ebp - 0x60]
mov ebx, dword [eax]
call dword [ebx + 0x20]
jmp 0x50f559
mov dword [ebp - 0x60], 0xffffffff
lea edx, [ebp - 0x8e8]
mov eax, dword [ebp - 0x60]
call fcn.0041edac
mov edx, dword [ebp - 0x8e8]
lea eax, [ebp - 0x22c]
call fcn.00408598
lea edx, [ebp - 0x8ec]
mov eax, dword [ebp - 0x60]
call fcn.0041edac
mov edx, dword [ebp - 0x8ec]
lea eax, [ebp - 0x24c]
call fcn.00408598
lea edx, [ebp - 0x8f0]
mov eax, dword [ebp - 0x60]
call fcn.0041edac
mov edx, dword [ebp - 0x8f0]
lea eax, [ebp - 0x284]
call fcn.00408598
lea edx, [ebp - 0x8f4]
mov eax, dword [ebp - 0x60]
call fcn.0041edac
mov edx, dword [ebp - 0x8f4]
lea eax, [ebp - 0x294]
call fcn.00408598
lea edx, [ebp - 0x8f8]
mov eax, dword [ebp - 0x60]
call fcn.0041edac
mov edx, dword [ebp - 0x8f8]
lea eax, [ebp - 0x2a8]
call fcn.00408598
lea eax, [ebp - 0x118]
mov edx, 0x511ac0
call fcn.00408598
cmp byte [ebp - 0x6b], 0
je 0x50f8aa
mov al, byte [ebp - 0x6a]
and al, byte [0x527add]
je 0x50f652
mov eax, dword [ebp - 0x38]
mov edx, 0x511d64
call fcn.004091cc
je 0x50f8a0
mov eax, dword [ebp - 0x38]
mov edx, 0x511db8
call fcn.004091cc
je 0x50f8a0
mov eax, dword [ebp - 0x38]
mov edx, 0x511e0c
call fcn.004091cc
je 0x50f8a0
lea eax, [ebp - 0x258]
mov edx, 0x511c7c
call fcn.00408598
lea eax, [ebp - 0x254]
mov edx, 0x511c90
call fcn.00408598
mov eax, dword [ebp - 0x25c]
call fcn.0041f01c
mov dword [0x527afc], eax
push dword [ebp - 0x25c]
push 0x511b08
push dword [ebp - 0x258]
push 0x511b08
push dword [ebp - 0x254]
lea eax, [ebp - 0x900]
mov edx, 5
call fcn.0040911c
mov edx, dword [ebp - 0x900]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4f4]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea edx, [ebp - 0x8fc]
call fcn.0041edac
mov edx, dword [ebp - 0x8fc]
lea eax, [ebp - 0x110]
call fcn.00408598
lea eax, [ebp - 0x114]
mov edx, 0x512d28
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
inc word [eax + 0xc]
lea edx, [ebp - 0x904]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
call fcn.0041edac
mov edx, dword [ebp - 0x904]
lea eax, [ebp - 0xf8]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x908]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x908]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
lea edx, [ebp - 0x910]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x910]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x914]
call fcn.0041edac
push dword [ebp - 0x914]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4f4]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x918]
call fcn.0041edac
push dword [ebp - 0x918]
lea eax, [ebp - 0x90c]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x90c]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
xor edx, edx
call fcn.00501580
lea eax, [ebp - 0x91c]
push eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0xf8]
call fcn.00508b64
mov edx, dword [ebp - 0x91c]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x50f896
sub eax, 0xffffffcc
call fcn.00496f4c
call fcn.0049765c
cmp byte [ebp - 0x6a], 0
je 0x5116a2
cmp byte [ebp - 0x6c], 0
je 0x50fb0d
lea eax, [ebp - 0x264]
mov edx, 0x511c7c
call fcn.00408598
lea eax, [ebp - 0x260]
mov edx, 0x511c90
call fcn.00408598
push dword [ebp - 0x268]
push 0x511b08
push dword [ebp - 0x264]
push 0x511b08
push dword [ebp - 0x260]
lea eax, [ebp - 0x920]
mov edx, 5
call fcn.0040911c
mov edx, dword [ebp - 0x920]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4f8]
call fcn.0048a954
lea eax, [ebp - 0x114]
mov edx, 0x512d64
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4f8]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
lea edx, [ebp - 0x924]
call fcn.0041edac
mov edx, dword [ebp - 0x924]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
inc word [eax + 0xc]
lea edx, [ebp - 0x928]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
call fcn.0041edac
mov edx, dword [ebp - 0x928]
lea eax, [ebp - 0xf8]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x92c]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x92c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
lea edx, [ebp - 0x934]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x934]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x938]
call fcn.0041edac
push dword [ebp - 0x938]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4f8]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x93c]
call fcn.0041edac
push dword [ebp - 0x93c]
lea eax, [ebp - 0x930]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x930]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 2
call fcn.00501580
lea eax, [ebp - 0x940]
push eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0xf8]
call fcn.00508b64
mov edx, dword [ebp - 0x940]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x50fafe
sub eax, 0xffffffd0
call fcn.00496f4c
call fcn.0049765c
jmp 0x5116a2
cmp byte [ebp - 0x6f], 0
je 0x50fd4e
push dword [ebp - 0x274]
push 0x511b08
push 0x511ad0
push 0x511b08
push 0x511ac0
lea eax, [ebp - 0x944]
mov edx, 5
call fcn.0040911c
mov edx, dword [ebp - 0x944]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4fc]
call fcn.0048a954
lea eax, [ebp - 0x114]
mov edx, 0x512da4
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4fc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
lea edx, [ebp - 0x948]
call fcn.0041edac
mov edx, dword [ebp - 0x948]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
inc word [eax + 0xc]
lea edx, [ebp - 0x94c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
call fcn.0041edac
mov edx, dword [ebp - 0x94c]
lea eax, [ebp - 0xf8]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x950]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x950]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
lea edx, [ebp - 0x958]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x958]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x95c]
call fcn.0041edac
push dword [ebp - 0x95c]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4fc]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x960]
call fcn.0041edac
push dword [ebp - 0x960]
lea eax, [ebp - 0x954]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x954]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 5
call fcn.00501580
lea eax, [ebp - 0x964]
push eax
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x10]
xor ecx, ecx
mov eax, dword [ebp - 0xf8]
call fcn.00508b64
mov edx, dword [ebp - 0x964]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x50fd3f
sub eax, 0xffffffd4
call fcn.00496f4c
call fcn.0049765c
jmp 0x5116a2
cmp byte [ebp - 0x6d], 0
je 0x5100e4
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 0x511ac0
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x508]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x50fdf4
lea eax, [ebp - 0x96c]
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x508]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x970]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x508]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x970]
mov cx, 9
mov edx, 3
call fcn.004c5ac4
mov eax, dword [ebp - 0x96c]
call fcn.0041f01c
inc eax
lea edx, [ebp - 0x968]
call fcn.0041edac
mov edx, dword [ebp - 0x968]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
push 0x512de4
mov eax, dword [ebp - 0xec]
push dword [eax + 0x14]
push 0x512e08
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 3
call fcn.0040911c
mov eax, dword [ebp - 0xec]
push dword [eax + 0x14]
push 0x511b08
push 0
lea eax, [ebp - 0x978]
mov edx, 3
call fcn.0040911c
mov edx, dword [ebp - 0x978]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x524]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea edx, [ebp - 0x974]
call fcn.0041edac
mov edx, dword [ebp - 0x974]
lea eax, [ebp - 0x280]
call fcn.00408598
lea eax, [ebp - 0x27c]
mov edx, 0x511ac0
call fcn.00408598
lea eax, [ebp - 0x278]
mov edx, 0x511ac0
call fcn.00408598
push dword [ebp - 0x288]
push 0x511b08
push dword [ebp - 0x284]
push 0x511b08
push dword [ebp - 0x280]
push 0x511b08
push dword [ebp - 0x27c]
push 0x511b08
push dword [ebp - 0x278]
lea eax, [ebp - 0x97c]
mov edx, 9
call fcn.0040911c
mov edx, dword [ebp - 0x97c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x508]
call fcn.0048a954
lea eax, [ebp - 0x114]
mov edx, 0x512e18
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x508]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
lea edx, [ebp - 0x980]
call fcn.0041edac
mov edx, dword [ebp - 0x980]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
inc word [eax + 0xc]
lea edx, [ebp - 0x984]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
call fcn.0041edac
mov edx, dword [ebp - 0x984]
lea eax, [ebp - 0xf8]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x988]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x988]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
lea edx, [ebp - 0x990]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x990]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x994]
call fcn.0041edac
push dword [ebp - 0x994]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x508]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x998]
call fcn.0041edac
push dword [ebp - 0x998]
lea eax, [ebp - 0x98c]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x98c]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 6
call fcn.00501580
lea eax, [ebp - 0x99c]
push eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
call fcn.00508b64
mov edx, dword [ebp - 0x99c]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x5100d5
sub eax, 0xffffffd8
call fcn.00496f4c
call fcn.0049765c
jmp 0x5116a2
cmp byte [ebp - 0x6e], 0
je 0x5103c7
push 0x512e60
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x524]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x9a0]
call fcn.0041edac
push dword [ebp - 0x9a0]
push 0x512e08
mov eax, dword [ebp - 0xec]
add eax, 0x14
mov edx, 3
call fcn.0040911c
mov eax, dword [ebp - 0xec]
push dword [eax + 0x14]
push 0x511b08
push 0x512e84
lea eax, [ebp - 0x9a4]
mov edx, 3
call fcn.0040911c
mov edx, dword [ebp - 0x9a4]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x524]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x290]
mov edx, dword [ebp - 0xec]
mov edx, dword [edx + 0x14]
call fcn.00408598
push dword [ebp - 0x298]
push 0x511b08
push dword [ebp - 0x294]
push 0x511b08
push dword [ebp - 0x290]
push 0x511b08
push 0x511ad0
lea eax, [ebp - 0x9a8]
mov edx, 7
call fcn.0040911c
mov edx, dword [ebp - 0x9a8]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x50c]
call fcn.0048a954
lea eax, [ebp - 0x114]
mov edx, 0x512e9c
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x50c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
lea edx, [ebp - 0x9ac]
call fcn.0041edac
mov edx, dword [ebp - 0x9ac]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
inc word [eax + 0xc]
lea edx, [ebp - 0x9b0]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
call fcn.0041edac
mov edx, dword [ebp - 0x9b0]
lea eax, [ebp - 0xf8]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x9b4]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x9b4]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
lea edx, [ebp - 0x9bc]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x9bc]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x9c0]
call fcn.0041edac
push dword [ebp - 0x9c0]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x50c]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x9c4]
call fcn.0041edac
push dword [ebp - 0x9c4]
lea eax, [ebp - 0x9b8]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x9b8]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 4
call fcn.00501580
lea eax, [ebp - 0x9c8]
push eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
call fcn.00508b64
mov edx, dword [ebp - 0x9c8]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x5103b8
sub eax, 0xffffffdc
call fcn.00496f4c
call fcn.0049765c
jmp 0x5116a2
cmp byte [ebp - 0x70], 0
je 0x510662
mov eax, dword [ebp - 0x2a8]
mov edx, 0x511b90
call fcn.004091cc
je 0x5116a2
lea eax, [ebp - 0x2a4]
mov edx, 0x512330
call fcn.00408598
lea eax, [ebp - 0x2a0]
mov edx, 0x511c7c
call fcn.00408598
lea eax, [ebp - 0x29c]
mov edx, 0x511c90
call fcn.00408598
push dword [ebp - 0x2a8]
push 0x511b08
push dword [ebp - 0x2a4]
push 0x511b08
push dword [ebp - 0x2a0]
push 0x511b08
push dword [ebp - 0x29c]
lea eax, [ebp - 0x9cc]
mov edx, 7
call fcn.0040911c
mov edx, dword [ebp - 0x9cc]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x500]
call fcn.0048a954
lea eax, [ebp - 0x114]
mov edx, 0x512ee4
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x500]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
lea edx, [ebp - 0x9d0]
call fcn.0041edac
mov edx, dword [ebp - 0x9d0]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
inc word [eax + 0xc]
lea edx, [ebp - 0x9d4]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
call fcn.0041edac
mov edx, dword [ebp - 0x9d4]
lea eax, [ebp - 0xf8]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0x9d8]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0x9d8]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
lea edx, [ebp - 0x9e0]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0x9e0]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x9e4]
call fcn.0041edac
push dword [ebp - 0x9e4]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x500]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0x9e8]
call fcn.0041edac
push dword [ebp - 0x9e8]
lea eax, [ebp - 0x9dc]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0x9dc]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 0x28
call fcn.00501580
lea eax, [ebp - 0x9ec]
push eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
call fcn.00508b64
mov edx, dword [ebp - 0x9ec]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x510653
sub eax, 0xffffffe0
call fcn.00496f4c
call fcn.0049765c
jmp 0x5116a2
lea eax, [ebp - 0x118]
mov edx, 0x511aac
call fcn.00408598
cmp byte [ebp - 0xa6], 0
je 0x51116e
cmp byte [0x521914], 0
je 0x51116e
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
push eax
call sub.user32.dll_ScreenToClient
lea edx, [ebp - 0x9f0]
mov eax, dword [ebp - 0x4c]
call fcn.0041edac
mov edx, dword [ebp - 0x9f0]
lea eax, [ebp - 0x224]
call fcn.00408598
lea edx, [ebp - 0x9f4]
mov eax, dword [ebp - 0x48]
call fcn.0041edac
mov edx, dword [ebp - 0x9f4]
lea eax, [ebp - 0x220]
call fcn.00408598
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0xc]
push eax
call sub.user32.dll_ScreenToClient
lea edx, [ebp - 0x9f8]
mov eax, dword [ebp - 0x4c]
call fcn.0041edac
mov edx, dword [ebp - 0x9f8]
lea eax, [ebp - 0x21c]
call fcn.00408598
lea edx, [ebp - 0x9fc]
mov eax, dword [ebp - 0x48]
call fcn.0041edac
mov edx, dword [ebp - 0x9fc]
lea eax, [ebp - 0x218]
call fcn.00408598
or edx, 0xffffffff
mov eax, dword [ebp - 0x1e0]
call fcn.0041f058
mov dword [ebp - 0x4c], eax
or edx, 0xffffffff
mov eax, dword [ebp - 0x1dc]
call fcn.0041f058
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x10]
push eax
call sub.user32.dll_ClientToScreen
cmp dword [ebp - 0x4c], 0
jl 0x510789
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x4c]
jge 0x51079b
lea eax, [ebp - 0x214]
mov edx, 0x511ad0
call fcn.00408598
jmp 0x5107bd
lea edx, [ebp - 0xa00]
mov eax, dword [ebp - 0x78]
sub eax, dword [ebp - 0x4c]
call fcn.0041edac
mov edx, dword [ebp - 0xa00]
lea eax, [ebp - 0x214]
call fcn.00408598
cmp dword [ebp - 0x48], 0
jl 0x5107cb
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x48]
jge 0x5107dd
lea eax, [ebp - 0x210]
mov edx, 0x511ad0
call fcn.00408598
jmp 0x5107ff
lea edx, [ebp - 0xa04]
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x48]
call fcn.0041edac
mov edx, dword [ebp - 0xa04]
lea eax, [ebp - 0x210]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x527b04]
jne 0x510eb9
mov al, byte [0x527af8]
or al, byte [0x527aec]
jne 0x510838
cmp byte [0x527add], 0
je 0x510eb9
mov eax, dword [0x527b00]
mov edx, 0x511d38
call fcn.004091cc
jne 0x510929
mov eax, dword [ebp - 0x38]
mov edx, 0x511d64
call fcn.004091cc
jne 0x510929
lea eax, [ebp - 0x38]
mov edx, 0x512704
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0xa08]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa08]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0xa0c]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x38]
mov edx, dword [0x527b00]
call fcn.00432fbc
mov edx, dword [ebp - 0xa0c]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b00
mov edx, dword [ebp - 0x38]
call fcn.00408550
mov byte [0x527add], 0
jmp 0x5116a2
mov eax, dword [0x527b00]
mov edx, 0x511d8c
call fcn.004091cc
jne 0x510a1a
mov eax, dword [ebp - 0x38]
mov edx, 0x511db8
call fcn.004091cc
jne 0x510a1a
lea eax, [ebp - 0x38]
mov edx, 0x512728
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0xa10]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa10]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0xa14]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x38]
mov edx, dword [0x527b00]
call fcn.00432fbc
mov edx, dword [ebp - 0xa14]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b00
mov edx, dword [ebp - 0x38]
call fcn.00408550
mov byte [0x527add], 0
jmp 0x5116a2
mov eax, dword [0x527b00]
mov edx, 0x511de0
call fcn.004091cc
jne 0x510b0b
mov eax, dword [ebp - 0x38]
mov edx, 0x511e0c
call fcn.004091cc
jne 0x510b0b
lea eax, [ebp - 0x38]
mov edx, 0x51274c
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0xa18]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa18]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0xa1c]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x38]
mov edx, dword [0x527b00]
call fcn.00432fbc
mov edx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b00
mov edx, dword [ebp - 0x38]
call fcn.00408550
mov byte [0x527add], 0
jmp 0x5116a2
mov eax, dword [0x527b00]
mov edx, 0x512704
call fcn.004091cc
jne 0x510c13
mov eax, dword [ebp - 0x38]
mov edx, 0x511d38
call fcn.004091cc
jne 0x510c13
cmp byte [0x527aec], 0
je 0x510c13
call fcn.005130f8
cmp eax, dword [ebp - 0x88]
jl 0x510c13
lea eax, [ebp - 0x38]
mov edx, 0x512774
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0xa20]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa20]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0xa24]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x38]
mov edx, dword [0x527b00]
call fcn.00432fbc
mov edx, dword [ebp - 0xa24]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b00
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b00]
mov edx, 0x512728
call fcn.004091cc
jne 0x510d1b
mov eax, dword [ebp - 0x38]
mov edx, 0x511d8c
call fcn.004091cc
jne 0x510d1b
cmp byte [0x527aec], 0
je 0x510d1b
call fcn.005130f8
cmp eax, dword [ebp - 0x88]
jl 0x510d1b
lea eax, [ebp - 0x38]
mov edx, 0x5127a4
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0xa28]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa28]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0xa2c]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x38]
mov edx, dword [0x527b00]
call fcn.00432fbc
mov edx, dword [ebp - 0xa2c]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b00
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b00]
mov edx, 0x51274c
call fcn.004091cc
jne 0x510e23
mov eax, dword [ebp - 0x38]
mov edx, 0x511de0
call fcn.004091cc
jne 0x510e23
cmp byte [0x527aec], 0
je 0x510e23
call fcn.005130f8
cmp eax, dword [ebp - 0x88]
jl 0x510e23
lea eax, [ebp - 0x38]
mov edx, 0x5127d8
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0xa30]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa30]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0xa34]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x38]
mov edx, dword [0x527b00]
call fcn.00432fbc
mov edx, dword [ebp - 0xa34]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x14]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b00
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b00]
mov edx, 0x512774
call fcn.004091cc
jne 0x510e55
mov eax, dword [ebp - 0x38]
mov edx, 0x511d64
call fcn.004091cc
jne 0x510e55
mov eax, 0x527b00
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b00]
mov edx, 0x5127a4
call fcn.004091cc
jne 0x510e87
mov eax, dword [ebp - 0x38]
mov edx, 0x511db8
call fcn.004091cc
jne 0x510e87
mov eax, 0x527b00
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, dword [0x527b00]
mov edx, 0x5127d8
call fcn.004091cc
jne 0x510eb9
mov eax, dword [ebp - 0x38]
mov edx, 0x511e0c
call fcn.004091cc
jne 0x510eb9
mov eax, 0x527b00
mov edx, dword [ebp - 0x38]
call fcn.00408550
jmp 0x5116a2
mov eax, 0x527b00
mov edx, dword [ebp - 0x38]
call fcn.00408550
lea eax, [ebp - 0x228]
mov edx, dword [ebp - 0x38]
call fcn.00408598
push dword [ebp - 0x230]
push 0x511b08
push dword [ebp - 0x22c]
push 0x511b08
push dword [ebp - 0x228]
push 0x511b08
push dword [ebp - 0x224]
push 0x511b08
push dword [ebp - 0x220]
push 0x511b08
push dword [ebp - 0x21c]
push 0x511b08
push dword [ebp - 0x218]
push 0x511b08
push dword [ebp - 0x214]
push 0x511b08
push dword [ebp - 0x210]
lea eax, [ebp - 0xa38]
mov edx, 0x11
call fcn.0040911c
mov edx, dword [ebp - 0xa38]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
call fcn.0048a954
lea eax, [ebp - 0x114]
mov edx, 0x512f1c
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
lea edx, [ebp - 0xa3c]
call fcn.0041edac
mov edx, dword [ebp - 0xa3c]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
inc word [eax + 0xc]
lea edx, [ebp - 0xa40]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
call fcn.0041edac
mov edx, dword [ebp - 0xa40]
lea eax, [ebp - 0xf8]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0xa44]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0xa44]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
mov dword [0x527b04], eax
lea edx, [ebp - 0xa4c]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0xa4c]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0xa50]
call fcn.0041edac
push dword [ebp - 0xa50]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4e0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0xa54]
call fcn.0041edac
push dword [ebp - 0xa54]
lea eax, [ebp - 0xa48]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0xa48]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 0xa
call fcn.00501580
lea eax, [ebp - 0xa58]
push eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
call fcn.00508b64
mov edx, dword [ebp - 0xa58]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x51115f
sub eax, 0xffffffe4
call fcn.00496f4c
call fcn.0049765c
jmp 0x5116a2
cmp byte [ebp - 0x69], 0
je 0x5116a2
cmp byte [0x521915], 0
je 0x5116a2
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, dword [0x527b28]
jne 0x5113a2
mov eax, dword [ebp - 0x34]
call fcn.00408668
mov edx, dword [ebp - 0x34]
cmp word [edx + eax*2 - 2], 0x7d
sete al
or al, byte [0x527aec]
je 0x5113a2
mov eax, dword [ebp - 0x34]
call fcn.00408668
mov edx, dword [ebp - 0x34]
cmp word [edx + eax*2 - 4], 0x6e
jne 0x51122c
mov eax, 0x527b24
mov dx, 0x7b
call fcn.00427a98
inc eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x527b24]
call fcn.00408668
mov ecx, eax
mov edx, dword [ebp - 0x64]
mov eax, dword [0x527b24]
call fcn.00409204
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x34]
call fcn.004091cc
jne 0x51122c
mov eax, dword [0x527b24]
call fcn.00408668
mov ecx, eax
mov eax, 0x527b24
mov edx, dword [ebp - 0x64]
call fcn.0040924c
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov edx, dword [0x527b24]
call fcn.00409094
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4ec]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0xa5c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4ec]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0xa5c]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
lea eax, [ebp - 0xa60]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov cx, 9
mov edx, 2
call fcn.004c5ac4
mov eax, dword [ebp - 0xa60]
push eax
lea eax, [ebp - 0xa64]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
mov cx, 9
mov edx, 1
call fcn.004c5ac4
mov edx, dword [ebp - 0xa64]
mov eax, dword [ebp - 0xec]
add eax, 0x14
pop ecx
call fcn.00409094
mov eax, dword [ebp - 0xec]
add eax, 0x14
push eax
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4ec]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0xa68]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4ec]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0xa68]
push eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax + 0x14]
call fcn.00408668
mov ecx, eax
add ecx, 2
mov edx, 1
pop eax
call fcn.00409204
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4ec]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
push eax
mov eax, dword [ebp - 0xec]
push dword [eax + 0x14]
push dword [ebp - 0x34]
push 0x511b08
push 0x511c7c
lea eax, [ebp - 0xa6c]
mov edx, 4
call fcn.0040911c
mov ecx, dword [ebp - 0xa6c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4ec]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, 0x527b24
mov edx, dword [ebp - 0x34]
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
jmp 0x5116a2
push 0x5123a0
lea edx, [ebp - 0xa70]
xor eax, eax
call fcn.00508984
push dword [ebp - 0xa70]
push 0x511bd0
push dword [ebp - 0x34]
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.0040911c
push 0x90
call sub.user32.dll_GetKeyState
test al, 1
je 0x5113ef
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov edx, 0x512830
call fcn.00409094
jmp 0x5113ff
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov edx, 0x512858
call fcn.00409094
cmp byte [0x527b35], 0
je 0x51141a
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov edx, 0x512884
call fcn.00409094
jmp 0x51142a
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
mov edx, 0x5128b0
call fcn.00409094
lea eax, [ebp - 0x248]
mov edx, dword [ebp - 0x34]
call fcn.00408598
mov eax, 0x527b24
mov edx, dword [ebp - 0x34]
call fcn.00408550
push dword [ebp - 0x250]
push 0x511b08
push dword [ebp - 0x24c]
push 0x511b08
push dword [ebp - 0x248]
push 0x511b08
push 0x511c7c
lea eax, [ebp - 0xa74]
mov edx, 7
call fcn.0040911c
mov edx, dword [ebp - 0xa74]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4ec]
call fcn.0048a954
lea eax, [ebp - 0x114]
mov edx, 0x512f44
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4ec]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
lea edx, [ebp - 0xa78]
call fcn.0041edac
mov edx, dword [ebp - 0xa78]
lea eax, [ebp - 0x110]
call fcn.00408598
mov eax, dword [0x521aa0]
mov eax, dword [eax]
inc word [eax + 0xc]
lea edx, [ebp - 0xa7c]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
call fcn.0041edac
mov edx, dword [ebp - 0xa7c]
lea eax, [ebp - 0xf8]
call fcn.00408598
mov eax, dword [0x521d4c]
mov eax, dword [eax]
call fcn.004fe9e4
push eax
push dword [ebp - 0x118]
push 0x511b08
push dword [ebp - 0x114]
push 0x511b08
push dword [ebp - 0x110]
push 0x511b08
push dword [ebp - 0x10c]
push 0x511b08
push dword [ebp - 0x108]
push 0x511b08
push dword [ebp - 0x104]
push 0x511b08
push dword [ebp - 0x100]
push 0x511b08
push dword [ebp - 0xfc]
push 0x511b08
push dword [ebp - 0xf8]
lea eax, [ebp - 0xa80]
mov edx, 0x11
call fcn.0040911c
mov ecx, dword [ebp - 0xa80]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
pop edx
mov ebx, dword [eax]
call dword [ebx + 0x64]
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
mov dword [0x527b28], eax
lea edx, [ebp - 0xa88]
mov eax, dword [0x521c80]
call fcn.0040c110
push dword [ebp - 0xa88]
push 0x511b30
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4d0]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0xa8c]
call fcn.0041edac
push dword [ebp - 0xa8c]
push 0x511b30
push dword [ebp - 0x114]
push 0x511b40
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov eax, dword [eax + 0x4ec]
mov edx, dword [eax]
call dword [edx + 0x14]
lea edx, [ebp - 0xa90]
call fcn.0041edac
push dword [ebp - 0xa90]
lea eax, [ebp - 0xa84]
mov edx, 7
call fcn.0040911c
mov ecx, dword [ebp - 0xa84]
mov eax, dword [0x521d4c]
mov eax, dword [eax]
mov edx, 8
call fcn.00501580
lea eax, [ebp - 0xa94]
push eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xec]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xf8]
call fcn.00508b64
mov edx, dword [ebp - 0xa94]
mov eax, dword [ebp - 0xec]
add eax, 0x14
call fcn.00408550
mov eax, dword [0x521aa0]
mov eax, dword [eax]
mov byte [eax + 0xe], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x511698
sub eax, 0xffffffe8
call fcn.00496f4c
call fcn.0049765c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x511a99
lea eax, [ebp - 0xa94]
mov edx, 0x64
call fcn.004081d0
lea eax, [ebp - 0x904]
mov edx, 0x13
call fcn.004081d0
lea eax, [ebp - 0x8b8]
call fcn.0042b930
lea eax, [ebp - 0x8a8]
mov edx, 0xb
call fcn.004081d0
lea eax, [ebp - 0x87c]
mov edx, dword [0x401300]
mov ecx, 4
call fcn.004097b4
lea eax, [ebp - 0x82c]
call fcn.0042b930
lea eax, [ebp - 0x81c]
mov edx, 0x40
call fcn.004081d0
lea eax, [ebp - 0x71c]
mov edx, 0x3a
call fcn.004081d0
lea eax, [ebp - 0x634]
call fcn.004081b8
lea eax, [ebp - 0x630]
mov edx, 2
call fcn.004081d0
lea eax, [ebp - 0x628]
call fcn.004081b8
lea eax, [ebp - 0x624]
mov edx, 4
call fcn.004081d0
lea eax, [ebp - 0x614]
call fcn.0040bbd0
lea eax, [ebp - 0x610]
mov edx, 3
call fcn.004081d0
lea eax, [ebp - 0x604]
call fcn.0040bbd0
lea eax, [ebp - 0x600]
call fcn.0040bbd0
lea eax, [ebp - 0x5fc]
call fcn.0042b930
lea eax, [ebp - 0x5ec]
call fcn.00408170
lea eax, [ebp - 0x5e8]
call fcn.0040bbd0
lea eax, [ebp - 0x5e4]
call fcn.0040bbd0
lea eax, [ebp - 0x5e0]
call fcn.004081b8
lea eax, [ebp - 0x5dc]
mov edx, 2
call fcn.004081d0
lea eax, [ebp - 0x5d4]
call fcn.0040bbd0
lea eax, [ebp - 0x5cc]
call fcn.00408170
lea eax, [ebp - 0x5c8]
call fcn.004081b8
lea eax, [ebp - 0x5c4]
mov edx, 9
call fcn.004081d0
lea eax, [ebp - 0x5a0]
call fcn.004081b8
lea eax, [ebp - 0x59c]
mov edx, 2
call fcn.004081d0
lea eax, [ebp - 0x594]
call fcn.0040bbd0
lea eax, [ebp - 0x590]
call fcn.004081b8
lea eax, [ebp - 0x58c]
call fcn.0040bbd0
lea eax, [ebp - 0x588]
call fcn.004081b8
lea eax, [ebp - 0x57c]
mov edx, 2
call fcn.004081d0
lea eax, [ebp - 0x584]
mov edx, 2
call fcn.004081d0
lea eax, [ebp - 0x574]
mov edx, 3
call fcn.004081d0
lea eax, [ebp - 0x568]
call fcn.0040bbd0
lea eax, [ebp - 0x564]
call fcn.004081b8
lea eax, [ebp - 0x560]
mov edx, 9
call fcn.004081d0
lea eax, [ebp - 0x53c]
mov edx, dword [0x4dc4bc]
call fcn.00409764
lea eax, [ebp - 0x52c]
mov edx, dword [0x4dc3f4]
call fcn.00409764
lea eax, [ebp - 0x4e0]
call fcn.0042b930
lea eax, [ebp - 0x4cc]
mov edx, dword [0x4dc55c]
call fcn.00409764
lea eax, [ebp - 0x4b4]
mov edx, dword [0x4dc508]
call fcn.00409764
lea eax, [ebp - 0x4a0]
mov edx, dword [0x4dc3f4]
call fcn.00409764
lea eax, [ebp - 0x454]
mov edx, dword [0x4dbfb4]
call fcn.00409764
lea eax, [ebp - 0x43c]
mov edx, dword [0x4dc004]
call fcn.00409764
lea eax, [ebp - 0x2a8]
mov edx, dword [0x4dc3a4]
call fcn.00409764
lea eax, [ebp - 0x298]
mov edx, dword [0x4dc35c]
call fcn.00409764
lea eax, [ebp - 0x288]
mov edx, dword [0x4dc30c]
call fcn.00409764
lea eax, [ebp - 0x274]
mov edx, dword [0x4dc2c8]
call fcn.00409764
lea eax, [ebp - 0x268]
mov edx, dword [0x4dc284]
call fcn.00409764
lea eax, [ebp - 0x25c]
mov edx, dword [0x4dc240]
call fcn.00409764
lea eax, [ebp - 0x250]
mov edx, dword [0x4dc1b4]
call fcn.00409764
lea eax, [ebp - 0x23c]
mov edx, dword [0x4dc144]
call fcn.00409764
lea eax, [ebp - 0x230]
mov edx, dword [0x4dc090]
call fcn.00409764
lea eax, [ebp - 0x1e8]
mov edx, dword [0x4dbee8]
call fcn.00409764
lea eax, [ebp - 0x194]
mov edx, dword [0x4dbdf8]
call fcn.00409764
lea eax, [ebp - 0x12c]
mov edx, dword [0x4dbdb0]
call fcn.00409764
lea eax, [ebp - 0x118]
mov edx, dword [0x4dbd3c]
call fcn.00409764
lea eax, [ebp - 0xf0]
call fcn.0040bbd0
lea eax, [ebp - 0xe0]
mov edx, 5
call fcn.004081d0
lea eax, [ebp - 0xc8]
call fcn.0040bbd0
lea eax, [ebp - 0xc0]
call fcn.0040bbd0
lea eax, [ebp - 0xb4]
call fcn.00408170
lea eax, [ebp - 0xac]
call fcn.0040bbd0
lea eax, [ebp - 0x80]
call fcn.00408170
lea eax, [ebp - 0x44]
call fcn.004081b8
lea eax, [ebp - 0x40]
mov edx, 4
call fcn.004081d0
lea eax, [ebp - 0x30]
mov edx, dword [0x4dc204]
call fcn.00409764
lea eax, [ebp - 0x28]
mov edx, dword [0x4dc184]
call fcn.00409764
lea eax, [ebp - 0x10]
call fcn.0042b930
ret