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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x5299c0]
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 0x44b9fb
sub eax, edx
je 0x44b50c
sub eax, 2
jne 0x44b3f3
mov eax, dword [ebp + 0xc]
cmp eax, 0x200
jne 0x44b36d
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 0x44b328
mov ebx, dword [esi + 4]
push eax
push ecx
call dword [sym.imp.USER32.dll_WindowFromPoint]
cmp eax, ebx
jne 0x44b335
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 [0x5296a8]
jne 0x44b280
mov ecx, dword [ebp - 8]
cmp ecx, dword [0x5296ac]
je 0x44b335
test ebx, ebx
js 0x44b335
push dword [esi + 0x44]
call dword [sym.imp.USER32.dll_GetMenuItemCount]
cmp ebx, eax
jge 0x44b335
mov eax, dword [esi + 0x88]
cmp ebx, eax
je 0x44b335
cmp eax, 0xffffffff
je 0x44b335
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 0x44b335
or ebx, 0xffff0000
mov dword [esi + 0x8c], ebx
mov ebx, dword [esi + 0xc]
sub ebx, 1
jns 0x44b2ef
xor ebx, ebx
jmp 0x44b2f5
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 0x44b335
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 [0x5296a8], eax
mov eax, dword [ebp - 8]
mov dword [0x5296ac], eax
mov dword [edi], 0
je 0x44b3f3
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x104
jne 0x44b430
mov ebx, dword [ebp + 0x10]
cmp ebx, 0x12
jne 0x44b3a7
cmp byte [esi + 0x84], 0
jge 0x44b3ac
mov cl, byte [esi + 0x85]
mov al, cl
and al, 6
cmp al, 2
jne 0x44b3ac
test cl, 8
je 0x44b3ac
push 1
mov ecx, esi
call fcn.0044e4a0
jmp 0x44b3ac
cmp ebx, 0x20
je 0x44b408
test byte [esi + 0x84], 1
jne 0x44b428
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 0x44b428
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.00446350
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.004ab970
mov esp, ebp
pop ebp
ret 0x18
mov cl, byte [esi + 0x85]
mov al, cl
and al, 6
cmp al, 6
jne 0x44b428
or cl, 8
mov byte [esi + 0x85], cl
mov ecx, esi
push 0
call fcn.0044e4a0
mov dword [esi + 0xac], ebx
jmp 0x44b3ed
cmp eax, 0x105
jne 0x44b44b
mov al, byte [esi + 0x85]
test al, 8
jne 0x44b3ed
or al, 8
mov byte [esi + 0x85], al
jmp 0x44b3ed
cmp eax, 0x106
jne 0x44b48e
xor ecx, ecx
test byte [esi + 0x84], dl
jne 0x44b46b
mov eax, dword [esi + 0x20]
cmp eax, dword [esi + 4]
je 0x44b46b
cmp dword [ebp + 0x10], 0x20
cmovne ecx, edx
mov dword [edi], 0
test ecx, ecx
je 0x44b3f3
pop edi
pop esi
mov eax, edx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x100
jne 0x44b4ce
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], edx
push eax
push ebx
push dword [ebp + 0x10]
push 0x100
call fcn.004480f0
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44b3f3
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x213
jne 0x44b4dc
mov dword [edi], edx
jmp 0x44b3f3
cmp eax, 0x102
jne 0x44b3f3
cmp dword [ebp + 0x10], 0x1b
mov dword [edi], 0
jne 0x44b3f3
pop edi
pop esi
mov eax, edx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp + 0xc]
cmp eax, 0x4e
jne 0x44b62b
cmp dword [ebx + 8], 0xfffffd37
jne 0x44b5b1
mov eax, dword [ebx]
cmp eax, dword [esi + 4]
jne 0x44b5ab
test byte [esi + 0x58], 8
mov byte [ebp - 0x41], 0
jne 0x44b554
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 0x44b567
cmp byte [ebp - 0x41], 0
je 0x44b571
test byte [ebx + 0x14], 1
jne 0x44b8fb
mov eax, dword [ebx + 0x14]
test al, 0x85
jne 0x44b5ab
test al, 0x10
je 0x44b592
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 0x44b5ab
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 0x44b653
mov eax, dword [ebx]
cmp eax, dword [esi + 4]
je 0x44b5d0
mov dword [edi], 1
jmp 0x44b653
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 0x44b60b
test byte [esi + 0x58], 4
je 0x44b601
cmp dword [esi + 0xb0], 0
jne 0x44b601
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 0x44bb65
cmp eax, 0x117
jne 0x44b653
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], edx
push eax
push ebx
push dword [ebp + 0x10]
push 0x117
call fcn.00448910
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
jne 0x44bb72
call fcn.00443410
mov ecx, dword [ebp + 0xc]
cmp ecx, eax
jne 0x44b6b9
mov ebx, dword [ebp + 0x10]
test ebx, ebx
je 0x44b66e
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 0x44b69f
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.004ab970
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.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x112
jne 0x44b782
mov eax, dword [esi + 0xac]
cmp eax, 0x12
je 0x44b6ea
cmp eax, 0x79
jne 0x44b6e1
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test al, al
jns 0x44b6ea
cmp dword [esi + 0xac], 0x20
jne 0x44b717
cmp dword [ebp + 0x10], 0xf100
jne 0x44b717
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, dword [esi + 4]
jne 0x44b746
mov ecx, esi
call fcn.00446350
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 0x44b3f3
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp dword [esi + 0xac], 0x20
je 0x44b717
test byte [esi + 0x84], 0x40
jne 0x44b77b
mov cl, byte [esi + 0x85]
mov al, cl
and al, 6
cmp al, 2
jne 0x44b774
test cl, 8
je 0x44b774
push 1
mov ecx, esi
call fcn.0044e4a0
mov ecx, esi
call fcn.0044ea10
mov eax, 1
jmp 0x44b719
cmp ecx, 0x52e
jne 0x44b7a7
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.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x120
jne 0x44b7ef
lea eax, [ebp - 0x40]
push eax
push ebx
mov ebx, dword [ebp + 0x10]
push ebx
push 0x120
mov ecx, esi
mov dword [ebp - 0x40], 1
call fcn.004491a0
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44b3f3
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52f
jne 0x44b84c
test ebx, ebx
jne 0x44b817
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.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp dword [ebx], 0x18
jne 0x44b7fb
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.0044eb70
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52d
jne 0x44b871
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.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x1a
jne 0x44b8a2
mov eax, dword [ebp + 0x10]
cmp eax, 0x2a
je 0x44b890
cmp eax, 0x100b
je 0x44b890
cmp eax, 0x1023
jne 0x44b9a2
mov ecx, esi
call fcn.004441c0
mov dword [edi], 1
jmp 0x44b3f3
cmp ecx, 0x2b
jne 0x44b919
cmp dword [ebx], 1
jne 0x44b9a2
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x44b9a2
cmp dword [eax], 0x1313
jne 0x44b9a2
test byte [esi + 0x85], 1
mov ecx, esi
push ebx
je 0x44b8f6
call fcn.00442260
mov dword [edi], 1
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
call fcn.00441e60
mov dword [edi], 1
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x2c
jne 0x44b95a
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.00448fe0
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44b3f3
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 6
jne 0x44b9ad
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 0x44b98c
mov al, byte [esi + 0x85]
and al, 6
cmp al, 6
je 0x44bc19
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 0x44b3f3
cmp ecx, 0x4e
jne 0x44b3f3
cmp dword [ebx + 8], 0xfffffff4
jne 0x44b3f3
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.00449890
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44b3f3
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x44ba2c
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
push 1
call fcn.00447930
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 2
jne 0x44ba5a
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
push 2
call fcn.00447ba0
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x14
jne 0x44babb
test byte [esi + 0x84], 2
jne 0x44ba97
test byte [esi + 0x58], dl
jne 0x44ba97
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 0x44ba99
xor eax, eax
mov dword [edi], eax
test eax, eax
je 0x44bb56
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x116
jne 0x44baf6
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 0x44bb56
cmp eax, 0x117
jne 0x44bb32
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], edx
push eax
push ebx
push dword [ebp + 0x10]
push 0x117
call fcn.00448910
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44bb56
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp eax, 0x11f
jne 0x44bb56
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], edx
push eax
push ebx
push dword [ebp + 0x10]
push 0x11f
call fcn.00449540
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
jne 0x44bb72
call fcn.00442930
cmp dword [ebp + 0xc], eax
jne 0x44bb8a
push 0
push dword [ebp + 0x10]
mov ecx, esi
call fcn.004411e0
mov dword [edi], 0
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
call fcn.00443410
mov ecx, dword [ebp + 0xc]
cmp ecx, eax
jne 0x44bbc0
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.00448c70
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x1a
jne 0x44bbef
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.0044a850
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x120
jne 0x44bc04
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
jmp 0x44b7b8
cmp ecx, 8
jne 0x44bc2d
mov al, byte [esi + 0x85]
and al, 6
cmp al, 6
jne 0x44b9a2
push 0
mov ecx, esi
call fcn.0044e4a0
mov dword [edi], 1
jmp 0x44b3f3
cmp ecx, 0x100
jne 0x44bd08
mov dl, byte [esi + 0x84]
xor ecx, ecx
test dl, 2
jne 0x44b9a2
mov eax, dword [ebp + 0x10]
cmp eax, 0x20
jne 0x44bc6d
or ebx, 0x20000000
push ebx
push eax
push 0x104
push dword [esi + 0x5c]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x44bb6c
cmp eax, 0x25
je 0x44bc77
cmp eax, 0x27
jne 0x44bce2
movzx ebx, byte [esi + 0x85]
shr ebx, 5
not ebx
and ebx, 2
or ebx, 0x25
test dl, 1
jne 0x44bce2
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 0x44bcaf
call fcn.00443c60
jmp 0x44bcb4
call fcn.00443d40
cmp eax, 0xfffffffe
jne 0x44bce0
push 0
push 0xffffffffffffffff
push 0x448
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, esi
call fcn.00440290
xor ecx, ecx
test al, al
mov eax, 1
cmovne ecx, eax
jmp 0x44bce7
xor ecx, ecx
mov eax, 1
mov dword [edi], 0
test ecx, ecx
je 0x44b3f3
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x101
jne 0x44bd3a
test byte [esi + 0x84], 2
jne 0x44b9a2
xor ecx, ecx
mov eax, 1
cmp dword [ebp + 0x10], 0x20
mov dword [edi], ecx
cmovne eax, ecx
test eax, eax
je 0x44b3f3
jmp 0x44bb72
cmp ecx, 0x102
jne 0x44be7f
test byte [esi + 0x84], 2
jne 0x44b9a2
mov ebx, dword [ebp + 0x10]
cmp ebx, 0x20
je 0x44bb6c
push dword [esi + 0x5c]
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x44b3ed
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 0x44b3ed
mov dword [ebp - 0x40], 0
cmp ebx, 0xd
je 0x44bdc0
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 0x44bdc0
cmp bl, 0x2f
je 0x44b3ed
push eax
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x44b3ed
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 0x44be59
test al, 8
jne 0x44be59
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x1c]
jg 0x44be59
push 0
push 0x28
push 0x100
push dword [esi + 4]
call dword [sym.imp.USER32.dll_PostMessageA]
cmp ebx, 0xd
je 0x44b3ed
push 0
push dword [ebp - 0x40]
push 0x448
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x44b3ed
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.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x104
je 0x44b3ed
cmp ecx, 0x105
je 0x44b3ed
cmp ecx, 0x106
je 0x44b3ed
cmp ecx, 0x52e
jne 0x44bec8
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.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52f
jne 0x44befa
lea eax, [ebp - 0x40]
push eax
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.00446fd0
mov dword [edi], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x52d
jne 0x44bf1f
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.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x2b
jne 0x44bf40
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 1
push eax
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.00447dc0
jmp 0x44b7cb
cmp ecx, 0x2c
jne 0x44bf80
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 1
push eax
push ebx
push dword [ebp + 0x10]
push ecx
mov ecx, esi
call fcn.00448fe0
cmp dword [ebp - 0x40], 0
mov dword [edi], eax
je 0x44b3f3
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ab970
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, 0x37f
jne 0x44b3f3
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0x200]
cmp eax, 0xe
ja 0x44bfa3
and byte [esi + 0x85], 0xef
jmp 0x44bfb5
lea eax, [ecx - 0x100]
cmp eax, 9
ja 0x44bfb5
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.004ab970
mov esp, ebp
pop ebp
ret 0x18