Function at 0x469f7d
Capabilities:
Check for time delay via gettickcount
Check for unmoving mouse cursor
Log keystrokes via polling
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x168
push ebx
xor ebx, ebx
push esi
mov dword [ebp + 0x44], ebx
cmp dword [ebp + 0x7c], ebx
push edi
mov dword [ebp + 0x60], ecx
jne 0x469f9e
mov eax, dword [ecx + 0x28]
mov dword [ebp + 0x7c], eax
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x74], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00431c97
mov eax, dword [ebp + 0x74]
pop ecx
lea ecx, [ebp + 0x38]
mov esi, ecx
mov word [ebp + 0x38], bx
mov edi, eax
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x3c], esi
jmp 0x469fcc
cmp cx, 0x3d
je 0x469fd6
inc eax
inc eax
mov cx, word [eax]
cmp cx, bx
jne 0x469fc4
jmp 0x469fdf
lea esi, [eax + 2]
mov word [eax], bx
mov dword [ebp + 0x3c], esi
push edi
call fcn.0040d1db
mov eax, dword [ebp + 0x60]
cmp byte [eax + 0x92], 0
pop ecx
mov dword [ebp + 0x20], ebx
jne 0x46a00d
test byte [eax + 9], 0xf
jne 0x46a00d
mov ecx, dword [ebp + 0x60]
push 1
push ebx
lea eax, [ebp + 0x20]
push eax
push edi
call fcn.0043fcda
jmp 0x46a01d
mov ecx, dword [ebp + 0x60]
push 1
push ebx
lea eax, [ebp + 0x20]
push eax
push edi
call fcn.0043eb92
lea ecx, [ebp + 0x24]
call fcn.0043717e
mov ecx, dword [ebp + 0x60]
push 1
push ebx
lea eax, [ebp + 0x24]
push eax
push esi
call fcn.0043fdd2
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0x20]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov dword [ebp + 0x68], eax
cmp word [edi], 0x40
jne 0x46a1ee
push str._DeskTopFresh
push edi
call esi
test eax, eax
jne 0x46a14a
mov edx, dword [ebp + 0x68]
cmp word [edx], bx
mov dword [ebp + 0x7c], 0xfff80000
mov dword [ebp + 0x78], edx
mov eax, edx
je 0x46a0a2
mov cx, word [eax]
cmp cx, 0x2c
je 0x46a096
cmp cx, 0x3b
je 0x46a096
cmp cx, 0x3a
je 0x46a096
cmp cx, 0x23
je 0x46a096
inc eax
inc eax
cmp word [eax], bx
jne 0x46a072
jmp 0x46a0a2
mov word [eax], bx
mov edx, dword [ebp + 0x68]
add eax, 2
mov dword [ebp + 0x78], eax
push edx
push str.clearicon
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46a0f7
lea ecx, [ebp + 0x74]
call fcn.0043717e
push 0x23
pop ecx
mov esi, str._userprofile_AppDataLocalMicrosoftWindowsExplorer_thumbcache.db
lea edi, [ebp - 0xc4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x60]
push 1
push ebx
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp - 0xc4]
push eax
movsw word es:[edi], word [esi]
call fcn.0043eb92
push 1
push dword [ebp + 0x74]
call fcn.00413962
pop ecx
pop ecx
lea ecx, [ebp + 0x74]
call fcn.00431c4c
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00439fac
test byte [ebp + 0x7c], 4
pop ecx
pop ecx
je 0x46a113
call fcn.00402e5d
jmp 0x46a143
cmp dword [ebp + 0x7c], 2
jne 0x46a139
push ebx
push 0x4b0080
push str.USER32.DLL
push str.UpdatePerUserSystemParameters
call fcn.00432cb9
add esp, 0x10
call dword [0x4b0080]
jmp 0x46a143
cmp dword [ebp + 0x7c], ebx
jl 0x46a143
call fcn.00476934
xor esi, esi
jmp 0x46b771
push str._TaskIcoMenu
push edi
call esi
test eax, eax
jne 0x46a1ee
push dword [ebp + 0x68]
push 0x49b1d0
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46a1af
push dword [ebp + 0x68]
push 0x49fa54
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46a19c
push dword [ebp + 0x68]
push 0x49ac14
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46a143
cmp byte [0x4afe04], 0
je 0x46a1af
mov ecx, 0x4b02c8
mov byte [0x4afe04], 0
call fcn.00432210
jmp 0x46a143
cmp byte [0x4b3003], 0
je 0x46a1c7
push dword [0x4afe14]
mov byte [0x4afe04], 1
jmp 0x46a1e7
mov eax, dword [0x4aff50]
cmp eax, ebx
je 0x46a143
cmp dword [eax + 0x18], ebx
je 0x46a143
mov byte [0x4afe04], 1
push dword [eax + 0x18]
call fcn.0040ea53
jmp 0x46a1fe
mov ax, word [edi]
cmp ax, bx
jne 0x46a204
push dword [ebp + 0x60]
call fcn.0040f152
pop ecx
jmp 0x46a143
cmp ax, 0x40
je 0x46a21d
push dword [ebp + 0x60]
call fcn.0040f152
cmp dword [ebp + 0x7c], ebx
pop ecx
jne 0x46a222
jmp 0x46a143
cmp dword [ebp + 0x7c], ebx
je 0x46a22a
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 0x78]
jmp 0x46a22f
mov eax, 0x497994
push eax
lea ecx, [ebp + 0x1c]
call fcn.004419bc
xor eax, eax
mov ax, word [edi]
mov edx, edi
mov ecx, edi
jmp 0x46a251
cmp ax, 0x3a
jne 0x46a24c
lea edx, [ecx + 2]
inc ecx
inc ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x46a243
push edx
lea ecx, [ebp + 0x30]
call fcn.004419bc
xor ecx, ecx
mov cx, word [edi]
xor edx, edx
cmp cx, bx
mov eax, edi
mov dword [ebp + 0x74], eax
je 0x46a28e
cmp cx, 0x2e
jne 0x46a278
mov edx, eax
inc eax
inc eax
mov cx, word [eax]
cmp cx, bx
jne 0x46a270
cmp edx, ebx
mov dword [ebp + 0x74], eax
je 0x46a28e
mov eax, edx
mov dword [ebp + 0x74], eax
cmp word [eax], 0x2e
mov dword [ebp + 0x54], ebx
jne 0x46a2a2
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00431c97
cmp dword [ebp + 0x54], ebx
pop ecx
je 0x46a2c7
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x74]
push eax
call fcn.004047e3
mov eax, dword [ebp + 0x74]
pop ecx
mov word [eax], bx
mov ebx, dword [ebp + 0x78]
test ebx, ebx
mov byte [ebp + 0x5b], 0
mov byte [ebp + 0x74], 0
je 0x46a370
cmp word [ebx], 0
mov ecx, ebx
je 0x46a370
push 0x7e
pop esi
xor edx, edx
mov dx, word [ecx]
mov eax, edx
call fcn.00431c5f
test al, al
jne 0x46a370
cmp dx, 0x2e
je 0x46a35f
cmp dx, 0x24
je 0x46a35f
cmp dx, 0x25
je 0x46a35f
cmp dx, 0x2a
jne 0x46a317
or byte [ebp + 0x74], 4
jmp 0x46a364
cmp dx, si
jne 0x46a364
lea eax, [ecx + 2]
cmp word [eax], si
jne 0x46a32c
or byte [ebp + 0x74], 2
mov ecx, eax
jmp 0x46a364
cmp dx, si
jne 0x46a364
lea eax, [ecx + 2]
cmp word [eax], 0x2e
jne 0x46a340
or byte [ebp + 0x74], 8
jmp 0x46a328
cmp dx, si
jne 0x46a364
lea eax, [ecx + 2]
cmp word [eax], 0x2a
jne 0x46a354
or byte [ebp + 0x74], 0xa
jmp 0x46a328
cmp dx, si
jne 0x46a364
or byte [ebp + 0x74], 1
jmp 0x46a364
mov al, byte [ecx]
mov byte [ebp + 0x5b], al
inc ecx
inc ecx
cmp word [ecx], 0
jne 0x46a2e9
and dword [ebp + 0x78], 0
cmp byte [ebp + 0x74], 0
je 0x46a38c
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
lea eax, [ebp + 0x24]
push eax
call fcn.0044fa57
mov dword [ebp + 0x68], eax
lea ecx, [ebp + 0x18]
call fcn.0043717e
cmp byte [ebp + 0x5b], 0
je 0x46a3b5
cmp byte [ebp + 0x5b], 0x2e
je 0x46a3b5
lea eax, [ebp + 0x78]
push eax
push ebx
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004464f0
add esp, 0x10
push edi
lea ecx, [ebp + 0x14]
call fcn.004419bc
mov eax, dword [ebp + 0x14]
xor esi, esi
cmp dword [ebp + 0x54], esi
mov dword [ebp + 0x34], eax
jne 0x46a3d2
mov dword [ebp + 0x54], 0x497994
cmp word [edi], 0x40
je 0x46af2a
mov eax, 0x4b069c
push eax
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x64], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 0x60]
mov byte [ebp + 0x7b], 1
mov byte [ebp + 0x7f], 0
mov byte [ebp + 0x77], 0
mov dword [ebp + 0x50], edi
cmp byte [ebp + 0x7f], 0
je 0x46a40a
mov byte [ebp + 0x77], 1
mov ebx, dword [ebp + 0x34]
push 0x3a
lea eax, [ebp + 0x5c]
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x5c], ebx
call fcn.00410b80
mov eax, dword [ebp + 0x5c]
cmp word [eax], 0x3a
pop ecx
mov byte [ebp + 0x7f], 0
jne 0x46a43f
and word [eax], 0
add eax, 2
cmp word [eax], 0
mov dword [ebp + 0x34], eax
je 0x46a43f
mov byte [ebp + 0x7f], 1
cmp byte [ebp + 0x7b], 0
je 0x46a460
push ebx
push 0x49c2a4
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46a460
mov ebx, dword [ebp + 0x1c]
mov byte [ebp + 0x77], 1
mov dword [ebp + 0x40], ebx
mov esi, dword [edi + 0x28]
push ebx
push 0x498920
mov byte [ebp + 0x7b], 0
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46a4c3
mov edi, dword [edi + 0x24]
mov esi, dword [edi + 0x28]
test esi, esi
mov dword [ebp + 0x50], edi
je 0x46a48a
lea eax, [esi + 0x78]
jmp 0x46a49e
or dword [ebp + 0x44], 1
push 0x497994
lea ecx, [ebp + 0x2c]
call fcn.004419bc
lea eax, [ebp + 0x2c]
test byte [ebp + 0x44], 1
mov ebx, dword [eax]
mov dword [ebp + 0x40], ebx
je 0x46a4b5
and dword [ebp + 0x44], 0xfffffffe
lea ecx, [ebp + 0x2c]
call fcn.00431c4c
cmp byte [ebp + 0x7f], 0
mov byte [ebp + 0x77], 1
jne 0x46a406
test esi, esi
je 0x46a5a3
cmp esi, dword [ebp + 0x4c]
je 0x46a5a3
cmp byte [ebp + 0x7f], 0
jne 0x46a4ed
mov eax, dword [esi + 0x78]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x46a5e1
and dword [ebp + 0x5c], 0
cmp dword [esi + 0x80], 0
jle 0x46a531
xor ebx, ebx
mov eax, dword [esi + 0x7c]
mov edi, dword [ebx + eax + 4]
test edi, edi
je 0x46a520
mov eax, dword [edi + 0x78]
test eax, eax
je 0x46a520
push dword [ebp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x46a5df
inc dword [ebp + 0x5c]
mov eax, dword [ebp + 0x5c]
add ebx, 0x10
cmp eax, dword [esi + 0x80]
jl 0x46a4fc
mov eax, dword [esi + 0xc4]
xor ebx, ebx
cmp dword [eax], ebx
jle 0x46a57b
mov eax, dword [esi + 0xc0]
mov eax, dword [eax]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x46a570
mov eax, dword [edi + 8]
test eax, eax
je 0x46a570
push dword [ebp + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x46a570
cmp byte [ebp + 0x7f], al
je 0x46a930
cmp dword [edi + 4], 0xf
je 0x46a5d1
mov eax, dword [esi + 0xc4]
inc ebx
cmp ebx, dword [eax]
jl 0x46a53d
cmp byte [ebp + 0x7f], 0
jne 0x46ae8e
push dword [ebp + 0x40]
lea eax, [esi + 0x160]
push eax
call fcn.004772fa
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x46a73a
mov edi, dword [ebp + 0x50]
cmp byte [ebp + 0x77], 0
jne 0x46ae8e
mov edi, dword [edi + 0x24]
mov dword [ebp + 0x4c], esi
xor esi, esi
cmp edi, esi
mov dword [ebp + 0x50], edi
je 0x46aa19
cmp edi, 0x4aff28
jne 0x46a400
jmp 0x46aa19
mov eax, dword [edi + 0x1c]
mov edi, dword [eax + 0x150]
jmp 0x46a3fd
mov esi, edi
mov edi, dword [ebp + 0x54]
push edi
push str.MouseCapture
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46a956
push edi
push str.POSTMSG
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46a62a
mov ecx, dword [esi + 0xf4]
xor edi, edi
push edi
push edi
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x3c]
call fcn.0047e1f2
cmp dword [ebp + 0x64], edi
mov esi, eax
jmp 0x46aa1c
push edi
push str.SENDMSG
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46a658
mov ecx, dword [esi + 0xf4]
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
push esi
push dword [ebp + 0x3c]
call fcn.0047e1f2
jmp 0x46aedb
push edi
push 0x497cc0
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46a6d8
mov eax, dword [esi + 0xf4]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp], eax
mov eax, dword [esi + 0x18]
xor ebx, ebx
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0x64]
cmp eax, ebx
mov dword [ebp - 0x10], 3
mov dword [ebp - 0xc], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], 1
mov dword [ebp + 0x10], ebx
je 0x46a6b0
push eax
mov dword [ebp + 0x64], ebx
call edi
lea eax, [ebp - 0x10]
push eax
push esi
push 0x465
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp + 0x64], ebx
mov esi, eax
je 0x46b751
push dword [ebp + 0x64]
call edi
jmp 0x46b751
push edi
push 0x4a0e6c
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46ab76
push edi
push 0x4a0e68
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46a708
mov esi, dword [esi + 0x18]
xor ebx, ebx
jmp 0x46aa53
mov eax, dword [ebp + 0x64]
test eax, eax
mov edi, dword [esi + 0x18]
je 0x46a71d
and dword [ebp + 0x64], 0
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push esi
push dword [ebp + 0x30]
push dword [ebp + 0x54]
push dword [ebp + 0x68]
push edi
push dword [ebp + 0x60]
call fcn.00431fd7
add esp, 0x1c
jmp 0x46aa17
mov ebx, dword [ebp + 0x54]
cmp word [ebx], 0
jne 0x46a76c
push dword [ebp + 0x68]
lea ecx, [edi + 4]
call fcn.00441a80
mov edi, dword [edi + 0xc]
cmp word [edi], 0
je 0x46aa17
push dword [ebp + 0x68]
mov ecx, dword [ebp + 0x60]
push edi
call fcn.00436b54
jmp 0x46aa17
push ebx
push 0x4a0e60
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46a827
mov eax, dword [ebp + 0x68]
movzx eax, word [eax]
xor ebx, ebx
push eax
mov dword [ebp + 0x7c], ebx
call fcn.00410c71
add esp, 4
test al, al
jne 0x46a7a1
cmp dword [ebp + 0x64], ebx
jmp 0x46ae92
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_GetMenu]
mov esi, eax
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
cmp esi, ebx
pop ecx
pop ecx
je 0x46a7de
mov eax, dword [ebp + 0x7c]
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 3
or eax, 0x400
push eax
push dword [edi + 0x14]
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp dword [ebp + 0x7c], ebx
je 0x46a7e8
and byte [edi], 0xfe
jmp 0x46a7eb
or byte [edi], 1
lea eax, [edi + 0xc]
push eax
lea ecx, [ebp + 0x7c]
call fcn.00441a0d
push 0x49c4f0
lea ecx, [ebp + 0x7c]
call fcn.004371ec
test byte [edi], 1
mov eax, 0x49ad10
jne 0x46a813
mov eax, 0x49b370
mov ecx, dword [ebp + 0x60]
push eax
push dword [ebp + 0x7c]
call fcn.0044c3c7
lea ecx, [ebp + 0x7c]
jmp 0x46a926
push ebx
push 0x4a0e5c
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46aa17
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x46a849
add dword [ebp + 0x68], 2
lea ecx, [ebp + 0x78]
call fcn.0043717e
lea ecx, [ebp + 0x74]
call fcn.0043717e
lea ecx, [ebp + 0x7c]
call fcn.0043717e
mov ebx, dword [ebp + 0x60]
push 0x2c
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.0042d9ac
push 0x2c
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.0042d9ac
push 0x2c
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.0042d9ac
push dword [edi + 0x10]
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0xfc]
push str.0x_p
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0xfc]
push eax
push dword [ebp + 0x78]
mov ecx, ebx
call fcn.00436b54
movzx eax, word [edi + 2]
push eax
mov ebx, str.0x_X
lea eax, [ebp - 0xfc]
push ebx
push eax
call esi
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0xfc]
push eax
push dword [ebp + 0x74]
call fcn.00436b54
push dword [edi + 0x14]
lea eax, [ebp - 0xfc]
push ebx
push eax
call esi
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0xfc]
push eax
push dword [ebp + 0x7c]
call fcn.00436b54
lea ecx, [ebp + 0x7c]
call fcn.00431c4c
lea ecx, [ebp + 0x74]
call fcn.00431c4c
lea ecx, [ebp + 0x78]
call fcn.00431c4c
jmp 0x46aa17
push dword [ebp + 0x54]
push str.MouseCapture
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46aa30
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
je 0x46aa30
mov esi, edi
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x23
sete bl
test bl, bl
je 0x46a968
add dword [ebp + 0x68], 2
or dword [ebp + 0x7c], 0xffffffff
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
test bl, bl
pop ecx
pop ecx
je 0x46a9fe
cmp dword [ebp + 0x7c], 0
jle 0x46a9f3
mov ebx, dword [esi + 0x18]
mov esi, dword [esi + 0xf4]
mov edi, 0x4b069c
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test esi, esi
je 0x46a9ea
test ebx, ebx
je 0x46a9ea
xor edi, edi
call fcn.004346f9
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
push edi
push dword [0x4afe10]
push 0x43468b
push 7
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
mov dword [0x4b020c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x4b020c], edi
je 0x46a9e3
mov dword [0x4b0214], esi
mov dword [0x4b0210], ebx
push 0x4b069c
jmp 0x46a9eb
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x46aa17
jne 0x46aa17
xor edi, edi
call fcn.004346f9
jmp 0x46aa17
cmp dword [ebp + 0x7c], 0
jle 0x46aa0f
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SetCapture]
jmp 0x46aa17
jne 0x46aa17
call dword [sym.imp.USER32.dll_ReleaseCapture]
xor esi, esi
cmp dword [ebp + 0x64], esi
je 0x46b751
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x46b751
push dword [ebp + 0x54]
push 0x4a0e68
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46ab5d
mov eax, dword [edi + 0x1c]
mov esi, dword [eax + 0x18]
add ebx, 0x1000
lea eax, [ebp + 0x68]
push eax
call fcn.00431c97
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
je 0x46aad6
cmp dword [ebp + 0x64], 0
je 0x46aa75
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
or dword [ebp + 0x7c], 0xffffffff
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x68]
push eax
call fcn.00431c97
mov eax, dword [ebp + 0x68]
xor bl, bl
cmp word [eax], 0x2a
pop ecx
jne 0x46aa99
mov bl, byte [eax]
inc eax
inc eax
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
test eax, eax
pop ecx
pop ecx
jle 0x46b74f
test bl, bl
je 0x46b05c
cmp dword [ebp + 0x7c], 0
jl 0x46b74f
xor eax, eax
cmp dword [ebp + 0x7c], eax
setne al
push eax
call dword [sym.imp.USER32.dll_ShowCursor]
jmp 0x46b74f
lea ecx, [ebp + 0x74]
call fcn.0043717e
lea ecx, [ebp + 0x7c]
call fcn.0043717e
add dword [ebp + 0x68], 2
push 0x2c
push 0x3b
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439b57
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], 0
je 0x46ab1f
add dword [ebp + 0x68], 2
push 0x2c
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439b57
add esp, 0x10
push str.0x_I64X
push dword [ebp + 0x74]
mov eax, esi
cdq
push edx
push eax
push dword [ebp + 0x60]
call fcn.0043946a
push str.0x_X
push dword [ebp + 0x7c]
push ebx
push dword [ebp + 0x60]
call fcn.00439499
add esp, 0x24
lea ecx, [ebp + 0x7c]
call fcn.00431c4c
lea ecx, [ebp + 0x74]
call fcn.00431c4c
jmp 0x46af12
push dword [ebp + 0x54]
push 0x4a0e6c
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46ace6
mov esi, edi
lea eax, [ebp + 0x68]
push eax
call fcn.00431c97
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
jne 0x46aa66
lea eax, [ebp + 0x48]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x2c], eax
lea eax, [ebp + 0x28]
push eax
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_ScreenToClient]
lea ecx, [ebp + 0x50]
call fcn.0043717e
lea ecx, [ebp + 0x5c]
call fcn.0043717e
lea ecx, [ebp + 0x78]
call fcn.0043717e
lea ecx, [ebp + 0x74]
call fcn.0043717e
lea ecx, [ebp + 0x7c]
call fcn.0043717e
add dword [ebp + 0x68], 2
push 0x2c
pop edi
push edi
push 0x3b
pop esi
push esi
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042d9f9
push edi
push esi
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042d9f9
push edi
push esi
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042d9f9
push edi
push esi
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042d9f9
add esp, 0x40
push edi
push esi
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0042d9f9
push dword [ebp + 0x50]
mov ebx, dword [ebp + 0x60]
push dword [ebp + 0x48]
push ebx
call fcn.004394ef
push dword [ebp + 0x5c]
push dword [ebp + 0x4c]
push ebx
call fcn.004394ef
push dword [ebp + 0x78]
push dword [ebp + 0x28]
push ebx
call fcn.004394ef
push dword [ebp + 0x74]
push dword [ebp + 0x2c]
push ebx
call fcn.004394ef
mov eax, dword [ebp + 0x7c]
add esp, 0x40
cmp word [eax], 0
je 0x46acbe
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 1
call esi
xor edi, edi
mov di, ax
push 0x10
shr edi, 0xf
and edi, 1
call esi
neg ax
push 0x11
sbb eax, eax
and eax, 4
or edi, eax
call esi
neg ax
push 2
sbb eax, eax
and eax, 8
or edi, eax
call esi
push dword [ebp + 0x7c]
neg ax
sbb eax, eax
and eax, 0x10
or edi, eax
movzx eax, di
push eax
push ebx
call fcn.004394ef
add esp, 0xc
lea ecx, [ebp + 0x7c]
call fcn.00431c4c
lea ecx, [ebp + 0x74]
call fcn.00431c4c
lea ecx, [ebp + 0x78]
call fcn.00431c4c
lea ecx, [ebp + 0x5c]
call fcn.00431c4c
lea ecx, [ebp + 0x50]
jmp 0x46a926
mov ecx, dword [edi + 4]
push 3
pop ebx
cmp ecx, ebx
je 0x46acf5
cmp ecx, 1
jne 0x46ad28
mov eax, dword [ebp + 0x54]
cmp word [eax], 0
jne 0x46ad28
cmp byte [ebp + 0x5b], 0
jne 0x46ad28
cmp ecx, ebx
mov eax, 0x1000000
jne 0x46ad12
test dword [edi + 0x40], eax
jne 0x46ad1c
cmp ecx, 1
jne 0x46ad28
test dword [edi + 0x58], eax
je 0x46ad28
push 0
push dword [ebp + 0x68]
call fcn.00410be5
pop ecx
pop ecx
push dword [ebp + 0x54]
push str.POSTMSG
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46ad5a
xor ebx, ebx
push ebx
push ebx
push dword [ebp + 0x60]
lea ecx, [edi + 0x34]
push dword [edi + 0x1c]
push dword [ebp + 0x3c]
call fcn.0047e1f2
cmp dword [ebp + 0x64], ebx
mov esi, eax
jmp 0x46aa1c
push dword [ebp + 0x54]
push str.SENDMSG
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46ad81
lea eax, [ebp + 0x64]
push eax
push 1
push dword [ebp + 0x60]
lea ecx, [edi + 0x34]
push dword [edi + 0x1c]
jmp 0x46a64b
push dword [ebp + 0x54]
push 0x497cc0
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46ae07
mov byte [0x4afed4], 1
mov eax, dword [edi + 0x1c]
xor ecx, ecx
cmp eax, ecx
jne 0x46adac
cmp dword [ebp + 0x64], ecx
jmp 0x46ae92
mov edx, dword [ebp + 0x3c]
add edi, 0x34
mov dword [ebp - 0x28], edx
mov edx, dword [ebp + 0x60]
mov dword [ebp - 0x2c], edi
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], edx
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x64]
cmp eax, ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], ecx
je 0x46adeb
and dword [ebp + 0x64], 0
push eax
call edi
lea eax, [ebp - 0x34]
push eax
push esi
push 0x465
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebp + 0x64], 0
jmp 0x46a6c6
mov esi, dword [ebp + 0x54]
push esi
push str.bkcolor
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46ae87
push esi
push str.Cursor
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46ae87
push esi
push 0x4a0e3c
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46ae87
push esi
push str.font
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46ae87
push esi
push 0x4a0e2c
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46ae87
push esi
push str.style
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46ae87
push esi
push 0x498704
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46aea6
mov eax, dword [ebp + 0x3c]
mov dword [ebp + 0x68], eax
mov esi, dword [edi + 0x1c]
test esi, esi
jne 0x46aee6
cmp dword [ebp + 0x64], 0
je 0x46b1d3
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x46b1d3
cmp dword [edi + 4], 9
jne 0x46aec6
lea eax, [ebp + 0x64]
push eax
push dword [ebp + 0x30]
mov ecx, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x3c]
push dword [ebp + 0x60]
call fcn.0043d988
jmp 0x46aedb
mov eax, dword [edi]
lea ecx, [ebp + 0x64]
push ecx
push dword [ebp + 0x30]
mov ecx, edi
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x60]
call dword [eax + 4]
cmp dword [ebp + 0x64], 0
mov esi, eax
jmp 0x46aa1c
mov eax, dword [ebp + 0x64]
test eax, eax
mov ebx, dword [esi + 0x18]
je 0x46aefb
and dword [ebp + 0x64], 0
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
push esi
push dword [ebp + 0x30]
push dword [ebp + 0x54]
push dword [ebp + 0x68]
push ebx
push dword [ebp + 0x60]
call fcn.00431fd7
add esp, 0x1c
cmp dword [ebp + 0x64], 0
je 0x46b74f
push dword [ebp + 0x64]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x46b74f
push edi
push str._Cur
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46b09b
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
jne 0x46aa75
lea ecx, [ebp + 0x5c]
call fcn.0043717e
lea ecx, [ebp + 0x78]
call fcn.0043717e
lea ecx, [ebp + 0x74]
call fcn.0043717e
lea ecx, [ebp + 0x7c]
call fcn.0043717e
mov ebx, dword [ebp + 0x60]
add dword [ebp + 0x68], 2
push 0x2c
pop esi
push esi
push 0x3b
pop edi
push edi
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.0042d9ac
push esi
push edi
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.0042d9ac
push esi
push edi
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.0042d9ac
push esi
push edi
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov ecx, ebx
call fcn.0042d9ac
lea eax, [ebp + 0x48]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push dword [ebp + 0x5c]
push dword [ebp + 0x48]
push ebx
call fcn.004394ef
push dword [ebp + 0x78]
push dword [ebp + 0x4c]
push ebx
call fcn.004394ef
push 0
lea eax, [ebp + 0x74]
push eax
push 8
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x74]
push ebx
call fcn.00446c1d
mov eax, dword [ebp + 0x7c]
add esp, 0x30
cmp word [eax], 0
je 0x46b04f
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 1
call esi
xor edi, edi
mov di, ax
push 0x10
shr edi, 0xf
and edi, 1
call esi
neg ax
push 0x11
sbb eax, eax
and eax, 4
or edi, eax
call esi
neg ax
push 2
sbb eax, eax
and eax, 8
or edi, eax
call esi
push dword [ebp + 0x7c]
neg ax
sbb eax, eax
and eax, 0x10
or edi, eax
movzx eax, di
push eax
push ebx
call fcn.004394ef
add esp, 0xc
lea ecx, [ebp + 0x7c]
call fcn.00431c4c
jmp 0x46b2fc
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
call fcn.00436df8
test al, al
je 0x46b74f
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
test eax, eax
pop ecx
pop ecx
jle 0x46b74f
push dword [ebp + 0x74]
push dword [ebp + 0x7c]
call dword [sym.imp.USER32.dll_SetCursorPos]
jmp 0x46b74f
push edi
push str._EATEKEYS
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46b0c7
push dword [ebp + 0x60]
push dword [ebp + 0x68]
call fcn.0047aaef
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
setl cl
mov esi, ecx
jmp 0x46b751
push edi
push str._POSTMSG
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46b126
mov byte [ebp + 0x50], 0
lea ecx, [ebp + 0x7c]
mov dword [ebp + 0x74], esi
mov dword [ebp + 0x78], esi
mov dword [ebp + 0x34], esi
mov dword [ebp + 0x44], esi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x2c], 0xa
call fcn.0043717e
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3a
push 2
pop edi
jne 0x46b587
add eax, edi
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x68]
push eax
call fcn.00431c97
mov eax, dword [ebp + 0x68]
pop ecx
mov edx, eax
jmp 0x46b555
push edi
push str._SENDMSG
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46b13d
mov byte [ebp + 0x50], 1
jmp 0x46b0dc
push edi
push str._percent
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46b17b
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x68]
xor esi, esi
push eax
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x4c], esi
call fcn.0040483e
push dword [ebp + 0x68]
push dword [ebp + 0x48]
push 0x4aff28
call fcn.0042e602
add esp, 0x14
jmp 0x46b751
push edi
push str._POS
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46b24b
mov ecx, dword [ebp + 0x68]
xor eax, eax
xor esi, esi
cmp word [ecx], 0x3f
sete al
mov edi, eax
test di, di
je 0x46b1a9
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
push 0x40
pop ebx
cmp word [eax], bx
jne 0x46b1ba
add dword [ebp + 0x68], 2
mov esi, ebx
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
cmp dword [ebp + 0x74], 0
pop ecx
pop ecx
jg 0x46b1dd
mov esi, 0x80070057
jmp 0x46b751
mov edx, dword [ebp + 0x68]
xor ecx, ecx
mov cx, word [edx]
mov eax, ecx
call fcn.00436df8
test al, al
je 0x46b1fa
cmp cx, bx
je 0x46b1fa
inc edx
inc edx
mov dword [ebp + 0x68], edx
test si, si
je 0x46b20c
cmp word [edx], bx
je 0x46b20c
dec edx
dec edx
mov dword [ebp + 0x68], edx
mov word [edx], bx
test di, di
je 0x46b21d
sub dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
mov word [eax], 0x3f
mov eax, dword [ebp + 0x7c]
test eax, eax
je 0x46b22c
mov eax, dword [eax + 0x15c]
jmp 0x46b22e
xor eax, eax
push eax
xor esi, esi
push esi
push dword [ebp + 0x60]
push dword [ebp + 0x60]
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.0044435b
add esp, 0x18
jmp 0x46b751
push edi
push str._RMENU
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46b314
lea ecx, [ebp + 0x5c]
call fcn.0043717e
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x4c], esi
call fcn.0043717e
push 0x3a
push 0x3b
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439b57
mov eax, dword [ebp + 0x68]
add esp, 0x10
cmp word [eax], si
je 0x46b293
add dword [ebp + 0x68], 2
lea eax, [ebp + 0x68]
push eax
call fcn.00431c97
push dword [ebp + 0x68]
call fcn.0040f738
pop ecx
pop ecx
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x68], eax
call fcn.0043717e
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x74]
push eax
push dword [ebp + 0x68]
mov dword [ebp + 0x7c], esi
call fcn.0047675f
mov eax, dword [ebp + 0x7c]
add esp, 0xc
cmp eax, esi
je 0x46b2ee
cmp word [eax], si
je 0x46b2ee
mov word [eax - 2], si
push esi
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp + 0x4c]
push eax
push dword [ebp + 0x7c]
push dword [ebp + 0x74]
call fcn.00405de1
add esp, 0x14
push dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x78]
call fcn.00436b54
lea ecx, [ebp + 0x74]
call fcn.00431c4c
lea ecx, [ebp + 0x78]
call fcn.00431c4c
lea ecx, [ebp + 0x5c]
jmp 0x46b74a
push edi
push str._IsWindow
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46b39e
lea eax, [ebp + 0x68]
push eax
call fcn.00431c97
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x46b33e
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x46b363
cmp ax, 0x3a
jne 0x46b367
add dword [ebp + 0x68], 2
cmp si, 0x3f
jne 0x46b1d3
lea ecx, [ebp + 0x7c]
call fcn.0043717e
push 0x3a
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439b57
add esp, 0x10
push dword [ebp + 0x7c]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_IsWindow]
jmp 0x46b42d
push edi
push str._Enable
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46b475
lea eax, [ebp + 0x68]
push eax
call fcn.00431c97
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x46b3cc
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x46b3f1
cmp ax, 0x3a
jne 0x46b3f5
add dword [ebp + 0x68], 2
cmp dword [ebp + 0x74], 0
jle 0x46b1d3
cmp si, 0x3f
jne 0x46b43e
lea ecx, [ebp + 0x7c]
call fcn.0043717e
push 0x3a
push 0x3b
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439b57
add esp, 0x10
push dword [ebp + 0x7c]
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
push eax
push dword [ebp + 0x60]
call fcn.004394c3
add esp, 0xc
jmp 0x46b747
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x68]
push eax
mov dword [ebp + 0x7c], 0xfffffc18
call fcn.00439fac
cmp dword [ebp + 0x7c], 0
pop ecx
pop ecx
jl 0x46b74f
xor eax, eax
cmp dword [ebp + 0x7c], eax
setne al
push eax
push dword [ebp + 0x74]
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x46b74f
push edi
push str._Visible
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46b4db
push edi
push str._Visable
call fcn.00432c89
test al, al
pop ecx
pop ecx
jne 0x46b4db
push edi
push str._style
call fcn.00432c89
test al, al
pop ecx
pop ecx
je 0x46b74f
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0040481e
cmp dword [ebp + 0x74], 0
pop ecx
pop ecx
jle 0x46b1d3
push dword [ebp + 0x68]
push dword [ebp + 0x74]
call fcn.00444d97
pop ecx
pop ecx
jmp 0x46b74f
lea eax, [ebp + 0x68]
push eax
call fcn.00431c97
mov eax, dword [eax]
mov si, word [eax]
cmp si, 0x3f
pop ecx
jne 0x46b4f4
add dword [ebp + 0x68], 2
or dword [ebp + 0x74], 0xffffffff
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
pop ecx
pop ecx
je 0x46b519
cmp ax, 0x3a
jne 0x46b51d
add dword [ebp + 0x68], 2
cmp dword [ebp + 0x74], 0
jle 0x46b1d3
push esi
push dword [ebp + 0x68]
push dword [ebp + 0x74]
push dword [ebp + 0x60]
call fcn.00444c0f
add esp, 0x10
jmp 0x46b74f
cmp cx, 0x2c
je 0x46b55d
cmp cx, 0x3b
je 0x46b55d
cmp cx, 0x3a
je 0x46b55d
add eax, edi
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, si
jne 0x46b53e
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [ebp + 0x7c]
call fcn.004372a4
mov eax, dword [ebp + 0x68]
cmp word [eax], si
je 0x46b576
add dword [ebp + 0x68], edi
mov ecx, dword [ebp + 0x60]
push 1
lea eax, [ebp + 0x7c]
push eax
call fcn.00402c95
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
jne 0x46b66e
add eax, edi
mov dword [ebp + 0x68], eax
cmp word [eax], 0x3f
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x74], esi
jne 0x46b5d6
add eax, edi
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x4c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x3f
pop ecx
pop ecx
jne 0x46b5d6
add eax, edi
mov dword [ebp + 0x68], eax
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
mov eax, dword [ebp + 0x68]
pop ecx
pop ecx
cmp word [eax], 0x2a
jne 0x46b5e3
add eax, edi
mov dword [ebp + 0x5c], eax
jmp 0x46b60e
mov dword [ebp + 0x74], eax
jmp 0x46b611
cmp cx, 0x2a
jne 0x46b600
cmp dword [ebp + 0x74], esi
jne 0x46b600
mov word [eax], si
mov eax, dword [ebp + 0x68]
add eax, edi
mov dword [ebp + 0x74], eax
jmp 0x46b60e
cmp cx, 0x3b
je 0x46b61b
cmp cx, 0x3a
je 0x46b61b
add eax, edi
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, si
jne 0x46b5e8
jmp 0x46b628
mov word [eax], si
add dword [ebp + 0x68], edi
mov dword [ebp + 0x34], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push dword [ebp + 0x74]
mov esi, dword [sym.imp.USER32.dll_FindWindowW]
push dword [ebp + 0x5c]
mov ebx, eax
call esi
mov edi, eax
test edi, edi
jne 0x46b691
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
cmp eax, dword [ebp + 0x4c]
jae 0x46b680
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x2c]
call fcn.0040da4e
push dword [ebp + 0x74]
push dword [ebp + 0x5c]
call esi
mov edi, eax
test edi, edi
je 0x46b644
jmp 0x46b680
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
mov edi, dword [ebp + 0x74]
pop ecx
pop ecx
test edi, edi
jne 0x46b691
lea ecx, [ebp + 0x7c]
call fcn.00431c4c
jmp 0x46b1d3
cmp dword [ebp + 0x34], 0
jne 0x46b6ad
mov eax, dword [ebp + 0x68]
mov ax, word [eax]
cmp ax, 0x3b
je 0x46b6a9
cmp ax, 0x3a
jne 0x46b6d7
add dword [ebp + 0x68], 2
mov eax, dword [ebp + 0x68]
xor esi, esi
cmp word [eax], 0x23
jne 0x46b6c1
add dword [ebp + 0x68], 2
mov esi, 0x5000
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00439fac
test eax, eax
pop ecx
pop ecx
jle 0x46b6d7
add dword [ebp + 0x78], esi
push dword [ebp + 0x50]
lea eax, [ebp + 0x40]
push eax
lea eax, [ebp + 0x44]
push eax
push dword [ebp + 0x68]
push dword [ebp + 0x60]
call fcn.0043a385
add esp, 0x14
test eax, eax
jne 0x46b684
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [ebp + 0x50], 0
push dword [ebp + 0x40]
push dword [ebp + 0x44]
push dword [ebp + 0x78]
push edi
jne 0x46b712
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x46b718
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp + 0x7c]
cmp word [esi], 0
je 0x46b747
push eax
lea eax, [ebp - 0x98]
push 0x49e410
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x60]
add esp, 0xc
lea eax, [ebp - 0x98]
push eax
push esi
call fcn.00436b54
lea ecx, [ebp + 0x7c]
call fcn.00431c4c
xor esi, esi
lea ecx, [ebp + 0x14]
call fcn.00431c4c
lea ecx, [ebp + 0x18]
call fcn.00431c4c
lea ecx, [ebp + 0x30]
call fcn.00431c4c
lea ecx, [ebp + 0x1c]
call fcn.00431c4c
lea ecx, [ebp + 0x24]
call fcn.00431c4c
lea ecx, [ebp + 0x20]
call fcn.00431c4c
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x6c
leave
ret 0xc