Function at 0x40848b
Capabilities:
Get keyboard layout

Disassembly:
jmp 0x4037a7
pop ebx
ret
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
push 0
push 0
dec ecx
jne 0x408168
jmp 0x4a1e57
push ebx
push esi
push edi
mov eax, 0x4a1a10
call fcn.00406b54
jmp 0x4a1e65
push 0xffffffffffffffff
push 0
call fcn.00406ddc
jmp 0x4a1ef5
mov ebp, esp
add esp, 3
jmp 0x408492
add byte [eax], al
add byte [eax], al
fstp st(0)
fld xword [ebx + 0x4037a9]
jmp 0x4037a1
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x450b0040], bl
pop edx
jb 0x4084ed
inc esp
imul esi, dword [esi + 0x69], 0x84d06564
inc eax
add byte [eax], al
add byte [eax], al
push ebp
nop
jmp 0x408385
sub esp, 3
inc ecx
dec ecx
ja 0x4a1e48
jle 0x4a1e48
add al, dl
test byte [eax], al
adc byte [eax], al
add byte [eax], al
jl 0x408431
inc eax
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x45090040], bl
dec edi
inc esp
cmp eax, dword [eax]
pushal
cmp eax, dword [eax]
pushfd
cmp eax, dword [eax]
or dword [ebp + 0x4f], eax
jbe 0x40853a
jb 0x40853d
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x408466
shr byte [eax], 0x85
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov dword [eax], 3
jmp 0x407b5c
idiv bh
call dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], ch
test dword [eax], eax
adc byte [eax], al
add byte [eax], al
jl 0x408489
inc eax
add ah, dh
seto byte [eax - 0x6f6f6f70]
add al, 0x3e
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x450a0040], bl
push ebp
outsb dx, byte [esi]
jb 0x408596
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x4084c4
add byte [ebp + 0x40], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp + 0x100040], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x10004085], al
add byte [eax], al
add byte [eax - 0x80], dl
inc eax
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add ah, ch
int3
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
fadd qword [ebp + 0xc0040]
add byte [eax], al
xchg esp, eax
jg 0x4085fb
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x450c0040], bl
dec ecx
outsb dx, byte [esi]
jbe 0x408643
insb byte es:[edi], dx
imul esp, dword [ebx + eax*2 + 0x61], 0x408d7473
add byte [eax], bh
xchg byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp byte [esi + 0xc0040], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], bh
xchg byte [eax], al
or al, 0
add byte [eax], al
xchg esp, eax
jg 0x408657
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x450d0040], bl
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
jbe 0x4086a4
jb 0x4086b5
inc ebp
jb 0x4086b6
jb 0x4086b4
outsd dx, dword [esi]
jb 0x4085d2
rcl byte [esi + eax*4 + 0x40], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi + eax*4 + 0x100040], dl
add byte [eax], al
pushal
add dword [eax], fcn.00403df4
add byte [esi], bh
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x45100040], bl
inc ecx
arpl word [ebx + 0x65], sp
jae 0x40870f
push esi
imul ebp, dword [edi + 0x6c], 0x6f697461
outsb dx, byte [esi]
lea eax, [eax]
hlt
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ah, dh
xchg byte [eax], al
adc byte [eax], al
add byte [eax], al
pushal
add dword [eax], fcn.00403df4
add byte [esi], bh
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x450a0040], bl
push eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
hlt
pushal
cmp eax, dword [eax]
pushfd
cmp eax, dword [eax]
or al, byte [ebp + 0x50]
jb 0x408762
jbe 0x408764
insb byte es:[edi], dx
nop
dec esp
xchg dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec esp
xchg dword [eax], eax
adc byte [eax], al
add byte [eax], al
pushal
add dword [eax], fcn.00403df4
add byte [esi], bh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi + eax*4 + 0x40], cl
add byte [eax], dl
add byte [eax], al
add byte [eax - 0x7f], ah
inc eax
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x450e0040], bl
push ebx
je 0x4087b2
arpl word [ebx + 0x4f], bp
jbe 0x4087bb
jb 0x4087be
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x4086ec
test al, 0x87
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x10004087], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
test al, 0x87
inc eax
add byte [eax], dl
add byte [eax], al
add byte [eax - 0x7f], ah
inc eax
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
inc eax
add byte [ebx + edi + 0x40], al
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x45090040], bl
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x408821
outsd dx, dword [esi]
insb byte es:[edi], dx
inc ebx
mov eax, eax
add byte [eax + 0x40], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov byte [eax], al
or al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0xc0040], cl
add byte [eax], al
xchg esp, eax
jg 0x40881f
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x450d0040], bl
push esi
popal
jb 0x40886f
popal
outsb dx, byte [esi]
je 0x40884f
jb 0x40887e
outsd dx, dword [esi]
jb 0x40879a
rcr byte [eax + ecx*4 + 0x40], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop esp
mov byte [eax], al
or al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + ecx*4 + 0x40], bl
add byte [eax + eax], cl
add byte [eax], al
xchg esp, eax
jg 0x40887b
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [ebx + edi + 0x40], al
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x45100040], bl
inc ecx
adc byte [ebp + 0x41], al
jae 0x4088d4
jb 0x4088d8
imul ebp, dword [edi + 0x6e], 0x6c696146
lea eax, fs:[eax]
mov esp, 0x4088
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + ecx*4 + 0x40], bh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + ecx*4 + 0xc0040], bh
add byte [eax], al
xchg esp, eax
jg 0x4088db
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov esp, 0xc004088
add byte [eax], al
add byte [edi + edi*2 + 0x3df40040], dl
inc eax
add byte [eax], al
inc eax
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x450e0040], bl
pushfd
cmp eax, dword [eax]
push cs
inc ebp
inc ecx
bound esi, qword [ebx + 0x74]
jb 0x408925
arpl word [ebp + eax*2 + 0x72], si
jb 0x408939
jb 0x40885c
sbb byte [ecx + 0x40], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
sbb byte [ecx + 0xc0040], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], bl
mov dword [eax], eax
or al, 0
add byte [eax], al
xchg esp, eax
jg 0x408937
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [ebx + edi + 0x40], al
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x450e0040], bl
dec ecx
outsb dx, byte [esi]
je 0x408984
inc ebx
popal
jae 0x408996
inc ebp
jb 0x408997
outsd dx, dword [esi]
jb 0x4088b8
je 0x4088b3
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + ecx*4 + 0x40], dh
add byte [eax], dl
add byte [eax], al
add byte [edi + edi*2 + 0x3df40040], dl
inc eax
add byte [eax], al
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x45080040], bl
dec edi
push ebx
inc ebp
jb 0x4089ed
outsd dx, dword [esi]
jb 0x40890b
inc eax
add ah, cl
mov dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
int3
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ah, cl
mov dword [eax], eax
or al, 0
add byte [eax], al
xchg esp, eax
jg 0x4089eb
add ah, dh
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
add byte [eax], cl
inc eax
add ah, bh
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add byte [ebx + edi + 0x45120040], bl
push ebx
popal
arpl word gs:[ecx + 0x6c], sp
insb byte es:[edi], dx
inc ebp
js 0x408a3c
jo 0x408a50
imul ebp, dword [edi + 0x6e], 0x4089e490
add byte [ecx], dl
add ebp, dword [esi]
aaa
xor al, 4
add byte [eax], al
add byte [eax + edx + 0x480040], bh
add byte [eax], al
mov esp, 0x8004010
push ebx
add byte [eax], al
mov esp, 0x48004010
add byte [eax], al
add byte [eax + edx + 0x53080040], bh
jns 0x408a70
push ebp
je 0x408a69
insb byte es:[edi], dx
jae 0x40898e
ror byte [eax], 0x8a
inc eax
add byte [ecx], dl
add ebp, dword [esi]
cmp byte [esp + eax], dh
add byte [eax], al
add byte [eax + edx + 0x480040], bh
add byte [eax], al
mov esp, 0x8004010
push ebx
jns 0x408a94
push ebp
je 0x408a8d
insb byte es:[edi], dx
jae 0x4089b2
sar bh, 0xff
invalid
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or byte [edx + 0x440040], 0
add al, bl
adc byte [eax], al
hlt
cmp eax, 0x3e000040
inc eax
add byte [esi + edi], al
inc eax
inc eax
add byte [eax], cl
inc eax
add ah, bh
cld
cmp eax, 0x3b440040
inc eax
add byte [eax + 0x3b], ah
inc eax
add ah, dl
jecxz 0x408abf
add byte [ebx], dl
push esp
push esp
push 0x64616572
dec esp
outsd dx, dword [esi]
arpl word [ecx + 0x6c], sp
inc ebx
outsd dx, dword [esi]
jne 0x408aff
je 0x408af8
jb 0x408a61
int3
add eax, 0xffffffd4
jmp 0x40e6f0
add dword [esp + 4], 0xffffffd4
jmp fcn.004064ac
invalid
loopne 0x408b72
sbb dword [0x408ad43f], edi
add byte [eax + eax], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop esp
mov eax, dword [eax]
invalid
imul esi, dword [ebp + 0x53], 0x68636e79
jb 0x408beb
outsb dx, byte [esi]
imul edi, dword [edx + 0x65], 0x408d72
xor ecx, ecx
mov edx, ebx
call fcn.004032e4
mov eax, esi
pop esi
pop ebx
ret
push ebx
push esi
push ecx
mov esi, eax
mov edx, esp
mov eax, dword [esi + 0x20]
call fcn.0040e43c
mov eax, dword [esp]
inc dword [eax + 0xc]
mov eax, dword [esp]
cmp dword [eax + 0xc], 1
seta bl
call sub.user32.dll_GetCursorPos
cmp eax, dword [esi + 0x24]
je 0x40e756
test bl, bl
jne 0x40e756
mov eax, esi
call fcn.0040e5e4
jmp 0x40e74a
lea eax, [esi + 0xc]
call fcn.0040e3ac
cmp eax, 0xffff
jne 0x40e73c
mov eax, esi
call fcn.0040e5d8
push 0
call fcn.0040e260
mov eax, esi
call fcn.0040e5e4
lea eax, [esi + 0xc]
call fcn.0040e3b8
test eax, eax
jle 0x40e726
pop edx
pop esi
pop ebx
ret
sete al
test al, al
je 0x4a1eba
mov byte [0x4a7f64], 0
call fcn.004a185c
jmp 0x4a1eb5
push pe_nt_image_headers32
push 0x4a21bc
push 0x4a21c4
push 0
call fcn.0040778c
jmp 0x4a20d1
call fcn.0040950c
jmp 0x4a1f5e
push ebp
mov ebp, esp
mov ecx, 4
jmp 0x408168
push ecx
jmp 0x40821e
xor eax, eax
push ebp
push 0x4a2157
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0049c7d4
lea edx, [ebp - 0x18]
xor eax, eax
call fcn.00402b9c
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x14]
call fcn.00409848
mov eax, dword [ebp - 0x14]
call fcn.00404e5c
push eax
push 0x4a2168
call sub.user32.dll_SetActiveWindow
test eax, eax
jmp 0x412ec6
jmp 0x4a213c
mov eax, dword [0x4a5858]
mov eax, dword [eax]
call fcn.00404e5c
push eax
lea edx, [ebp - 0x1c]
xor eax, eax
call fcn.00402b9c
mov eax, dword [ebp - 0x1c]
call fcn.00404e5c
push eax
call sub.user32.dll_SetActiveWindow
test eax, eax
je 0x4a20e9
push 0x4a2178
jmp 0x408326
mov ebx, eax
test ebx, ebx
je 0x4a1f19
call sub.user32.dll_GetKeyboardLayoutList
cmp eax, 0xb7
jbe 0x4a1f19
push ebx
call sub.user32.dll_DefFrameProcA
push 0
call fcn.00406e34
jmp 0x4a213c
lea edx, [ebp - 0x20]
mov eax, dword [0x4a5858]
mov eax, dword [eax]
call fcn.004a0bcc
mov edx, dword [ebp - 0x20]
mov eax, 0x4a7f68
call fcn.004049f0
mov eax, dword [0x4a7f68]
call fcn.0049d8a4
xor eax, eax
push ebp
push 0x4a1fec
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0049c0c0
mov eax, dword [0x4a5858]
mov eax, dword [eax]
jmp 0x42f2c4
test al, al
je 0x4a1faa
mov eax, 0xbb8
call fcn.0049da10
mov eax, dword [0x4a5858]
mov eax, dword [eax]
xor edx, edx
call fcn.0040963c
mov eax, dword [0x4a5858]
mov eax, dword [eax]
call fcn.00409758
mov eax, dword [0x4a5858]
mov eax, dword [eax]
call fcn.0040950c
test al, al
je 0x4a1faa
push 0
call fcn.00406e34
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a213c
push 0
mov eax, dword [0x4a5858]
mov eax, dword [eax]
call fcn.00404e5c
push eax
lea edx, [ebp - 0x24]
xor eax, eax
call fcn.00402b9c
mov eax, dword [ebp - 0x24]
call fcn.00404e5c
push eax
call sub.user32.dll_DefWindowProcA
mov eax, dword [0x4a5858]
mov eax, dword [eax]
mov edx, 7
call fcn.0040963c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a1ff6
call fcn.0049f7c0
test al, al
je 0x4a206a
mov eax, dword [0x4a58fc]
cmp byte [eax], 0
je 0x4a206a
mov eax, dword [0x4a5b78]
mov eax, dword [eax]
call fcn.00459c2c
push 0x3e8
call fcn.0040e260
mov eax, dword [0x4a55e4]
mov eax, dword [eax]
push eax
mov eax, dword [0x4a59cc]
mov eax, dword [eax]
call fcn.00404e5c
push eax
mov eax, dword [0x4a5b78]
mov eax, dword [eax]
call fcn.00404e5c
mov ecx, dword [0x4a5858]
mov ecx, dword [ecx]
pop edx
call fcn.0045965c
test al, al
jne 0x4a2059
push 0
call fcn.00406e34
mov edx, dword [0x4a5b78]
mov edx, dword [edx]
xor eax, eax
call fcn.0045946c
jmp 0x4a20b4
push 0
mov eax, dword [0x4a5858]
mov eax, dword [eax]
call fcn.00404e5c
push eax
call sub.user32.dll_ScreenToClient
mov eax, dword [0x4a57c8]
cmp byte [eax], 0
je 0x4a20b4
mov eax, dword [0x4a5858]
mov eax, dword [eax]
call fcn.00404e5c
push eax
push 1
mov eax, dword [0x4a5654]
mov eax, dword [eax]
call fcn.00404e5c
mov ecx, eax
mov edx, 0x4a218c
mov eax, 0x80000001
call fcn.004588c0
mov eax, dword [0x4a5bdc]
cmp byte [eax], 0
je 0x4a20d1
jmp 0x412f1e
mov eax, dword [0x4a55b0]
cmp byte [eax], 0
je 0x4a20e0
call fcn.004a1474
push 0
call fcn.00406e34
jmp 0x4a213c
call fcn.0049f7c0
cmp al, 1
jne 0x4a2137
mov byte [0x4a7f64], 1
mov eax, dword [0x4a58fc]
cmp byte [eax], 1
jne 0x4a2130
mov eax, dword [0x4a5b78]
mov eax, dword [eax]
call fcn.00404e5c
mov edx, dword [0x4a58c8]
mov dword [edx], eax
mov eax, dword [0x4a58c8]
mov dword [eax + 4], 0x4a1934
mov eax, dword [0x4a58c8]
push eax
call fcn.00458830
jmp 0x4a213c
call fcn.004a185c
jmp 0x4a213c
call fcn.004a185c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a215e
lea eax, [ebp - 0x24]
mov edx, 5
call fcn.004049c0
ret