Function at 0x44e860
Capabilities:
Capture webcam image
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x5b7de4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x1c]
mov edx, 1
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 0x18]
sub eax, 0
je 0x44f09b
sub eax, edx
je 0x44ebac
sub eax, 2
jne 0x44ea93
mov eax, dword [ebp + 0xc]
cmp eax, 0x200
jne 0x44ea0d
call dword [sym.imp.USER32.dll_GetMessagePos]
movsx ecx, ax
shr eax, 0x10
test byte [esi + 0x84], 1
cwde
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x40], 0
je 0x44e9c8
mov ebx, dword [esi + 4]
push eax
push ecx
call dword [sym.imp.USER32.dll_WindowFromPoint]
cmp eax, ebx
jne 0x44e9d5
lea eax, [ebp - 0xc]
push eax
push ebx
call dword [sym.imp.USER32.dll_ScreenToClient]
lea eax, [ebp - 0xc]
push eax
push 0
push 0x445
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0xc]
mov ebx, eax
cmp ecx, dword [0x5b7850]
jne 0x44e920
mov ecx, dword [ebp - 8]
cmp ecx, dword [0x5b7854]
je 0x44e9d5
test ebx, ebx
js 0x44e9d5
push dword [esi + 0x44]
call dword [sym.imp.USER32.dll_GetMenuItemCount]
cmp ebx, eax
jge 0x44e9d5
mov eax, dword [esi + 0x88]
cmp ebx, eax
je 0x44e9d5
cmp eax, 0xffffffff
je 0x44e9d5
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], 0
push eax
push ebx
push 0x417
push dword [esi + 4]
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
call dword [sym.imp.USER32.dll_SendMessageA]
test byte [ebp - 0x20], 4
je 0x44e9d5
or ebx, 0xffff0000
mov dword [esi + 0x8c], ebx
mov ebx, dword [esi + 0xc]
sub ebx, 1
jns 0x44e98f
xor ebx, ebx
jmp 0x44e995
mov eax, dword [esi + 8]
mov ebx, dword [eax + ebx*4]
movzx ecx, word [ebp - 8]
movzx eax, word [ebp - 0xc]
mov esi, dword [sym.imp.USER32.dll_PostMessageA]
shl ecx, 0x10
or ecx, eax
push ecx
push 0
push 0x202
push ebx
call esi
push 0
push 0x1b
push 0x100
push ebx
call esi
mov dword [ebp - 0x40], 1
jmp 0x44e9d5
lea eax, [ebp - 0xc]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [ebp - 0x40], 0
mov eax, dword [ebp - 0xc]
mov dword [0x5b7850], eax
mov eax, dword [ebp - 8]
mov dword [0x5b7854], eax
mov dword [edi], 0
je 0x44ea93
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x104
jne 0x44ead0
mov ebx, dword [ebp + 0x10]
cmp ebx, 0x12
jne 0x44ea47
cmp byte [esi + 0x84], 0
jge 0x44ea4c
mov cl, byte [esi + 0x85]
mov al, cl
and al, 6
cmp al, 2
jne 0x44ea4c
test cl, 8
je 0x44ea4c
push 1
mov ecx, esi
call fcn.0042be30
jmp 0x44ea4c
cmp ebx, 0x20
je 0x44eaa8
test byte [esi + 0x84], 1
jne 0x44eac8
mov eax, dword [esi + 4]
mov dword [ebp - 0x40], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [ebp - 0x40]
cmp eax, ecx
jne 0x44eac8
and byte [esi + 0x85], 0xf7
push 0
push 0xffffffffffffffff
push 0x448
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, esi
call fcn.00448820
or byte [esi + 0x84], 0x40
mov dword [edi], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
mov cl, byte [esi + 0x85]
mov al, cl
and al, 6
cmp al, 6
jne 0x44eac8
or cl, 8
mov byte [esi + 0x85], cl
mov ecx, esi
push 0
call fcn.0042be30
mov dword [esi + 0xac], ebx
jmp 0x44ea8d
cmp eax, 0x105
jne 0x44eaeb
mov al, byte [esi + 0x85]
test al, 8
jne 0x44ea8d
or al, 8
mov byte [esi + 0x85], al
jmp 0x44ea8d
cmp eax, 0x106
jne 0x44eb2e
xor ecx, ecx
test byte [esi + 0x84], dl
jne 0x44eb0b
mov eax, dword [esi + 0x20]
cmp eax, dword [esi + 4]
je 0x44eb0b
cmp dword [ebp + 0x10], 0x20
cmovne ecx, edx
mov dword [edi], 0
test ecx, ecx
je 0x44ea93
pop edi
pop esi
mov eax, edx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x100
jne 0x44eb6e
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], edx
push eax
push ebx
push dword [ebp + 0x10]
push 0x100
call fcn.0044b380
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44ea93
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x213
jne 0x44eb7c
mov dword [edi], edx
jmp 0x44ea93
cmp eax, 0x102
jne 0x44ea93
cmp dword [ebp + 0x10], 0x1b
mov dword [edi], 0
jne 0x44ea93
pop edi
pop esi
mov eax, edx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp + 0xc]
cmp eax, 0x4e
jne 0x44eccb
cmp dword [ebx + 8], 0xfffffd37
jne 0x44ec51
mov eax, dword [ebx]
cmp eax, dword [esi + 4]
jne 0x44ec4b
test byte [esi + 0x58], 8
mov byte [ebp - 0x41], 0
jne 0x44ebf4
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp eax, dword [ebp - 0x40]
setne byte [ebp - 0x41]
push dword [esi + 0x5c]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x44ec07
cmp byte [ebp - 0x41], 0
je 0x44ec11
test byte [ebx + 0x14], 1
jne 0x44ef9b
mov eax, dword [ebx + 0x14]
test al, 0x85
jne 0x44ec4b
test al, 0x10
je 0x44ec32
push dword [esi + 0x44]
push 0
push 0x11f
push dword [esi + 0x5c]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebx + 0x14]
test al, 0x20
je 0x44ec4b
push 0
push 0xffff0000
push 0x11f
push dword [esi + 0x5c]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [edi], 0
cmp dword [ebx + 8], 0xfffffd3a
jne 0x44ecf3
mov eax, dword [ebx]
cmp eax, dword [esi + 4]
je 0x44ec70
mov dword [edi], 1
jmp 0x44ecf3
mov eax, dword [esi + 4]
mov dword [ebp - 0x40], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [ebp - 0x40]
cmp eax, ecx
je 0x44ecab
test byte [esi + 0x58], 4
je 0x44eca1
cmp dword [esi + 0xb0], 0
jne 0x44eca1
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [esi + 4]
mov dword [esi + 0xb0], eax
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [esi + 4]
push 0
push dword [ebx + 0xc]
push 0x419
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
and byte [esi + 0x84], 0xcf
push 1
push eax
jmp 0x44f205
cmp eax, 0x117
jne 0x44ecf3
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], edx
push eax
push ebx
push dword [ebp + 0x10]
push 0x117
call fcn.0044bca0
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
jne 0x44f212
call fcn.00447b90
mov ecx, dword [ebp + 0xc]
cmp ecx, eax
jne 0x44ed59
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x44ed0e
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebx], eax
push dword [esi + 4]
lea ebx, [esi + 4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x44ed3f
xor eax, eax
test esi, esi
cmove ebx, eax
mov eax, 1
mov dword [edi], ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
xor ebx, ebx
mov dword [edi], ebx
pop edi
pop esi
lea eax, [ebx + 1]
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x112
jne 0x44ee22
mov eax, dword [esi + 0xac]
cmp eax, 0x12
je 0x44ed8a
cmp eax, 0x79
jne 0x44ed81
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test al, al
jns 0x44ed8a
cmp dword [esi + 0xac], 0x20
jne 0x44edb7
cmp dword [ebp + 0x10], 0xf100
jne 0x44edb7
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [esi + 4]
jne 0x44ede6
mov ecx, esi
call fcn.00448820
push 0
push 0xffffffffffffffff
push 0x448
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
xor eax, eax
and byte [esi + 0x84], 0xbf
mov dword [edi], 0
test eax, eax
je 0x44ea93
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp dword [esi + 0xac], 0x20
je 0x44edb7
test byte [esi + 0x84], 0x40
jne 0x44ee1b
mov cl, byte [esi + 0x85]
mov al, cl
and al, 6
cmp al, 2
jne 0x44ee14
test cl, 8
je 0x44ee14
push 1
mov ecx, esi
call fcn.0042be30
mov ecx, esi
call fcn.004527f0
mov eax, 1
jmp 0x44edb9
cmp ecx, 0x52e
jne 0x44ee47
mov eax, dword [esi + 0x44]
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x120
jne 0x44ee8f
lea eax, [ebp - 0x40]
push eax
push ebx
mov ebx, dword [ebp + 0x10]
push ebx
push pe_nt_image_headers32
mov ecx, esi
mov dword [ebp - 0x40], 1
call fcn.0044c440
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44ea93
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52f
jne 0x44eeec
test ebx, ebx
jne 0x44eeb7
xor eax, eax
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp dword [ebx], 0x18
jne 0x44ee9b
push dword [ebx + 0x14]
mov ecx, esi
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
call fcn.00452820
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52d
jne 0x44ef11
mov eax, dword [esi + 4]
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x1a
jne 0x44ef42
mov eax, dword [ebp + 0x10]
cmp eax, 0x2a
je 0x44ef30
cmp eax, 0x100b
je 0x44ef30
cmp eax, 0x1023
jne 0x44f042
mov ecx, esi
call fcn.00424410
mov dword [edi], 1
jmp 0x44ea93
cmp ecx, 0x2b
jne 0x44efb9
cmp dword [ebx], 1
jne 0x44f042
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x44f042
cmp dword [eax], 0x1313
jne 0x44f042
test byte [esi + 0x85], 1
mov ecx, esi
push ebx
je 0x44ef96
call fcn.004469d0
mov dword [edi], 1
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
call fcn.004465d0
mov dword [edi], 1
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x2c
jne 0x44effa
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 1
push eax
push ebx
mov ebx, dword [ebp + 0x10]
push ebx
push ecx
mov ecx, esi
call fcn.0044c280
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44ea93
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 6
jne 0x44f04d
mov ecx, dword [ebp + 0x10]
mov al, byte [esi + 0x84]
neg cx
sbb cl, cl
and al, 0x7f
and cl, 0x80
or cl, al
mov byte [esi + 0x84], cl
jl 0x44f02c
mov al, byte [esi + 0x85]
and al, 6
cmp al, 6
je 0x44f2b9
push 1
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov dword [edi], 1
jmp 0x44ea93
cmp ecx, 0x4e
jne 0x44ea93
cmp dword [ebx + 8], 0xfffffff4
jne 0x44ea93
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 1
push eax
push ebx
mov ebx, dword [ebp + 0x10]
mov ecx, esi
push ebx
call fcn.0044d390
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44ea93
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x44f0cc
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
push 1
call fcn.0044a2b0
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 2
jne 0x44f0fa
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
push 2
call fcn.0044abf0
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x14
jne 0x44f15b
test byte [esi + 0x84], 2
jne 0x44f137
test byte [esi + 0x58], dl
jne 0x44f137
lea eax, [ebp - 0x14]
xorps xmm0, xmm0
push eax
push dword [esi + 4]
movups xmmword [ebp - 0x14], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
push 5
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 0x10]
call dword [sym.imp.USER32.dll_FillRect]
mov eax, 1
jmp 0x44f139
xor eax, eax
mov dword [edi], eax
test eax, eax
je 0x44f1f6
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x116
jne 0x44f196
push 0
push 0
push 0x447
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [esi + 0x44]
movzx eax, ax
or eax, 0x900000
push eax
push 0x11f
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [edi], 1
jmp 0x44f1f6
cmp eax, 0x117
jne 0x44f1d2
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], edx
push eax
push ebx
push dword [ebp + 0x10]
push 0x117
call fcn.0044bca0
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44f1f6
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x11f
jne 0x44f1f6
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], edx
push eax
push ebx
push dword [ebp + 0x10]
push 0x11f
call fcn.0044c7e0
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
jne 0x44f212
call fcn.00447b40
cmp dword [ebp + 0xc], eax
jne 0x44f22a
push 0
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00445730
mov dword [edi], 0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
call fcn.00447b90
mov ecx, dword [ebp + 0xc]
cmp ecx, eax
jne 0x44f260
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.0044c000
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x1a
jne 0x44f28f
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.0044d5b0
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x120
jne 0x44f2a4
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
jmp 0x44ee58
cmp ecx, 8
jne 0x44f2cd
mov al, byte [esi + 0x85]
and al, 6
cmp al, 6
jne 0x44f042
push 0
mov ecx, esi
call fcn.0042be30
mov dword [edi], 1
jmp 0x44ea93
cmp ecx, 0x100
jne 0x44f3a8
mov dl, byte [esi + 0x84]
xor ecx, ecx
test dl, 2
jne 0x44f042
mov eax, dword [ebp + 0x10]
cmp eax, 0x20
jne 0x44f30d
or ebx, 0x20000000
push ebx
push eax
push 0x104
push dword [esi + 0x5c]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x44f20c
cmp eax, 0x25
je 0x44f317
cmp eax, 0x27
jne 0x44f382
movzx ebx, byte [esi + 0x85]
shr ebx, 5
not ebx
and ebx, 2
or ebx, 0x25
test dl, 1
jne 0x44f382
push 0
push 0
push 0x447
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, esi
push eax
cmp dword [ebp + 0x10], ebx
jne 0x44f34f
call fcn.00447c70
jmp 0x44f354
call fcn.00448560
cmp eax, 0xfffffffe
jne 0x44f380
push 0
push 0xffffffffffffffff
push 0x448
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, esi
call fcn.004442c0
xor ecx, ecx
test al, al
mov eax, 1
cmovne ecx, eax
jmp 0x44f387
xor ecx, ecx
mov eax, 1
mov dword [edi], 0
test ecx, ecx
je 0x44ea93
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x101
jne 0x44f3da
test byte [esi + 0x84], 2
jne 0x44f042
xor ecx, ecx
mov eax, 1
cmp dword [ebp + 0x10], 0x20
mov dword [edi], ecx
cmovne eax, ecx
test eax, eax
je 0x44ea93
jmp 0x44f212
cmp ecx, 0x102
jne 0x44f51f
test byte [esi + 0x84], 2
jne 0x44f042
mov ebx, dword [ebp + 0x10]
cmp ebx, 0x20
je 0x44f20c
push dword [esi + 0x5c]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x44ea8d
mov eax, dword [esi + 4]
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [ebp - 8]
cmp eax, ecx
jne 0x44ea8d
mov dword [ebp - 0x40], 0
cmp ebx, 0xd
je 0x44f460
lea eax, [ebp - 0x40]
push eax
movsx eax, bl
push eax
push 0x44e
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jne 0x44f460
cmp bl, 0x2f
je 0x44ea8d
push eax
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x44ea8d
lea eax, [ebp - 0x24]
xorps xmm0, xmm0
push eax
push dword [esi + 4]
movups xmmword [ebp - 0x24], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x14]
xorps xmm0, xmm0
push eax
push dword [ebp - 0x40]
movups xmmword [ebp - 0x14], xmm0
push 0x41d
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x2c], 0
push eax
push dword [ebp - 0x40]
xorps xmm0, xmm0
push 0x417
push dword [esi + 4]
movups xmmword [ebp - 0x3c], xmm0
call dword [sym.imp.USER32.dll_SendMessageA]
mov al, byte [ebp - 0x34]
test al, 4
je 0x44f4f9
test al, 8
jne 0x44f4f9
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x1c]
jg 0x44f4f9
push 0
push 0x28
push 0x100
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
cmp ebx, 0xd
je 0x44ea8d
push 0
push dword [ebp - 0x40]
push 0x448
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x44ea8d
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
mov dword [edi], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x104
je 0x44ea8d
cmp ecx, 0x105
je 0x44ea8d
cmp ecx, 0x106
je 0x44ea8d
cmp ecx, 0x52e
jne 0x44f568
mov eax, dword [esi + 0x44]
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52f
jne 0x44f59a
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.00449c90
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52d
jne 0x44f5bf
mov eax, dword [esi + 4]
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x2b
jne 0x44f5e0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 1
push eax
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.0044ae10
jmp 0x44ee6b
cmp ecx, 0x2c
jne 0x44f620
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 1
push eax
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.0044c280
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44ea93
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x37f
jne 0x44ea93
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0x200]
cmp eax, 0xe
ja 0x44f643
and byte [esi + 0x85], 0xef
jmp 0x44f655
lea eax, [ecx - 0x100]
cmp eax, 9
ja 0x44f655
or byte [esi + 0x85], 0x10
mov eax, dword [esi]
lea ecx, [ebp - 0x40]
push 3
push ecx
push dword [ebx + 0xc]
mov ecx, esi
mov dword [ebp - 0x40], 0
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [eax]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 4]
mov dword [edi], eax
xor ecx, ebp
pop edi
pop esi
mov eax, 1
pop ebx
call fcn.005189ad
mov esp, ebp
pop ebp
ret 0x18