Function at 0x403530
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44ecf8
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x46a06c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
lea eax, [ebp + 8]
mov edi, dword [ebp + 0x1c]
lea ebx, [ebp + 8]
mov edx, dword [ebp + 8]
cmp edi, 0x10
mov ecx, dword [ebp + 0x18]
cmovae eax, edx
mov dword [ebp - 0x18], eax
lea eax, [ebp + 8]
cmovae eax, edx
add eax, ecx
cmp edi, 0x10
cmovae ebx, edx
xor esi, esi
mov dword [ebp - 0x10], ebx
mov ebx, eax
sub ebx, dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
cmova ebx, esi
test ebx, ebx
je 0x4035c1
mov edi, dword [ebp - 0x18]
nop dword [eax]
mov eax, dword [ebp - 0x10]
movsx eax, byte [eax + esi]
push eax
call fcn.0042fdd1
mov byte [edi + esi], al
add esp, 4
inc esi
cmp esi, ebx
jne 0x4035a0
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 4
jne 0x403607
mov eax, dword [esi]
mov ebx, str.NONE
cmp eax, dword [ebx]
je 0x4035f6
cmp al, byte [ebx]
jne 0x4035fa
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4035fa
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4035fa
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4035fa
xor eax, eax
jmp 0x4035ff
sbb eax, eax
or eax, 1
test eax, eax
je 0x40571b
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0x10
jne 0x40366a
mov ebx, str.MOUSE_LEFT_CLICK
mov dword [ebp - 0x10], 0xc
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x403637
add esi, 4
add ebx, 4
sub dword [ebp - 0x10], 4
jae 0x403621
xor eax, eax
jmp 0x40365c
cmp al, byte [ebx]
jne 0x403657
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x403657
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x403657
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x403657
xor eax, eax
jmp 0x40365c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40366a
mov esi, 0x1f5
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0x11
jne 0x4036d2
mov ebx, str.MOUSE_RIGHT_CLICK
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x403691
add esi, 4
add ebx, 4
sub edi, 4
jae 0x403680
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x4036bf
cmp dword [ebp - 0x10], 0xfffffffd
je 0x4036bb
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4036bf
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4036bf
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4036bf
xor eax, eax
jmp 0x4036c4
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4036d2
mov esi, 0x1f7
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0x12
jne 0x40373a
mov ebx, str.MOUSE_MIDDLE_CLICK
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x4036f9
add esi, 4
add ebx, 4
sub edi, 4
jae 0x4036e8
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x403727
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x403727
cmp dword [ebp - 0x10], 0xfffffffe
je 0x403723
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x403727
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x403727
xor eax, eax
jmp 0x40372c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40373a
mov esi, 0x1f6
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xe
jne 0x4037a2
mov ebx, str.MOUSE_WHEEL_UP
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x403761
add esi, 4
add ebx, 4
sub edi, 4
jae 0x403750
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x40378f
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40378f
cmp dword [ebp - 0x10], 0xfffffffe
je 0x40378b
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40378f
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40378f
xor eax, eax
jmp 0x403794
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4037a2
mov esi, 0x1f8
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0x10
jne 0x403809
mov ebx, str.MOUSE_WHEEL_DOWN
mov dword [ebp - 0x10], 0xc
nop dword [eax]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x4037d6
add esi, 4
add ebx, 4
sub dword [ebp - 0x10], 4
jae 0x4037c0
xor eax, eax
jmp 0x4037fb
cmp al, byte [ebx]
jne 0x4037f6
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4037f6
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4037f6
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4037f6
xor eax, eax
jmp 0x4037fb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403809
mov esi, 0x1f9
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 6
jne 0x40386f
mov eax, dword [esi]
mov ebx, str.ESCAPE
mov dword [ebp - 0x10], 2
cmp eax, dword [ebx]
jne 0x403836
add esi, 4
mov dword [ebp - 0x10], 0xfffffffe
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x40385e
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40385e
cmp dword [ebp - 0x10], 0xfffffffe
je 0x40385a
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40385e
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40385e
xor eax, eax
jmp 0x403863
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40386f
lea esi, [eax + 0x1b]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 2
jne 0x4038a1
movzx eax, byte [esi]
cmp al, 0x46
jne 0x403890
movzx eax, byte [esi + 1]
cmp al, 0x31
jne 0x403890
xor eax, eax
jmp 0x403895
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4038a1
lea esi, [eax + 0x70]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 2
jne 0x4038d3
movzx eax, byte [esi]
cmp al, 0x46
jne 0x4038c2
movzx eax, byte [esi + 1]
cmp al, 0x32
jne 0x4038c2
xor eax, eax
jmp 0x4038c7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4038d3
lea esi, [eax + 0x71]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 2
jne 0x403905
movzx eax, byte [esi]
cmp al, 0x46
jne 0x4038f4
movzx eax, byte [esi + 1]
cmp al, 0x33
jne 0x4038f4
xor eax, eax
jmp 0x4038f9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403905
lea esi, [eax + 0x72]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 2
jne 0x403937
movzx eax, byte [esi]
cmp al, 0x46
jne 0x403926
movzx eax, byte [esi + 1]
cmp al, 0x34
jne 0x403926
xor eax, eax
jmp 0x40392b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403937
lea esi, [eax + 0x73]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 2
jne 0x403969
movzx eax, byte [esi]
cmp al, 0x46
jne 0x403958
movzx eax, byte [esi + 1]
cmp al, 0x35
jne 0x403958
xor eax, eax
jmp 0x40395d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403969
lea esi, [eax + 0x74]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 2
jne 0x40399b
movzx eax, byte [esi]
cmp al, 0x46
jne 0x40398a
movzx eax, byte [esi + 1]
cmp al, 0x36
jne 0x40398a
xor eax, eax
jmp 0x40398f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40399b
lea esi, [eax + 0x75]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 2
jne 0x4039cd
movzx eax, byte [esi]
cmp al, 0x46
jne 0x4039bc
movzx eax, byte [esi + 1]
cmp al, 0x37
jne 0x4039bc
xor eax, eax
jmp 0x4039c1
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4039cd
lea esi, [eax + 0x76]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 2
jne 0x4039ff
movzx eax, byte [esi]
cmp al, 0x46
jne 0x4039ee
movzx eax, byte [esi + 1]
cmp al, 0x38
jne 0x4039ee
xor eax, eax
jmp 0x4039f3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4039ff
lea esi, [eax + 0x77]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 2
jne 0x403a31
movzx eax, byte [esi]
cmp al, 0x46
jne 0x403a20
movzx eax, byte [esi + 1]
cmp al, 0x39
jne 0x403a20
xor eax, eax
jmp 0x403a25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403a31
lea esi, [eax + 0x78]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 3
jne 0x403a6b
movzx eax, byte [esi]
cmp al, 0x46
jne 0x403a5a
movzx eax, byte [esi + 1]
cmp al, 0x31
jne 0x403a5a
movzx eax, byte [esi + 2]
cmp al, 0x30
jne 0x403a5a
xor eax, eax
jmp 0x403a5f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403a6b
lea esi, [eax + 0x79]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 3
jne 0x403aa5
movzx eax, byte [esi]
cmp al, 0x46
jne 0x403a94
movzx eax, byte [esi + 1]
cmp al, 0x31
jne 0x403a94
movzx eax, byte [esi + 2]
cmp al, 0x31
jne 0x403a94
xor eax, eax
jmp 0x403a99
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403aa5
lea esi, [eax + 0x7a]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 3
jne 0x403adf
movzx eax, byte [esi]
cmp al, 0x46
jne 0x403ace
movzx eax, byte [esi + 1]
cmp al, 0x31
jne 0x403ace
movzx eax, byte [esi + 2]
cmp al, 0x32
jne 0x403ace
xor eax, eax
jmp 0x403ad3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403adf
lea esi, [eax + 0x7b]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403b0b
movzx eax, byte [eax]
cmp al, 0x7e
jne 0x403af8
xor eax, eax
jmp 0x403afd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403b0b
mov esi, 0xc0
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403b35
movzx eax, byte [eax]
cmp al, 0x31
jne 0x403b24
xor eax, eax
jmp 0x403b29
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403b35
lea esi, [eax + 0x31]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403b5f
movzx eax, byte [eax]
cmp al, 0x32
jne 0x403b4e
xor eax, eax
jmp 0x403b53
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403b5f
lea esi, [eax + 0x32]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403b89
movzx eax, byte [eax]
cmp al, 0x33
jne 0x403b78
xor eax, eax
jmp 0x403b7d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403b89
lea esi, [eax + 0x33]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403bb3
movzx eax, byte [eax]
cmp al, 0x34
jne 0x403ba2
xor eax, eax
jmp 0x403ba7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403bb3
lea esi, [eax + 0x34]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403bdd
movzx eax, byte [eax]
cmp al, 0x35
jne 0x403bcc
xor eax, eax
jmp 0x403bd1
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403bdd
lea esi, [eax + 0x35]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403c07
movzx eax, byte [eax]
cmp al, 0x36
jne 0x403bf6
xor eax, eax
jmp 0x403bfb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403c07
lea esi, [eax + 0x36]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403c31
movzx eax, byte [eax]
cmp al, 0x37
jne 0x403c20
xor eax, eax
jmp 0x403c25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403c31
lea esi, [eax + 0x37]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403c5b
movzx eax, byte [eax]
cmp al, 0x38
jne 0x403c4a
xor eax, eax
jmp 0x403c4f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403c5b
lea esi, [eax + 0x38]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403c85
movzx eax, byte [eax]
cmp al, 0x39
jne 0x403c74
xor eax, eax
jmp 0x403c79
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403c85
lea esi, [eax + 0x39]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403caf
movzx eax, byte [eax]
cmp al, 0x30
jne 0x403c9e
xor eax, eax
jmp 0x403ca3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403caf
lea esi, [eax + 0x30]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403cdb
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x403cc8
xor eax, eax
jmp 0x403ccd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403cdb
mov esi, 0xbd
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x403d07
movzx eax, byte [eax]
cmp al, 0x3d
jne 0x403cf4
xor eax, eax
jmp 0x403cf9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403d07
mov esi, 0xbb
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 3
jne 0x403d41
movzx eax, byte [esi]
cmp al, 0x54
jne 0x403d30
movzx eax, byte [esi + 1]
cmp al, 0x41
jne 0x403d30
movzx eax, byte [esi + 2]
cmp al, 0x42
jne 0x403d30
xor eax, eax
jmp 0x403d35
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403d41
lea esi, [eax + 9]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 9
jne 0x403da7
mov ebx, 0x45fdb0
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x403d68
add esi, 4
add ebx, 4
sub edi, 4
jae 0x403d57
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x403d96
cmp dword [ebp - 0x10], 0xfffffffd
je 0x403d92
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x403d96
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x403d96
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x403d96
xor eax, eax
jmp 0x403d9b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403da7
lea esi, [eax + 0x14]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 5
jne 0x403e0d
mov eax, dword [esi]
mov ebx, str.SHIFT
mov dword [ebp - 0x10], 1
cmp eax, dword [ebx]
jne 0x403dd4
add esi, 4
mov dword [ebp - 0x10], 0xfffffffd
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x403dfc
cmp dword [ebp - 0x10], 0xfffffffd
je 0x403df8
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x403dfc
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x403dfc
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x403dfc
xor eax, eax
jmp 0x403e01
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403e0d
lea esi, [eax + 0x10]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 4
jne 0x403e57
mov eax, dword [esi]
mov ebx, str.CTRL
cmp eax, dword [ebx]
je 0x403e42
cmp al, byte [ebx]
jne 0x403e46
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x403e46
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x403e46
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x403e46
xor eax, eax
jmp 0x403e4b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403e57
lea esi, [eax + 0x11]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 3
jne 0x403e91
movzx eax, byte [esi]
cmp al, 0x57
jne 0x403e80
movzx eax, byte [esi + 1]
cmp al, 0x49
jne 0x403e80
movzx eax, byte [esi + 2]
cmp al, 0x4e
jne 0x403e80
xor eax, eax
jmp 0x403e85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403e91
lea esi, [eax + 0x5b]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 3
jne 0x403ecb
movzx eax, byte [esi]
cmp al, 0x41
jne 0x403eba
movzx eax, byte [esi + 1]
cmp al, 0x4c
jne 0x403eba
movzx eax, byte [esi + 2]
cmp al, 0x54
jne 0x403eba
xor eax, eax
jmp 0x403ebf
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403ecb
lea esi, [eax + 0x12]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 5
jne 0x403f31
mov eax, dword [esi]
mov ebx, str.SPACE
mov dword [ebp - 0x10], 1
cmp eax, dword [ebx]
jne 0x403ef8
add esi, 4
mov dword [ebp - 0x10], 0xfffffffd
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x403f20
cmp dword [ebp - 0x10], 0xfffffffd
je 0x403f1c
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x403f20
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x403f20
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x403f20
xor eax, eax
jmp 0x403f25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403f31
lea esi, [eax + 0x20]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 5
jne 0x403f97
mov eax, dword [esi]
mov ebx, str.ENTER
mov dword [ebp - 0x10], 1
cmp eax, dword [ebx]
jne 0x403f5e
add esi, 4
mov dword [ebp - 0x10], 0xfffffffd
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x403f86
cmp dword [ebp - 0x10], 0xfffffffd
je 0x403f82
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x403f86
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x403f86
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x403f86
xor eax, eax
jmp 0x403f8b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x403f97
lea esi, [eax + 0xd]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 9
jne 0x404000
mov ebx, str.BACKSPACE
lea edi, [ecx - 4]
nop dword [eax]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x403fc1
add esi, 4
add ebx, 4
sub edi, 4
jae 0x403fb0
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x403fef
cmp dword [ebp - 0x10], 0xfffffffd
je 0x403feb
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x403fef
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x403fef
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x403fef
xor eax, eax
jmp 0x403ff4
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404000
lea esi, [eax + 8]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x40402a
movzx eax, byte [eax]
cmp al, 0x51
jne 0x404019
xor eax, eax
jmp 0x40401e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40402a
lea esi, [eax + 0x51]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404054
movzx eax, byte [eax]
cmp al, 0x57
jne 0x404043
xor eax, eax
jmp 0x404048
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404054
lea esi, [eax + 0x57]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x40407e
movzx eax, byte [eax]
cmp al, 0x45
jne 0x40406d
xor eax, eax
jmp 0x404072
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40407e
lea esi, [eax + 0x45]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4040a8
movzx eax, byte [eax]
cmp al, 0x52
jne 0x404097
xor eax, eax
jmp 0x40409c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4040a8
lea esi, [eax + 0x52]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4040d2
movzx eax, byte [eax]
cmp al, 0x54
jne 0x4040c1
xor eax, eax
jmp 0x4040c6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4040d2
lea esi, [eax + 0x54]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4040fc
movzx eax, byte [eax]
cmp al, 0x59
jne 0x4040eb
xor eax, eax
jmp 0x4040f0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4040fc
lea esi, [eax + 0x59]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404126
movzx eax, byte [eax]
cmp al, 0x55
jne 0x404115
xor eax, eax
jmp 0x40411a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404126
lea esi, [eax + 0x55]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404150
movzx eax, byte [eax]
cmp al, 0x49
jne 0x40413f
xor eax, eax
jmp 0x404144
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404150
lea esi, [eax + 0x49]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x40417a
movzx eax, byte [eax]
cmp al, 0x4f
jne 0x404169
xor eax, eax
jmp 0x40416e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40417a
lea esi, [eax + 0x4f]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4041a4
movzx eax, byte [eax]
cmp al, 0x50
jne 0x404193
xor eax, eax
jmp 0x404198
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4041a4
lea esi, [eax + 0x50]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4041d0
movzx eax, byte [eax]
cmp al, 0x5b
jne 0x4041bd
xor eax, eax
jmp 0x4041c2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4041d0
mov esi, 0xdb
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4041fc
movzx eax, byte [eax]
cmp al, 0x5d
jne 0x4041e9
xor eax, eax
jmp 0x4041ee
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4041fc
mov esi, 0xdd
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404226
movzx eax, byte [eax]
cmp al, 0x41
jne 0x404215
xor eax, eax
jmp 0x40421a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404226
lea esi, [eax + 0x41]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404250
movzx eax, byte [eax]
cmp al, 0x53
jne 0x40423f
xor eax, eax
jmp 0x404244
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404250
lea esi, [eax + 0x53]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x40427a
movzx eax, byte [eax]
cmp al, 0x44
jne 0x404269
xor eax, eax
jmp 0x40426e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40427a
lea esi, [eax + 0x44]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4042a4
movzx eax, byte [eax]
cmp al, 0x46
jne 0x404293
xor eax, eax
jmp 0x404298
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4042a4
lea esi, [eax + 0x46]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4042ce
movzx eax, byte [eax]
cmp al, 0x47
jne 0x4042bd
xor eax, eax
jmp 0x4042c2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4042ce
lea esi, [eax + 0x47]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4042f8
movzx eax, byte [eax]
cmp al, 0x48
jne 0x4042e7
xor eax, eax
jmp 0x4042ec
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4042f8
lea esi, [eax + 0x48]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404322
movzx eax, byte [eax]
cmp al, 0x4a
jne 0x404311
xor eax, eax
jmp 0x404316
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404322
lea esi, [eax + 0x4a]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x40434c
movzx eax, byte [eax]
cmp al, 0x4b
jne 0x40433b
xor eax, eax
jmp 0x404340
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40434c
lea esi, [eax + 0x4b]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404376
movzx eax, byte [eax]
cmp al, 0x4c
jne 0x404365
xor eax, eax
jmp 0x40436a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404376
lea esi, [eax + 0x4c]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4043a2
movzx eax, byte [eax]
cmp al, 0x3a
jne 0x40438f
xor eax, eax
jmp 0x404394
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4043a2
mov esi, 0xba
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xa
jne 0x40440a
mov ebx, 0x45fdf8
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x4043c9
add esi, 4
add ebx, 4
sub edi, 4
jae 0x4043b8
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x4043f7
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4043f7
cmp dword [ebp - 0x10], 0xfffffffe
je 0x4043f3
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4043f7
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4043f7
xor eax, eax
jmp 0x4043fc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40440a
mov esi, 0xde
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404436
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x404423
xor eax, eax
jmp 0x404428
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404436
mov esi, 0xdc
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404460
movzx eax, byte [eax]
cmp al, 0x5a
jne 0x40444f
xor eax, eax
jmp 0x404454
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404460
lea esi, [eax + 0x5a]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x40448a
movzx eax, byte [eax]
cmp al, 0x58
jne 0x404479
xor eax, eax
jmp 0x40447e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40448a
lea esi, [eax + 0x58]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4044b4
movzx eax, byte [eax]
cmp al, 0x43
jne 0x4044a3
xor eax, eax
jmp 0x4044a8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4044b4
lea esi, [eax + 0x43]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4044de
movzx eax, byte [eax]
cmp al, 0x56
jne 0x4044cd
xor eax, eax
jmp 0x4044d2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4044de
lea esi, [eax + 0x56]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404508
movzx eax, byte [eax]
cmp al, 0x42
jne 0x4044f7
xor eax, eax
jmp 0x4044fc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404508
lea esi, [eax + 0x42]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404532
movzx eax, byte [eax]
cmp al, 0x4e
jne 0x404521
xor eax, eax
jmp 0x404526
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404532
lea esi, [eax + 0x4e]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x40455c
movzx eax, byte [eax]
cmp al, 0x4d
jne 0x40454b
xor eax, eax
jmp 0x404550
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40455c
lea esi, [eax + 0x4d]
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x404588
movzx eax, byte [eax]
cmp al, 0x3c
jne 0x404575
xor eax, eax
jmp 0x40457a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404588
mov esi, 0xbc
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4045b4
movzx eax, byte [eax]
cmp al, 0x3e
jne 0x4045a1
xor eax, eax
jmp 0x4045a6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4045b4
mov esi, 0xbe
jmp 0x40571d
cmp edi, 0x10
lea eax, [ebp + 8]
cmovae eax, edx
cmp ecx, 1
jne 0x4045e0
movzx eax, byte [eax]
cmp al, 0x3f
jne 0x4045cd
xor eax, eax
jmp 0x4045d2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4045e0
mov esi, 0xbf
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xb
jne 0x404646
mov ebx, str.PRINTSCREEN
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x404607
add esi, 4
add ebx, 4
sub edi, 4
jae 0x4045f6
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x404635
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404635
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404635
cmp dword [ebp - 0x10], 0xffffffff
je 0x404631
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404635
xor eax, eax
jmp 0x40463a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404646
lea esi, [eax + 0x2c]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xb
jne 0x4046b2
mov ebx, str.SCROLL_LOCK
lea edi, [ecx - 4]
nop dword [eax]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x404671
add esi, 4
add ebx, 4
sub edi, 4
jae 0x404660
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x40469f
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40469f
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40469f
cmp dword [ebp - 0x10], 0xffffffff
je 0x40469b
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40469f
xor eax, eax
jmp 0x4046a4
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4046b2
mov esi, 0x91
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 5
jne 0x404718
mov eax, dword [esi]
mov ebx, str.PAUSE
mov dword [ebp - 0x10], 1
cmp eax, dword [ebx]
jne 0x4046df
add esi, 4
mov dword [ebp - 0x10], 0xfffffffd
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404707
cmp dword [ebp - 0x10], 0xfffffffd
je 0x404703
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404707
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404707
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404707
xor eax, eax
jmp 0x40470c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404718
lea esi, [eax + 0x13]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 6
jne 0x40477e
mov eax, dword [esi]
mov ebx, str.INSERT
mov dword [ebp - 0x10], 2
cmp eax, dword [ebx]
jne 0x404745
add esi, 4
mov dword [ebp - 0x10], 0xfffffffe
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x40476d
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40476d
cmp dword [ebp - 0x10], 0xfffffffe
je 0x404769
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40476d
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40476d
xor eax, eax
jmp 0x404772
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40477e
lea esi, [eax + 0x2d]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 4
jne 0x4047c8
mov eax, dword [esi]
mov ebx, str.HOME
cmp eax, dword [ebx]
je 0x4047b3
cmp al, byte [ebx]
jne 0x4047b7
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4047b7
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4047b7
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4047b7
xor eax, eax
jmp 0x4047bc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4047c8
lea esi, [eax + 0x24]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x40482e
mov eax, dword [esi]
mov ebx, str.PAGE_UP
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x4047f5
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x40481d
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40481d
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40481d
cmp dword [ebp - 0x10], 0xffffffff
je 0x404819
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40481d
xor eax, eax
jmp 0x404822
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40482e
lea esi, [eax + 0x22]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 6
jne 0x404894
mov eax, dword [esi]
mov ebx, str.DELETE
mov dword [ebp - 0x10], 2
cmp eax, dword [ebx]
jne 0x40485b
add esi, 4
mov dword [ebp - 0x10], 0xfffffffe
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404883
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404883
cmp dword [ebp - 0x10], 0xfffffffe
je 0x40487f
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404883
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404883
xor eax, eax
jmp 0x404888
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404894
lea esi, [eax + 0x2e]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 3
jne 0x4048ce
movzx eax, byte [esi]
cmp al, 0x45
jne 0x4048bd
movzx eax, byte [esi + 1]
cmp al, 0x4e
jne 0x4048bd
movzx eax, byte [esi + 2]
cmp al, 0x44
jne 0x4048bd
xor eax, eax
jmp 0x4048c2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4048ce
lea esi, [eax + 0x23]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 9
jne 0x404934
mov ebx, str.PAGE_DOWN
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x4048f5
add esi, 4
add ebx, 4
sub edi, 4
jae 0x4048e4
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x404923
cmp dword [ebp - 0x10], 0xfffffffd
je 0x40491f
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404923
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404923
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404923
xor eax, eax
jmp 0x404928
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404934
lea esi, [eax + 0x21]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 2
jne 0x404966
movzx eax, byte [esi]
cmp al, 0x55
jne 0x404955
movzx eax, byte [esi + 1]
cmp al, 0x50
jne 0x404955
xor eax, eax
jmp 0x40495a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404966
lea esi, [eax + 0x26]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 4
jne 0x4049b0
mov eax, dword [esi]
mov ebx, str.DOWN
cmp eax, dword [ebx]
je 0x40499b
cmp al, byte [ebx]
jne 0x40499f
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40499f
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40499f
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40499f
xor eax, eax
jmp 0x4049a4
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4049b0
lea esi, [eax + 0x28]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 4
jne 0x4049fa
mov eax, dword [esi]
mov ebx, str.LEFT
cmp eax, dword [ebx]
je 0x4049e5
cmp al, byte [ebx]
jne 0x4049e9
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4049e9
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4049e9
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4049e9
xor eax, eax
jmp 0x4049ee
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4049fa
lea esi, [eax + 0x25]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 5
jne 0x404a60
mov eax, dword [esi]
mov ebx, str.RIGHT
mov dword [ebp - 0x10], 1
cmp eax, dword [ebx]
jne 0x404a27
add esi, 4
mov dword [ebp - 0x10], 0xfffffffd
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404a4f
cmp dword [ebp - 0x10], 0xfffffffd
je 0x404a4b
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404a4f
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404a4f
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404a4f
xor eax, eax
jmp 0x404a54
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404a60
lea esi, [eax + 0x27]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 8
jne 0x404ac9
mov ebx, str.NUM_LOCK
mov dword [ebp - 0x10], 4
nop word [eax + eax]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x404a96
add esi, 4
add ebx, 4
sub dword [ebp - 0x10], 4
jae 0x404a80
xor eax, eax
jmp 0x404abb
cmp al, byte [ebx]
jne 0x404ab6
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404ab6
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404ab6
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404ab6
xor eax, eax
jmp 0x404abb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404ac9
mov esi, 0x90
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x404b2f
mov eax, dword [esi]
mov ebx, str.NUMPAD0
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x404af6
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404b1e
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404b1e
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404b1e
cmp dword [ebp - 0x10], 0xffffffff
je 0x404b1a
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404b1e
xor eax, eax
jmp 0x404b23
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404b2f
lea esi, [eax + 0x60]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x404b95
mov eax, dword [esi]
mov ebx, str.NUMPAD1
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x404b5c
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404b84
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404b84
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404b84
cmp dword [ebp - 0x10], 0xffffffff
je 0x404b80
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404b84
xor eax, eax
jmp 0x404b89
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404b95
lea esi, [eax + 0x61]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x404bfb
mov eax, dword [esi]
mov ebx, str.NUMPAD2
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x404bc2
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404bea
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404bea
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404bea
cmp dword [ebp - 0x10], 0xffffffff
je 0x404be6
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404bea
xor eax, eax
jmp 0x404bef
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404bfb
lea esi, [eax + 0x62]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x404c61
mov eax, dword [esi]
mov ebx, str.NUMPAD3
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x404c28
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404c50
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404c50
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404c50
cmp dword [ebp - 0x10], 0xffffffff
je 0x404c4c
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404c50
xor eax, eax
jmp 0x404c55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404c61
lea esi, [eax + 0x63]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x404cc7
mov eax, dword [esi]
mov ebx, str.NUMPAD4
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x404c8e
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404cb6
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404cb6
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404cb6
cmp dword [ebp - 0x10], 0xffffffff
je 0x404cb2
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404cb6
xor eax, eax
jmp 0x404cbb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404cc7
lea esi, [eax + 0x64]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x404d2d
mov eax, dword [esi]
mov ebx, str.NUMPAD5
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x404cf4
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404d1c
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404d1c
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404d1c
cmp dword [ebp - 0x10], 0xffffffff
je 0x404d18
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404d1c
xor eax, eax
jmp 0x404d21
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404d2d
lea esi, [eax + 0x65]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x404d93
mov eax, dword [esi]
mov ebx, str.NUMPAD6
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x404d5a
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404d82
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404d82
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404d82
cmp dword [ebp - 0x10], 0xffffffff
je 0x404d7e
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404d82
xor eax, eax
jmp 0x404d87
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404d93
lea esi, [eax + 0x66]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x404df9
mov eax, dword [esi]
mov ebx, str.NUMPAD7
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x404dc0
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404de8
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404de8
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404de8
cmp dword [ebp - 0x10], 0xffffffff
je 0x404de4
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404de8
xor eax, eax
jmp 0x404ded
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404df9
lea esi, [eax + 0x67]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x404e5f
mov eax, dword [esi]
mov ebx, str.NUMPAD8
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x404e26
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404e4e
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404e4e
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404e4e
cmp dword [ebp - 0x10], 0xffffffff
je 0x404e4a
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404e4e
xor eax, eax
jmp 0x404e53
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404e5f
lea esi, [eax + 0x68]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x404ec5
mov eax, dword [esi]
mov ebx, str.NUMPAD9
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x404e8c
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x404eb4
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404eb4
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404eb4
cmp dword [ebp - 0x10], 0xffffffff
je 0x404eb0
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404eb4
xor eax, eax
jmp 0x404eb9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404ec5
lea esi, [eax + 0x69]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xd
jne 0x404f30
mov ebx, str.NUMPAD_DIVIDE
lea edi, [ecx - 4]
nop dword [eax + eax]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x404ef1
add esi, 4
add ebx, 4
sub edi, 4
jae 0x404ee0
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x404f1f
cmp dword [ebp - 0x10], 0xfffffffd
je 0x404f1b
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404f1f
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404f1f
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404f1f
xor eax, eax
jmp 0x404f24
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404f30
lea esi, [eax + 0x6f]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xf
jne 0x404f96
mov ebx, str.NUMPAD_MULTIPLY
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x404f57
add esi, 4
add ebx, 4
sub edi, 4
jae 0x404f46
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x404f85
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404f85
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404f85
cmp dword [ebp - 0x10], 0xffffffff
je 0x404f81
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404f85
xor eax, eax
jmp 0x404f8a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404f96
lea esi, [eax + 0x6a]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xc
jne 0x404ff7
mov ebx, str.NUMPAD_MINUS
mov dword [ebp - 0x10], 8
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x404fc6
add esi, 4
add ebx, 4
sub dword [ebp - 0x10], 4
jae 0x404fb0
xor eax, eax
jmp 0x404feb
cmp al, byte [ebx]
jne 0x404fe6
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x404fe6
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x404fe6
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x404fe6
xor eax, eax
jmp 0x404feb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x404ff7
lea esi, [eax + 0x6d]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xb
jne 0x405060
mov ebx, str.NUMPAD_PLUS
lea edi, [ecx - 4]
nop dword [eax]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405021
add esi, 4
add ebx, 4
sub edi, 4
jae 0x405010
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x40504f
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40504f
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40504f
cmp dword [ebp - 0x10], 0xffffffff
je 0x40504b
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40504f
xor eax, eax
jmp 0x405054
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405060
lea esi, [eax + 0x6b]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xa
jne 0x4050c6
mov ebx, str.NUMPAD_DEL
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405087
add esi, 4
add ebx, 4
sub edi, 4
jae 0x405076
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x4050b5
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4050b5
cmp dword [ebp - 0x10], 0xfffffffe
je 0x4050b1
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4050b5
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4050b5
xor eax, eax
jmp 0x4050ba
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4050c6
lea esi, [eax + 0x6e]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 9
jne 0x405132
mov ebx, str.VOLUME_UP
lea edi, [ecx - 4]
nop dword [eax]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x4050f1
add esi, 4
add ebx, 4
sub edi, 4
jae 0x4050e0
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x40511f
cmp dword [ebp - 0x10], 0xfffffffd
je 0x40511b
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40511f
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40511f
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40511f
xor eax, eax
jmp 0x405124
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405132
mov esi, 0xaf
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xb
jne 0x40519a
mov ebx, str.VOLUME_DOWN
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405159
add esi, 4
add ebx, 4
sub edi, 4
jae 0x405148
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x405187
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x405187
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x405187
cmp dword [ebp - 0x10], 0xffffffff
je 0x405183
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x405187
xor eax, eax
jmp 0x40518c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40519a
mov esi, 0xae
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xb
jne 0x405202
mov ebx, str.VOLUME_MUTE
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x4051c1
add esi, 4
add ebx, 4
sub edi, 4
jae 0x4051b0
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x4051ef
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4051ef
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4051ef
cmp dword [ebp - 0x10], 0xffffffff
je 0x4051eb
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4051ef
xor eax, eax
jmp 0x4051f4
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405202
mov esi, 0xad
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 9
jne 0x40526a
mov ebx, str.HIDE_APPS
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405229
add esi, 4
add ebx, 4
sub edi, 4
jae 0x405218
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x405257
cmp dword [ebp - 0x10], 0xfffffffd
je 0x405253
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x405257
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x405257
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x405257
xor eax, eax
jmp 0x40525c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40526a
mov esi, 0x1fa
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xa
jne 0x4052d2
mov ebx, str.SWITCH_APP
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405291
add esi, 4
add ebx, 4
sub edi, 4
jae 0x405280
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x4052bf
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4052bf
cmp dword [ebp - 0x10], 0xfffffffe
je 0x4052bb
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4052bf
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4052bf
xor eax, eax
jmp 0x4052c4
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4052d2
mov esi, 0x1fb
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0x10
jne 0x405339
mov ebx, str.DISPLAY_KEYBOARD
mov dword [ebp - 0x10], 0xc
nop dword [eax]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405306
add esi, 4
add ebx, 4
sub dword [ebp - 0x10], 4
jae 0x4052f0
xor eax, eax
jmp 0x40532b
cmp al, byte [ebx]
jne 0x405326
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x405326
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x405326
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x405326
xor eax, eax
jmp 0x40532b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405339
mov esi, 0x1fc
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 7
jne 0x4053a1
mov eax, dword [esi]
mov ebx, str.GAMEBAR
mov dword [ebp - 0x10], 3
cmp eax, dword [ebx]
jne 0x405366
add esi, 4
mov dword [ebp - 0x10], 0xffffffff
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x40538e
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40538e
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40538e
cmp dword [ebp - 0x10], 0xffffffff
je 0x40538a
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40538e
xor eax, eax
jmp 0x405393
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4053a1
mov esi, 0x1fd
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0x12
jne 0x405409
mov ebx, str.GAMEBAR_SCREENSHOT
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x4053c8
add esi, 4
add ebx, 4
sub edi, 4
jae 0x4053b7
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x4053f6
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4053f6
cmp dword [ebp - 0x10], 0xfffffffe
je 0x4053f2
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4053f6
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4053f6
xor eax, eax
jmp 0x4053fb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405409
mov esi, 0x1fe
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xa
jne 0x405472
mov ebx, str.FULLSCREEN
lea edi, [ecx - 4]
nop
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405431
add esi, 4
add ebx, 4
sub edi, 4
jae 0x405420
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x40545f
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40545f
cmp dword [ebp - 0x10], 0xfffffffe
je 0x40545b
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40545f
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40545f
xor eax, eax
jmp 0x405464
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405472
mov esi, 0x201
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xf
jne 0x4054da
mov ebx, str.FULLSCREEN_PLUS
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405499
add esi, 4
add ebx, 4
sub edi, 4
jae 0x405488
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x4054c7
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4054c7
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4054c7
cmp dword [ebp - 0x10], 0xffffffff
je 0x4054c3
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4054c7
xor eax, eax
jmp 0x4054cc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4054da
mov esi, 0x202
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xf
jne 0x405542
mov ebx, str.CHANGE_LANGUAGE
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405501
add esi, 4
add ebx, 4
sub edi, 4
jae 0x4054f0
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x40552f
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40552f
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40552f
cmp dword [ebp - 0x10], 0xffffffff
je 0x40552b
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40552f
xor eax, eax
jmp 0x405534
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405542
mov esi, 0x203
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 4
jne 0x405588
mov eax, dword [esi]
mov ebx, str.WASD
cmp eax, dword [ebx]
je 0x405577
cmp al, byte [ebx]
jne 0x40557b
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x40557b
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x40557b
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x40557b
xor eax, eax
jmp 0x405580
sbb eax, eax
or eax, 1
test eax, eax
je 0x40571b
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 6
jne 0x4055ee
mov eax, dword [esi]
mov ebx, str.ARROWS
mov dword [ebp - 0x10], 2
cmp eax, dword [ebx]
jne 0x4055b5
add esi, 4
mov dword [ebp - 0x10], 0xfffffffe
add ebx, 4
mov al, byte [esi]
cmp al, byte [ebx]
jne 0x4055dd
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4055dd
cmp dword [ebp - 0x10], 0xfffffffe
je 0x4055d9
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4055dd
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4055dd
xor eax, eax
jmp 0x4055e2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4055ee
lea esi, [eax + 1]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xd
jne 0x405654
mov ebx, str.NUMPAD_ARROWS
lea edi, [ecx - 4]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405615
add esi, 4
add ebx, 4
sub edi, 4
jae 0x405604
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x405643
cmp dword [ebp - 0x10], 0xfffffffd
je 0x40563f
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x405643
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x405643
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x405643
xor eax, eax
jmp 0x405648
sbb eax, eax
or eax, 1
test eax, eax
jne 0x405654
lea esi, [eax + 4]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xa
jne 0x4056bd
mov ebx, str.MOUSE_LOOK
lea edi, [ecx - 4]
nop word [eax + eax]
mov eax, dword [esi]
cmp eax, dword [ebx]
jne 0x405681
add esi, 4
add ebx, 4
sub edi, 4
jae 0x405670
mov al, byte [esi]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0x1c]
cmp al, byte [ebx]
jne 0x4056af
mov al, byte [esi + 1]
cmp al, byte [ebx + 1]
jne 0x4056af
cmp dword [ebp - 0x10], 0xfffffffe
je 0x4056ab
mov al, byte [esi + 2]
cmp al, byte [ebx + 2]
jne 0x4056af
mov al, byte [esi + 3]
cmp al, byte [ebx + 3]
jne 0x4056af
xor eax, eax
jmp 0x4056b4
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4056bd
lea esi, [eax + 2]
jmp 0x40571d
cmp edi, 0x10
lea esi, [ebp + 8]
cmovae esi, edx
cmp ecx, 0xb
jne 0x40571b
mov ecx, str.MOUSE_WHEEL
mov ebx, 7
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x4056e6
add esi, 4
add ecx, 4
sub ebx, 4
jae 0x4056d5
mov al, byte [esi]
cmp al, byte [ecx]
jne 0x40570d
mov al, byte [esi + 1]
cmp al, byte [ecx + 1]
jne 0x40570d
mov al, byte [esi + 2]
cmp al, byte [ecx + 2]
jne 0x40570d
cmp ebx, 0xffffffff
je 0x405709
mov al, byte [esi + 3]
cmp al, byte [ecx + 3]
jne 0x40570d
xor eax, eax
jmp 0x405712
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40571b
lea esi, [eax + 3]
jmp 0x40571d
xor esi, esi
cmp edi, 0x10
jb 0x405747
inc edi
mov eax, edx
cmp edi, 0x1000
jb 0x40573d
mov edx, dword [edx - 4]
add edi, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40575b
push edi
push edx
call fcn.004150c4
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00437509
int3