Function at 0x4338d0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push esi
mov esi, ecx
mov eax, dword [esi + 0x2d0]
mov ecx, dword [esi + 0x2d4]
test eax, eax
js 0x4338fd
cmp eax, dword [esi + 0x120]
jge 0x4338fd
test ecx, ecx
js 0x4338fd
cmp ecx, dword [esi + 0x128]
jl 0x43390b
mov ecx, esi
call fcn.00472bef
pop esi
mov esp, ebp
pop ebp
ret 0xc
push ebx
mov ebx, dword [esi + 0x2d0]
push edi
mov edi, dword [esi + 0x2d4]
xor eax, eax
push 0x11
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je case.0x43394e.46
mov eax, dword [ebp + 8]
add eax, 0xffffffd3
cmp eax, 0x3e
ja case.0x43394e.46
movzx edx, byte [eax + 0x434578]
jmp dword [edx*4 + 0x434560]
mov eax, dword [esi]
mov edx, dword [eax + 0x18c]
mov ecx, esi
call edx
jmp case.0x43394e.46
push 0
mov ecx, esi
call fcn.0042fe40
mov eax, dword [esi + 0x20]
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
jmp case.0x43394e.46
mov edx, dword [esi]
mov eax, dword [edx + 0x180]
jmp 0x433998
mov edx, dword [esi]
mov eax, dword [edx + 0x184]
jmp 0x433998
mov edx, dword [esi]
mov eax, dword [edx + 0x188]
mov ecx, esi
call eax
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
mov eax, dword [ebp + 8]
je 0x4339d2
cmp eax, 0x2d
jne 0x4339d2
mov edx, dword [esi]
mov eax, dword [edx + 0x188]
mov ecx, esi
call eax
mov ecx, esi
call fcn.00472bef
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 0x2e
jne 0x4339e8
mov edx, dword [esi]
mov eax, dword [edx + 0x160]
mov ecx, esi
call eax
jmp 0x434254
cmp eax, 0x28
jne 0x433a3e
mov eax, dword [esi + 0x120]
mov ecx, ebx
inc ebx
mov dword [ebp - 0x20], ebx
cmp ebx, eax
jge 0x433a2c
lea ecx, [ecx]
test ebx, ebx
js 0x433a20
cmp ebx, eax
jge 0x433a20
cmp ebx, dword [esi + 0x138]
jge 0x433a36
mov edx, dword [esi + 0x134]
cmp dword [edx + ebx*4], 0
jg 0x4341c8
inc ebx
cmp ebx, dword [esi + 0x120]
jl 0x433a00
mov dword [ebp - 0x20], ebx
mov ebx, ecx
mov dword [ebp - 0x20], ebx
jmp 0x434254
mov dword [ebp - 0x20], ebx
call fcn.0046ecfc
cmp eax, 0x26
jne 0x433a8f
mov eax, ebx
dec ebx
mov dword [ebp - 0x20], ebx
cmp ebx, dword [esi + 0x124]
jl 0x433d9f
test ebx, ebx
js 0x433a79
cmp ebx, dword [esi + 0x120]
jge 0x433a79
cmp ebx, dword [esi + 0x138]
jge 0x433a36
mov ecx, dword [esi + 0x134]
cmp dword [ecx + ebx*4], 0
jg 0x4341c8
dec ebx
cmp ebx, dword [esi + 0x124]
jge 0x433a55
mov dword [ebp - 0x20], ebx
mov ebx, eax
mov dword [ebp - 0x20], ebx
jmp 0x434254
cmp eax, 0x27
je 0x434357
mov eax, dword [ebp + 8]
cmp eax, 9
jne 0x433b31
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov edx, 0x8000
test dx, ax
je 0x43431d
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x4339c2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], edi
dec edi
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x1c], edi
cmp eax, 9
jne 0x434222
mov eax, dword [esi + 0x12c]
dec eax
cmp edi, eax
jne 0x43421b
mov eax, dword [esi + 0x124]
cmp ebx, eax
jle 0x43421b
dec ebx
mov dword [ebp - 0x20], ebx
cmp ebx, eax
jle 0x434208
push ebx
mov ecx, esi
call fcn.00429470
test eax, eax
jg 0x4341fe
dec ebx
cmp ebx, dword [esi + 0x124]
jg 0x433b13
jmp 0x434205
cmp eax, 0x25
je 0x433ad3
cmp eax, 0x22
jne 0x433db8
cmp dword [esi + 0x2d8], 0
jl 0x433b68
cmp dword [esi + 0x2dc], 0
jl 0x433b68
mov edx, dword [esi + 0x2d8]
mov eax, dword [esi + 0x2dc]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
jmp 0x433c64
push 1
mov ecx, esi
call fcn.0047235b
push 0
mov ecx, esi
mov dword [ebp - 0x14], eax
call fcn.0047235b
mov ecx, dword [esi + 0x12c]
xor edx, edx
mov dword [esi + 0x2dc], ecx
test eax, eax
jle 0x433bf4
mov ecx, dword [esi + 0x128]
dec ecx
mov dword [ebp - 0xc], ecx
lea esp, [esp]
mov ecx, dword [esi + 0x2dc]
cmp ecx, dword [ebp - 0xc]
jge 0x433bf1
lea edi, [ecx + 1]
mov dword [esi + 0x2dc], edi
test ecx, ecx
js 0x433be8
cmp ecx, dword [esi + 0x128]
jge 0x433be8
mov edi, dword [esi + 0x48c]
mov ecx, dword [edi + ecx*4]
test ecx, ecx
js 0x433a39
cmp ecx, dword [esi + 0x14c]
jge 0x433a39
mov edi, dword [esi + 0x148]
mov ecx, dword [edi + ecx*4]
jmp 0x433beb
or ecx, 0xffffffff
add edx, ecx
cmp edx, eax
jl 0x433ba0
mov edi, dword [ebp - 0x1c]
mov edx, dword [esi + 0x124]
xor ecx, ecx
mov dword [esi + 0x2d8], edx
cmp dword [ebp - 0x14], ecx
jle 0x433c52
mov eax, dword [esi + 0x120]
dec eax
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x2d8]
cmp eax, dword [ebp - 0xc]
jge 0x433c52
lea edx, [eax + 1]
mov dword [esi + 0x2d8], edx
test eax, eax
js 0x433c48
cmp eax, dword [esi + 0x120]
jge 0x433c48
cmp eax, dword [esi + 0x138]
jge 0x433a39
mov edx, dword [esi + 0x134]
mov eax, dword [edx + eax*4]
jmp 0x433c4b
or eax, 0xffffffff
add ecx, eax
cmp ecx, dword [ebp - 0x14]
jl 0x433c11
mov eax, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2dc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
mov edx, dword [esi + 0x20]
push 0
push 3
push 0x115
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [esi + 0x2d8], 0
mov dword [ebp - 8], 1
jl 0x433c94
cmp dword [esi + 0x2dc], 0
jge 0x433d77
push 1
mov ecx, esi
call fcn.0047235b
push 0
mov ecx, esi
mov dword [ebp - 0x14], eax
call fcn.0047235b
mov edx, dword [esi + 0x12c]
mov dword [esi + 0x2dc], edx
xor edx, edx
test eax, eax
jle 0x433d19
mov ecx, dword [esi + 0x128]
dec ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [esi + 0x2dc]
cmp ecx, dword [ebp - 0xc]
jge 0x433d16
lea edi, [ecx + 1]
mov dword [esi + 0x2dc], edi
test ecx, ecx
js 0x433d0d
cmp ecx, dword [esi + 0x128]
jge 0x433d0d
mov edi, dword [esi + 0x48c]
mov ecx, dword [edi + ecx*4]
test ecx, ecx
js 0x433a39
cmp ecx, dword [esi + 0x14c]
jge 0x433a39
mov edi, dword [esi + 0x148]
mov ecx, dword [edi + ecx*4]
jmp 0x433d10
or ecx, 0xffffffff
add edx, ecx
cmp edx, eax
jl 0x433cc5
mov edi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x124]
xor ecx, ecx
mov dword [esi + 0x2d8], eax
cmp dword [ebp - 0x14], ecx
jle 0x433d77
mov edx, dword [esi + 0x120]
lea edi, [edx - 1]
mov eax, dword [esi + 0x2d8]
cmp eax, edi
jge 0x433d74
lea ebx, [eax + 1]
mov dword [esi + 0x2d8], ebx
test eax, eax
js 0x433d67
cmp eax, edx
jge 0x433d67
cmp eax, dword [esi + 0x138]
jge 0x433a39
mov ebx, dword [esi + 0x134]
mov eax, dword [ebx + eax*4]
jmp 0x433d6a
or eax, 0xffffffff
mov ebx, dword [ebp - 0x20]
add ecx, eax
cmp ecx, dword [ebp - 0x14]
jl 0x433d35
mov edi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x2d8]
sub eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x2dc]
mov dword [ebp - 0x14], ecx
je 0x433da9
add ebx, eax
mov eax, dword [esi + 0x120]
dec eax
mov dword [ebp - 0x20], ebx
cmp ebx, eax
jle 0x434254
mov ebx, eax
mov dword [ebp - 0x20], ebx
jmp 0x434254
mov ebx, dword [esi + 0x120]
dec ebx
mov dword [ebp - 0x20], ebx
jmp 0x434254
cmp eax, 0x21
jne 0x434036
cmp dword [esi + 0x2d8], 0
jl 0x433dea
cmp dword [esi + 0x2dc], 0
jl 0x433dea
mov edx, dword [esi + 0x2d8]
mov eax, dword [esi + 0x2dc]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
jmp 0x433ee4
push 1
mov ecx, esi
call fcn.0047235b
push 0
mov ecx, esi
mov dword [ebp - 0x14], eax
call fcn.0047235b
mov ecx, dword [esi + 0x12c]
xor edx, edx
mov dword [esi + 0x2dc], ecx
test eax, eax
jle 0x433e74
mov ecx, dword [esi + 0x128]
dec ecx
mov dword [ebp - 0xc], ecx
jmp 0x433e20
mov ecx, dword [esi + 0x2dc]
cmp ecx, dword [ebp - 0xc]
jge 0x433e71
lea edi, [ecx + 1]
mov dword [esi + 0x2dc], edi
test ecx, ecx
js 0x433e68
cmp ecx, dword [esi + 0x128]
jge 0x433e68
mov edi, dword [esi + 0x48c]
mov ecx, dword [edi + ecx*4]
test ecx, ecx
js 0x433a39
cmp ecx, dword [esi + 0x14c]
jge 0x433a39
mov edi, dword [esi + 0x148]
mov ecx, dword [edi + ecx*4]
jmp 0x433e6b
or ecx, 0xffffffff
add edx, ecx
cmp edx, eax
jl 0x433e20
mov edi, dword [ebp - 0x1c]
mov edx, dword [esi + 0x124]
xor ecx, ecx
mov dword [esi + 0x2d8], edx
cmp dword [ebp - 0x14], ecx
jle 0x433ed2
mov edx, dword [esi + 0x120]
lea edi, [edx - 1]
mov eax, dword [esi + 0x2d8]
cmp eax, edi
jge 0x433ecf
lea ebx, [eax + 1]
mov dword [esi + 0x2d8], ebx
test eax, eax
js 0x433ec2
cmp eax, edx
jge 0x433ec2
cmp eax, dword [esi + 0x138]
jge 0x433a39
mov ebx, dword [esi + 0x134]
mov eax, dword [ebx + eax*4]
jmp 0x433ec5
or eax, 0xffffffff
mov ebx, dword [ebp - 0x20]
add ecx, eax
cmp ecx, dword [ebp - 0x14]
jl 0x433e90
mov edi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2dc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
mov edx, dword [esi + 0x20]
push 0
push 2
push 0x115
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [esi + 0x2d8], 0
mov dword [ebp - 8], 1
jl 0x433f14
cmp dword [esi + 0x2dc], 0
jge 0x433ff7
push 1
mov ecx, esi
call fcn.0047235b
push 0
mov ecx, esi
mov dword [ebp - 0x14], eax
call fcn.0047235b
mov edx, dword [esi + 0x12c]
mov dword [esi + 0x2dc], edx
xor edx, edx
test eax, eax
jle 0x433f99
mov ecx, dword [esi + 0x128]
dec ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [esi + 0x2dc]
cmp ecx, dword [ebp - 0xc]
jge 0x433f96
lea edi, [ecx + 1]
mov dword [esi + 0x2dc], edi
test ecx, ecx
js 0x433f8d
cmp ecx, dword [esi + 0x128]
jge 0x433f8d
mov edi, dword [esi + 0x48c]
mov ecx, dword [edi + ecx*4]
test ecx, ecx
js 0x433a39
cmp ecx, dword [esi + 0x14c]
jge 0x433a39
mov edi, dword [esi + 0x148]
mov ecx, dword [edi + ecx*4]
jmp 0x433f90
or ecx, 0xffffffff
add edx, ecx
cmp edx, eax
jl 0x433f45
mov edi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x124]
xor ecx, ecx
mov dword [esi + 0x2d8], eax
cmp dword [ebp - 0x14], ecx
jle 0x433ff7
mov edx, dword [esi + 0x120]
lea edi, [edx - 1]
mov eax, dword [esi + 0x2d8]
cmp eax, edi
jge 0x433ff4
lea ebx, [eax + 1]
mov dword [esi + 0x2d8], ebx
test eax, eax
js 0x433fe7
cmp eax, edx
jge 0x433fe7
cmp eax, dword [esi + 0x138]
jge 0x433a39
mov ebx, dword [esi + 0x134]
mov eax, dword [ebx + eax*4]
jmp 0x433fea
or eax, 0xffffffff
mov ebx, dword [ebp - 0x20]
add ecx, eax
cmp ecx, dword [ebp - 0x14]
jl 0x433fb5
mov edi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x2d8]
sub eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x2dc]
mov dword [ebp - 0x14], ecx
je 0x434028
add ebx, eax
mov eax, dword [esi + 0x124]
mov dword [ebp - 0x20], ebx
cmp ebx, eax
jge 0x434254
mov ebx, eax
mov dword [ebp - 0x20], ebx
jmp 0x434254
mov ebx, dword [esi + 0x124]
mov dword [ebp - 0x20], ebx
jmp 0x434254
cmp eax, 0x24
jne 0x434104
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
mov edx, 0x8000
push 0
push 6
test dx, ax
je 0x43408b
mov eax, dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x115
push eax
call edi
mov ecx, dword [esi + 0x20]
push 0
push 6
push 0x114
push ecx
call edi
mov ebx, dword [esi + 0x124]
mov eax, 1
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], ebx
jmp 0x4340a1
mov edx, dword [esi + 0x20]
push 0x114
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 4], 1
mov eax, dword [esi + 0x128]
mov edi, dword [esi + 0x12c]
dec eax
mov dword [ebp - 0x1c], edi
cmp edi, eax
jge 0x4340d0
push edi
mov ecx, esi
call fcn.004294b0
test eax, eax
jg 0x4340cd
mov ecx, dword [esi + 0x128]
inc edi
dec ecx
cmp edi, ecx
jl 0x4340b5
mov dword [ebp - 0x1c], edi
mov edx, dword [esi + 0x120]
dec edx
cmp ebx, edx
jge 0x434254
nop
push ebx
mov ecx, esi
call fcn.00429470
test eax, eax
jg 0x4341c8
mov eax, dword [esi + 0x120]
inc ebx
dec eax
cmp ebx, eax
jl 0x4340e0
mov dword [ebp - 0x20], ebx
jmp 0x434254
cmp eax, 0x23
jne 0x4341d0
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
push 0
push 7
test cx, ax
je 0x43415b
mov edx, dword [esi + 0x20]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x115
push edx
call edi
mov eax, dword [esi + 0x20]
push 0
push 7
push 0x114
push eax
call edi
mov ebx, dword [esi + 0x120]
mov eax, 1
sub ebx, eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x20], ebx
jmp 0x434171
mov ecx, dword [esi + 0x20]
push 0x114
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 4], 1
mov edi, dword [esi + 0x128]
mov edx, dword [esi + 0x12c]
dec edi
inc edx
mov dword [ebp - 0x1c], edi
cmp edi, edx
jle 0x4341a1
push edi
mov ecx, esi
call fcn.004294b0
test eax, eax
jg 0x43419e
mov eax, dword [esi + 0x12c]
dec edi
inc eax
cmp edi, eax
jg 0x434186
mov dword [ebp - 0x1c], edi
mov ecx, dword [esi + 0x124]
inc ecx
cmp ebx, ecx
jle 0x434254
push ebx
mov ecx, esi
call fcn.00429470
test eax, eax
jg 0x4341c8
mov edx, dword [esi + 0x124]
dec ebx
inc edx
cmp ebx, edx
jg 0x4341b0
mov dword [ebp - 0x20], ebx
jmp 0x434254
cmp eax, 0x71
jne 0x4339c2
mov edx, dword [esi]
mov edx, dword [edx + 0x1bc]
or eax, 0xffffffff
or ecx, eax
push 1
push ecx
mov ecx, dword [esi + 0x2d0]
push eax
mov eax, dword [esi + 0x2d4]
push eax
push ecx
mov ecx, esi
call edx
jmp 0x434254
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x20], ebx
mov edi, dword [esi + 0x128]
dec edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], 1
jmp 0x434222
mov ecx, esi
call fcn.00472bef
cmp edi, dword [esi + 0x12c]
jl 0x434248
lea ebx, [ebx]
push edi
mov ecx, esi
call fcn.004294b0
test eax, eax
jg 0x434251
dec edi
cmp edi, dword [esi + 0x12c]
jge 0x434230
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0xc], 0
jne 0x434254
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edi
cmp ebx, dword [esi + 0x2d0]
jne 0x434268
cmp edi, dword [esi + 0x2d4]
je 0x43448e
cmp dword [esi + 0x2a4], 0
jne 0x4342e2
lea ecx, [esi + 0x314]
call fcn.00428ac0
mov eax, dword [esi + 0xcc]
neg eax
sbb eax, eax
add eax, 4
push 0x10
mov dword [esi + 0x2a4], eax
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x4342ab
cmp dword [ebp + 8], 9
jne 0x4342b7
mov dword [esi + 0x2c8], ebx
mov dword [esi + 0x2cc], edi
push 0xffffffffffffff9c
push edi
push ebx
mov ecx, esi
call fcn.00429e80
lea edx, [ebp - 0x20]
push edx
mov ecx, esi
call fcn.00431e80
push 0xffffffffffffff9b
push edi
push ebx
mov ecx, esi
call fcn.00429e80
mov dword [esi + 0x2a4], 0
push edi
push ebx
lea eax, [ebp - 0x28]
push eax
mov ecx, esi
call fcn.004315a0
push edi
push ebx
mov ecx, esi
call fcn.0042b810
test eax, eax
jne 0x434453
mov eax, dword [ebp + 8]
add eax, 0xfffffff7
cmp eax, 0x1f
ja case.0x434316.10
movzx ecx, byte [eax + 0x4345d0]
jmp dword [ecx*4 + 0x4345b8]
cmp byte [esi + 0x4aa], 0
je 0x434357
mov ecx, dword [esi + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00472c95
test eax, eax
je 0x43448e
mov edx, dword [eax + 0x20]
push 0
push 0
push 0x28
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebp - 0x14], edi
inc edi
cmp dword [ebp + 8], 9
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x1c], edi
jne 0x4343c2
cmp edi, dword [esi + 0x128]
jne 0x4343bb
mov eax, dword [esi + 0x120]
lea ecx, [eax - 1]
cmp ebx, ecx
jge 0x4343bb
inc ebx
mov dword [ebp - 0x20], ebx
cmp ebx, eax
jge 0x4343a9
push ebx
mov ecx, esi
call fcn.00429470
test eax, eax
jg 0x43439f
inc ebx
cmp ebx, dword [esi + 0x120]
jl 0x434388
jmp 0x4343a6
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x20], ebx
mov edi, dword [esi + 0x12c]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], 1
jmp 0x4343c2
mov ecx, esi
call fcn.00472bef
mov ecx, dword [esi + 0x128]
cmp edi, ecx
jge 0x434248
test edi, edi
js 0x4343fd
cmp edi, ecx
jge 0x4343fd
mov edx, dword [esi + 0x48c]
mov eax, dword [edx + edi*4]
test eax, eax
js 0x43440b
cmp eax, dword [esi + 0x14c]
jge 0x43440b
mov edx, dword [esi + 0x148]
cmp dword [edx + eax*4], 0
jg 0x434251
inc edi
cmp edi, dword [esi + 0x128]
jl 0x4343d0
jmp 0x434245
mov dword [ebp - 0x1c], edi
call fcn.0046ecfc
mov edx, dword [esi + 0x20]
push 0
push 1
push 0x114
push edx
jmp 0x43442f
push 0
push 0
mov eax, dword [esi + 0x20]
push 0x114
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 4], 1
push edi
push ebx
mov ecx, esi
call fcn.0042b4e0
mov ecx, dword [esi + 0x20]
push 1
push 0
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
push edi
push ebx
mov ecx, esi
call fcn.0042b4e0
cmp dword [ebp - 4], 0
je 0x434475
mov edx, dword [esi + 0x20]
push 0
push 8
push 0x114
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [ebp - 8], 0
je 0x43448e
mov eax, dword [esi + 0x20]
push 0
push 8
push 0x115
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esi + 0x20]
push 0
push 1
push 0x115
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 8], 1
jmp case.0x434316.10
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x115
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 8], 1
jmp case.0x434316.10
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
push 0
test cx, ax
je 0x434529
cmp dword [ebp - 0x10], 0
push 0
je 0x43451b
mov edx, dword [esi + 0x20]
push 0x115
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi + 0x15c]
push 1
push eax
push 0
mov ecx, esi
mov dword [ebp - 8], 1
call fcn.004287b0
jmp case.0x434316.10
mov ecx, dword [esi + 0x20]
push 0x114
push ecx
jmp 0x43442f
cmp dword [ebp - 0x10], 0
push 1
je 0x434426
mov edx, dword [esi + 0x20]
push 0x115
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
push 1
push 0
push 0
mov ecx, esi
mov dword [ebp - 8], 1
call fcn.004287b0
jmp case.0x434316.10