Function at 0x434f10
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48b47c
mov eax, dword fs:[0]
push eax
sub esp, 0x150
mov eax, dword [0x4c3cb4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 8]
call fcn.0046d5ac
test eax, eax
je 0x434f54
push ebx
mov ecx, edi
call fcn.00408170
mov eax, dword [ebx + 4]
cmp eax, 0x201
ja 0x435e12
je 0x435e19
sub eax, 0x100
cmp eax, 5
ja case.0x434f76.259
jmp dword [eax*4 + 0x436170]
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
push 0x10
mov si, ax
call dword [sym.imp.USER32.dll_GetKeyState]
xor ecx, ecx
test ax, ax
sets cl
test si, si
jns 0x435cff
mov eax, dword [ebx + 8]
cmp eax, 1
jne 0x434ff8
lea esi, [edi + 0x17b0]
test esi, esi
je 0x434fb6
mov esi, dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, esi
jne 0x435056
push 0xffffffffffffffff
push 0
push 0xb1
push dword [edi + 0x17d0]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0xb7
push dword [edi + 0x17d0]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, 1
jmp 0x43614b
cmp eax, 6
jne 0x435038
test ecx, ecx
jne 0x435016
lea ecx, [edi + 0x1bc8]
call fcn.0048173c
mov eax, 1
jmp 0x43614b
mov eax, dword [edi + 0x7c0]
cmp eax, 1
je 0x435025
test eax, eax
jne 0x435056
push 0
mov ecx, edi
call fcn.00403660
mov eax, 1
jmp 0x43614b
cmp eax, 0xe
jne 0x435046
test ecx, ecx
je 0x435056
jmp 0x435cff
cmp eax, 5
jne 0x435cff
mov ecx, edi
call fcn.00401df0
mov eax, 1
jmp 0x43614b
mov esi, dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, esi
jne case.0x434f76.259
push 1
push 0
push dword [edi + 0x17d0]
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp case.0x434f76.259
mov eax, dword [ebx + 8]
cmp eax, 0x12
jne 0x4350ae
mov eax, dword [0x4c7bd0]
test eax, eax
je case.0x434f76.259
push str.Key_Alt_pressed_n
push eax
call fcn.00402960
add esp, 8
jmp case.0x434f76.259
cmp eax, 0x28
jne 0x4351b0
mov eax, dword [0x4c7bd0]
test eax, eax
je 0x4350ce
push str.Key_Alt__down_pressed_n
push eax
call fcn.00402960
add esp, 8
mov esi, dword [edi + 0x1690]
call dword [sym.imp.USER32.dll_GetFocus]
cmp esi, eax
jne 0x4350f3
push 0
push 0x20
push 0x100
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x434f76.259
call dword [sym.imp.USER32.dll_GetFocus]
cmp dword [edi + 0xe70], eax
jne case.0x434f76.259
mov eax, dword [edi + 0x7c0]
mov byte [ebp - 0x14d], 0
cmp eax, 2
je 0x435196
cmp eax, 3
jne case.0x434f76.259
lea eax, [ebp - 0x14c]
mov ecx, edi
push eax
call fcn.004040e0
mov eax, dword [ebp - 0x14c]
cmp dword [eax - 0xc], 0
je 0x43517d
lea ecx, [ebp - 0x148]
call dword [0x4ca2c4]
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x14c]
push 0xc9
push eax
call fcn.0046d4e0
mov esi, dword [edi + 0xc9c]
lea ecx, [ebp - 0x148]
add esp, 0xc
call dword [0x4ca2b8]
cmp esi, 5
setne byte [ebp - 0x14d]
lea ecx, [ebp - 0x14c]
call dword [0x4ca2b8]
cmp byte [ebp - 0x14d], 0
je case.0x434f76.259
push 0
push 0x20
push 0x100
push dword [edi + 0xe70]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x434f76.259
cmp eax, 0x79
jne case.0x434f76.259
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns case.0x434f76.259
cmp dword [edi + 0x7d4], 0
je 0x4351eb
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [edi + 0x7d4]
cmp eax, dword [ecx + 0x20]
je 0x43520c
cmp dword [edi + 0x7d8], 0
je 0x43523f
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [edi + 0x7d8]
cmp eax, dword [ecx + 0x20]
jne 0x43523f
lea eax, [ebp - 0x154]
mov ecx, edi
push eax
call fcn.00407760
push eax
lea ecx, [edi + 0x7f4]
call fcn.00408030
lea ecx, [ebp - 0x154]
call fcn.00402be0
push 0
mov ecx, edi
call fcn.00407850
jmp case.0x434f76.259
lea esi, [edi + 0xa8]
test esi, esi
jne 0x435251
mov dword [ebp - 0x148], esi
jmp 0x43525a
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x148], eax
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [ebp - 0x148]
jne case.0x434f76.259
mov eax, dword [0x4c7bd0]
test eax, eax
je 0x435283
push str.SHIFTF10_pressed_n
push eax
call fcn.00402960
add esp, 8
push 0
push esi
mov ecx, edi
call fcn.00405320
jmp case.0x434f76.259
cmp dword [ebx + 8], 0x28
jne case.0x434f76.259
mov eax, dword [0x4c7bd0]
test eax, eax
je 0x4352b3
push str.Key_Alt__down_pressed_n
push eax
call fcn.00402960
add esp, 8
mov esi, dword [edi + 0x1690]
call dword [sym.imp.USER32.dll_GetFocus]
cmp esi, eax
jne 0x4352d8
push 0
push 0x20
push 0x101
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x434f76.259
call dword [sym.imp.USER32.dll_GetFocus]
cmp dword [edi + 0xe70], eax
jne case.0x434f76.259
mov eax, dword [edi + 0x7c0]
mov byte [ebp - 0x14d], 0
cmp eax, 2
je 0x43537b
cmp eax, 3
jne case.0x434f76.259
lea eax, [ebp - 0x14c]
mov ecx, edi
push eax
call fcn.004040e0
mov eax, dword [ebp - 0x14c]
cmp dword [eax - 0xc], 0
je 0x435362
lea ecx, [ebp - 0x148]
call dword [0x4ca2c4]
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x14c]
push 0xc9
push eax
call fcn.0046d4e0
mov esi, dword [edi + 0xc9c]
lea ecx, [ebp - 0x148]
add esp, 0xc
call dword [0x4ca2b8]
cmp esi, 5
setne byte [ebp - 0x14d]
lea ecx, [ebp - 0x14c]
call dword [0x4ca2b8]
cmp byte [ebp - 0x14d], 0
je case.0x434f76.259
push 0
push 0x20
push 0x101
push dword [edi + 0xe70]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x434f76.259
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call fcn.00481712
cmp eax, edi
jne 0x435d91
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, dword [ebx + 8]
test ax, ax
jns 0x4355eb
cmp ecx, 0x30
jne 0x4353e4
cmp dword [0x4c7de8], 1
je 0x435056
push 0
push 3
mov ecx, edi
call fcn.00404df0
mov eax, 1
jmp 0x43614b
cmp ecx, 0x31
jne 0x43540b
cmp dword [0x4c7de8], 1
je 0x435056
push 0
push 0
mov ecx, edi
call fcn.00404df0
mov eax, 1
jmp 0x43614b
cmp ecx, 0x32
jne 0x435432
cmp dword [0x4c7de8], 1
je 0x435056
push 0
push 2
mov ecx, edi
call fcn.00404df0
mov eax, 1
jmp 0x43614b
cmp ecx, 0x33
jne 0x435459
cmp dword [0x4c7de8], 1
je 0x435056
push 0
push 1
mov ecx, edi
call fcn.00404df0
mov eax, 1
jmp 0x43614b
cmp ecx, 9
jne 0x43553f
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov si, ax
call fcn.004021b0
mov dword [ebp - 0x14c], eax
mov eax, dword [0x4c7bd0]
test si, si
jns 0x4354bd
test eax, eax
je 0x435494
push str.CtrlShiftTab_pressed_n
push eax
call fcn.00402960
add esp, 8
push 1
lea eax, [edi + 0x1b78]
sub esp, 0x28
mov edi, esp
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x148], edi
mov dword [edi + 0x24], 0
mov dword [ebp - 4], 0
jmp 0x4354f6
test eax, eax
je 0x4354cf
push str.CtrlTab_pressed_n
push eax
call fcn.00402960
add esp, 8
push 0
lea eax, [edi + 0x1b78]
sub esp, 0x28
mov edi, esp
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x148], edi
mov dword [edi + 0x24], 0
mov dword [ebp - 4], 1
mov ebx, dword [eax + 0x2c]
test ebx, ebx
je 0x435517
mov eax, dword [ebx]
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x154]
lea ecx, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push ecx
mov ecx, eax
call fcn.00404cf0
push eax
call fcn.00403fd0
add esp, 4
mov eax, 1
jmp 0x43614b
cmp ecx, 0x22
jne 0x435569
mov eax, dword [0x4c7bd0]
test eax, eax
je 0x435056
push str.CtrlPageDown_pressed_n
push eax
call fcn.00402960
add esp, 8
mov eax, 1
jmp 0x43614b
cmp ecx, 0x21
jne 0x435593
mov eax, dword [0x4c7bd0]
test eax, eax
je 0x435056
push str.CtrlPageUp_pressed_n
push eax
call fcn.00402960
add esp, 8
mov eax, 1
jmp 0x43614b
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x435cff
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x435cff
cmp dword [ebx + 8], 0xd
jne 0x435cff
mov ecx, edi
call fcn.00407440
test eax, eax
je 0x435cff
cmp dword [0x4c7dcc], 0
je 0x435cff
push 1
push 1
mov ecx, edi
call fcn.00405eb0
jmp 0x435cff
cmp ecx, 9
jne 0x4356d0
call fcn.004021b0
push 0x10
mov dword [ebp - 0x14c], eax
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
mov eax, dword [0x4c7bd0]
jns 0x435697
test eax, eax
je 0x435627
push str.ShiftTab_pressed_n
push eax
call fcn.00402960
add esp, 8
push 1
lea eax, [edi + 0x1b78]
sub esp, 0x28
mov edi, esp
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x148], edi
mov dword [edi + 0x24], 0
mov ebx, dword [eax + 0x2c]
mov dword [ebp - 4], 2
test ebx, ebx
je 0x43566f
mov eax, dword [ebx]
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x154]
lea ecx, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push ecx
mov ecx, eax
call fcn.004079e0
push eax
call fcn.00403fd0
add esp, 4
mov eax, 1
jmp 0x43614b
test eax, eax
je 0x4356a9
push str.Tab_pressed_n
push eax
call fcn.00402960
add esp, 8
push 0
lea eax, [ebp - 0x14c]
push eax
lea ecx, [edi + 0x1b78]
call fcn.004071a0
push eax
call fcn.00403fd0
add esp, 4
mov eax, 1
jmp 0x43614b
cmp ecx, 0x25
je 0x435a05
cmp ecx, 0x27
je 0x435a05
cmp ecx, 0x26
je 0x43591b
cmp ecx, 0x28
je 0x43591b
cmp ecx, 0x5d
jne 0x4357c5
cmp dword [edi + 0x7d4], 0
je 0x43571e
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [edi + 0x7d4]
cmp eax, dword [ecx + 0x20]
je 0x43573f
cmp dword [edi + 0x7d8], 0
je 0x435772
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [edi + 0x7d8]
cmp eax, dword [ecx + 0x20]
jne 0x435772
lea eax, [ebp - 0x154]
mov ecx, edi
push eax
call fcn.00407760
push eax
lea ecx, [edi + 0x7f4]
call fcn.00408030
lea ecx, [ebp - 0x154]
call fcn.00402be0
push 0
mov ecx, edi
call fcn.00407850
jmp 0x435cff
lea esi, [edi + 0xa8]
test esi, esi
jne 0x435784
mov dword [ebp - 0x148], esi
jmp 0x43578d
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x148], eax
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [ebp - 0x148]
jne 0x435cff
mov eax, dword [0x4c7bd0]
test eax, eax
je 0x4357b6
push str.VK_APPS_pressed_n
push eax
call fcn.00402960
add esp, 8
push 0
push esi
mov ecx, edi
call fcn.00405320
jmp 0x435cff
cmp ecx, 0xd
jne 0x4358e2
lea esi, [edi + 0x17b0]
test esi, esi
je 0x4357db
mov esi, dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, esi
je case.0x434f76.259
lea esi, [edi + 0x1960]
test esi, esi
je 0x4357f6
mov esi, dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, esi
jne 0x43580c
mov ecx, edi
call fcn.00406340
jmp 0x435cff
call dword [sym.imp.USER32.dll_GetFocus]
mov edx, dword [edi + 0x1b68]
xor ecx, ecx
mov esi, eax
test edx, edx
jle 0x435843
test ecx, ecx
js 0x436169
cmp ecx, edx
jge 0x436169
mov eax, dword [edi + 0x1b64]
mov eax, dword [eax + ecx*4]
cmp esi, dword [eax + 0x20]
je 0x435885
inc ecx
cmp ecx, edx
jl 0x435820
mov ecx, edi
call fcn.00407440
test eax, eax
je 0x435cff
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x4358be
cmp dword [0x4c7dd0], 0
jne 0x435cff
cmp dword [edi + 0x1c6c], 0
jne 0x4358af
push 0
push 1
mov ecx, edi
call fcn.00405eb0
jmp 0x435cff
push ecx
lea ecx, [edi + 0x1b60]
call fcn.00403480
push 0
push 0x20
push 0x100
mov eax, dword [eax]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, 1
jmp 0x43614b
mov dword [edi + 0x1c68], 2
jmp 0x435cff
cmp dword [edi + 0x1c6c], 0
jne 0x4358d3
mov ecx, edi
call fcn.00404660
jmp 0x435cff
mov dword [edi + 0x1c68], 1
jmp 0x435cff
cmp ecx, 0x1b
je 0x435d91
cmp ecx, 0x20
jne 0x435cff
lea esi, [edi + 0x1960]
test esi, esi
je 0x435901
mov esi, dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, esi
jne 0x435cff
mov ecx, edi
call fcn.00406340
jmp 0x435cff
cmp dword [edi + 0x7cc], 0
je 0x435940
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [edi + 0x7cc]
cmp eax, dword [ecx + 0x20]
je 0x435056
cmp dword [edi + 0x7d0], 0
je 0x435983
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [edi + 0x7d0]
cmp eax, dword [ecx + 0x20]
jne 0x435983
push dword [ebx + 0xc]
push dword [ebx + 8]
push 0x100
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, 1
jmp 0x43614b
lea esi, [edi + 0x1960]
test esi, esi
jne 0x435995
mov dword [ebp - 0x148], esi
jmp 0x43599e
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x148], eax
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [ebp - 0x148]
jne 0x435cff
push 0
push 0
push 0x157
push dword [edi + 0x1980]
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x435cff
push eax
push dword [ebx + 8]
push 0x100
push dword [edi + 0x1980]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, esi
call fcn.0048173c
call fcn.0046d594
test eax, eax
je 0x435056
call fcn.004708bb
mov eax, 1
jmp 0x43614b
cmp dword [edi + 0x7cc], 0
je 0x435cab
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [edi + 0x7cc]
cmp eax, dword [ecx + 0x20]
jne 0x435cab
mov ecx, edi
call fcn.00481f48
test eax, 0x400000
je 0x435a4e
cmp dword [ebx + 8], 0x25
mov eax, dword [ebx + 0xc]
push eax
jne 0x435a4a
push 0x27
jmp 0x435a54
push 0x25
jmp 0x435a54
push dword [ebx + 0xc]
push dword [ebx + 8]
push 0x100
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.0047087f
test eax, eax
je 0x435056
push 0
push 0
push 1
call fcn.0047082b
add esp, 0xc
mov dword [ebp - 0x154], eax
lea ecx, [ebp - 0x14c]
call dword [0x4ca2c4]
lea eax, [ebp - 0x14c]
mov dword [ebp - 4], 3
lea esi, [edi + 0x1a58]
push eax
mov ecx, esi
call fcn.00481f72
test esi, esi
jne 0x435ab6
xor eax, eax
jmp 0x435ab9
mov eax, dword [esi + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, esi
mov dword [ebp - 0x148], eax
call fcn.004024e0
push eax
push dword [ebp - 0x148]
call dword [sym.imp.GDI32.dll_SelectObject]
push 3
push dword [ebp - 0x14c]
xorps xmm0, xmm0
lea eax, [ebp - 0x140]
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x144], eax
movups xmmword [ebp - 0x20], xmm0
call fcn.004058c0
push 0xc20
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x14c]
push dword [eax - 0xc]
push dword [ebp - 0x144]
push dword [ebp - 0x148]
call dword [sym.imp.USER32.dll_DrawTextW]
mov eax, dword [ebp - 0x144]
lea ecx, [ebp - 0x140]
cmp eax, ecx
je 0x435b3e
push eax
call dword [0x4c994c]
add esp, 4
test esi, esi
jne 0x435b46
xor eax, eax
jmp 0x435b49
mov eax, dword [esi + 0x20]
push dword [ebp - 0x148]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jle 0x435b6c
mov eax, edx
mov edx, ecx
mov ecx, eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp esi, eax
jle 0x435b7c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], esi
push 0x64
push dword [ebp - 0x154]
sub ecx, edx
push ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, eax
lea eax, [ebp - 0x20]
push eax
push dword [edi + 0x1730]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jle 0x435bb5
mov eax, edx
mov edx, ecx
mov ecx, eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x148], eax
jle 0x435bd5
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
sub ecx, edx
push eax
push dword [edi + 0x1be8]
add esi, ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jle 0x435bff
mov eax, edx
mov edx, ecx
mov ecx, eax
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x148], eax
jle 0x435c1f
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x14], eax
push 0x64
push dword [ebp - 0x154]
sub ecx, edx
push 8
add esi, ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
lea ecx, [eax + esi]
lea esi, [ecx + eax*2]
lea eax, [ebp - 0x20]
push eax
push dword [edi + 0xc8]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
cmp eax, esi
jge 0x435c8e
mov ecx, edi
call fcn.00481f48
test eax, 0x400000
mov eax, dword [ebx + 8]
je 0x435c69
cmp eax, 0x25
jmp 0x435c6c
cmp eax, 0x27
jne 0x435c8e
mov esi, dword [ebx + 0xc]
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call fcn.00481712
push esi
push 0x25
push 0x100
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, edi
call fcn.00402630
lea ecx, [ebp - 0x14c]
call dword [0x4ca2b8]
mov eax, 1
jmp 0x43614b
cmp dword [edi + 0x7d0], 0
je 0x435cd0
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [edi + 0x7d0]
cmp eax, dword [ecx + 0x20]
je 0x435056
call fcn.004021b0
mov esi, eax
mov dword [ebp - 0x14c], esi
call fcn.00481ff6
push eax
mov ecx, esi
call fcn.00481ddc
test eax, eax
jne 0x435d12
call fcn.00482036
push eax
mov ecx, esi
call fcn.00481ddc
test eax, eax
jne 0x435d12
lea esi, [edi + 0x17b0]
test esi, esi
jne 0x435060
jmp 0x435063
cmp dword [ebx + 8], 0x25
lea eax, [edi + 0x1b78]
mov dword [ebp - 0x148], eax
sete byte [ebp - 0x154]
push dword [ebp - 0x154]
sub esp, 0x28
mov edi, esp
mov dword [ebp - 0x154], edi
mov dword [edi + 0x24], 0
mov ebx, dword [eax + 0x2c]
mov dword [ebp - 4], 4
test ebx, ebx
je 0x435d69
mov eax, dword [ebx]
push edi
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov dword [edi + 0x24], eax
mov eax, dword [ebp - 0x148]
lea ecx, [ebp - 0x14c]
mov dword [ebp - 4], 0xffffffff
push ecx
mov ecx, eax
call fcn.00408320
push eax
call fcn.00403fd0
add esp, 4
mov eax, 1
jmp 0x43614b
xor eax, eax
jmp 0x43614b
cmp dword [ebx + 8], 0xd
jne case.0x434f76.259
call dword [sym.imp.USER32.dll_GetFocus]
mov edx, dword [edi + 0x1b68]
xor ecx, ecx
mov esi, eax
test edx, edx
jle case.0x434f76.259
nop word [eax + eax]
test ecx, ecx
js 0x436169
cmp ecx, edx
jge 0x436169
mov eax, dword [edi + 0x1b64]
mov eax, dword [eax + ecx*4]
cmp esi, dword [eax + 0x20]
je 0x435de8
inc ecx
cmp ecx, edx
jl 0x435dc0
jmp case.0x434f76.259
push ecx
lea ecx, [edi + 0x1b60]
call fcn.00403480
push 0
push 0x20
push 0x101
mov eax, dword [eax]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, 1
jmp 0x43614b
cmp eax, 0x204
jne case.0x434f76.259
mov eax, dword [edi + 0x7cc]
test eax, eax
jne 0x435e27
xor esi, esi
jmp 0x435e2a
mov esi, dword [eax + 0x20]
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, esi
je 0x435e53
mov eax, dword [edi + 0x7d0]
test eax, eax
jne 0x435e44
xor esi, esi
jmp 0x435e47
mov esi, dword [eax + 0x20]
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, esi
jne case.0x434f76.259
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00481712
test eax, eax
je 0x435e6e
push eax
call fcn.00403fd0
add esp, 4
call fcn.0046d594
test eax, eax
je case.0x434f76.259
push 0
call fcn.0047085b
add esp, 4
call fcn.0046d59a
test eax, eax
je 0x436143
cmp dword [0x4c7de8], 0
jne 0x436143
mov eax, dword [ebx + 4]
cmp eax, 0x201
je 0x435eac
cmp eax, 0x204
jne 0x435f14
lea ecx, [edi + 0x17b0]
test ecx, ecx
jne 0x435eba
xor edx, edx
jmp 0x435ebd
mov edx, dword [ecx + 0x20]
mov eax, dword [ebx]
cmp eax, edx
jne 0x435eca
call fcn.0048173c
mov eax, dword [ebx]
lea ecx, [edi + 0xa8]
test ecx, ecx
jne 0x435ed8
xor edx, edx
jmp 0x435edb
mov edx, dword [ecx + 0x20]
cmp eax, edx
jne 0x435ee6
call fcn.0048173c
mov eax, dword [ebx]
mov ecx, dword [edi + 0x7d0]
test ecx, ecx
jne 0x435ef4
xor esi, esi
jmp 0x435ef7
mov esi, dword [ecx + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, esi
jne 0x435f14
push dword [ebx]
call fcn.00481712
test eax, eax
je 0x435f14
mov ecx, eax
call fcn.0048173c
cmp dword [ebx + 4], 0x202
jne 0x435f69
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [edi + 0x7cc]
cmp eax, dword [ecx + 0x20]
jne 0x435f69
lea eax, [ebp - 0x20]
xorps xmm0, xmm0
push eax
push dword [edi + 0x20]
movups xmmword [ebp - 0x20], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
movzx ecx, ax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
shl ecx, 0x10
movzx eax, ax
or ecx, eax
push ecx
push 0
push 5
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_PostMessageA]
cmp dword [ebx + 4], 0x200
jne 0x436143
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [edi + 0x7cc]
cmp eax, dword [ecx + 0x20]
jne 0x436143
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
bt ax, 8
jae 0x436143
push 0
push 0
push 1
call fcn.0047082b
add esp, 0xc
mov dword [ebp - 0x154], eax
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x158], edx
call dword [0x4ca2c4]
lea eax, [ebp - 0x148]
mov dword [ebp - 4], 5
lea esi, [edi + 0x1a58]
push eax
mov ecx, esi
call fcn.00481f72
test esi, esi
jne 0x435fe9
xor eax, eax
jmp 0x435fec
mov eax, dword [esi + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, esi
mov dword [ebp - 0x14c], eax
call fcn.004024e0
push eax
push dword [ebp - 0x14c]
call dword [sym.imp.GDI32.dll_SelectObject]
push 3
push dword [ebp - 0x148]
xorps xmm0, xmm0
lea eax, [ebp - 0x140]
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x144], eax
movups xmmword [ebp - 0x30], xmm0
movups xmmword [ebp - 0x40], xmm0
call fcn.004058c0
mov eax, dword [ebp - 0x148]
lea ecx, [ebp - 0x30]
push 0xc20
push ecx
push dword [eax - 0xc]
push dword [ebp - 0x144]
push dword [ebp - 0x14c]
call dword [sym.imp.USER32.dll_DrawTextW]
mov eax, dword [ebp - 0x144]
lea ecx, [ebp - 0x140]
cmp eax, ecx
je 0x436075
push eax
call dword [0x4c994c]
add esp, 4
test esi, esi
jne 0x43607d
xor eax, eax
jmp 0x436080
mov eax, dword [esi + 0x20]
push dword [ebp - 0x14c]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
lea eax, [ebp - 0x40]
push eax
push dword [edi + 0x1730]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov esi, dword [ebx + 0x14]
mov ecx, edi
mov dword [ebp - 0x14c], esi
call fcn.00481f48
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x30]
add ecx, 8
imul ecx, dword [ebp - 0x154]
test eax, 0x400000
mov eax, 0x51eb851f
je 0x4360e7
imul ecx
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, dword [ebp - 0x38]
cmp dword [ebp - 0x14c], esi
cmovg esi, dword [ebp - 0x14c]
jmp 0x4360fd
imul ecx
mov ecx, dword [ebp - 0x40]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
cmp esi, ecx
cmovge esi, ecx
cmp esi, dword [ebx + 0x14]
je 0x436130
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x15c], 0
push eax
mov dword [ebp - 0x158], 0
call dword [sym.imp.USER32.dll_GetCursorPos]
push dword [ebp - 0x158]
push esi
call dword [sym.imp.USER32.dll_SetCursorPos]
lea ecx, [ebp - 0x148]
mov dword [ebp - 4], 0xffffffff
call dword [0x4ca2b8]
push ebx
mov ecx, edi
call fcn.004817f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004038f0
mov esp, ebp
pop ebp
ret 4
call fcn.0048165e
nop
xchg ebp, eax
push ebx
inc ebx
add byte [eax + 0x7d00435d], bl
dec edi
inc ebx
add byte [ecx - 0x79ffbca2], al
push eax
inc ebx
add byte [edx - 0x33ffbcae], dl
int3