Function at 0x42ea20
Capabilities:
Enumerate pe sections
Get keyboard layout
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0xe0b4
call fcn.004db810
mov eax, dword [0x4fc478]
push ebx
push esi
push edi
push dword [ebp + 8]
mov ebx, ecx
mov byte [esp + 0x16c], 0
dec eax
mov dword [esp + 0x2c], ebx
lea ecx, [esp + 0x60b4]
mov dword [esp + 0x80], eax
push 0
mov dword [ebx + 0x14c], eax
lea edi, [esp + 0xa0c0]
push ecx
mov eax, ecx
mov dword [esp + 0x20], ecx
push eax
mov dword [esp + 0x2c], edi
mov byte [esp + 0x22], 0
mov byte [esp + 0x61], 0
mov byte [esp + 0x66], 0
mov dword [esp + 0x84], 0
call fcn.00431020
push 2
push 0x4eba28
push dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0x44], eax
call fcn.004cc747
add esp, 0xc
test eax, eax
sete byte [esp + 0x36]
test eax, eax
jne 0x42eac3
mov eax, dword [esp + 0x14]
xor esi, esi
mov dword [esp + 0x38], esi
mov byte [eax], 0
mov ecx, dword [esp + 0x14]
nop word [eax + eax]
mov dword [esp + 0x94], edi
cmp esi, 0xffffffff
je 0x430a77
mov eax, dword [esp + 0x74]
push 0xc
inc eax
mov dword [ebx + 0x38c], 0
push str.CommentFlag
push ecx
mov dword [ebx + 0x150], eax
call fcn.004c4e4b
add esp, 0xc
test eax, eax
jne 0x42eb1c
push dword [esp + 0x14]
mov ecx, ebx
call fcn.00431330
test eax, eax
je 0x42f9b4
mov byte [esp + 0x84], 0
xor ebx, ebx
nop word [eax + eax]
mov edx, dword [esp + 0x1c]
push dword [ebp + 8]
inc dword [esp + 0x78]
push ebx
push ecx
push edx
call fcn.00431020
mov edi, eax
mov dword [esp + 0x44], edi
test edi, edi
je 0x42ec3b
cmp edi, 0xffffffff
je 0x42ec3b
test ebx, ebx
jne 0x42ec3b
mov ecx, dword [esp + 0x1c]
push 2
push 0x4eba3c
push ecx
call fcn.004cc747
mov edx, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x42ec12
cmp byte [esp + 0x36], al
jne 0x42eb98
cmp byte [edx + 2], 0x3a
jne 0x42eb98
cmp byte [edx + 3], 0x3a
je 0x42ec1d
sub edi, 2
mov byte [esp + 0x36], 0
lea eax, [edi + 1]
push eax
lea eax, [edx + 2]
push eax
push edx
call fcn.004c2440
mov edx, dword [esp + 0x28]
add esp, 0xc
mov al, byte [edx]
test al, al
je 0x42eb34
mov ecx, edx
cmp al, 0x20
je 0x42ebc9
cmp al, 9
jne 0x42ebcf
mov al, byte [ecx + 1]
inc ecx
jmp 0x42ebc1
mov eax, ecx
sub eax, edx
je 0x42ec03
cmp edi, 0xffffffff
jne 0x42ebef
mov edi, ecx
lea edx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x42ebe0
sub edi, edx
mov edx, dword [esp + 0x1c]
jmp 0x42ebf1
sub edi, eax
lea eax, [edi + 1]
push eax
push ecx
push edx
call fcn.004c2440
mov edx, dword [esp + 0x28]
add esp, 0xc
cmp byte [edx], 0
mov dword [esp + 0x44], edi
je 0x42eb34
jmp 0x42ec1d
cmp byte [esp + 0x36], 0
jne 0x42eb34
push 2
push 0x4eba28
push edx
call fcn.004cc747
add esp, 0xc
test eax, eax
jne 0x42ec3b
mov byte [esp + 0x36], 1
jmp 0x42eb30
cmp byte [esp + 0x36], 0
je 0x42ec50
cmp edi, 0xffffffff
je 0x42f350
jmp 0x42eb30
test ebx, ebx
jne 0x42f0c3
mov edx, dword [esp + 0x1c]
cmp edi, 0xffffffff
je 0x42ee3d
cmp byte [edx], 0x28
jne 0x42ee3d
mov al, byte [edx + 1]
lea esi, [edx + 1]
cmp al, 0x3a
je 0x42ee39
cmp byte [edi + edx - 1], 0x3a
je 0x42ee39
mov cl, byte [0x4fba02]
mov ebx, 1
mov byte [esp + 0x60], cl
mov ecx, ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x80], 0
mov byte [esp + 0x5f], bl
mov byte [esp + 0x61], 0
mov byte [esp + 0x63], 0
mov byte [esp + 0x62], bl
mov word [esp + 0x98], 0xa
mov dword [esp + 0x78], ecx
cmp al, 0x20
je 0x42eccf
cmp al, 9
jne 0x42ecd5
mov al, byte [esi + 1]
inc esi
jmp 0x42ecc7
test al, al
je 0x42ee28
nop dword [eax]
mov edi, esi
test esi, esi
je 0x42ed0b
mov dl, byte [esi]
test dl, dl
je 0x42ed0b
nop dword [eax]
mov ecx, 0x4e902c
mov al, 0x20
cmp dl, al
je 0x42ed1c
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42ecf7
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x42ecf0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42ed10
sub ecx, edx
lea edi, [ecx + esi]
mov bl, byte [edi]
push 4
push str.Join
push esi
mov byte [edi], 0
call fcn.004c4e4b
add esp, 0xc
test eax, eax
jne 0x42ed82
push 0xf
lea eax, [esi + 4]
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.004cc440
add esp, 0xc
mov byte [esp + 0xa7], 0
lea ecx, [esp + 0x98]
push 1
call fcn.004adb40
lea edx, [esp + 0x9c]
add esp, 4
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x42ed70
sub edx, ecx
mov dword [esp + 0x78], edx
jmp 0x42ee04
push 5
push 0x4eba98
push esi
call fcn.004c4e4b
add esp, 0xc
test eax, eax
jne 0x42eda1
cmp byte [esi + 5], 0x30
setne byte [esp + 0x60]
jmp 0x42ee04
push 5
push str.RTrim
push esi
call fcn.004c4e4b
add esp, 0xc
test eax, eax
jne 0x42edc0
cmp byte [esi + 5], 0x30
setne byte [esp + 0x5f]
jmp 0x42ee04
mov al, byte [esi]
test al, al
je 0x42ee04
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x42edd8.38
movzx eax, byte [eax + 0x430b38]
jmp dword [eax*4 + 0x430b20]
mov byte [esp + 0x61], 1
jmp case.0x42edd8.38
mov byte [esp + 0x63], 1
jmp case.0x42edd8.38
mov byte [esp + 0x62], 0
jmp case.0x42edd8.38
mov dword [esp + 0x3c], 2
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x42edc6
mov byte [edi], bl
mov esi, edi
cmp bl, 0x20
je 0x42ee12
cmp bl, 9
jne 0x42ee18
mov bl, byte [esi + 1]
inc esi
jmp 0x42ee08
test bl, bl
jne 0x42ece0
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x38]
mov byte [esp + 0x84], 1
jmp 0x42eb34
mov esi, dword [esp + 0x38]
xor ebx, ebx
mov dword [esp + 0x3c], ebx
cmp edi, 0xffffffff
je 0x42f350
test edi, edi
je 0x42eb34
mov ebx, dword [esp + 0x1c]
cmp byte [edi + ebx - 1], 0x3a
jne 0x42ee68
cmp byte [ebx], 0x2c
jne 0x42f350
mov bl, byte [ebx]
movzx eax, bl
test eax, 0xffffff80
jne 0x42ee86
push 2
push eax
call fcn.004c7451
add esp, 8
test eax, eax
je 0x42ee86
and bl, 0xdf
mov al, bl
cmp al, 0x41
je 0x42f083
cmp al, 0x4f
je 0x42f003
mov ebx, dword [esp + 0x1c]
mov al, byte [ebx]
cmp al, 0x3a
je 0x42eeaa
cmp al, 0x2b
je 0x42eeaa
cmp al, 0x2d
jne 0x42eeb3
cmp byte [ebx + 1], al
je 0x42f350
movsx eax, al
push eax
push str.____:.___
call fcn.004ca733
add esp, 8
test eax, eax
je 0x42f350
push 0x4eba64
push ebx
call fcn.004cac80
mov edi, eax
add esp, 8
test edi, edi
je 0x42ef89
cmp byte [ebx], 0x3a
jne 0x42ef39
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
test al, al
je 0x42ef30
cmp al, 0x3a
je 0x42ef30
movzx eax, al
test eax, 0xffffff80
jne 0x42ef13
push 0x107
push eax
call fcn.004c7451
add esp, 8
test eax, eax
jne 0x42ef28
movsx eax, byte [esi]
push eax
push 0x4eba68
call fcn.004ca733
add esp, 8
test eax, eax
je 0x42ef39
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x42eef3
cmp byte [esi], 0x3a
je 0x42f350
cmp byte [ebx], 0x2c
jne 0x42efcc
lea esi, [ebx + 1]
mov al, byte [esi]
cmp al, 0x20
je 0x42ef4f
cmp al, 9
jne 0x42ef52
inc esi
jmp 0x42ef45
push 2
push 0x4eba64
push esi
call fcn.004cc747
add esp, 0xc
test eax, eax
je 0x42f350
push 3
lea eax, [esi - 1]
push 0x4e9024
push eax
call fcn.004cc747
add esp, 0xc
test eax, eax
je 0x42f350
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x44]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x4308b4
cmp byte [ebx], 0x2c
je 0x42efa9
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.004c2440
mov ebx, dword [esp + 0x48]
add esp, 0xc
add esi, edi
mov dword [esp + 0x38], esi
jmp 0x42eb30
mov eax, ebx
cmp ebx, edi
jae 0x42efdc
cmp byte [eax], 0x22
je 0x42efe4
inc eax
cmp eax, edi
jb 0x42efd2
cmp eax, edi
je 0x42f350
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x42f350
cmp al, 0x22
je 0x42ef85
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42eff2
jmp 0x42f350
mov ecx, dword [esp + 0x1c]
mov bl, byte [ecx + 1]
movzx eax, bl
test eax, 0xffffff80
je 0x42f018
xor edx, edx
jmp 0x42f025
push 2
push eax
call fcn.004c7451
add esp, 8
mov edx, eax
mov al, bl
and al, 0xdf
test edx, edx
movzx ecx, al
movzx eax, bl
cmove ecx, eax
cmp cl, 0x52
jne 0x42f350
mov ebx, dword [esp + 0x1c]
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x20
je 0x42f05f
cmp al, 9
je 0x42f057
cmp al, 0xa0
jne 0x42f350
cmp al, 0x20
je 0x42f05f
cmp al, 9
jne 0x42f065
mov al, byte [ecx + 1]
inc ecx
jmp 0x42f057
movsx eax, al
push eax
push str.____:
call fcn.004ca733
add esp, 8
test eax, eax
jne 0x42f350
jmp 0x42ef8d
mov ebx, dword [esp + 0x1c]
push 3
push 0x4eba40
push ebx
call fcn.004c4e4b
add esp, 0xc
test eax, eax
jne 0x42f350
mov al, byte [ebx + 3]
lea ecx, [ebx + 3]
cmp al, 0x20
je 0x42f0bd
cmp al, 9
je 0x42f0b5
cmp al, 0xa0
jne 0x42f350
cmp al, 0x20
je 0x42f0bd
cmp al, 9
jne 0x42f065
mov al, byte [ecx + 1]
inc ecx
jmp 0x42f0b5
cmp edi, 0xffffffff
je 0x430a5c
mov edx, dword [esp + 0x1c]
cmp edi, 0xfffffffe
je 0x42eb34
mov al, byte [edx]
cmp al, 0x29
jne 0x42f131
xor ebx, ebx
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x42f0e4
mov edi, dword [esp + 0x1c]
sub edx, ecx
lea eax, [edi - 1]
add eax, edx
mov cl, byte [eax]
cmp cl, 0x20
je 0x42f102
cmp cl, 9
jne 0x42f10a
cmp eax, edi
je 0x42f118
dec eax
dec edx
jmp 0x42f0f6
inc edi
mov byte [eax + 1], bl
dec edx
mov dword [esp + 0x44], edx
jmp 0x42f2c7
cmp cl, 0x20
je 0x42f122
cmp cl, 9
jne 0x42f126
mov byte [eax], bl
xor edx, edx
inc edi
dec edx
mov dword [esp + 0x44], edx
jmp 0x42f2c7
cmp byte [esp + 0x5f], 0
mov edi, edx
je 0x42f189
test al, al
jne 0x42f146
xor esi, esi
mov dword [esp + 0x44], esi
jmp 0x42f18d
mov esi, dword [esp + 0x44]
lea eax, [edx - 1]
add eax, esi
nop
mov cl, byte [eax]
cmp cl, 0x20
je 0x42f15c
cmp cl, 9
jne 0x42f164
cmp eax, edx
je 0x42f16e
dec eax
dec esi
jmp 0x42f150
mov byte [eax + 1], 0
mov dword [esp + 0x44], esi
jmp 0x42f18d
cmp cl, 0x20
je 0x42f17e
cmp cl, 9
je 0x42f17e
mov dword [esp + 0x44], esi
jmp 0x42f18d
xor esi, esi
mov byte [eax], 0
mov dword [esp + 0x44], esi
jmp 0x42f18d
mov esi, dword [esp + 0x44]
cmp byte [esp + 0x60], 0
je 0x42f1e5
mov al, byte [edx]
test al, al
jne 0x42f1a2
xor eax, eax
mov dword [esp + 0x44], eax
jmp 0x42f1e5
mov ecx, edx
cmp al, 0x20
je 0x42f1ac
cmp al, 9
jne 0x42f1b2
mov al, byte [ecx + 1]
inc ecx
jmp 0x42f1a4
mov eax, ecx
sub eax, edx
je 0x42f1e1
cmp esi, 0xffffffff
jne 0x42f1d1
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42f1c2
sub esi, edx
mov edx, dword [esp + 0x1c]
jmp 0x42f1d3
sub esi, eax
lea eax, [esi + 1]
push eax
push ecx
push edx
call fcn.004c2440
add esp, 0xc
mov dword [esp + 0x44], esi
xor esi, esi
cmp byte [esp + 0x61], 0
je 0x42f221
mov al, byte [0x4f9b6d]
lea edx, [esp + 0x50]
mov ecx, dword [esp + 0x1c]
push esi
push esi
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x60], al
mov byte [esp + 0x64], al
mov byte [esp + 0x65], al
lea eax, [esp + 0x64]
push 1
push eax
call fcn.004ac240
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x63], 0
je 0x42f263
mov al, byte [0x4f9b6d]
lea edx, [esp + 0x50]
mov cl, byte [0x4f9b6e]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x64], al
lea eax, [esp + 0x64]
mov byte [esp + 0x60], cl
mov byte [esp + 0x65], cl
mov ecx, dword [esp + 0x2c]
push 1
push eax
call fcn.004ac240
add esp, 0x18
add esi, eax
cmp byte [esp + 0x62], 0
je 0x42f2a5
mov al, byte [0x4f9b6d]
lea edx, [esp + 0x50]
mov cl, byte [0x4f9b6f]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x64], al
lea eax, [esp + 0x64]
mov byte [esp + 0x60], cl
mov byte [esp + 0x65], cl
mov ecx, dword [esp + 0x2c]
push 1
push eax
call fcn.004ac240
add esp, 0x18
add esi, eax
test esi, esi
je 0x42f2bf
mov edx, dword [esp + 0x1c]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x42f2b0
sub edx, ecx
mov dword [esp + 0x44], edx
jmp 0x42f2c3
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x78]
lea eax, [ecx + edx]
add eax, esi
cmp eax, 0x4001
jae 0x430a44
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
cmp eax, 1
jle 0x42f325
test ecx, ecx
je 0x42f325
cmp edi, dword [esp + 0x1c]
jne 0x42f325
lea eax, [ecx + 1]
push eax
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x1c]
add eax, esi
push eax
call fcn.004c2440
mov ecx, dword [esp + 0x84]
add esp, 0xc
mov edx, dword [esp + 0x44]
add esi, ecx
mov dword [esp + 0x38], esi
test edx, edx
je 0x42eb30
lea eax, [edx + 1]
push eax
mov eax, dword [esp + 0x18]
add eax, esi
push edi
push eax
call fcn.004c2440
add esp, 0xc
add esi, dword [esp + 0x44]
mov dword [esp + 0x38], esi
jmp 0x42eb30
mov byte [edi], bl
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x28]
test ebx, ebx
je 0x42fae8
cmp byte [esp + 0x168], 0
je 0x42f4e4
mov eax, dword [esp + 0x30]
mov esi, dword [edi + 0x150]
mov dword [edi + 0x150], eax
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x7b
je 0x42f3ea
cmp byte [esp + 0x13], 0
jne 0x42f3ea
mov ebx, dword [esp + 0x58]
test ebx, ebx
jne 0x4308f9
cmp dword [edi + 0x28], ebx
je 0x42f3b0
mov eax, dword [0x4f898c]
cmp dword [eax + 0x94], ebx
je 0x4308cc
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x180]
mov ecx, edi
push eax
call fcn.00433390
test eax, eax
je 0x42f9b4
mov dword [edi + 0x38c], 0
mov byte [esp + 0x168], 0
jmp 0x42f4de
mov ebx, dword [esp + 0x58]
mov eax, ebx
sub eax, 0
je 0x42f435
sub eax, 1
je 0x42f414
sub eax, 1
jne 0x42f481
lea eax, [esp + 0x168]
mov ecx, edi
push eax
call fcn.0043b8d0
jmp 0x42f423
lea eax, [esp + 0x168]
mov ecx, edi
push eax
call fcn.0043b1a0
test eax, eax
je 0x42f9b4
mov byte [esp + 0x168], 0
jmp 0x42f48d
mov eax, dword [0x4f898c]
mov ecx, edi
cmp dword [eax + 0x94], 0
jne 0x430916
lea eax, [esp + 0x4170]
push eax
lea eax, [esp + 0x16c]
push eax
call fcn.0043a5d0
test eax, eax
je 0x42f9b4
cmp byte [esp + 0x13], 0
je 0x42f481
push 0
push 0
push 0
push 0x77
mov ecx, edi
call fcn.004358e0
jmp 0x42f3cb
mov byte [esp + 0x168], 0
test ebx, ebx
je 0x42f4de
mov bl, byte [esp + 0x13]
test bl, bl
jne 0x42f4de
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x20
je 0x42f499
cmp al, 9
je 0x42f499
test al, al
jne 0x42f4b8
mov edx, dword [esp + 0x24]
mov dword [edi + 0x150], esi
jmp 0x42faf0
mov ebx, ecx
lea edx, [ebx + 1]
nop dword [eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x42f4c0
sub ebx, edx
mov dword [esp + 0x38], ebx
lea eax, [ebx + 1]
push eax
push ecx
push dword [esp + 0x1c]
call fcn.004c2440
add esp, 0xc
mov dword [edi + 0x150], esi
mov eax, dword [esp + 0x14]
mov dl, byte [eax]
cmp dl, 0x7d
jne 0x42f60d
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x42f60d
mov eax, dword [0x4f898c]
cmp dword [eax + 0x94], 0
jne 0x42f60d
cmp dword [edi + 0x144], 0
je 0x42f549
mov eax, dword [edi + 0x148]
mov dword [edi + 0x144], 0
test eax, eax
je 0x42f5d1
push eax
call fcn.004c4247
add esp, 4
mov dword [edi + 0x148], 0
jmp 0x42f5d1
lea eax, [ecx - 1]
mov dword [edi + 0x28], eax
mov ebx, dword [edi + eax*4 + 0x2c]
mov esi, dword [ebx + 0x10]
sub esi, 1
js 0x42f5ad
mov edi, esi
shl edi, 4
mov eax, dword [ebx + 0xc]
cmp dword [eax + edi + 0xc], 1
jne 0x42f59e
cmp esi, dword [ebx + 0x1c]
jl 0x42f57b
push dword [eax + edi + 8]
call fcn.004c4247
add esp, 4
mov edx, dword [ebx + 0x10]
dec edx
mov dword [ebx + 0x10], edx
cmp esi, edx
jge 0x42f59e
mov ecx, dword [ebx + 0xc]
sub edx, esi
add ecx, edi
shl edx, 4
push edx
lea eax, [ecx + 0x10]
push eax
push ecx
call fcn.004c2440
add esp, 0xc
sub edi, 0x10
sub esi, 1
jns 0x42f560
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 0x28]
mov eax, dword [edi + eax*4 + 0x2c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea esi, [edi + 0x40]
push 0x2e
push esi
call fcn.004c7059
add esp, 8
test eax, eax
je 0x42f5ce
mov byte [eax], 0
jmp 0x42f5d1
mov byte [esi], 0
mov ebx, dword [esp + 0x14]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x42f5d5
cmp al, 9
je 0x42f5d5
mov dword [esp + 0x14], ebx
cmp byte [ebx], 0
je 0x42fae8
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x42f5f1
sub ebx, ecx
mov dword [edi + 0x38c], 0
mov dword [esp + 0x38], ebx
jmp 0x42f358
cmp dword [edi + 0x144], 0
je 0x42f6e6
mov eax, dword [0x4f898c]
cmp dword [eax + 0x94], 0
jne 0x42f6e6
push 3
push 0x4ebb18
push dword [esp + 0x1c]
call fcn.004c4e4b
add esp, 0xc
test eax, eax
je 0x42f65e
push 3
push 0x4ebb1c
push dword [esp + 0x1c]
call fcn.004c4e4b
add esp, 0xc
test eax, eax
jne 0x430931
mov ecx, dword [esp + 0x14]
lea esi, [ecx + 3]
mov al, byte [esi]
cmp al, 0x20
je 0x42f66f
cmp al, 9
jne 0x42f672
inc esi
jmp 0x42f665
test al, al
je 0x42f688
cmp al, 0x7b
jne 0x430935
cmp byte [esi + 1], 0
jne 0x430935
mov ecx, dword [edi + 0x148]
lea edx, [esp + 0x168]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x42f697
lea eax, [esp + 0x168]
push 0x2e
push eax
call fcn.004ca733
mov edx, dword [esp + 0x2c]
mov ecx, eax
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x58], 0
mov al, byte [eax]
mov byte [ecx + 1], al
cmp byte [esi], 0x7b
mov ecx, dword [edi + 0x150]
sete bl
mov dword [esp + 0x30], ecx
mov byte [esp + 0x13], bl
jmp 0x42faf4
mov edi, dword [esp + 0x14]
mov dword [esp + 0x70], edi
test dl, dl
je 0x42f714
mov ecx, str.__t____:_______.___
mov al, 0x20
nop dword [eax]
cmp dl, al
je 0x42f765
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f700
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x42f6f2
mov eax, dword [0x4f898c]
cmp dword [eax + 0x94], 0
jne 0x42fd5a
mov esi, dword [esp + 0x14]
push 5
push str.Class
push esi
call fcn.004c4e4b
add esp, 0xc
test eax, eax
jne 0x42f92c
mov al, byte [esi + 5]
cmp al, 0x20
je 0x42f751
cmp al, 9
jne 0x42f92c
lea edi, [esi + 6]
mov al, byte [edi]
cmp al, 0x20
je 0x42f762
cmp al, 9
jne 0x42f872
inc edi
jmp 0x42f754
cmp byte [edi], 0x28
jne 0x42f714
mov esi, dword [esp + 0x14]
cmp edi, esi
je 0x42f714
mov ebx, edi
mov edx, 0x4eb9a8
sub ebx, esi
mov ecx, esi
push 0xffffffffffffffff
push ebx
call fcn.004abb40
add esp, 8
test eax, eax
je 0x42f714
push 0xffffffffffffffff
push ebx
mov ebx, dword [esp + 0x78]
mov edx, str.WHILE
mov ecx, ebx
call fcn.004abb40
add esp, 8
test eax, eax
je 0x42f714
cmp byte [edi + 1], 0x3a
je 0x42f714
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f7c0
sub ecx, edx
dec ecx
add ecx, edi
mov al, byte [ecx]
cmp al, 0x7b
sete byte [esp + 0x13]
jne 0x42f82d
mov byte [ecx], 0
sub ecx, ebx
cmp byte [ebx], 0
je 0x42f827
cmp ecx, 0xffffffff
jne 0x42f7f9
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f7f0
sub ecx, edx
lea eax, [ebx - 1]
add eax, ecx
nop
mov dl, byte [eax]
cmp dl, 0x20
je 0x42f80c
cmp dl, 9
jne 0x42f814
cmp eax, ebx
je 0x42f81a
dec eax
dec ecx
jmp 0x42f800
mov byte [eax + 1], 0
jmp 0x42f829
cmp dl, 0x20
je 0x42f824
cmp dl, 9
jne 0x42f829
mov byte [eax], 0
xor ecx, ecx
mov al, byte [ebx + ecx - 1]
cmp al, 0x29
jne 0x42f714
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x168]
sub ecx, esi
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x42f842
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov bl, byte [esp + 0x13]
mov dword [esp + 0x58], 0
mov ecx, dword [ecx + 0x150]
mov dword [esp + 0x30], ecx
jmp 0x42faf4
movsx eax, al
push eax
push str.__t____:_______.___
call fcn.004ca733
add esp, 8
test eax, eax
jne 0x42f92c
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f890
sub ecx, edx
dec ecx
add ecx, edi
cmp byte [ecx], 0x7b
sete bl
mov byte [esp + 0x13], bl
jne 0x42f8f6
mov byte [ecx], al
sub ecx, esi
cmp byte [esi], al
je 0x42f8f6
cmp ecx, 0xffffffff
jne 0x42f8c9
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f8c0
sub ecx, edx
lea eax, [esi - 1]
add eax, ecx
nop
mov cl, byte [eax]
cmp cl, 0x20
je 0x42f8dc
cmp cl, 9
jne 0x42f8e3
cmp eax, esi
je 0x42f8e9
dec eax
jmp 0x42f8d0
mov byte [eax + 1], 0
jmp 0x42f8f6
cmp cl, 0x20
je 0x42f8f3
cmp cl, 9
jne 0x42f8f6
mov byte [eax], 0
lea ecx, [esp + 0x168]
sub ecx, edi
nop
mov al, byte [edi]
lea edi, [edi + 1]
mov byte [edi + ecx - 1], al
test al, al
jne 0x42f900
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x58], 1
mov ecx, dword [ecx + 0x150]
mov dword [esp + 0x30], ecx
jmp 0x42faf4
mov edi, dword [esp + 0x28]
cmp dword [edi + 0x28], 0
je 0x42fd5a
mov esi, dword [esp + 0x14]
nop
mov cl, byte [esi]
movzx eax, cl
test eax, 0xffffff80
jne 0x42f960
push 0x107
push eax
call fcn.004c7451
mov cl, byte [esi]
add esp, 8
test eax, eax
jne 0x42f96f
cmp cl, 0x5f
je 0x42f96f
cmp cl, 0x7f
ja 0x42f96f
cmp cl, 0x2e
jne 0x42f972
inc esi
jmp 0x42f940
cmp esi, dword [esp + 0x14]
jbe 0x42fa7d
nop dword [eax]
cmp cl, 0x20
je 0x42f98a
cmp cl, 9
jne 0x42f990
mov cl, byte [esi + 1]
inc esi
jmp 0x42f980
cmp cl, 0x3a
jne 0x42f9bf
cmp byte [esi + 1], 0x3d
jne 0x42fa7d
push 0
push dword [esp + 0x18]
mov ecx, edi
call fcn.0043bac0
test eax, eax
jne 0x42fae8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test cl, cl
je 0x42f9db
cmp cl, 0x5b
je 0x42f9db
cmp cl, 0x7b
jne 0x42fa7d
cmp byte [esi + 1], 0
jne 0x42fa7d
mov ecx, dword [esp + 0x14]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f9e2
mov esi, dword [esp + 0x14]
sub ecx, edx
cmp byte [ecx + esi - 1], 0x7b
sete bl
mov byte [esp + 0x13], bl
jne 0x42fa48
dec ecx
cmp byte [esi], al
je 0x42fa48
cmp ecx, 0xffffffff
jne 0x42fa19
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42fa10
sub ecx, edx
mov eax, dword [esp + 0x14]
dec eax
add eax, ecx
mov cl, byte [eax]
cmp cl, 0x20
je 0x42fa2c
cmp cl, 9
jne 0x42fa35
cmp eax, dword [esp + 0x14]
je 0x42fa3b
dec eax
jmp 0x42fa20
mov byte [eax + 1], 0
jmp 0x42fa48
cmp cl, 0x20
je 0x42fa45
cmp cl, 9
jne 0x42fa48
mov byte [eax], 0
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x168]
sub ecx, esi
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x42fa55
mov ecx, dword [edi + 0x150]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x58], 2
jmp 0x42faf4
push 6
push str.Static
push dword [esp + 0x1c]
call fcn.004c4e4b
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x14]
jne 0x42fab0
mov cl, byte [eax + 6]
cmp cl, 0x20
je 0x42faa5
cmp cl, 9
jne 0x42fab0
push 1
add eax, 7
push eax
jmp 0x42f9a5
cmp byte [eax], 0x23
jne 0x43094f
mov esi, dword [edi + 0x150]
mov ecx, edi
push eax
call fcn.00431330
test eax, eax
je 0x42f9b4
cmp eax, 3
jne 0x43094b
mov eax, dword [esp + 0x7c]
mov dword [edi + 0x150], esi
mov dword [edi + 0x14c], eax
mov edx, dword [esp + 0x24]
mov bl, byte [esp + 0x13]
mov ecx, dword [esp + 0x30]
mov bh, byte [esp + 0x12]
mov eax, edx
test bh, bh
je case.0x42fbc5.4
mov esi, dword [esp + 0x6c]
inc edx
mov dword [esp + 0x24], edx
mov edi, ecx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x30], ecx
mov ch, bl
mov cl, byte [esp + 0x1b]
mov dword [esp + 0x58], edx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x48], edx
mov dh, cl
mov byte [esp + 0x1b], cl
mov cl, byte [esp + 0x2f]
mov byte [esp + 0x13], bl
mov bl, cl
mov byte [esp + 0x2f], cl
mov cl, byte [esp + 0x22]
mov byte [esp + 0x22], cl
mov dl, cl
mov cl, byte [esp + 0x23]
mov byte [esp + 0x12], bh
mov byte [esp + 0x4e], ch
mov byte [esp + 0x4f], dh
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov byte [esp + 0x37], dl
mov byte [esp + 0x23], cl
mov byte [esp + 0x43], cl
cmp eax, 9
ja case.0x42fbc5.4
mov esi, dword [esp + 0x3c]
movzx eax, byte [eax + 0x430b8c]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x48]
mov byte [esp + 0x13], ch
mov ch, bl
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x70]
mov byte [esp + 0x2f], ch
mov ch, dl
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x38]
mov byte [esp + 0x12], bh
mov dword [esp + 0x30], edi
mov byte [esp + 0x1b], dh
mov byte [esp + 0x22], ch
mov byte [esp + 0x23], cl
mov dword [esp + 0x24], esi
jmp dword [eax*4 + 0x430b78]
mov eax, dword [esp + 0x14]
test dl, dl
mov cx, word [0x4e8dbc]
mov esi, dword [esp + 0x28]
push 0
mov word [eax], cx
mov eax, dword [esp + 0x18]
mov cl, byte [0x4e8dbe]
push 1
mov byte [eax + 2], cl
lea eax, [esp + 0x1c]
push eax
setne al
mov ecx, esi
add al, 0xc5
movzx eax, al
push eax
call fcn.004358e0
cmp byte [esp + 0x43], 0
je 0x42fc82
lea eax, [esp + 0xa8]
push eax
push str.if_not_GetKeyState___s__
push dword [esp + 0x1c]
call fcn.00405f00
mov dword [esp + 0x30], 9
mov cl, byte [esp + 0x4f]
mov ch, bl
mov edx, dword [esp + 0x54]
mov dword [esp + 0x44], eax
mov al, byte [esp + 0x5a]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x48]
mov dword [esp + 0x64], eax
mov al, byte [esp + 0x5b]
mov byte [esp + 0x3b], ch
mov ch, byte [esp + 0x43]
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x7c]
mov byte [esp + 0x1e], bh
mov dword [esp + 0x3c], edi
mov dword [esp + 0x70], edx
mov dword [esp + 0x78], eax
mov byte [esp + 0x2e], ch
mov byte [esp + 0x2f], cl
jmp 0x42fd57
mov esi, dword [esp + 0x28]
movzx eax, bh
mov ecx, 0x4e3371
sub eax, 0x12
je 0x42fc9b
sub eax, 0x92
je 0x42fc9b
sub eax, 1
jne 0x42fcbb
movzx eax, bl
sub eax, 0x11
je 0x42fcb6
sub eax, 0x91
je 0x42fcb6
sub eax, 1
jne 0x42fcbb
mov ecx, str.RCtrl_up
jmp 0x42fcbb
mov ecx, str.LCtrl_up
lea eax, [esp + 0xa8]
mov dword [esi + 0x38c], 0
push eax
lea eax, [esp + 0x90]
push eax
push ecx
push str.Blind_s_s_s_DownR
push dword [esp + 0x24]
call fcn.00405f00
add esp, 0x14
lea eax, [esp + 0x14]
mov ecx, esi
push 0
push 1
push eax
push 0x41
call fcn.004358e0
test eax, eax
je 0x42f9b4
push 0
push 0
push 0
push 0x67
mov ecx, esi
call fcn.004358e0
lea eax, [esp + 0xc8]
mov dword [esi + 0x38c], 0
push eax
push str._s_up::
push dword [esp + 0x1c]
call fcn.00405f00
mov dword [esp + 0x30], 2
jmp 0x42fc2f
lea eax, [esp + 0xc8]
push eax
push str._s::
push dword [esp + 0x1c]
call fcn.00405f00
mov dword [esp + 0x44], eax
add esp, 0xc
mov esi, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x48], edi
cmp byte [esi], 0x3a
jne 0x42ff10
mov al, byte [esi + 1]
test al, al
je 0x42ff10
lea ecx, [esi + 1]
mov dword [esp + 0x64], ecx
cmp al, 0x3a
je 0x42fdb0
push 0x3a
push ecx
call fcn.004ca733
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x42fda5
mov dword [esp + 0x3c], edi
jmp 0x42ff10
mov ecx, dword [esp + 0x64]
inc ebx
mov dword [esp + 0x3c], ebx
jmp 0x42fdc6
mov eax, dword [esp + 0x14]
add eax, 2
cmp byte [eax], 0
je 0x42ff10
mov ebx, eax
mov dword [esp + 0x3c], eax
test ebx, ebx
je 0x42ff10
mov ah, byte [0x4fb978]
mov esi, ecx
mov byte [esp + 0x1b], ah
cmp ecx, ebx
jae 0x42fe2a
nop
mov bl, byte [esi]
movzx eax, bl
test eax, 0xffffff80
je 0x42fdf0
xor edx, edx
jmp 0x42fdfd
push 2
push eax
call fcn.004c7451
add esp, 8
mov edx, eax
mov al, bl
inc esi
and al, 0xdf
test edx, edx
movzx ecx, al
movzx eax, bl
mov ebx, dword [esp + 0x3c]
cmove ecx, eax
cmp cl, 0x58
je 0x42fe20
cmp esi, ebx
jb 0x42fde0
mov ah, byte [esp + 0x1b]
jmp 0x42fe2a
cmp byte [esi], 0x30
setne ah
mov byte [esp + 0x1b], ah
mov esi, ebx
nop dword [eax]
mov al, byte [esi]
mov ebx, edi
test al, al
je 0x42fe55
mov dl, byte [0x4f9b6d]
mov cl, al
mov al, cl
cmp cl, dl
je 0x42fe55
cmp cl, 0x3a
je 0x42fe55
mov al, byte [esi + 1]
inc esi
mov cl, al
test al, al
jne 0x42fe40
mov edx, esi
test al, al
je 0x42ff04
mov cl, byte [esi + 1]
lea edi, [esi + 1]
cmp al, 0x3a
jne 0x42fe8e
cmp cl, al
jne 0x42fe7b
mov dword [esp + 0x48], esi
mov esi, edi
test ah, ah
jne 0x42ff00
mov ah, byte [esp + 0x1b]
cmp cl, 0x3a
mov edi, edx
cmovne edi, ebx
inc esi
mov dword [esp + 0x48], edi
jmp 0x42fe30
movsx eax, cl
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x42fea0.99
movzx eax, byte [eax + 0x430bb8]
jmp dword [eax*4 + 0x430b98]
mov byte [edi], 7
jmp case.0x42fea0.99
mov byte [edi], 8
jmp case.0x42fea0.99
mov byte [edi], 0xc
jmp case.0x42fea0.99
mov byte [edi], 0xa
jmp case.0x42fea0.99
mov byte [edi], 0xd
jmp case.0x42fea0.99
mov byte [edi], 9
jmp case.0x42fea0.99
mov byte [edi], 0xb
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42fed0
sub ecx, edx
lea eax, [ecx + 1]
push eax
push edi
push esi
call fcn.004c2440
add esp, 0xc
cmp byte [esi], 0x3a
jne 0x42fef2
cmp byte [edi], 0x3a
cmove esi, edi
mov edi, dword [esp + 0x48]
inc esi
mov ah, byte [esp + 0x1b]
jmp 0x42fe30
mov edi, dword [esp + 0x48]
test edi, edi
jne 0x42ff90
mov dword [esp + 0x3c], edi
push 0x4eba64
push dword [esp + 0x18]
call fcn.004cac80
mov edi, eax
add esp, 8
test edi, edi
je 0x43061b
mov ecx, dword [esp + 0x14]
cmp edi, ecx
jne 0x42ff3a
cmp byte [edi + 2], 0x3a
jne 0x42ff3a
inc edi
mov esi, edi
cmp edi, ecx
jbe 0x42ff4f
mov al, byte [esi]
cmp al, 0x20
je 0x42ff4a
cmp al, 9
jne 0x42ff4f
dec esi
cmp esi, ecx
ja 0x42ff40
mov bl, byte [esi]
mov byte [esi], 0
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x20
je 0x42ff62
cmp al, 9
jne 0x42ff65
inc ecx
jmp 0x42ff58
push 0
xor edx, edx
call fcn.004158a0
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
je 0x430619
cmp eax, 4
je 0x42f9b4
mov byte [esi], bl
test edi, edi
je 0x43061b
mov ecx, dword [esp + 0x14]
cmp edi, ecx
jbe 0x43061f
mov eax, dword [0x4f898c]
cmp dword [eax + 0x94], 0
jne 0x430a14
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x354]
test eax, eax
je 0x42ffc5
cmp byte [eax], 0x1a
je 0x430965
mov ebx, dword [esp + 0x3c]
mov byte [edi], 0
add edi, 2
mov dword [esp + 0x48], edi
test ebx, ebx
jne 0x4302c4
mov al, byte [edi]
test al, al
je 0x430017
mov edx, edi
cmp al, 0x20
je 0x42ffeb
cmp al, 9
jne 0x42fff1
mov al, byte [edx + 1]
inc edx
jmp 0x42ffe3
mov eax, edx
sub eax, edi
je 0x430017
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430000
sub ecx, esi
lea eax, [ecx + 1]
push eax
push edx
push edi
call fcn.004c2440
add esp, 0xc
mov ebx, dword [esp + 0x48]
cmp byte [ebx], 0
je 0x4302bc
cmp byte [ebx + 1], 0
je 0x430087
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
cmp byte [ebx], 0
mov ecx, eax
mov edi, ebx
je case.0x430058.34
mov al, byte [ebx + 1]
test al, al
je case.0x430058.34
cmp al, 0x20
je case.0x430058.34
movsx eax, byte [edi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x430058.34
movzx eax, byte [eax + 0x430bd8]
jmp dword [eax*4 + 0x430bd0]
mov al, byte [edi + 2]
inc edi
test al, al
jne 0x430042
push ecx
push ecx
push 0
xor edx, edx
mov ecx, edi
call fcn.0041d8d0
mov bl, al
add esp, 0xc
mov byte [esp + 0x12], bl
test bl, bl
je 0x4302bc
jmp 0x43008e
or bl, 0xff
mov byte [esp + 0x12], bl
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
mov esi, dword [esp + 0x14]
mov edx, eax
cmp byte [esi], 0
je case.0x4300c6.34
mov al, byte [esi + 1]
lea ecx, [esi + 1]
test al, al
je case.0x4300c6.34
nop dword [eax + eax]
cmp al, 0x20
je case.0x4300c6.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x4300c6.34
movzx eax, byte [eax + 0x430c40]
jmp dword [eax*4 + 0x430c38]
mov esi, ecx
mov al, byte [esi + 1]
lea ecx, [esi + 1]
test al, al
jne 0x4300b0
push edx
push ecx
push 0
xor edx, edx
mov ecx, esi
call fcn.0041d8d0
add esp, 0xc
mov bh, al
mov byte [esp + 0x2f], bh
push 0x4e9024
push esi
call fcn.004cac80
add esp, 8
mov cl, bh
test eax, eax
setne byte [esp + 0x37]
dec cl
cmp cl, 5
ja 0x430112
cmp bh, 3
jne 0x43011a
mov al, bh
add al, 0x66
cmp al, 5
ja 0x43011e
mov cl, 1
jmp 0x430120
xor cl, cl
mov al, bl
dec al
cmp al, 5
ja 0x43012d
cmp bl, 3
jne 0x430135
mov al, bl
add al, 0x66
cmp al, 5
ja 0x430139
mov al, 1
jmp 0x43013b
xor al, al
mov byte [esp + 0x22], al
test cl, cl
jne 0x43014c
mov byte [esp + 0x23], 1
test al, al
jne 0x430151
mov byte [esp + 0x23], 0
mov ebx, dword [esp + 0x14]
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430160
sub ecx, edx
cmp ecx, 1
jne 0x430181
movzx eax, byte [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x4ebb94
jne 0x430186
mov eax, 0x4e3371
cmp byte [esp + 0x37], 0
mov ecx, 0x4eb984
push ebx
push eax
mov eax, 0x4e3371
cmove eax, ecx
push eax
push str._s_s_s
lea eax, [esp + 0xd8]
push 0x20
push eax
call fcn.004aba90
push 0x1f
lea eax, [esp + 0xc4]
push edi
push eax
call fcn.004cc440
mov esi, dword [esp + 0x6c]
lea eax, [esp + 0xb0]
add esp, 0x24
mov byte [esp + 0xc7], 0
push 7
push esi
push eax
call fcn.004cc440
sub edi, esi
mov byte [esp + 0x9f], 0
add esp, 0xc
cmp edi, 8
jae 0x4301f8
mov byte [esp + edi + 0x8c], 0
mov bh, byte [esp + 0x12]
xor edx, edx
mov dword [esp + 0x24], edx
cmp byte [esp + 0x8c], dl
jne 0x430749
cmp bh, 0xd
jne 0x43023e
lea eax, [esp + 0xa8]
push str.Return
push eax
call fcn.004c408e
add esp, 8
test eax, eax
je 0x4302b7
mov dword [esp + 0x24], 1
jmp case.0x42fbc5.0
cmp bh, 0x13
jne 0x430749
mov al, byte [esp + 0xa8]
movzx ebx, al
test ebx, 0xffffff80
je 0x43025d
xor esi, esi
jmp 0x430271
push 2
push ebx
call fcn.004c7451
mov esi, eax
add esp, 8
mov al, byte [esp + 0xa8]
mov cl, bl
and cl, 0xdf
test esi, esi
movzx edx, cl
mov ecx, ebx
cmove edx, ecx
cmp dl, 0x50
je 0x4302b7
movzx ebx, al
test ebx, 0xffffff80
je 0x430294
xor eax, eax
jmp 0x43029f
push 2
push ebx
call fcn.004c7451
add esp, 8
mov cl, bl
and cl, 0xdf
test eax, eax
movzx edx, cl
mov ecx, ebx
cmove edx, ecx
cmp dl, 0x42
jne 0x430741
mov byte [esp + 0x12], 0
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
cmp byte [esi + 0x154], 0
je 0x430309
push 0
push 0xff
push 0
push 0x67
mov ecx, esi
mov byte [esi + 0x154], 0
call fcn.004358e0
test eax, eax
je 0x42f9b4
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.00433190
test eax, eax
je 0x42f9b4
test ebx, ebx
je 0x430409
cmp byte [ebx], 0
je 0x43099e
mov edx, dword [esi + 0x364]
mov eax, 0x4e3371
cmp byte [esp + 0x1b], 0
push 0
push dword [esp + 0x88]
mov ecx, dword [edx + 4]
cmove eax, edi
push eax
push ebx
push ecx
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x78]
call fcn.00416640
add esp, 0x14
test eax, eax
je 0x42f9b4
mov al, byte [edi]
test al, al
je 0x430741
cmp byte [esp + 0x1b], 0
je 0x4303de
mov ecx, edi
nop dword [eax]
cmp al, 0x20
je 0x430388
cmp al, 9
jne 0x43038e
mov al, byte [ecx + 1]
inc ecx
jmp 0x430380
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, esi
call fcn.00433390
test eax, eax
je 0x42f9b4
mov eax, dword [esi + 0x354]
mov al, byte [eax]
cmp al, 9
jb 0x4303be
cmp al, 0x20
jbe 0x430981
cmp al, 0x21
je 0x430981
cmp al, 0x69
jb 0x4303d2
cmp al, 0x6b
jbe 0x430981
cmp al, 0x71
jb 0x4303de
cmp al, 0x73
jbe 0x430981
push 0
push 0
push 0
mov edi, esi
push 0x67
mov ecx, edi
call fcn.004358e0
test eax, eax
je 0x42f9b4
mov eax, dword [edi + 0x354]
mov dword [eax + 0xc], 1
jmp 0x42fae8
xor esi, esi
cmp byte [edi], 0
je 0x430515
push str.AltTab
push edi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x430430
mov esi, 0x7ffe
jmp 0x4304ed
push str.ShiftAltTab
push edi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x43044c
mov esi, 0x7ffd
jmp 0x4304ed
push str.AltTabMenu
push edi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x430468
mov esi, 0x7ffc
jmp 0x4304ed
push str.AltTabAndMenu
push edi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x430484
mov esi, 0x7ffb
jmp 0x4304ed
push str.AltTabMenuDismiss
push edi
call fcn.004c408e
add esp, 8
test eax, eax
jne 0x43049d
mov esi, 0x7ffa
jmp 0x4304ed
mov ebx, dword [esp + 0x28]
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push edi
mov ecx, ebx
call fcn.00433390
test eax, eax
je 0x42f9b4
mov eax, dword [ebx + 0x354]
mov al, byte [eax]
cmp al, 9
jb 0x4304cd
cmp al, 0x20
jbe 0x4309b7
cmp al, 0x21
je 0x4309b7
cmp al, 0x69
jb 0x4304e1
cmp al, 0x6b
jbe 0x4309b7
cmp al, 0x71
jb 0x4304ed
cmp al, 0x73
jbe 0x4309b7
mov edi, dword [esp + 0x28]
mov ecx, edi
push 0
push 0
push 0
push 0x67
call fcn.004358e0
test eax, eax
je 0x42f9b4
mov eax, dword [edi + 0x354]
mov dword [eax + 0xc], 1
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x6b]
push eax
lea edx, [esp + 0x8c]
call fcn.00416000
mov edi, eax
add esp, 4
test edi, edi
je 0x43059f
test si, si
je 0x430545
mov word [edi + 6], si
jmp 0x42fae8
mov eax, dword [edi + 0x20]
test eax, eax
je 0x430562
mov ecx, dword [0x4fc2a4]
cmp dword [eax + 4], ecx
je 0x4309d4
mov eax, dword [eax + 8]
test eax, eax
jne 0x430552
mov esi, dword [esp + 0x28]
mov ecx, edi
push dword [esp + 0x88]
push dword [esi + 0x364]
call fcn.00415790
test eax, eax
je 0x4309fb
cmp byte [esp + 0x6b], 0
jne 0x430596
cmp byte [0x4fba01], 0
je 0x430741
mov byte [edi + 0x14], 1
jmp 0x42fae8
mov edi, dword [esp + 0x28]
mov edx, esi
push 0
push dword [esp + 0x8c]
mov ecx, dword [edi + 0x364]
push dword [ecx + 4]
call fcn.00414ef0
add esp, 0xc
test eax, eax
jne 0x430741
cmp dword [esp + 0x6c], 3
jne 0x42f9b4
cmp dword [edi + 0x638], eax
jne 0x430741
push dword [esp + 0x14]
lea eax, [esp + 0xec]
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.004aba90
push 0
push 0
xorps xmm3, xmm3
lea ecx, [esp + 0x100]
mov edx, 0x10000
call fcn.004b20a0
add esp, 0x18
jmp 0x42fae8
mov byte [esi], bl
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x38]
cmp byte [esi + ecx - 1], 0x3a
jne 0x4306ef
cmp esi, 1
je 0x430a2c
mov al, byte [ecx]
mov edx, ecx
test al, al
je 0x430678
mov bl, byte [0x4f9b6f]
mov ah, byte [0x4f9b6d]
nop dword [eax + eax]
cmp al, 0x20
je 0x4306ef
cmp al, 9
je 0x4306ef
cmp al, bl
je 0x4306ef
cmp al, ah
je 0x4306ef
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x430650
cmp byte [esi + ecx - 2], 0x3a
jne 0x430688
cmp esi, 2
ja 0x4306ef
mov byte [esi + ecx - 1], 0
push str.Default
push dword [esp + 0x18]
call fcn.004c408e
mov edi, dword [esp + 0x30]
add esp, 8
test eax, eax
jne 0x4306d5
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x4306d5
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4306d5
cmp byte [eax], 0x75
jne 0x4306d5
push 0
push 0
push 0
push 0x76
mov ecx, edi
call fcn.004358e0
test eax, eax
je 0x42f9b4
jmp 0x42fae8
push 0
push dword [esp + 0x18]
mov ecx, edi
call fcn.00433190
test eax, eax
je 0x42f9b4
jmp 0x42fae8
cmp byte [ecx], 0x23
mov edi, dword [esp + 0x28]
jne 0x43071b
mov esi, dword [edi + 0x150]
push ecx
mov ecx, edi
call fcn.00431330
test eax, eax
je 0x42f9b4
cmp eax, 3
je 0x42fad8
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x7b
je 0x430756
cmp al, 0x7d
je 0x430756
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, edi
call fcn.00433390
test eax, eax
je 0x42f9b4
mov bh, byte [esp + 0x12]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov bl, byte [esp + 0x13]
jmp 0x42faf8
cmp al, 0x7b
mov ecx, edi
push 0
setne al
push 0
add al, 0x77
push 0
movzx eax, al
push eax
call fcn.004358e0
test eax, eax
je 0x42f9b4
mov ebx, dword [esp + 0x14]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x43077a
cmp al, 9
je 0x43077a
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], ebx
cmp byte [ebx], 0
je 0x42faec
lea ecx, [ebx + 1]
nop word [eax + eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x4307a0
sub ebx, ecx
mov dword [edi + 0x38c], 0
mov dword [esp + 0x38], ebx
jmp 0x42f358
mov eax, dword [esp + 0x14]
test dl, dl
mov cx, word [0x4e8dbc]
push 0
push 1
mov word [eax], cx
mov eax, dword [esp + 0x1c]
mov cl, byte [0x4e8dbe]
mov byte [eax + 2], cl
lea eax, [esp + 0x1c]
mov ecx, dword [esp + 0x30]
push eax
setne al
add al, 0xc5
movzx eax, al
push eax
call fcn.004358e0
lea eax, [esp + 0xa8]
push eax
push str.Blind_s_Up
push dword [esp + 0x1c]
call fcn.00405f00
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x20]
add esp, 0xc
push 0
push 1
push eax
push 0x41
call fcn.004358e0
mov ecx, dword [esp + 0x28]
push 0
push 0
push 0
push 0x67
call fcn.004358e0
mov al, byte [esp + 0x4e]
mov ch, bl
mov cl, byte [esp + 0x43]
mov edx, dword [esp + 0x48]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
mov al, byte [esp + 0x4f]
mov byte [esp + 0x2f], ch
mov ch, byte [esp + 0x37]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x70]
mov byte [esp + 0x12], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], eax
mov byte [esp + 0x22], ch
mov byte [esp + 0x23], cl
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x60b0]
cmp dword [esp + 0x94], edx
lea edi, [esp + 0xa0b8]
mov esi, dword [esp + 0x44]
mov eax, edx
mov ebx, dword [esp + 0x28]
cmovne edi, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x1c], edi
jmp 0x42ead0
mov ecx, dword [esp + 0x28]
push ebx
push str.Continuation_section_too_long.
call fcn.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [edi + 0x144], 0
lea eax, [esp + 0x168]
push eax
mov ecx, str.Not_a_valid_method__class_or_property_definition.
mov eax, 0x4ebad8
cmove eax, ecx
mov ecx, edi
push eax
call fcn.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x168]
mov ecx, edi
push eax
push 0x4ebad8
call fcn.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x168]
push eax
push str.Functions_cannot_contain_functions.
call fcn.0044dd10
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, edi
call fcn.0044dd10
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, edi
call fcn.0044dd10
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.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov byte [edi - 2], 0x3a
mov ecx, esi
push dword [esp + 0x14]
push str.Invalid_single_line_hotkey_hotstring.
call fcn.0044dd10
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.0044dd10
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.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esp + 0x28]
mov ecx, eax
push dword [esp + 0x14]
push str.Duplicate_hotkey.
mov dword [eax + 0x38c], 0
call fcn.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x14]
mov ecx, esi
push str.Out_of_memory.
call fcn.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, dword [esp + 0x2c]
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
call fcn.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, dword [esp + 0x2c]
push str.This_line_does_not_contain_a_recognized_action.
call fcn.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x28]
push edi
push str.Continuation_section_too_long.
call fcn.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
push 0x4ebaa8
call fcn.0044dd10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp byte [esp + 0x168], 0
je 0x430ae5
cmp dword [esp + 0x58], 0
mov eax, dword [esp + 0x30]
mov esi, dword [ebx + 0x150]
mov dword [ebx + 0x150], eax
lea eax, [esp + 0x168]
je 0x430ac3
cmp byte [esp + 0x13], 0
mov ecx, 0x4ebad8
push eax
mov eax, str.Missing___
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.0044dd10
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.00433390
test eax, eax
je 0x42f9b4
mov dword [ebx + 0x150], esi
cmp dword [ebx + 0x28], 0
je 0x430b0b
cmp dword [esp + 0x7c], 0
jne 0x430b0b
lea eax, [ebx + 0x40]
mov ecx, ebx
push eax
push str.Missing___
call fcn.0044dd10
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