Function at 0x42cdd0
Capabilities:
Get keyboard layout
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0xe0cc
call fcn.004c78a0
push ebx
push esi
push edi
mov edi, dword [0x4e8460]
lea eax, [esp + 0x60c8]
push dword [ebp + 8]
mov ebx, ecx
mov dword [esp + 0x18], eax
dec edi
mov dword [esp + 0x20], ebx
lea eax, [esp + 0xa0d4]
mov dword [esp + 0x74], edi
mov dword [esp + 0x28], eax
xor al, al
mov dword [ebx + 0x14c], edi
xor edi, edi
push edi
mov byte [esp + 0x1b], al
mov byte [esp + 0x49], al
mov byte [esp + 0x4e], al
lea eax, [esp + 0x60d0]
push ecx
push eax
mov byte [esp + 0x190], 0
mov dword [esp + 0x7c], edi
call fcn.0042f380
push 2
push 0x4d7790
push dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0x38], eax
call fcn.004b9b6d
add esp, 0xc
test eax, eax
sete byte [esp + 0x32]
test eax, eax
jne 0x42ce6f
mov eax, dword [esp + 0x14]
xor esi, esi
mov dword [esp + 0x2c], esi
mov byte [eax], 0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
mov al, byte [esp + 0x3b]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x74]
mov dword [esp + 0x54], eax
mov al, byte [esp + 0x3b]
mov byte [esp + 0x23], al
cmp esi, 0xffffffff
je 0x42ee06
push 0xc
lea eax, [edi + 1]
mov dword [ebx + 0x38c], 0
push str.CommentFlag
push ecx
mov dword [ebx + 0x150], eax
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42ced6
push dword [esp + 0x14]
mov ecx, ebx
call fcn.0042f620
test eax, eax
je 0x42dd90
mov byte [esp + 0x78], 0
xor ebx, ebx
mov ecx, dword [esp + 0x24]
push dword [ebp + 8]
inc dword [esp + 0x70]
push ebx
push ecx
push ecx
call fcn.0042f380
mov edi, eax
mov dword [esp + 0x3c], edi
test edi, edi
je 0x42cf9c
cmp edi, 0xffffffff
je 0x42cf9c
test ebx, ebx
jne 0x42cf9c
push 2
push 0x4d77a4
push dword [esp + 0x2c]
call fcn.004b9b6d
mov ecx, dword [esp + 0x30]
add esp, 0xc
test eax, eax
jne 0x42cf73
cmp byte [esp + 0x32], al
jne 0x42cf3c
cmp byte [ecx + 2], 0x3a
jne 0x42cf3c
cmp byte [ecx + 3], 0x3a
je 0x42cf7e
lea eax, [edi - 1]
mov byte [esp + 0x32], 0
push eax
lea eax, [ecx + 2]
push eax
push ecx
call fcn.004aff90
mov ecx, dword [esp + 0x30]
lea edx, [edi - 2]
add esp, 0xc
call fcn.00427370
mov ecx, dword [esp + 0x24]
mov edi, eax
mov dword [esp + 0x3c], edi
cmp byte [ecx], 0
je 0x42cee1
jmp 0x42cf7e
cmp byte [esp + 0x32], 0
jne 0x42cee1
push 2
push 0x4d7790
push ecx
call fcn.004b9b6d
add esp, 0xc
test eax, eax
jne 0x42cf9c
mov byte [esp + 0x32], 1
jmp 0x42cedd
cmp byte [esp + 0x32], 0
je 0x42cfb1
cmp edi, 0xffffffff
je 0x42d622
jmp 0x42cedd
test ebx, ebx
jne 0x42d40e
mov ecx, dword [esp + 0x24]
cmp edi, 0xffffffff
je 0x42d1a2
cmp byte [ecx], 0x28
jne 0x42d1a2
mov bl, byte [ecx + 1]
lea esi, [ecx + 1]
cmp bl, 0x3a
je 0x42d19e
cmp byte [edi + ecx - 1], 0x3a
je 0x42d19e
mov eax, 1
mov dword [esp + 0x84], 0
mov dword [esp + 0x34], eax
mov al, byte [0x4e79ea]
mov byte [esp + 0x4a], al
mov byte [esp + 0x49], 1
mov byte [esp + 0x4b], 0
mov byte [esp + 0x4c], 0
mov byte [esp + 0x4d], 1
mov word [esp + 0x90], 0xa
mov dword [esp + 0x68], 1
nop dword [eax]
cmp bl, 0x20
je 0x42d03a
cmp bl, 9
jne 0x42d040
mov bl, byte [esi + 1]
inc esi
jmp 0x42d030
test bl, bl
je 0x42d18c
mov edi, esi
test bl, bl
je 0x42d06b
nop
mov ecx, 0x4d5ff4
mov al, 0x20
cmp bl, al
je 0x42d07c
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42d057
mov bl, byte [edi + 1]
inc edi
test bl, bl
jne 0x42d050
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d070
sub ecx, edx
lea edi, [ecx + esi]
mov bl, byte [edi]
push 4
push str.Join
push esi
mov byte [edi], 0
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42d0e2
push 0xf
lea eax, [esi + 4]
push eax
lea eax, [esp + 0x98]
push eax
call fcn.004b9880
add esp, 0xc
mov byte [esp + 0x9f], 0
lea ecx, [esp + 0x90]
push 1
call fcn.0049c750
lea edx, [esp + 0x94]
add esp, 4
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x42d0d0
sub edx, ecx
mov dword [esp + 0x68], edx
jmp 0x42d165
push 5
push 0x4d7800
push esi
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42d101
cmp byte [esi + 5], 0x30
setne byte [esp + 0x4a]
jmp 0x42d165
push 5
push str.RTrim
push esi
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42d120
cmp byte [esi + 5], 0x30
setne byte [esp + 0x49]
jmp 0x42d165
mov al, byte [esi]
test al, al
je 0x42d165
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x42d138.38
movzx eax, byte [eax + 0x42eec8]
jmp dword [eax*4 + 0x42eeb0]
mov byte [esp + 0x4b], 1
jmp case.0x42d138.38
mov byte [esp + 0x4c], 1
jmp case.0x42d138.38
mov byte [esp + 0x4d], 0
jmp case.0x42d138.38
mov eax, 2
mov dword [esp + 0x34], eax
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x42d126
mov byte [edi], bl
mov esi, edi
nop dword [eax]
cmp bl, 0x20
je 0x42d17a
cmp bl, 9
jne 0x42d180
mov bl, byte [esi + 1]
inc esi
jmp 0x42d170
test bl, bl
jne 0x42d048
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x2c]
mov byte [esp + 0x78], 1
jmp 0x42cee1
mov esi, dword [esp + 0x2c]
xor ebx, ebx
mov dword [esp + 0x34], ebx
cmp edi, 0xffffffff
je 0x42d622
test edi, edi
je 0x42cee1
mov ebx, dword [esp + 0x24]
cmp byte [edi + ebx - 1], 0x3a
jne 0x42d1cd
cmp byte [ebx], 0x2c
jne 0x42d622
mov bl, byte [ebx]
movzx eax, bl
test eax, 0xffffff80
jne 0x42d1eb
push 2
push eax
call fcn.004b47c1
add esp, 8
test eax, eax
je 0x42d1eb
and bl, 0xdf
mov al, bl
mov ebx, dword [esp + 0x24]
cmp al, 0x41
je 0x42d3cc
cmp al, 0x4f
je 0x42d379
mov al, byte [ebx]
cmp al, 0x3a
je 0x42d20f
cmp al, 0x2b
je 0x42d20f
cmp al, 0x2d
jne 0x42d218
cmp byte [ebx + 1], al
je 0x42d622
movsx eax, al
push eax
push str.____:.___
call fcn.004b7be9
add esp, 8
test eax, eax
je 0x42d622
push 0x4d77cc
push ebx
call fcn.004b8128
mov edi, eax
add esp, 8
test edi, edi
je 0x42d2f4
cmp byte [ebx], 0x3a
jne 0x42d2a1
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
test al, al
je 0x42d299
cmp al, 0x3a
je 0x42d622
movzx eax, al
test eax, 0xffffff80
jne 0x42d27c
push 0x107
push eax
call fcn.004b47c1
add esp, 8
test eax, eax
jne 0x42d291
movsx eax, byte [esi]
push eax
push 0x4d77d0
call fcn.004b7be9
add esp, 8
test eax, eax
je 0x42d2a1
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x42d258
cmp al, 0x3a
je 0x42d622
cmp byte [ebx], 0x2c
jne 0x42d337
lea esi, [ebx + 1]
nop dword [eax]
mov al, byte [esi]
cmp al, 0x20
je 0x42d2ba
cmp al, 9
jne 0x42d2bd
inc esi
jmp 0x42d2b0
push 2
push 0x4d77cc
push esi
call fcn.004b9b6d
add esp, 0xc
test eax, eax
je 0x42d622
push 3
lea eax, [esi - 1]
push 0x4d5fec
push eax
call fcn.004b9b6d
add esp, 0xc
test eax, eax
je 0x42d622
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x42ec64
cmp byte [ebx], 0x2c
je 0x42d314
mov eax, dword [esp + 0x14]
mov byte [esi + eax], 0x20
inc esi
lea eax, [edi + 1]
push eax
mov eax, dword [esp + 0x18]
add eax, esi
push ebx
push eax
call fcn.004b19e0
mov ebx, dword [esp + 0x40]
add esp, 0xc
add esi, edi
mov dword [esp + 0x2c], esi
jmp 0x42cedd
mov eax, ebx
cmp ebx, edi
jae 0x42d34a
nop dword [eax]
cmp byte [eax], 0x22
je 0x42d34a
inc eax
cmp eax, edi
jb 0x42d340
cmp eax, edi
je 0x42d622
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x42d622
cmp al, 0x22
je 0x42d371
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42d360
jmp 0x42d622
cmp byte [ecx], 0
jmp 0x42d2ea
mov cl, byte [ebx + 1]
call fcn.00412890
cmp al, 0x52
jne 0x42d622
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x20
je 0x42d3a8
cmp al, 9
je 0x42d3a0
cmp al, 0xa0
jne 0x42d622
nop
cmp al, 0x20
je 0x42d3a8
cmp al, 9
jne 0x42d3ae
mov al, byte [ecx + 1]
inc ecx
jmp 0x42d3a0
movsx eax, al
push eax
push str.____:
call fcn.004b7be9
add esp, 8
test eax, eax
jne 0x42d622
jmp 0x42d2f8
push 3
push 0x4d77a8
push ebx
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42d622
mov al, byte [ebx + 3]
lea ecx, [ebx + 3]
cmp al, 0x20
je 0x42d408
cmp al, 9
je 0x42d400
cmp al, 0xa0
jne 0x42d622
nop word [eax + eax]
cmp al, 0x20
je 0x42d408
cmp al, 9
jne 0x42d3ae
mov al, byte [ecx + 1]
inc ecx
jmp 0x42d400
cmp edi, 0xffffffff
je 0x42edeb
mov ecx, dword [esp + 0x24]
cmp edi, 0xfffffffe
je 0x42cee1
mov edi, ecx
cmp byte [edi], 0x29
jne 0x42d47b
mov edx, edi
xor ebx, ebx
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x42d432
sub edx, ecx
lea eax, [edi - 1]
add eax, edx
mov cl, byte [eax]
cmp cl, 0x20
je 0x42d44c
cmp cl, 9
jne 0x42d454
cmp eax, edi
je 0x42d462
dec eax
dec edx
jmp 0x42d440
inc edi
mov byte [eax + 1], bl
dec edx
mov dword [esp + 0x3c], edx
jmp 0x42d597
cmp cl, 0x20
je 0x42d46c
cmp cl, 9
jne 0x42d470
mov byte [eax], bl
xor edx, edx
inc edi
dec edx
mov dword [esp + 0x3c], edx
jmp 0x42d597
cmp byte [esp + 0x49], 0
mov esi, dword [esp + 0x24]
je 0x42d497
mov edx, dword [esp + 0x3c]
mov ecx, esi
call fcn.004273d0
mov dword [esp + 0x3c], eax
jmp 0x42d49b
mov eax, dword [esp + 0x3c]
cmp byte [esp + 0x4a], 0
je 0x42d4af
mov edx, eax
mov ecx, esi
call fcn.00427370
mov dword [esp + 0x3c], eax
xor esi, esi
cmp byte [esp + 0x4b], 0
je 0x42d4eb
mov al, byte [0x4e5b6d]
lea edx, [esp + 0x40]
mov ecx, dword [esp + 0x24]
push esi
push esi
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x50], al
mov byte [esp + 0x54], al
mov byte [esp + 0x55], al
lea eax, [esp + 0x54]
push 1
push eax
call fcn.0049acc0
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x4c], 0
je 0x42d52d
mov al, byte [0x4e5b6d]
lea edx, [esp + 0x40]
mov cl, byte [0x4e5b6e]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x54], al
lea eax, [esp + 0x54]
mov byte [esp + 0x50], cl
mov byte [esp + 0x55], cl
mov ecx, dword [esp + 0x34]
push 1
push eax
call fcn.0049acc0
add esp, 0x18
add esi, eax
cmp byte [esp + 0x4d], 0
je 0x42d56f
mov al, byte [0x4e5b6d]
lea edx, [esp + 0x40]
mov cl, byte [0x4e5b6f]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x54], al
lea eax, [esp + 0x54]
mov byte [esp + 0x50], cl
mov byte [esp + 0x55], cl
mov ecx, dword [esp + 0x34]
push 1
push eax
call fcn.0049acc0
add esp, 0x18
add esi, eax
test esi, esi
je 0x42d58f
mov edx, dword [esp + 0x24]
lea ecx, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x42d580
sub edx, ecx
mov dword [esp + 0x3c], edx
jmp 0x42d593
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x68]
add eax, edx
add eax, esi
cmp eax, 0x4001
jae 0x42edd3
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x84], eax
cmp eax, 1
jle 0x42d5f7
mov eax, dword [esp + 0x68]
test eax, eax
je 0x42d5f7
cmp edi, ecx
jne 0x42d5f7
inc eax
push eax
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x1c]
add eax, esi
push eax
call fcn.004b19e0
mov edx, dword [esp + 0x48]
add esp, 0xc
add esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], esi
test edx, edx
je 0x42cee1
lea eax, [edx + 1]
push eax
mov eax, dword [esp + 0x18]
add eax, esi
push edi
push eax
call fcn.004b19e0
add esp, 0xc
add esi, dword [esp + 0x3c]
mov dword [esp + 0x2c], esi
jmp 0x42cedd
mov byte [edi], bl
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
nop word [eax + eax]
test esi, esi
je 0x42de7c
cmp byte [esp + 0x180], 0
je 0x42d955
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ebx, dword [ebx + 0x150]
mov dword [edi + 0x150], eax
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x7b
je 0x42d6ac
cmp byte [esp + 0x2b], 0
jne 0x42d6ac
mov esi, dword [esp + 0x58]
test esi, esi
jne 0x42eca9
cmp dword [edi + 0x28], esi
je 0x42d68c
mov eax, dword [0x4e498c]
cmp dword [eax + 0x94], esi
je 0x42ec7c
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x198]
mov ecx, edi
push eax
call fcn.00431070
jmp 0x42d8e3
mov esi, dword [esp + 0x58]
mov eax, esi
sub eax, 0
je 0x42d89c
sub eax, 1
je 0x42d87b
sub eax, 1
jne 0x42d8f5
lea ecx, [esp + 0x180]
call fcn.00448680
mov edi, eax
mov al, byte [edi]
cmp al, 0x2e
jne 0x42d6ff
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x180]
push ecx
mov eax, str.Not_a_valid_method__class_or_property_definition.
mov ecx, edi
push eax
call fcn.004470d0
jmp 0x42d88a
mov esi, edi
cmp al, 0x20
je 0x42d709
cmp al, 9
jne 0x42d70f
mov al, byte [esi + 1]
inc esi
jmp 0x42d701
cmp al, 0x5b
jne 0x42d75e
lea ecx, [esp + 0x180]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d720
sub ecx, edx
cmp byte [esp + ecx + 0x17f], 0x5d
je 0x42d751
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x180]
push ecx
mov eax, str.Missing____
mov ecx, edi
push eax
call fcn.004470d0
jmp 0x42d88a
mov byte [esi], 0x28
mov byte [esp + ecx + 0x17f], 0x29
jmp 0x42d763
mov esi, 0x4d89fc
lea ecx, [esp + 0x180]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d770
sub ecx, edx
lea eax, [ecx + 7]
push eax
call fcn.004b2c3e
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x148], ecx
test ecx, ecx
jne 0x42d79c
mov edi, eax
jmp 0x42d866
push esi
lea eax, [esp + 0x184]
push eax
lea edx, [esp + 0x188]
mov eax, edi
sub eax, edx
push eax
push str._.s.Get_s
push ecx
call fcn.004058d0
mov ecx, dword [esp + 0x30]
add esp, 0x14
mov eax, dword [ecx + 0x28]
mov esi, dword [ecx + eax*4 + 0x28]
lea eax, [esp + 0x180]
push eax
lea eax, [esp + 0xf4]
mov byte [edi], 0
push eax
mov ecx, esi
call fcn.004279d0
test al, al
je 0x42d806
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x180]
push ecx
mov eax, str.Duplicate_declaration.
mov ecx, edi
push eax
call fcn.004470d0
jmp 0x42d88a
push 0x10
call fcn.004ae4f6
mov edi, dword [esp + 0x20]
add esp, 4
mov dword [esp + 0x34], eax
mov ecx, esi
mov dword [esp + 0xc0], eax
mov dword [eax + 4], 1
mov dword [eax], vtable.Property.0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [edi + 0x144], eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x184]
mov dword [esp + 0xcc], 6
push eax
call fcn.00427ac0
test al, al
jne 0x42d892
mov ecx, 0x4d0335
mov eax, str.Out_of_memory.
push ecx
push eax
mov ecx, edi
call fcn.004470d0
jmp 0x42d88a
lea eax, [esp + 0x180]
mov ecx, edi
push eax
call fcn.00436bb0
test eax, eax
je 0x42dd90
mov byte [esp + 0x180], 0
jmp 0x42d901
mov eax, dword [0x4e498c]
mov ecx, edi
cmp dword [eax + 0x94], 0
jne 0x42ecc6
lea eax, [esp + 0x4188]
push eax
lea eax, [esp + 0x184]
push eax
call fcn.00436210
test eax, eax
je 0x42dd90
cmp byte [esp + 0x2b], 0
je 0x42d8f5
push 0
push 0
push 0
push 0x77
mov ecx, edi
call fcn.004330c0
test eax, eax
je 0x42dd90
mov dword [edi + 0x38c], 0
mov byte [esp + 0x180], 0
test esi, esi
je 0x42d94f
cmp byte [esp + 0x2b], 0
jne 0x42d94f
mov eax, dword [esp + 0x14]
lea ecx, [eax + 1]
nop
mov al, byte [ecx]
cmp al, 0x20
je 0x42d91a
cmp al, 9
jne 0x42d91d
inc ecx
jmp 0x42d910
test al, al
jne 0x42d92c
mov dword [edi + 0x150], ebx
jmp 0x42de7c
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42d931
sub esi, edx
mov dword [esp + 0x2c], esi
lea eax, [esi + 1]
push eax
push ecx
push dword [esp + 0x1c]
call fcn.004aff90
add esp, 0xc
mov dword [edi + 0x150], ebx
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov dl, byte [eax]
cmp dl, 0x7d
jne 0x42da8c
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x42da8c
mov eax, dword [0x4e498c]
cmp dword [eax + 0x94], 0
jne 0x42da8c
cmp dword [ebx + 0x144], 0
je 0x42d9be
mov eax, dword [ebx + 0x148]
mov dword [ebx + 0x144], 0
test eax, eax
je 0x42da45
push eax
call fcn.004b2343
add esp, 4
mov dword [ebx + 0x148], 0
jmp 0x42da45
lea eax, [ecx - 1]
mov dword [ebx + 0x28], eax
mov edi, dword [ebx + eax*4 + 0x2c]
mov esi, dword [edi + 0x10]
sub esi, 1
js 0x42da21
mov ebx, esi
shl ebx, 4
mov eax, dword [edi + 0xc]
cmp dword [ebx + eax + 0xc], 1
jne 0x42da12
cmp esi, dword [edi + 0x1c]
jl 0x42d9f0
push dword [ebx + eax + 8]
call fcn.004b2343
add esp, 4
dec dword [edi + 0x10]
mov edx, dword [edi + 0x10]
cmp esi, edx
jge 0x42da12
mov ecx, dword [edi + 0xc]
sub edx, esi
add ecx, ebx
shl edx, 4
push edx
lea eax, [ecx + 0x10]
push eax
push ecx
call fcn.004aff90
add esp, 0xc
sub ebx, 0x10
sub esi, 1
jns 0x42d9d5
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x28]
mov eax, dword [ebx + eax*4 + 0x2c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea esi, [ebx + 0x40]
push 0x2e
push esi
call fcn.004b4423
add esp, 8
test eax, eax
je 0x42da42
mov byte [eax], 0
jmp 0x42da45
mov byte [esi], 0
mov eax, dword [esp + 0x14]
lea esi, [eax + 1]
nop dword [eax]
mov al, byte [esi]
cmp al, 0x20
je 0x42da5a
cmp al, 9
jne 0x42da5d
inc esi
jmp 0x42da50
mov dword [esp + 0x14], esi
cmp byte [esi], 0
je 0x42de7c
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x42da70
sub esi, ecx
mov dword [ebx + 0x38c], 0
mov dword [esp + 0x2c], esi
jmp 0x42d630
cmp dword [ebx + 0x144], 0
je 0x42db5f
mov eax, dword [0x4e498c]
cmp dword [eax + 0x94], 0
jne 0x42db5f
push 3
push 0x4d7880
push dword [esp + 0x1c]
call fcn.004b2c54
add esp, 0xc
test eax, eax
je 0x42dadd
push 3
push 0x4d7884
push dword [esp + 0x1c]
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42ece1
mov ecx, dword [esp + 0x14]
lea esi, [ecx + 3]
mov al, byte [esi]
cmp al, 0x20
je 0x42daee
cmp al, 9
jne 0x42daf1
inc esi
jmp 0x42dae4
test al, al
je 0x42db07
cmp al, 0x7b
jne 0x42ece5
cmp byte [esi + 1], 0
jne 0x42ece5
mov ecx, dword [ebx + 0x148]
lea edx, [esp + 0x180]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x42db16
lea eax, [esp + 0x180]
push 0x2e
push eax
call fcn.004b7be9
mov ecx, eax
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x1c]
add esp, 8
mov al, byte [eax]
mov byte [ecx + 1], al
cmp byte [esi], 0x7b
mov eax, dword [ebx + 0x150]
mov dword [esp + 0x64], eax
sete byte [esp + 0x2b]
jmp 0x42de7c
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x34], ebx
test dl, dl
je 0x42db8b
nop dword [eax + eax]
mov ecx, str.__t____:_______.___
mov al, 0x20
cmp dl, al
je 0x42dbe1
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42db77
mov dl, byte [ebx + 1]
inc ebx
test dl, dl
jne 0x42db70
mov eax, dword [0x4e498c]
cmp dword [eax + 0x94], 0
jne 0x42dff5
mov esi, dword [esp + 0x14]
push 5
push str.Class
push esi
call fcn.004b2c54
add esp, 0xc
test eax, eax
jne 0x42dd09
mov al, byte [esi + 5]
cmp al, 0x20
je 0x42dbc8
cmp al, 9
jne 0x42dd09
lea edi, [esi + 6]
nop dword [eax + eax]
mov al, byte [edi]
cmp al, 0x20
je 0x42dbde
cmp al, 9
jne 0x42dc9b
inc edi
jmp 0x42dbd0
cmp byte [ebx], 0x28
jne 0x42db8b
mov esi, dword [esp + 0x14]
cmp ebx, esi
je 0x42db8b
mov edi, ebx
mov edx, 0x4d7710
sub edi, esi
mov ecx, esi
push 0xffffffffffffffff
push edi
call fcn.0049a5f0
add esp, 8
test eax, eax
je 0x42db8b
mov esi, dword [esp + 0x34]
mov edx, str.WHILE
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.0049a5f0
add esp, 8
test eax, eax
je 0x42db8b
cmp byte [ebx + 1], 0x3a
je 0x42db8b
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42dc35
sub ecx, edx
lea edx, [ebx - 1]
add edx, ecx
mov al, byte [edx]
cmp al, 0x7b
sete byte [esp + 0x2b]
jne 0x42dc5e
mov byte [edx], 0
mov ecx, esi
sub edx, esi
call fcn.004273d0
mov al, byte [eax + esi - 1]
cmp al, 0x29
jne 0x42db8b
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x180]
sub ecx, esi
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x42dc73
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], 0
mov eax, dword [eax + 0x150]
mov dword [esp + 0x64], eax
jmp 0x42de7c
movsx eax, al
push eax
push str.__t____:_______.___
call fcn.004b7be9
add esp, 8
test eax, eax
jne 0x42dd09
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42dcb5
sub ecx, edx
lea edx, [edi - 1]
add edx, ecx
cmp byte [edx], 0x7b
sete byte [esp + 0x2b]
jne 0x42dcd8
mov byte [edx], al
mov ecx, esi
sub edx, esi
call fcn.004273d0
lea ecx, [esp + 0x180]
sub ecx, edi
mov al, byte [edi]
lea edi, [edi + 1]
mov byte [ecx + edi - 1], al
test al, al
jne 0x42dce1
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], 1
mov eax, dword [eax + 0x150]
mov dword [esp + 0x64], eax
jmp 0x42de7c
mov ebx, dword [esp + 0x1c]
cmp dword [ebx + 0x28], 0
je 0x42dff5
mov esi, dword [esp + 0x14]
nop dword [eax + eax]
mov al, byte [esi]
movzx ecx, al
test ecx, 0xffffff80
jne 0x42dd41
push 0x107
push ecx
call fcn.004b47c1
add esp, 8
test eax, eax
jne 0x42dd4f
mov al, byte [esi]
mov cl, byte [esi]
cmp al, 0x5f
je 0x42dd4f
cmp al, 0x7f
ja 0x42dd4f
cmp al, 0x2e
jne 0x42dd52
inc esi
jmp 0x42dd20
cmp esi, dword [esp + 0x14]
jbe 0x42de05
nop dword [eax]
cmp cl, 0x20
je 0x42dd6a
cmp cl, 9
jne 0x42dd70
mov cl, byte [esi + 1]
inc esi
jmp 0x42dd60
cmp cl, 0x3a
jne 0x42dd9b
cmp byte [esi + 1], 0x3d
jne 0x42dd9b
push 0
push dword [esp + 0x18]
mov ecx, ebx
call fcn.004371a0
test eax, eax
jne 0x42de7c
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test cl, cl
je 0x42ddaf
cmp cl, 0x5b
je 0x42ddaf
cmp cl, 0x7b
jne 0x42de05
cmp byte [esi + 1], 0
jne 0x42de05
mov edx, dword [esp + 0x14]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x42ddb6
mov esi, dword [esp + 0x14]
sub edx, ecx
cmp byte [edx + esi - 1], 0x7b
sete byte [esp + 0x2b]
jne 0x42ddd7
dec edx
mov ecx, esi
call fcn.004273d0
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x180]
sub ecx, esi
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x42dde4
mov eax, dword [ebx + 0x150]
mov dword [esp + 0x64], eax
mov dword [esp + 0x58], 2
jmp 0x42de7c
push 6
push str.Static
push dword [esp + 0x1c]
call fcn.004b2c54
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x14]
jne 0x42de44
mov cl, byte [eax + 6]
cmp cl, 0x20
je 0x42de2d
cmp cl, 9
jne 0x42de44
push 1
add eax, 7
mov ecx, ebx
push eax
call fcn.004371a0
test eax, eax
je 0x42dd90
jmp 0x42de7c
cmp byte [eax], 0x23
jne 0x42ecff
mov esi, dword [ebx + 0x150]
mov ecx, ebx
push eax
call fcn.0042f620
test eax, eax
je 0x42dd90
cmp eax, 3
jne 0x42ecfb
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x150], esi
mov dword [ebx + 0x14c], eax
mov dl, byte [esp + 0x13]
test dl, dl
je case.0x42dea4.4
mov ebx, dword [esp + 0x60]
inc ebx
mov dword [esp + 0x60], ebx
lea eax, [ebx - 1]
cmp eax, 9
ja case.0x42dea4.4
movzx eax, byte [eax + 0x42ef1c]
jmp dword [eax*4 + 0x42ef08]
lea eax, [esp + 0xd0]
push eax
push str._s::
push dword [esp + 0x1c]
call fcn.004058d0
mov dword [esp + 0x38], eax
jmp 0x42dff2
mov eax, dword [esp + 0x14]
mov cx, word [0x4d5d84]
cmp byte [esp + 0x3a], 0
mov ebx, dword [esp + 0x1c]
mov word [eax], cx
mov eax, dword [esp + 0x14]
mov cl, byte [0x4d5d86]
push 0
push 1
mov byte [eax + 2], cl
lea eax, [esp + 0x1c]
push eax
setne al
mov ecx, ebx
add al, 0xc5
movzx eax, al
push eax
call fcn.004330c0
cmp byte [esp + 0x4f], 0
je 0x42df32
lea eax, [esp + 0xa0]
push eax
push str.if_not_GetKeyState___s__
push dword [esp + 0x1c]
call fcn.004058d0
mov dword [esp + 0x38], eax
mov eax, 9
jmp 0x42dfee
mov dl, byte [esp + 0x13]
jmp 0x42df3c
mov ebx, dword [esp + 0x1c]
mov ecx, 0x4d0335
cmp dl, 0x12
je 0x42df4e
mov al, dl
add al, 0x5c
cmp al, 1
ja 0x42df70
movzx eax, byte [esp + 0x4e]
sub eax, 0x11
je 0x42df6b
sub eax, 0x91
je 0x42df6b
sub eax, 1
jne 0x42df70
mov ecx, str.RCtrl_up
jmp 0x42df70
mov ecx, str.LCtrl_up
lea eax, [esp + 0xa0]
mov dword [ebx + 0x38c], 0
push eax
lea eax, [esp + 0x8c]
push eax
push ecx
push str.Blind_s_s_s_DownR
push dword [esp + 0x24]
call fcn.004058d0
add esp, 0x14
lea eax, [esp + 0x14]
mov ecx, ebx
push 0
push 1
push eax
push 0x41
call fcn.004330c0
test eax, eax
je 0x42dd90
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.004330c0
lea eax, [esp + 0xd0]
mov dword [ebx + 0x38c], 0
push eax
push str._s_up::
push dword [esp + 0x1c]
call fcn.004058d0
mov dword [esp + 0x38], eax
mov eax, 2
mov dword [esp + 0x6c], eax
add esp, 0xc
mov esi, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x50], 0
mov dword [esp + 0x34], edi
cmp byte [esi], 0x3a
jne 0x42e1a4
mov al, byte [esi + 1]
test al, al
je 0x42e1a4
lea ecx, [esi + 1]
mov dword [esp + 0x7c], ecx
cmp al, 0x3a
je 0x42e04b
push 0x3a
push ecx
call fcn.004b7be9
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x42e040
mov dword [esp + 0x50], edi
jmp 0x42e1a4
mov ecx, dword [esp + 0x7c]
inc ebx
mov dword [esp + 0x50], ebx
jmp 0x42e061
mov eax, dword [esp + 0x14]
add eax, 2
cmp byte [eax], 0
je 0x42e1a4
mov ebx, eax
mov dword [esp + 0x50], eax
test ebx, ebx
je 0x42e1a4
mov ah, byte [0x4e7960]
mov esi, ecx
mov byte [esp + 0x33], ah
cmp ecx, ebx
jae 0x42e0bd
nop dword [eax]
mov al, byte [esi]
movzx ebx, al
test ebx, 0xffffff80
jne 0x42e09f
push 2
push ebx
call fcn.004b47c1
add esp, 8
test eax, eax
je 0x42e09f
and ebx, 0xffffffdf
inc esi
cmp bl, 0x58
mov ebx, dword [esp + 0x50]
je 0x42e0b3
cmp esi, ebx
jb 0x42e080
mov ah, byte [esp + 0x33]
jmp 0x42e0bd
cmp byte [esi], 0x30
setne ah
mov byte [esp + 0x33], ah
mov esi, ebx
nop
mov al, byte [esi]
mov ebx, edi
test al, al
je 0x42e198
mov cl, byte [0x4e5b6d]
mov edx, esi
cmp al, cl
je 0x42e0e9
cmp al, 0x3a
je 0x42e0e9
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x42e0d2
jmp 0x42e198
mov cl, byte [esi]
test cl, cl
je 0x42e198
mov al, byte [esi + 1]
lea edi, [esi + 1]
cmp cl, 0x3a
jne 0x42e125
cmp al, cl
jne 0x42e10e
mov dword [esp + 0x34], esi
test ah, ah
jne 0x42e194
mov ah, byte [esp + 0x33]
mov esi, edi
cmp al, 0x3a
mov edi, edx
cmovne edi, ebx
cmovne esi, edx
mov dword [esp + 0x34], edi
inc esi
jmp 0x42e0c0
movsx eax, al
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x42e137.99
movzx eax, byte [eax + 0x42ef48]
jmp dword [eax*4 + 0x42ef28]
mov byte [edi], 7
jmp case.0x42e137.99
mov byte [edi], 8
jmp case.0x42e137.99
mov byte [edi], 0xc
jmp case.0x42e137.99
mov byte [edi], 0xa
jmp case.0x42e137.99
mov byte [edi], 0xd
jmp case.0x42e137.99
mov byte [edi], 9
jmp case.0x42e137.99
mov byte [edi], 0xb
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42e164
sub ecx, edx
lea eax, [ecx + 1]
push eax
push edi
push esi
call fcn.004aff90
add esp, 0xc
cmp byte [esi], 0x3a
jne 0x42e186
cmp byte [edi], 0x3a
cmove esi, edi
mov edi, dword [esp + 0x34]
inc esi
mov ah, byte [esp + 0x33]
jmp 0x42e0c0
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x42e228
mov dword [esp + 0x50], edi
push 0x4d77cc
push dword [esp + 0x18]
call fcn.004b8128
mov edi, eax
add esp, 8
test edi, edi
je 0x42ea1f
mov ecx, dword [esp + 0x14]
cmp edi, ecx
jne 0x42e1ce
cmp byte [edi + 2], 0x3a
jne 0x42e1ce
inc edi
mov esi, edi
cmp edi, ecx
jbe 0x42e1e3
mov al, byte [esi]
cmp al, 0x20
je 0x42e1de
cmp al, 9
jne 0x42e1e3
dec esi
cmp esi, ecx
ja 0x42e1d4
mov bl, byte [esi]
mov byte [esi], 0
mov ecx, dword [esp + 0x14]
nop dword [eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x42e1fa
cmp al, 9
jne 0x42e1fd
inc ecx
jmp 0x42e1f0
push 0
xor edx, edx
call fcn.00414a50
add esp, 4
mov dword [esp + 0x74], eax
test eax, eax
je 0x42e21c
cmp eax, 4
je 0x42dd90
jmp 0x42e21e
xor edi, edi
mov byte [esi], bl
test edi, edi
je 0x42ea1f
mov ecx, dword [esp + 0x14]
cmp edi, ecx
jbe 0x42ea23
mov eax, dword [0x4e498c]
cmp dword [eax + 0x94], 0
jne 0x42eda3
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x354]
test eax, eax
je 0x42e25d
cmp byte [eax], 0x1a
je 0x42ed15
mov ebx, dword [esp + 0x50]
mov byte [edi], 0
add edi, 2
mov dword [esp + 0x34], edi
test ebx, ebx
jne 0x42e6c7
mov al, byte [edi]
test al, al
je 0x42e2b7
mov edx, edi
nop dword [eax + eax]
cmp al, 0x20
je 0x42e288
cmp al, 9
jne 0x42e28e
mov al, byte [edx + 1]
inc edx
jmp 0x42e280
mov eax, edx
sub eax, edi
je 0x42e2b7
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42e2a0
sub ecx, esi
lea eax, [ecx + 1]
push eax
push edx
push edi
call fcn.004aff90
add esp, 0xc
cmp byte [edi], 0
mov dword [esp + 0x2c], edi
je 0x42e6c7
mov al, byte [edi + 1]
test al, al
je 0x42e40a
mov ebx, edi
xor cl, cl
mov edi, dword [esp + 0x5c]
xor dl, dl
nop dword [eax]
cmp al, 0x20
je case.0x42e2fe.34
movsx eax, byte [ebx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x42e2fe.34
movzx eax, byte [eax + 0x42ef80]
jmp dword [eax*4 + 0x42ef60]
mov dl, 1
jmp case.0x42e2fe.36
mov cl, 1
jmp case.0x42e2fe.36
test dl, dl
jne 0x42e323
test cl, cl
jne 0x42e327
or edi, 1
jmp case.0x42e2fe.36
test cl, cl
je 0x42e335
mov al, byte [esp + 0x1b]
or al, 4
xor cl, cl
mov byte [esp + 0x1b], al
jmp 0x42e339
mov al, byte [esp + 0x1b]
test dl, dl
je case.0x42e2fe.36
or al, 8
jmp 0x42e3c4
test dl, dl
jne 0x42e352
test cl, cl
jne 0x42e356
or edi, 2
jmp case.0x42e2fe.36
test cl, cl
je 0x42e364
mov al, byte [esp + 0x1b]
or al, 1
xor cl, cl
mov byte [esp + 0x1b], al
jmp 0x42e368
mov al, byte [esp + 0x1b]
test dl, dl
je case.0x42e2fe.36
or al, 2
jmp 0x42e3c4
test dl, dl
jne 0x42e37d
test cl, cl
jne 0x42e381
or edi, 4
jmp case.0x42e2fe.36
test cl, cl
je 0x42e38f
mov al, byte [esp + 0x1b]
or al, 0x10
xor cl, cl
mov byte [esp + 0x1b], al
jmp 0x42e393
mov al, byte [esp + 0x1b]
test dl, dl
je case.0x42e2fe.36
or al, 0x20
jmp 0x42e3c4
test dl, dl
jne 0x42e3a8
test cl, cl
jne 0x42e3ac
or edi, 8
jmp case.0x42e2fe.36
test cl, cl
je 0x42e3ba
mov al, byte [esp + 0x1b]
or al, 0x40
xor cl, cl
mov byte [esp + 0x1b], al
jmp 0x42e3be
mov al, byte [esp + 0x1b]
test dl, dl
je case.0x42e2fe.36
or al, 0x80
xor dl, dl
mov byte [esp + 0x1b], al
mov al, byte [ebx + 2]
inc ebx
test al, al
jne 0x42e2e0
push 0
mov dword [esp + 0x60], edi
mov dword [esp + 0x30], ebx
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ecx
push 0
xor edx, edx
mov ecx, ebx
call fcn.0041c000
mov edi, dword [esp + 0x40]
mov bh, al
add esp, 0xc
mov byte [esp + 0x13], bh
test bh, bh
je 0x42e6c3
jmp 0x42e411
or bh, 0xff
mov byte [esp + 0x13], bh
mov esi, dword [esp + 0x14]
cmp byte [esi], 0
je 0x42e507
mov al, byte [esi + 1]
lea edi, [esi + 1]
xor cl, cl
xor dl, dl
test al, al
je 0x42e503
mov bh, byte [esp + 0x23]
cmp al, 0x20
je case.0x42e452.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x42e452.34
movzx eax, byte [eax + 0x42f000]
jmp dword [eax*4 + 0x42efe0]
mov dl, 1
jmp case.0x42e452.36
mov cl, 1
jmp case.0x42e452.36
test dl, dl
jne 0x42e476
test cl, cl
jne 0x42e47a
or dword [esp + 0x54], 1
jmp case.0x42e452.36
test cl, cl
je 0x42e47f
or bh, 4
xor cl, cl
test dl, dl
je case.0x42e452.36
or bh, 8
jmp 0x42e4e9
test dl, dl
jne 0x42e497
test cl, cl
jne 0x42e49b
or dword [esp + 0x54], 2
jmp case.0x42e452.36
test cl, cl
je 0x42e4a0
or bh, 1
xor cl, cl
test dl, dl
je case.0x42e452.36
or bh, 2
jmp 0x42e4e9
test dl, dl
jne 0x42e4b8
test cl, cl
jne 0x42e4bc
or dword [esp + 0x54], 4
jmp case.0x42e452.36
test cl, cl
je 0x42e4c1
or bh, 0x10
xor cl, cl
test dl, dl
je case.0x42e452.36
or bh, 0x20
jmp 0x42e4e9
test dl, dl
jne 0x42e4d9
test cl, cl
jne 0x42e4dd
or dword [esp + 0x54], 8
jmp case.0x42e452.36
test cl, cl
je 0x42e4e2
or bh, 0x40
xor cl, cl
test dl, dl
je case.0x42e452.36
or bh, 0x80
xor dl, dl
mov esi, edi
mov al, byte [esi + 1]
lea edi, [esi + 1]
test al, al
jne 0x42e434
mov byte [esp + 0x23], bh
mov bh, byte [esp + 0x13]
mov edi, dword [esp + 0x34]
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ecx
push 0
xor edx, edx
mov ecx, esi
call fcn.0041c000
add esp, 0xc
mov byte [esp + 0x4e], al
push 0x4d5fec
push esi
call fcn.004b8128
add esp, 8
test eax, eax
mov al, byte [esp + 0x4e]
setne bl
lea ecx, [eax - 1]
cmp cl, 5
ja 0x42e546
cmp al, 3
jne 0x42e54c
add al, 0x66
cmp al, 5
ja 0x42e550
mov cl, 1
jmp 0x42e552
xor cl, cl
mov al, bh
sub al, 1
cmp al, 5
ja 0x42e55f
cmp bh, 3
jne 0x42e567
mov al, bh
add al, 0x66
cmp al, 5
ja 0x42e56b
mov al, 1
jmp 0x42e56d
xor al, al
mov byte [esp + 0x3a], al
test cl, cl
jne 0x42e57e
mov byte [esp + 0x4f], 1
test al, al
jne 0x42e583
mov byte [esp + 0x4f], 0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42e588
sub ecx, edx
cmp ecx, 1
jne 0x42e5a9
movzx eax, byte [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x4d78fc
jne 0x42e5ae
mov eax, 0x4d0335
push dword [esp + 0x14]
test bl, bl
mov ecx, 0x4d76ec
push eax
mov eax, 0x4d0335
cmove eax, ecx
push eax
push str._s_s_s
lea eax, [esp + 0xe0]
push 0x20
push eax
call fcn.0049a540
mov ebx, dword [esp + 0x44]
lea eax, [esp + 0xb8]
push 0x1f
push ebx
push eax
call fcn.004b9880
add esp, 0x24
mov byte [esp + 0xbf], 0
lea eax, [esp + 0x88]
push 7
push edi
push eax
call fcn.004b9880
sub ebx, edi
mov byte [esp + 0x9b], 0
add esp, 0xc
cmp ebx, 8
jae 0x42e620
mov byte [esp + ebx + 0x88], 0
xor ebx, ebx
mov dword [esp + 0x60], ebx
cmp byte [esp + 0x88], bl
jne 0x42de7c
mov dl, byte [esp + 0x13]
cmp dl, 0xd
je 0x42e69c
cmp dl, 0x13
jne 0x42de80
movzx ebx, byte [esp + 0xa0]
test ebx, 0xffffff80
jne 0x42e667
push 2
push ebx
call fcn.004b47c1
add esp, 8
test eax, eax
je 0x42e667
and ebx, 0xffffffdf
cmp bl, 0x50
je 0x42e6bd
movzx ebx, byte [esp + 0xa0]
test ebx, 0xffffff80
jne 0x42e68e
push 2
push ebx
call fcn.004b47c1
add esp, 8
test eax, eax
je 0x42e68e
and ebx, 0xffffffdf
cmp bl, 0x42
je 0x42e6bd
mov dl, byte [esp + 0x13]
jmp 0x42de88
lea eax, [esp + 0xa0]
push str.Return
push eax
call fcn.004b218a
mov dl, byte [esp + 0x1b]
add esp, 8
test eax, eax
jne 0x42de8c
xor al, al
mov byte [esp + 0x13], al
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x1c]
cmp byte [esi + 0x154], 0
je 0x42e70c
push 0
push 0xff
push 0
push 0x67
mov ecx, esi
mov byte [esi + 0x154], 0
call fcn.004330c0
test eax, eax
je 0x42dd90
mov eax, dword [esi + 0x354]
mov dword [eax + 0xc], 1
mov dword [esi + 0x38c], 0
push 1
push dword [esp + 0x18]
mov ecx, esi
call fcn.00430f40
test eax, eax
je 0x42dd90
test ebx, ebx
je 0x42e80b
cmp byte [ebx], 0
je 0x42ed4e
cmp byte [esp + 0x33], 0
mov eax, 0x4d0335
mov edx, dword [esp + 0x7c]
push 0
push dword [esp + 0x7c]
cmove eax, edi
push eax
push ebx
mov ebx, esi
mov ecx, dword [ebx + 0x364]
push ecx
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0x364]
mov ecx, dword [ecx + 4]
call fcn.00415880
add esp, 0x14
test eax, eax
je 0x42dd90
mov al, byte [edi]
test al, al
je 0x42de7c
cmp byte [esp + 0x33], 0
je 0x42e7e2
mov ecx, edi
cmp al, 0x20
je 0x42e78c
cmp al, 9
jne 0x42e792
mov al, byte [ecx + 1]
inc ecx
jmp 0x42e784
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, ebx
call fcn.00431070
test eax, eax
je 0x42dd90
mov eax, dword [ebx + 0x354]
mov al, byte [eax]
cmp al, 9
jb 0x42e7c2
cmp al, 0x20
jbe 0x42ed31
cmp al, 0x21
je 0x42ed31
cmp al, 0x69
jb 0x42e7d6
cmp al, 0x6b
jbe 0x42ed31
cmp al, 0x71
jb 0x42e7e2
cmp al, 0x73
jbe 0x42ed31
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.004330c0
test eax, eax
je 0x42dd90
mov eax, dword [ebx + 0x354]
mov dword [eax + 0xc], 1
jmp 0x42de7c
xor esi, esi
cmp byte [edi], 0
je 0x42e922
push str.AltTab
push edi
call fcn.004b218a
add esp, 8
test eax, eax
jne 0x42e836
mov ebx, dword [esp + 0x1c]
mov esi, 0x7ffe
jmp 0x42e8fc
push str.ShiftAltTab
push edi
call fcn.004b218a
add esp, 8
test eax, eax
jne 0x42e856
mov ebx, dword [esp + 0x1c]
mov esi, 0x7ffd
jmp 0x42e8fc
push str.AltTabMenu
push edi
call fcn.004b218a
add esp, 8
test eax, eax
jne 0x42e876
mov ebx, dword [esp + 0x1c]
mov esi, 0x7ffc
jmp 0x42e8fc
push str.AltTabAndMenu
push edi
call fcn.004b218a
add esp, 8
test eax, eax
jne 0x42e893
mov ebx, dword [esp + 0x1c]
mov esi, 0x7ffb
jmp 0x42e8fc
push str.AltTabMenuDismiss
push edi
call fcn.004b218a
mov ebx, dword [esp + 0x24]
add esp, 8
test eax, eax
jne 0x42e8b0
mov esi, 0x7ffa
jmp 0x42e8fc
xor esi, esi
mov ecx, ebx
push esi
push esi
push esi
push esi
push esi
push esi
push edi
call fcn.00431070
test eax, eax
je 0x42dd90
mov eax, dword [ebx + 0x354]
mov al, byte [eax]
cmp al, 9
jb 0x42e8dc
cmp al, 0x20
jbe 0x42ed31
cmp al, 0x21
je 0x42ed31
cmp al, 0x69
jb 0x42e8f0
cmp al, 0x6b
jbe 0x42ed31
cmp al, 0x71
jb 0x42e8fc
cmp al, 0x73
jbe 0x42ed31
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.004330c0
test eax, eax
je 0x42dd90
mov eax, dword [ebx + 0x354]
mov dword [eax + 0xc], 1
jmp 0x42e926
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x3b]
push eax
lea edx, [esp + 0x84]
call fcn.004151a0
mov edi, eax
add esp, 4
test edi, edi
je 0x42e9a9
test si, si
je 0x42e952
mov word [edi + 6], si
jmp 0x42de7c
mov eax, dword [edi + 0x20]
test eax, eax
je 0x42e970
mov ecx, dword [0x4e828c]
nop
cmp dword [eax + 4], ecx
je 0x42ed67
mov eax, dword [eax + 8]
test eax, eax
jne 0x42e960
push dword [esp + 0x80]
mov ecx, edi
push dword [ebx + 0x364]
call fcn.00414940
test eax, eax
je 0x42ed8a
cmp byte [esp + 0x3b], 0
jne 0x42e9a0
cmp byte [0x4e79e9], 0
je 0x42de7c
mov byte [edi + 0x14], 1
jmp 0x42de7c
mov ecx, dword [ebx + 0x364]
mov edx, esi
push 0
push dword [esp + 0x84]
push dword [ecx + 4]
call fcn.00414200
add esp, 0xc
test eax, eax
jne 0x42de7c
cmp dword [esp + 0x74], 3
jne 0x42dd90
cmp dword [ebx + 0x638], eax
jne 0x42de7c
push dword [esp + 0x14]
lea eax, [esp + 0x104]
push str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
push 0x80
push eax
call fcn.0049a540
push 0
push 0
xorps xmm3, xmm3
lea ecx, [esp + 0x118]
mov edx, 0x10000
call fcn.004a02e0
add esp, 0x18
jmp 0x42de7c
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
cmp byte [esi + ecx - 1], 0x3a
jne 0x42eae7
cmp esi, 1
je 0x42edbb
mov al, byte [ecx]
mov edx, ecx
test al, al
je 0x42ea74
mov bl, byte [0x4e5b6f]
mov ah, byte [0x4e5b6d]
nop
cmp al, 0x20
je 0x42eae7
cmp al, 9
je 0x42eae7
cmp al, bl
je 0x42eae7
cmp al, ah
je 0x42eae7
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x42ea50
cmp byte [esi + ecx - 2], 0x3a
jne 0x42ea80
cmp esi, 2
ja 0x42eae7
mov byte [esi + ecx - 1], 0
push str.Default
push dword [esp + 0x18]
call fcn.004b218a
mov ebx, dword [esp + 0x24]
add esp, 8
test eax, eax
jne 0x42eacd
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x42eacd
mov eax, dword [eax + 0x10]
test eax, eax
je 0x42eacd
cmp byte [eax], 0x75
jne 0x42eacd
push 0
push 0
push 0
push 0x76
mov ecx, ebx
call fcn.004330c0
test eax, eax
je 0x42dd90
jmp 0x42de7c
push 0
push dword [esp + 0x18]
mov ecx, ebx
call fcn.00430f40
test eax, eax
je 0x42dd90
jmp 0x42de7c
cmp byte [ecx], 0x23
mov ebx, dword [esp + 0x1c]
jne 0x42eb13
mov esi, dword [ebx + 0x150]
push ecx
mov ecx, ebx
call fcn.0042f620
test eax, eax
je 0x42dd90
cmp eax, 3
je 0x42de6c
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x7b
je 0x42eb3e
cmp al, 0x7d
je 0x42eb3e
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, ebx
call fcn.00431070
test eax, eax
je 0x42dd90
jmp 0x42de7c
cmp al, 0x7b
mov ecx, ebx
push 0
setne al
push 0
add al, 0x77
push 0
movzx eax, al
push eax
call fcn.004330c0
test eax, eax
je 0x42dd90
mov eax, dword [esp + 0x14]
lea esi, [eax + 1]
mov al, byte [esi]
cmp al, 0x20
je 0x42eb6f
cmp al, 9
jne 0x42eb72
inc esi
jmp 0x42eb65
mov dl, byte [esp + 0x13]
mov dword [esp + 0x14], esi
cmp byte [esi], 0
je 0x42de80
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42eb86
sub esi, ecx
mov dword [ebx + 0x38c], 0
mov dword [esp + 0x2c], esi
jmp 0x42d630
mov eax, dword [esp + 0x14]
mov cx, word [0x4d5d84]
cmp byte [esp + 0x3a], 0
mov ebx, dword [esp + 0x1c]
mov word [eax], cx
mov eax, dword [esp + 0x14]
mov cl, byte [0x4d5d86]
push 0
push 1
mov byte [eax + 2], cl
lea eax, [esp + 0x1c]
push eax
setne al
mov ecx, ebx
add al, 0xc5
movzx eax, al
push eax
call fcn.004330c0
lea eax, [esp + 0xa0]
push eax
push str.Blind_s_Up
push dword [esp + 0x1c]
call fcn.004058d0
add esp, 0xc
lea eax, [esp + 0x14]
mov ecx, ebx
push 0
push 1
push eax
push 0x41
call fcn.004330c0
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.004330c0
xor al, al
mov byte [esp + 0x13], al
jmp 0x42ec25
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x60c8]
mov esi, dword [esp + 0x3c]
lea edi, [esp + 0x60c8]
mov dword [esp + 0x34], eax
mov ecx, edx
cmp edx, dword [esp + 0x34]
lea eax, [esp + 0xa0d0]
mov dword [esp + 0x14], ecx
cmovne eax, edi
mov dword [esp + 0x2c], esi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x24], eax
jmp 0x42ce93
mov ecx, dword [esp + 0x1c]
push ebx
push str.Continuation_section_too_long.
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [edi + 0x144], 0
lea eax, [esp + 0x180]
push eax
mov ecx, str.Not_a_valid_method__class_or_property_definition.
mov eax, 0x4d7840
cmove eax, ecx
mov ecx, edi
push eax
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x180]
mov ecx, edi
push eax
push 0x4d7840
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x180]
push eax
push str.Functions_cannot_contain_functions.
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x14]
push ecx
push str.Not_a_valid_property_getter_setter.
mov ecx, ebx
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esp + 0x14]
push eax
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, ebx
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
push str.IfWin_should_be_IfWin.
mov ecx, edx
mov dword [edx + 0x38c], eax
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov byte [edi - 2], 0x3a
mov ecx, ebx
push dword [esp + 0x14]
push str.Invalid_single_line_hotkey_hotstring.
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x14]
mov ecx, esi
push str.This_hotstring_is_missing_its_abbreviation.
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x14]
mov ecx, ebx
mov dword [ebx + 0x38c], 0
push str.Duplicate_hotkey.
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x14]
mov ecx, ebx
push str.Out_of_memory.
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, dword [esp + 0x20]
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, dword [esp + 0x20]
push str.This_line_does_not_contain_a_recognized_action.
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x1c]
push edi
push str.Continuation_section_too_long.
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push 0x4d7810
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp byte [esp + 0x180], 0
je 0x42ee74
cmp dword [esp + 0x58], 0
mov eax, dword [esp + 0x64]
mov esi, dword [ebx + 0x150]
mov dword [ebx + 0x150], eax
lea eax, [esp + 0x180]
je 0x42ee52
cmp byte [esp + 0x2b], 0
mov ecx, 0x4d7840
push eax
mov eax, str.Missing___
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0
push 0
push 0
push 0
push 0
push 3
push eax
mov ecx, ebx
call fcn.00431070
test eax, eax
je 0x42dd90
mov dword [ebx + 0x150], esi
cmp dword [ebx + 0x28], 0
je 0x42ee9a
cmp dword [esp + 0x70], 0
jne 0x42ee9a
lea eax, [ebx + 0x40]
mov ecx, ebx
push eax
push str.Missing___
call fcn.004470d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
inc dword [ebx + 0x150]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4