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

Disassembly:
mov eax, 0xe09c
call fcn.00494780
mov eax, dword [esp + 0xe0a0]
push ebx
push ebp
lea ecx, [esp + 0x148]
push esi
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xe0b0]
or esi, 0xffffffff
lea edx, [esp + 0xa09c]
push edi
mov byte [esp + 0x4158], 0
mov dword [esp + 0x24], edx
mov byte [esp + 0x13], 0
mov byte [esp + 0x31], 0
mov byte [esp + 0x36], 0
mov dword [0x4af3e8], ecx
mov dword [esp + 0x58], esi
test eax, eax
je 0x41837d
push 1
push 0x4000
lea edx, [esp + 0x158]
push edx
call fcn.00472b90
test eax, eax
jne 0x4184aa
mov byte [esp + 0x150], al
mov dword [esp + 0x1c], esi
push 2
lea edx, [esp + 0x154]
push 0x49e2cc
push edx
call fcn.0048a44f
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x20], al
test al, al
je 0x4183b5
mov byte [esp + 0x150], 0
mov dword [esp + 0x1c], 0
cmp dword [esp + 0x1c], 0xffffffff
je 0x41a421
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x14]
push 0xc
mov eax, 0x4af278
inc ecx
push str.CommentFlag
xor edi, edi
push esi
mov dword [eax + 0x174], ecx
mov dword [eax + 0x374], edi
call fcn.004887fd
add esp, 0xc
test eax, eax
jne 0x4183fe
push esi
call fcn.0041a8a0
test eax, eax
je 0x419d59
mov byte [esp + 0x5c], 0
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x24]
inc dword [esp + 0x58]
mov esi, dword [esp + 0x28]
xor ebx, ebx
cmp edi, ebx
je 0x4185ec
mov eax, dword [esp + 0xe0b0]
mov ecx, esi
mov edx, edi
call fcn.0041a6e0
mov ebp, eax
mov dword [esp + 0x44], ebp
cmp ebp, ebx
je 0x4185f3
cmp ebp, 0xffffffff
je 0x4185f3
cmp esi, ebx
jne 0x4185f3
push 2
push 0x49e2e0
push edi
call fcn.0048a44f
add esp, 0xc
test eax, eax
jne 0x418607
cmp byte [esp + 0x20], bl
jne 0x41847a
cmp byte [edi + 2], 0x3a
jne 0x41847a
cmp byte [edi + 3], 0x3a
je 0x418611
lea edx, [ebp - 1]
push edx
lea eax, [edi + 2]
push eax
push edi
mov byte [esp + 0x2c], bl
call fcn.00488d70
add esp, 0xc
lea eax, [ebp - 2]
call fcn.00414c30
mov ebp, eax
mov dword [esp + 0x44], ebp
cmp byte [edi], bl
je 0x418407
jmp 0x418611
cmp byte [esp + eax + 0x14f], 0xa
jne 0x4184b5
dec eax
mov byte [esp + eax + 0x150], 0
mov eax, esi
lea edi, [esp + 0x150]
call fcn.00414c30
mov esi, edi
call fcn.00414ca0
mov ebp, eax
mov eax, dword [0x4aa3b4]
push eax
mov ecx, edi
push 0x4aa3c0
push ecx
call fcn.0048a44f
add esp, 0xc
test eax, eax
jne 0x418503
mov byte [esp + 0x150], 0
mov dword [esp + 0x1c], 0
jmp 0x418381
lea edx, [esp + 0x150]
push 0x4aa3c0
push edx
call fcn.004892c2
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4185e3
lea eax, [ebx - 1]
lea ecx, [esp + 0x150]
cmp eax, ecx
jb 0x4184ee
mov cl, byte [eax]
cmp cl, 0x20
je 0x4185ce
cmp cl, 9
je 0x4185ce
cmp cl, 0xa0
je 0x4185ce
lea edx, [esp + 0x150]
cmp eax, edx
mov dl, byte [0x4aa8f3]
mov ecx, eax
jbe 0x418577
cmp byte [ecx], dl
jne 0x418577
cmp byte [ecx - 1], dl
jne 0x418577
sub ecx, 2
lea esi, [esp + 0x150]
cmp ecx, esi
ja 0x418560
lea esi, [esp + 0x150]
cmp ecx, esi
jb 0x4185a6
cmp byte [ecx], dl
jne 0x4185a6
lea esi, [eax + 1]
mov ecx, esi
lea edi, [ecx + 1]
mov edi, edi
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x418590
sub ecx, edi
inc ecx
push ecx
push esi
push eax
call fcn.00488d70
add esp, 0xc
dec ebp
mov eax, dword [0x4aa3b4]
add eax, ebx
push 0x4aa3c0
push eax
call fcn.004892c2
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x418522
mov dword [esp + 0x1c], ebp
jmp 0x418381
lea ecx, [esp + 0x150]
mov byte [eax], 0
sub eax, ecx
mov esi, ecx
call fcn.00414d50
mov ebp, eax
mov dword [esp + 0x1c], ebp
jmp 0x418381
or ebp, 0xffffffff
mov dword [esp + 0x44], ebp
cmp byte [esp + 0x20], bl
je 0x41862f
cmp ebp, 0xffffffff
jne 0x418407
jmp 0x418cf0
cmp byte [esp + 0x20], bl
jne 0x418407
push 2
push 0x49e2cc
push edi
call fcn.0048a44f
add esp, 0xc
test eax, eax
jne 0x4185f3
mov byte [esp + 0x20], 1
jmp 0x418407
cmp esi, ebx
jne 0x418af2
cmp ebp, 0xffffffff
je 0x418695
cmp byte [edi], 0x28
jne 0x418695
cmp byte [edi + 1], 0x3a
lea esi, [edi + 1]
je 0x418695
cmp byte [edi + ebp - 1], 0x3a
je 0x418695
mov dl, byte [0x4aeaec]
mov ecx, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x68], ebx
mov byte [esp + 0x3d], dl
mov byte [esp + 0x3e], cl
mov byte [esp + 0x39], bl
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3a], cl
mov word [esp + 0x7c], 0xa
mov dword [esp + 0x60], ecx
mov al, byte [esi]
cmp al, 0x20
je 0x418691
cmp al, 9
jne 0x41891b
add esi, ecx
jmp 0x418683
mov dword [esp + 0x28], ebx
cmp ebp, 0xffffffff
je 0x418cf0
cmp ebp, ebx
je 0x418407
cmp byte [edi + ebp - 1], 0x3a
jne 0x4186ba
cmp byte [edi], 0x2c
jne 0x418cf0
mov esi, dword [esp + 0x24]
mov bl, byte [esi]
movzx eax, bl
test eax, 0xffffff80
jne 0x4186dc
push 2
push eax
call fcn.004896ce
add esp, 8
test eax, eax
je 0x4186dc
and bl, 0xdf
cmp bl, 0x41
je 0x41887d
cmp bl, 0x4f
je 0x41882b
mov al, byte [esi]
cmp al, 0x3a
je 0x4186fc
cmp al, 0x2b
je 0x4186fc
cmp al, 0x2d
jne 0x418705
cmp byte [esi + 1], al
je 0x418cf0
movsx eax, al
push eax
push str.____:.___
call fcn.00489181
add esp, 8
test eax, eax
je 0x418cf0
push 0x49e308
push esi
call fcn.004892c2
mov edi, eax
add esp, 8
test edi, edi
je 0x4188d6
mov ecx, dword [esp + 0x24]
cmp byte [ecx], 0x3a
jne 0x418793
mov esi, ecx
mov al, byte [esi + 1]
inc esi
test al, al
je 0x41878a
cmp al, 0x3a
je 0x418cf0
movzx eax, al
test eax, 0xffffff80
jne 0x41876d
push 0x107
push eax
call fcn.004896ce
add esp, 8
test eax, eax
jne 0x418782
movsx eax, byte [esi]
push eax
push 0x49e30c
call fcn.00489181
add esp, 8
test eax, eax
je 0x418793
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x418749
cmp byte [esi], 0x3a
je 0x418cf0
mov eax, dword [esp + 0x24]
cmp byte [eax], 0x2c
jne 0x4187e4
mov esi, eax
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x41879e
cmp al, 9
je 0x41879e
push 2
push 0x49e308
push esi
call fcn.0048a44f
add esp, 0xc
test eax, eax
je 0x418cf0
push 3
push 0x49d194
dec esi
push esi
call fcn.0048a44f
add esp, 0xc
test eax, eax
je 0x418cf0
mov ebp, dword [esp + 0x44]
jmp 0x4188d6
cmp eax, edi
jae 0x4187f4
cmp byte [eax], 0x22
je 0x4187f2
inc eax
cmp eax, edi
jb 0x4187e8
cmp eax, edi
je 0x418cf0
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x418cf0
cmp al, 0x22
je 0x418819
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x418808
jmp 0x418cf0
cmp byte [ecx], 0
je 0x418cf0
mov ebp, dword [esp + 0x44]
jmp 0x4188d6
mov edi, dword [esp + 0x24]
movzx esi, byte [edi + 1]
test esi, 0xffffff80
jne 0x41884d
push 2
push esi
call fcn.004896ce
add esp, 8
test eax, eax
je 0x41884d
and esi, 0xffffffdf
mov eax, esi
cmp al, 0x52
jne 0x418cf0
mov al, byte [edi + 2]
lea ecx, [edi + 2]
cmp al, 0x20
je 0x418870
cmp al, 9
je 0x418870
cmp al, 0xa0
jne 0x418cf0
lea ecx, [ecx]
mov al, byte [ecx]
cmp al, 0x20
je 0x41887a
cmp al, 9
jne 0x4188bd
inc ecx
jmp 0x418870
push 3
push 0x49e2e4
push esi
call fcn.004887fd
add esp, 0xc
test eax, eax
jne 0x418cf0
mov al, byte [esi + 3]
lea ecx, [esi + 3]
cmp al, 0x20
je 0x4188b0
cmp al, 9
je 0x4188b0
cmp al, 0xa0
jne 0x418cf0
jmp 0x4188b0
mov al, byte [ecx]
cmp al, 0x20
je 0x4188ba
cmp al, 9
jne 0x4188bd
inc ecx
jmp 0x4188b0
movsx eax, byte [ecx]
push eax
push str.____:
call fcn.00489181
add esp, 8
test eax, eax
jne 0x418cf0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
lea edx, [esi + ebp]
cmp edx, 0x4000
jae 0x41a231
cmp byte [eax], 0x2c
je 0x4188fb
mov ecx, dword [esp + 0x14]
mov byte [esi + ecx], 0x20
inc esi
lea edx, [ebp + 1]
push edx
push eax
mov eax, dword [esp + 0x1c]
lea ecx, [esi + eax]
push ecx
call fcn.00490660
add esp, 0xc
add esi, ebp
mov dword [esp + 0x1c], esi
jmp 0x418407
cmp byte [esi], bl
je 0x418ae8
mov edi, esi
test esi, esi
je 0x41894f
mov dl, byte [esi]
test dl, dl
je 0x41894f
nop
mov ecx, 0x49d19c
mov al, 0x20
cmp dl, al
je 0x4189dd
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x418937
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x418930
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418954
sub eax, edx
lea ebp, [eax + esi]
mov bl, byte [ebp]
push 4
push str.Join
push esi
mov byte [esp + 0x3b], bl
mov byte [ebp], 0
call fcn.004887fd
add esp, 0xc
test eax, eax
jne 0x418a4a
push 0xf
add esi, 4
lea eax, [esp + 0x80]
push esi
push eax
call fcn.0048ae50
mov bl, byte [0x4aa8f3]
mov byte [esp + 0x97], 0
lea ecx, [esp + 0x88]
mov al, byte [ecx]
add esp, 0xc
test al, al
je 0x4189c0
cmp al, bl
je 0x4189e4
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4189b4
lea eax, [esp + 0x7c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4189c7
mov bl, byte [esp + 0x2f]
sub eax, edx
mov dword [esp + 0x60], eax
jmp 0x418acd
mov ebp, edi
jmp 0x418960
cmp byte [ecx], 0
je 0x4189c0
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4189ff.99
movzx edx, byte [eax + 0x41a510]
jmp dword [edx*4 + 0x41a4ec]
mov byte [esi], 7
jmp case.0x4189ff.99
mov byte [esi], 8
jmp case.0x4189ff.99
mov byte [esi], 0xc
jmp case.0x4189ff.99
mov byte [esi], 0xa
jmp case.0x4189ff.99
mov byte [esi], 0xd
jmp case.0x4189ff.99
mov byte [esi], 9
jmp case.0x4189ff.99
mov byte [esi], 0xb
jmp case.0x4189ff.99
mov byte [esi], 0x20
mov eax, esi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x418a31
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.00488d70
mov ecx, esi
jmp 0x4189ab
push 5
push 0x49e33c
push esi
call fcn.004887fd
add esp, 0xc
test eax, eax
jne 0x418a69
cmp byte [esi + 5], 0x30
setne byte [esp + 0x3d]
jmp 0x418acd
push 5
push str.RTrim
push esi
call fcn.004887fd
add esp, 0xc
test eax, eax
jne 0x418a88
cmp byte [esi + 5], 0x30
setne byte [esp + 0x3e]
jmp 0x418acd
mov al, byte [esi]
test al, al
je 0x418acd
mov ecx, 2
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x418aa5.38
movzx eax, byte [eax + 0x41a540]
jmp dword [eax*4 + 0x41a528]
mov byte [esp + 0x39], 1
jmp case.0x418aa5.38
mov byte [esp + 0x3c], 1
jmp case.0x418aa5.38
mov byte [esp + 0x3a], 0
jmp case.0x418aa5.38
mov dword [esp + 0x28], ecx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x418a93
mov byte [ebp], bl
mov esi, ebp
mov al, byte [esi]
cmp al, 0x20
je 0x418adc
cmp al, 9
jne 0x418adf
inc esi
jmp 0x418ad2
cmp byte [esi], 0
jne 0x418923
mov byte [esp + 0x5c], 1
jmp 0x418407
cmp ebp, 0xffffffff
je 0x41a3e3
cmp ebp, 0xfffffffe
je 0x418407
cmp byte [edi], 0x29
jne 0x418b78
mov eax, edi
mov dword [esp + 0x28], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418b12
sub eax, edx
lea ecx, [eax + edi - 1]
nop
mov dl, byte [ecx]
cmp dl, 0x20
je 0x418b2c
cmp dl, 9
jne 0x418b34
cmp ecx, edi
je 0x418b48
dec ecx
dec eax
jmp 0x418b20
mov edi, dword [esp + 0x24]
mov byte [ecx + 1], bl
mov ebx, dword [esp + 0x24]
mov ebp, eax
inc ebx
dec ebp
jmp 0x418c73
mov dl, byte [ecx]
cmp dl, 0x20
je 0x418b65
cmp dl, 9
je 0x418b65
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x24]
mov ebp, eax
inc ebx
dec ebp
jmp 0x418c73
mov edi, dword [esp + 0x24]
mov byte [ecx], bl
mov ebx, dword [esp + 0x24]
xor ebp, ebp
inc ebx
dec ebp
jmp 0x418c73
cmp byte [esp + 0x3e], 0
mov edi, dword [esp + 0x24]
mov ebx, edi
je 0x418b90
mov eax, ebp
mov esi, edi
call fcn.00414ca0
mov ebp, eax
cmp byte [esp + 0x3d], 0
je 0x418ba4
mov edi, dword [esp + 0x24]
mov eax, ebp
call fcn.00414c30
mov ebp, eax
xor esi, esi
cmp byte [esp + 0x39], 0
je 0x418bdf
mov al, byte [0x4aa8f3]
push esi
push 0xffffffffffffffff
push 1
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x40]
push edx
mov byte [esp + 0x44], al
mov byte [esp + 0x48], al
mov byte [esp + 0x49], al
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.00475750
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x3c], 0
je 0x418c1f
mov al, byte [0x4aa8f2]
mov cl, byte [0x4aa8f3]
push 0
push 0xffffffffffffffff
push 1
mov byte [esp + 0x3c], al
mov byte [esp + 0x41], al
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x40]
push eax
mov byte [esp + 0x48], cl
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.00475750
add esp, 0x18
add esi, eax
cmp byte [esp + 0x3a], 0
je 0x418c5f
mov al, byte [0x4aa3b3]
mov cl, byte [0x4aa8f3]
push 0
push 0xffffffffffffffff
push 1
mov byte [esp + 0x3c], al
mov byte [esp + 0x41], al
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x40]
push eax
mov byte [esp + 0x48], cl
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.00475750
add esp, 0x18
add esi, eax
test esi, esi
je 0x418c73
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418c68
sub eax, edx
mov ebp, eax
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
lea ecx, [esi + ebp]
add ecx, eax
cmp ecx, 0x4001
jae 0x41a404
mov ecx, dword [esp + 0x68]
inc ecx
mov dword [esp + 0x68], ecx
cmp ecx, 1
jle 0x418cc1
test esi, esi
je 0x418cc1
cmp ebx, edi
jne 0x418cc1
lea edx, [esi + 1]
push edx
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x80]
push ecx
add eax, edx
push eax
call fcn.00490660
add esp, 0xc
add dword [esp + 0x1c], esi
test ebp, ebp
je 0x418407
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
lea eax, [ebp + 1]
push eax
lea edx, [esi + ecx]
push ebx
push edx
call fcn.00490660
add esp, 0xc
add esi, ebp
mov dword [esp + 0x1c], esi
jmp 0x418407
mov byte [ebp], bl
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
lea esp, [esp]
test ecx, ecx
je 0x41a011
cmp byte [esp + 0x4158], 0
je 0x418e74
mov eax, dword [esp + 0x48]
mov esi, 0x4af278
mov edi, dword [esi + 0x174]
mov dword [esi + 0x174], eax
cmp byte [ebx], 0x7b
je 0x418d76
cmp byte [esp + 0x1b], 0
jne 0x418d76
test ebp, ebp
jne 0x41a24e
cmp dword [esi + 0x4c], ebp
je 0x418d56
mov ecx, dword [0x4aa988]
cmp dword [ecx + 0x94], ebp
je 0x41a26f
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x4170]
push edx
mov ecx, esi
call fcn.0041bfb0
jmp 0x418dfd
mov eax, ebp
sub eax, 0
je 0x418db8
dec eax
je 0x418da1
dec eax
jne 0x418e0f
lea ebx, [esp + 0x4158]
call fcn.00420a00
test eax, eax
je 0x419d59
mov ebx, dword [esp + 0x14]
jmp 0x418e0f
lea eax, [esp + 0x4158]
push eax
call fcn.00420550
test eax, eax
je 0x419d59
jmp 0x418e0f
mov ecx, dword [0x4aa988]
cmp dword [ecx + 0x94], 0
lea eax, [esp + 0x4158]
jne 0x41a29f
lea edx, [esp + 0x8160]
push edx
push eax
call fcn.0041fb90
test eax, eax
je 0x419d59
cmp byte [esp + 0x1b], 0
je 0x418e0f
push 0
push 0
push 0
push 0x75
push esi
call fcn.0041e3b0
test eax, eax
je 0x419d59
mov dword [esi + 0x374], 0
mov byte [esp + 0x4158], 0
test ebp, ebp
je 0x418e69
cmp byte [esp + 0x1b], 0
jne 0x418e69
lea ecx, [ebx + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x418e2f
cmp al, 9
jne 0x418e32
inc ecx
jmp 0x418e25
cmp byte [ecx], 0
jne 0x418e47
mov eax, 0x4af278
mov dword [eax + 0x174], edi
jmp 0x41a011
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x418e50
sub eax, esi
mov dword [esp + 0x1c], eax
inc eax
push eax
push ecx
push ebx
call fcn.00488d70
add esp, 0xc
mov eax, 0x4af278
mov dword [eax + 0x174], edi
cmp byte [ebx], 0x7d
jne 0x418f54
mov esi, 0x4af278
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x418f54
mov ecx, dword [0x4aa988]
cmp dword [ecx + 0x94], 0
jne 0x418f54
cmp dword [esi + 0x168], 0
je 0x418ed2
mov eax, dword [esi + 0x16c]
mov dword [esi + 0x168], 0
test eax, eax
je 0x418f08
push eax
call fcn.00488458
add esp, 4
mov dword [esi + 0x16c], 0
jmp 0x418f08
dec eax
mov dword [esi + 0x4c], eax
mov edi, dword [esi + eax*4 + 0x50]
call fcn.0046e8b0
mov edx, dword [esi + 0x4c]
mov eax, dword [esi + edx*4 + 0x50]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
add esi, 0x64
push 0x2e
push esi
call fcn.0048a513
add esp, 8
test eax, eax
je 0x418f05
mov byte [eax], 0
jmp 0x418f08
mov byte [esi], 0
lea eax, [ebx + 1]
jmp 0x418f10
mov cl, byte [eax]
cmp cl, 0x20
je 0x418f1c
cmp cl, 9
jne 0x418f1f
inc eax
jmp 0x418f10
cmp byte [eax], 0
mov ebx, eax
mov dword [esp + 0x14], ebx
je 0x41a011
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418f31
sub eax, edx
mov ecx, eax
mov eax, 0x4af278
mov dword [esp + 0x1c], ecx
mov dword [eax + 0x374], 0
jmp 0x418d00
mov esi, 0x4af278
cmp dword [esi + 0x168], 0
je 0x419025
mov eax, dword [0x4aa988]
cmp dword [eax + 0x94], 0
jne 0x419025
push 3
push 0x49e3bc
push ebx
call fcn.004887fd
add esp, 0xc
test eax, eax
je 0x418fa4
push 3
push 0x49e3c0
push ebx
call fcn.004887fd
add esp, 0xc
test eax, eax
jne 0x41a2b9
lea esi, [ebx + 3]
mov al, byte [esi]
cmp al, 0x20
je 0x418fb1
cmp al, 9
jne 0x418fb4
inc esi
jmp 0x418fa7
mov al, byte [esi]
test al, al
je 0x418fcc
cmp al, 0x7b
jne 0x41a2b9
cmp byte [esi + 1], 0
jne 0x41a2b9
mov eax, 0x4af278
mov eax, dword [eax + 0x16c]
lea edx, [esp + 0x4158]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x418fe0
lea ecx, [esp + 0x4158]
push 0x2e
push ecx
call fcn.00489181
mov dl, byte [ebx]
mov byte [eax + 1], dl
add esp, 8
cmp byte [esi], 0x7b
mov eax, 0x4af278
mov eax, dword [eax + 0x174]
mov dword [esp + 0x48], eax
sete byte [esp + 0x1b]
mov dword [esp + 0x40], 0
jmp 0x41a011
mov ebp, dword [esp + 0x14]
lea ebx, [esp + 0x1b]
mov eax, ebp
call fcn.004180f0
test al, al
je 0x419069
lea edx, [esp + 0x4158]
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x419043
mov eax, 0x4af278
mov ecx, dword [eax + 0x174]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], 0
jmp 0x41a011
mov edx, dword [0x4aa988]
cmp dword [edx + 0x94], 0
jne 0x419221
lea eax, [esp + 0x1b]
push eax
mov eax, ebp
call fcn.004181a0
add esp, 4
test eax, eax
je 0x4190be
lea edx, [esp + 0x4158]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x419098
mov eax, 0x4af278
mov ecx, dword [eax + 0x174]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], 1
jmp 0x41a011
cmp dword [esi + 0x4c], 0
je 0x419221
mov esi, ebp
lea ebx, [ebx]
movzx eax, byte [esi]
test eax, 0xffffff80
jne 0x4190ec
push 0x107
push eax
call fcn.004896ce
add esp, 8
test eax, eax
jne 0x4190fa
mov al, byte [esi]
cmp al, 0x5f
je 0x4190fa
cmp al, 0x7f
ja 0x4190fa
cmp al, 0x2e
jne 0x4190fd
inc esi
jmp 0x4190d0
cmp esi, ebp
jbe 0x4191a6
mov al, byte [esi]
cmp al, 0x20
je 0x41910f
cmp al, 9
jne 0x419112
inc esi
jmp 0x419105
mov al, byte [esi]
cmp al, 0x3a
jne 0x419133
cmp byte [esi + 1], 0x3d
jne 0x419133
push 0
push ebp
call fcn.00420ba0
test eax, eax
je 0x419d59
jmp 0x41a011
test al, al
je 0x419145
cmp al, 0x5b
je 0x419145
cmp al, 0x7b
jne 0x4191a6
cmp byte [esi + 1], 0
jne 0x4191a6
mov eax, ebp
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x419150
sub eax, edx
cmp byte [eax + ebp - 1], 0x7b
sete cl
mov byte [esp + 0x1b], cl
test cl, cl
je 0x419171
dec eax
mov esi, ebp
call fcn.00414ca0
lea edx, [esp + 0x4158]
mov eax, ebp
sub edx, ebp
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x419180
mov eax, 0x4af278
mov edx, dword [eax + 0x174]
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], 2
jmp 0x41a011
push 6
push str.Static
push ebp
call fcn.004887fd
add esp, 0xc
test eax, eax
jne 0x4191dd
mov al, byte [ebp + 6]
cmp al, 0x20
je 0x4191c5
cmp al, 9
jne 0x4191dd
push 1
add ebp, 7
push ebp
call fcn.00420ba0
test eax, eax
je 0x419d59
jmp 0x41a011
cmp byte [ebp], 0x23
jne 0x41a2d6
mov edi, 0x4af278
mov esi, dword [edi + 0x174]
push ebp
call fcn.0041a8a0
test eax, eax
je 0x419d59
cmp eax, 3
jne 0x41a2d6
mov eax, dword [esp + 0xe0b4]
mov dword [edi + 0x170], eax
mov dword [edi + 0x174], esi
jmp 0x41a011
mov edx, dword [esp + 0x14]
xor ebp, ebp
cmp byte [edx], 0x3a
mov dword [esp + 0x28], ebp
jne 0x4192e8
mov cl, byte [edx + 1]
test cl, cl
je 0x4192e8
lea edi, [edx + 1]
mov dword [esp + 0x74], edi
cmp cl, 0x3a
je 0x419266
push 0x3a
push edi
call fcn.00489181
add esp, 8
cmp eax, ebp
jne 0x419263
mov dword [esp + 0x28], ebp
jmp 0x4192e8
inc eax
jmp 0x41926f
cmp byte [edx + 2], 0
lea eax, [edx + 2]
je 0x4192e8
mov dword [esp + 0x28], eax
cmp eax, ebp
je 0x4192e8
mov bl, byte [0x4aeadf]
mov byte [esp + 0x23], bl
cmp edi, eax
jae 0x4192be
movzx esi, byte [edi]
test esi, 0xffffff80
jne 0x4192a2
push 2
push esi
call fcn.004896ce
add esp, 8
test eax, eax
je 0x4192a2
and esi, 0xffffffdf
mov eax, esi
cmp al, 0x58
je 0x4192b1
inc edi
cmp edi, dword [esp + 0x28]
jb 0x419285
jmp 0x4192be
cmp byte [edi + 1], 0x30
setne byte [esp + 0x23]
mov bl, byte [esp + 0x23]
mov edi, dword [esp + 0x28]
mov al, byte [edi]
test al, al
je 0x4192dc
cmp al, byte [0x4aa8f3]
je 0x419349
cmp al, 0x3a
je 0x419349
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4192c8
test ebp, ebp
jne 0x419403
mov dword [esp + 0x28], ebp
mov edx, dword [esp + 0x14]
push 0x49e308
push edx
call fcn.004892c2
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x419bbb
cmp ebp, dword [esp + 0x14]
jne 0x419311
cmp byte [ebp + 2], 0x3a
jne 0x419311
inc ebp
mov ecx, dword [esp + 0x14]
mov esi, ebp
cmp ebp, ecx
jbe 0x41932f
jmp 0x419320
mov al, byte [esi]
cmp al, 0x20
je 0x41932a
cmp al, 9
jne 0x41932f
dec esi
cmp esi, ecx
ja 0x419320
mov bl, byte [esi]
mov byte [esi], 0
mov eax, ecx
mov cl, byte [eax]
cmp cl, 0x20
je 0x419346
cmp cl, 9
jne 0x4193d7
inc eax
jmp 0x419336
mov al, byte [edi]
test al, al
je 0x4192dc
lea esi, [edi + 1]
cmp al, 0x3a
jne 0x41936c
cmp byte [esi], al
jne 0x4193d1
mov ebp, edi
mov edi, esi
test bl, bl
jne 0x4192dc
inc edi
jmp 0x4192c2
movsx eax, byte [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x41937e.99
movzx ecx, byte [eax + 0x41a5a0]
jmp dword [ecx*4 + 0x41a580]
mov byte [esi], 7
jmp case.0x41937e.99
mov byte [esi], 8
jmp case.0x41937e.99
mov byte [esi], 0xc
jmp case.0x41937e.99
mov byte [esi], 0xa
jmp case.0x41937e.99
mov byte [esi], 0xd
jmp case.0x41937e.99
mov byte [esi], 9
jmp case.0x41937e.99
mov byte [esi], 0xb
mov eax, esi
lea edx, [eax + 1]
jmp 0x4193b0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4193b0
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.00488d70
add esp, 0xc
cmp byte [edi], 0x3a
jne 0x4193d1
cmp byte [esi], 0x3a
jne 0x4193d1
mov edi, esi
inc edi
jmp 0x4192c2
push 0
push 0
push eax
call fcn.0040c050
add esp, 0xc
mov dword [esp + 0x78], eax
test eax, eax
je 0x4193f7
cmp eax, 4
je 0x419d59
jmp 0x4193f9
xor ebp, ebp
mov byte [esi], bl
test ebp, ebp
je 0x419bbb
mov edi, dword [esp + 0x14]
cmp ebp, edi
jbe 0x419bbf
mov eax, dword [0x4aa988]
cmp dword [eax + 0x94], 0
mov ecx, 0x4af278
jne 0x41a2f3
mov eax, dword [ecx + 4]
test eax, eax
je 0x419436
cmp byte [eax], 0x1a
je 0x41a30b
mov byte [ebp], 0
add ebp, 2
cmp dword [esp + 0x28], 0
mov dword [esp + 0x1c], ebp
jne 0x41989f
cmp byte [ebp], 0
je 0x419485
mov ecx, ebp
mov al, byte [ecx]
cmp al, 0x20
je 0x41945e
cmp al, 9
jne 0x419461
inc ecx
jmp 0x419454
mov edx, ecx
sub edx, ebp
je 0x419485
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x419470
sub eax, esi
inc eax
push eax
push ecx
push ebp
call fcn.00488d70
add esp, 0xc
mov esi, dword [esp + 0x1c]
cmp byte [esi], 0
mov ebp, esi
je 0x419897
cmp byte [esi + 1], 0
je 0x4195f6
mov al, byte [esi + 1]
xor dl, dl
xor cl, cl
test al, al
je 0x419583
mov edi, dword [esp + 0x4c]
cmp al, 0x20
je case.0x4194cf.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x4194cf.34
movzx eax, byte [eax + 0x41a5d8]
jmp dword [eax*4 + 0x41a5b8]
mov cl, 1
jmp case.0x4194cf.36
mov dl, 1
jmp case.0x4194cf.36
test cl, cl
jne 0x4194f4
test dl, dl
jne 0x4194f8
or edi, 1
jmp case.0x4194cf.36
test dl, dl
je 0x4194ff
or byte [esp + 0x12], 4
xor dl, dl
test cl, cl
je case.0x4194cf.36
or byte [esp + 0x12], 8
jmp 0x419571
test cl, cl
jne 0x419517
test dl, dl
jne 0x41951b
or edi, 2
jmp case.0x4194cf.36
test dl, dl
je 0x419522
or byte [esp + 0x12], 1
xor dl, dl
test cl, cl
je case.0x4194cf.36
or byte [esp + 0x12], 2
jmp 0x419571
test cl, cl
jne 0x41953a
test dl, dl
jne 0x41953e
or edi, 4
jmp case.0x4194cf.36
test dl, dl
je 0x419545
or byte [esp + 0x12], 0x10
xor dl, dl
test cl, cl
je case.0x4194cf.36
or byte [esp + 0x12], 0x20
jmp 0x419571
test cl, cl
jne 0x41955d
test dl, dl
jne 0x419561
or edi, 8
jmp case.0x4194cf.36
test dl, dl
je 0x419568
or byte [esp + 0x12], 0x40
xor dl, dl
test cl, cl
je case.0x4194cf.36
or byte [esp + 0x12], 0x80
xor cl, cl
mov al, byte [esi + 2]
inc esi
test al, al
jne 0x4194b1
mov dword [esp + 0x4c], edi
push 0
mov ebp, esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0
mov eax, esi
call fcn.00413db0
add esp, 0xc
mov byte [esp + 0x13], al
test al, al
je 0x419897
mov bl, al
mov esi, dword [esp + 0x14]
cmp byte [esi], 0
je 0x4196b6
mov cl, byte [esi + 1]
mov eax, esi
inc esi
xor bl, bl
xor dl, dl
test cl, cl
je 0x4196b0
mov edi, dword [esp + 0x50]
lea ecx, [ecx]
cmp cl, 0x20
je case.0x4195ef.34
movsx ecx, byte [eax]
add ecx, 0xffffffdf
cmp ecx, 0x5d
ja case.0x4195ef.34
movzx ecx, byte [ecx + 0x41a658]
jmp dword [ecx*4 + 0x41a638]
or bl, 0xff
mov byte [esp + 0x13], bl
jmp 0x4195aa
mov dl, 1
jmp case.0x4195ef.36
mov bl, 1
jmp case.0x4195ef.36
test dl, dl
jne 0x41961d
test bl, bl
jne 0x419621
or edi, 1
jmp case.0x4195ef.36
test bl, bl
je 0x419628
or byte [esp + 0x11], 4
xor bl, bl
test dl, dl
je case.0x4195ef.36
or byte [esp + 0x11], 8
jmp 0x41969a
test dl, dl
jne 0x419640
test bl, bl
jne 0x419644
or edi, 2
jmp case.0x4195ef.36
test bl, bl
je 0x41964b
or byte [esp + 0x11], 1
xor bl, bl
test dl, dl
je case.0x4195ef.36
or byte [esp + 0x11], 2
jmp 0x41969a
test dl, dl
jne 0x419663
test bl, bl
jne 0x419667
or edi, 4
jmp case.0x4195ef.36
test bl, bl
je 0x41966e
or byte [esp + 0x11], 0x10
xor bl, bl
test dl, dl
je case.0x4195ef.36
or byte [esp + 0x11], 0x20
jmp 0x41969a
test dl, dl
jne 0x419686
test bl, bl
jne 0x41968a
or edi, 8
jmp case.0x4195ef.36
test bl, bl
je 0x419691
or byte [esp + 0x11], 0x40
xor bl, bl
test dl, dl
je case.0x4195ef.36
or byte [esp + 0x11], 0x80
xor dl, dl
mov eax, esi
mov cl, byte [eax + 1]
lea esi, [eax + 1]
test cl, cl
jne 0x4195d0
mov dword [esp + 0x50], edi
mov bl, byte [esp + 0x13]
mov esi, eax
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0
mov eax, esi
call fcn.00413db0
add esp, 0xc
push 0x49d194
push esi
mov byte [esp + 0x2a], al
call fcn.004892c2
mov dl, byte [esp + 0x2a]
add esp, 8
test eax, eax
setne byte [esp + 0x2f]
dec dl
cmp dl, 5
ja 0x4196f8
cmp byte [esp + 0x22], 3
jne 0x419702
mov al, byte [esp + 0x22]
add al, 0x66
cmp al, 5
ja 0x419706
mov al, 1
jmp 0x419708
xor al, al
lea ecx, [ebx - 1]
cmp cl, 5
ja 0x419715
cmp bl, 3
jne 0x41971d
add bl, 0x66
cmp bl, 5
ja 0x419724
mov byte [esp + 0x21], 1
jmp 0x419729
mov byte [esp + 0x21], 0
test al, al
jne 0x419738
mov byte [esp + 0x3b], 1
cmp byte [esp + 0x21], al
jne 0x41973d
mov byte [esp + 0x3b], 0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x419742
sub eax, edx
cmp eax, 1
jne 0x419763
movzx edx, byte [esi]
push edx
call dword [sym.imp.USER32.dll_IsCharUpperA]
mov ecx, 0x49e438
test eax, eax
jne 0x419768
mov ecx, 0x49b8ad
cmp byte [esp + 0x2f], 0
mov eax, 0x49b8ad
jne 0x419779
mov eax, 0x49e250
mov edx, dword [esp + 0x14]
push edx
push ecx
push eax
push str._s_s_s
mov esi, 0x20
lea edi, [esp + 0xc0]
call fcn.00474fe0
push 0x1f
lea eax, [esp + 0xa4]
push ebp
push eax
call fcn.0048ae50
mov esi, dword [esp + 0x38]
add esp, 0x1c
push 7
lea ecx, [esp + 0x70]
push esi
push ecx
mov byte [esp + 0xbb], 0
call fcn.0048ae50
mov edx, ebp
sub edx, esi
add esp, 0xc
mov byte [esp + 0x73], 0
cmp edx, 8
jae 0x4197dd
lea eax, [esp + 0x6c]
sub eax, esi
mov byte [eax + ebp], 0
cmp byte [esp + 0x6c], 0
mov dword [esp + 0x54], 0
jne 0x41a011
mov al, byte [esp + 0x13]
cmp al, 0xd
je 0x419879
cmp al, 0x13
jne 0x41a011
movzx esi, byte [esp + 0x90]
test esi, 0xffffff80
jne 0x419826
push 2
push esi
call fcn.004896ce
add esp, 8
test eax, eax
je 0x419826
and esi, 0xffffffdf
mov eax, esi
cmp al, 0x50
je 0x419892
movzx esi, byte [esp + 0x90]
test esi, 0xffffff80
jne 0x41984e
push 2
push esi
call fcn.004896ce
add esp, 8
test eax, eax
je 0x41984e
and esi, 0xffffffdf
mov eax, esi
cmp al, 0x42
je 0x419892
mov bl, byte [esp + 0x13]
mov eax, dword [esp + 0x54]
inc eax
mov dword [esp + 0x54], eax
dec eax
cmp eax, 9
ja case.0x419872.4
movzx eax, byte [eax + 0x41a6cc]
jmp dword [eax*4 + 0x41a6b8]
lea ecx, [esp + 0x90]
push str.Return
push ecx
call fcn.00488441
add esp, 8
test eax, eax
jne 0x419854
mov byte [esp + 0x13], 0
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ebx, 0x4af278
cmp byte [ebx + 0x178], 0
je 0x4198e1
push 0
push 0xff
push 0
push 0x67
push ebx
mov byte [ebx + 0x178], 0
call fcn.0041e3b0
test eax, eax
je 0x419d59
mov edx, dword [ebx + 4]
mov dword [edx + 0xc], 1
mov dword [ebx + 0x374], 0
push 1
mov eax, edi
call fcn.0041be10
test eax, eax
je 0x419d59
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4199e4
cmp byte [eax], 0
je 0x41a32b
cmp byte [esp + 0x23], 0
mov eax, 0x49b8ad
jne 0x419915
mov eax, ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x28]
push 0
push ecx
push eax
push edx
push ecx
mov ecx, dword [ebx + 0x14]
mov eax, esp
mov dword [eax], ecx
mov edx, dword [ebx + 0x14]
mov eax, dword [edx + 4]
push eax
call fcn.0040d160
add esp, 0x18
test eax, eax
je 0x419d59
cmp byte [ebp], 0
je 0x41a011
cmp byte [esp + 0x23], 0
je 0x4199bf
mov esi, dword [esp + 0x1c]
mov ecx, esi
lea esp, [esp]
mov al, byte [ecx]
cmp al, 0x20
je 0x41996a
cmp al, 9
jne 0x41996d
inc ecx
jmp 0x419960
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ebx, 0x4af278
mov ecx, ebx
call fcn.0041bfb0
test eax, eax
je 0x419d59
mov ecx, dword [ebx + 4]
mov al, byte [ecx]
cmp al, 9
jb 0x41999f
cmp al, 0x20
jbe 0x41a345
cmp al, 0x21
je 0x41a345
cmp al, 0x69
jb 0x4199b3
cmp al, 0x6b
jbe 0x41a345
cmp al, 0x6f
jb 0x4199bf
cmp al, 0x71
jbe 0x41a345
push 0
push 0
push 0
push 0x67
push ebx
call fcn.0041e3b0
test eax, eax
je 0x419d59
mov edx, dword [ebx + 4]
mov dword [edx + 0xc], 1
jmp 0x41a011
xor esi, esi
cmp byte [ebp], 0
je 0x419adc
push str.AltTab
push ebp
call fcn.00488441
add esp, 8
test eax, eax
jne 0x419a0c
mov esi, 0x7ffe
jmp 0x419abc
push str.ShiftAltTab
push ebp
call fcn.00488441
add esp, 8
test eax, eax
jne 0x419a28
mov esi, 0x7ffd
jmp 0x419abc
push str.AltTabMenu
push ebp
call fcn.00488441
add esp, 8
test eax, eax
jne 0x419a41
mov esi, 0x7ffc
jmp 0x419abc
push str.AltTabAndMenu
push ebp
call fcn.00488441
add esp, 8
test eax, eax
jne 0x419a5a
mov esi, 0x7ffb
jmp 0x419abc
push str.AltTabMenuDismiss
push ebp
call fcn.00488441
add esp, 8
test eax, eax
jne 0x419a73
mov esi, 0x7ffa
jmp 0x419abc
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push ebp
mov ecx, ebx
call fcn.0041bfb0
test eax, eax
je 0x419d59
mov eax, dword [ebx + 4]
mov al, byte [eax]
cmp al, 9
jb 0x419a9c
cmp al, 0x20
jbe 0x41a367
cmp al, 0x21
je 0x41a367
cmp al, 0x69
jb 0x419ab0
cmp al, 0x6b
jbe 0x41a367
cmp al, 0x6f
jb 0x419abc
cmp al, 0x71
jbe 0x41a367
push 0
push 0
push 0
push 0x67
push ebx
call fcn.0041e3b0
test eax, eax
je 0x419d59
mov ecx, dword [ebx + 4]
mov dword [ecx + 0xc], 1
mov ebp, dword [esp + 0x14]
lea edx, [esp + 0x3f]
push edx
lea eax, [esp + 0x68]
push eax
push ebp
call fcn.0040c760
mov edi, eax
add esp, 0xc
test edi, edi
je 0x419b5b
test si, si
je 0x419b07
mov word [edi + 6], si
jmp 0x41a011
mov eax, dword [edi + 0x20]
test eax, eax
je 0x419b24
mov ecx, dword [0x4ae45c]
cmp dword [eax + 4], ecx
je 0x41a385
mov eax, dword [eax + 8]
test eax, eax
jne 0x419b14
mov bl, byte [esp + 0x64]
mov esi, 0x4af278
mov ecx, dword [esi + 0x14]
push ecx
call fcn.0040bf30
test eax, eax
je 0x41a3ac
cmp byte [esp + 0x3f], 0
jne 0x419b52
cmp byte [0x4aeaed], 0
je 0x41a011
mov byte [edi + 0x14], 1
jmp 0x41a011
mov eax, dword [ebx + 0x14]
mov edx, dword [esp + 0x64]
mov ecx, dword [eax + 4]
push edx
push ecx
push esi
push eax
xor bl, bl
call fcn.0040b8b0
add esp, 0x10
test eax, eax
jne 0x41a011
cmp dword [esp + 0x78], 3
jne 0x419d59
push ebp
push str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
mov esi, 0x80
lea edi, [esp + 0xd8]
call fcn.00474fe0
fldz
fstp qword [esp]
mov edx, edi
push 0
push 0
push 0x10000
push edx
call fcn.00479d40
add esp, 0x18
jmp 0x41a011
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
cmp byte [edi + ebp - 1], 0x3a
lea esi, [edi + ebp - 1]
jne 0x419f62
cmp ebp, 1
je 0x41a3c6
mov al, byte [edi]
mov ecx, edi
test al, al
je 0x419c15
mov dl, byte [0x4aa3b3]
cmp al, 0x20
je 0x419f62
cmp al, 9
je 0x419f62
cmp al, dl
je 0x419f62
cmp al, byte [0x4aa8f3]
je 0x419f62
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x419be9
cmp byte [edi + ebp - 2], 0x3a
jne 0x419c25
cmp ebp, 2
ja 0x419f62
push str.Default
push edi
mov byte [esi], 0
call fcn.00488441
add esp, 8
test eax, eax
jne 0x419c6d
mov ecx, 0x4af278
mov eax, dword [ecx + 0x40]
test eax, eax
je 0x419c6d
mov eax, dword [eax + 0x10]
test eax, eax
je 0x419c6d
cmp byte [eax], 0x73
jne 0x419c6d
push 0
push 0
push 0
push 0x74
push ecx
call fcn.0041e3b0
test eax, eax
je 0x419d59
jmp 0x41a011
cmp byte [edi], 0
je 0x419d59
mov eax, 0x4af278
mov esi, dword [eax + 0x10]
test esi, esi
je 0x419c9a
mov eax, dword [esi + 4]
push edi
push eax
call fcn.00488441
add esp, 8
test eax, eax
je 0x419d0e
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x419c82
cmp byte [edi], 0
je 0x419e10
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x419ca8
sub eax, edx
mov ebp, eax
lea ebx, [ebp + 1]
lea eax, [ebx - 1]
cmp eax, 0x7fff
ja 0x419d45
xor edi, edi
cmp dword [0x4af214], edi
jne 0x419d68
push 0x10
call fcn.00489885
mov esi, eax
add esp, 4
cmp esi, edi
je 0x419d04
push 0x8000
mov dword [esi + 0xc], edi
call fcn.00488817
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
cmp eax, edi
jne 0x419d27
push esi
call fcn.004881b8
add esp, 4
mov esi, dword [0x4af218]
xor eax, eax
jmp 0x419d3c
push edi
push str.Duplicate_label.
mov ecx, 0x4af278
call fcn.0042fde0
test eax, eax
je 0x419d59
jmp 0x41a011
inc dword [0x4af220]
mov dword [esi + 8], 0x8000
mov dword [0x4af218], esi
mov eax, esi
mov dword [0x4af214], eax
cmp eax, edi
jne 0x419d6e
mov edx, dword [esp + 0x14]
push edx
push str.Out_of_memory.
mov ecx, 0x4af278
call fcn.0042fde0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
mov esi, dword [0x4af218]
cmp ebx, dword [esi + 8]
jbe 0x419dcf
push 0x10
call fcn.00489885
mov esi, eax
add esp, 4
cmp esi, edi
je 0x419da5
push 0x8000
mov dword [esi + 0xc], edi
call fcn.00488817
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
cmp eax, edi
jne 0x419daf
push esi
call fcn.004881b8
add esp, 4
mov esi, dword [0x4af218]
xor eax, eax
jmp 0x419dc4
inc dword [0x4af220]
mov dword [esi + 8], 0x8000
mov dword [0x4af218], esi
mov eax, esi
mov dword [esi + 0xc], eax
cmp eax, edi
je 0x419d45
mov edi, dword [esi + 4]
mov eax, ebx
and eax, 3
mov dword [0x4af21c], edi
je 0x419de4
sub ebx, eax
add ebx, 4
mov eax, ebx
sub dword [esi + 8], eax
lea ecx, [edi + eax]
mov dword [esi + 4], ecx
test edi, edi
je 0x419d45
test ebp, ebp
je 0x419e0a
mov edx, dword [esp + 0x14]
push ebp
push edx
push edi
call fcn.00490660
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x419e1b
mov esi, dword [0x4af218]
mov edi, 0x49b8ad
cmp dword [0x4af214], 0
jne 0x419e86
push 0x10
call fcn.00489885
mov esi, eax
add esp, 4
test esi, esi
je 0x419e5a
push 0x8000
mov dword [esi + 0xc], 0
call fcn.00488817
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
test eax, eax
jne 0x419e64
push esi
call fcn.004881b8
add esp, 4
mov esi, dword [0x4af218]
xor eax, eax
jmp 0x419e79
inc dword [0x4af220]
mov dword [esi + 8], 0x8000
mov dword [0x4af218], esi
mov eax, esi
mov dword [0x4af214], eax
test eax, eax
je 0x419f29
cmp dword [esi + 8], 0x14
jae 0x419ee8
push 0x10
call fcn.00489885
mov esi, eax
add esp, 4
test esi, esi
je 0x419ec2
push 0x8000
mov dword [esi + 0xc], 0
call fcn.00488817
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
test eax, eax
jne 0x419ecc
push esi
call fcn.004881b8
add esp, 4
mov esi, dword [0x4af218]
xor eax, eax
jmp 0x419ee1
inc dword [0x4af220]
mov dword [esi + 8], 0x8000
mov dword [0x4af218], esi
mov eax, esi
mov dword [esi + 0xc], eax
test eax, eax
je 0x419f29
mov eax, dword [esi + 4]
add dword [esi + 8], 0xffffffec
lea ecx, [eax + 0x14]
mov dword [0x4af21c], eax
mov dword [esi + 4], ecx
test eax, eax
je 0x419f29
xor ecx, ecx
mov dword [eax], vtable.Label.0
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov ebx, 0x4af278
mov edx, dword [ebx + 0x14]
mov dword [eax + 0xc], edx
mov esi, eax
cmp dword [ebx + 0x10], ecx
jne 0x419f38
mov dword [ebx + 0x10], eax
jmp 0x419f3e
push 0x49b8ad
push str.Out_of_memory.
jmp 0x419d14
mov ecx, dword [ebx + 0x14]
mov dword [ecx + 0x10], eax
push str.OnClipboardChange
push edi
mov dword [ebx + 0x14], eax
call fcn.00488441
add esp, 8
test eax, eax
jne 0x41a011
mov dword [ebx + 0x5c4], esi
jmp 0x41a011
cmp byte [edi], 0x23
jne 0x419fa2
mov edx, dword [esp + 0x14]
mov edi, 0x4af278
mov esi, dword [edi + 0x174]
push edx
call fcn.0041a8a0
test eax, eax
je 0x419d59
cmp eax, 3
jne 0x419f9e
mov eax, dword [esp + 0xe0b4]
mov dword [edi + 0x170], eax
mov dword [edi + 0x174], esi
jmp 0x41a011
mov edi, dword [esp + 0x14]
mov al, byte [edi]
cmp al, 0x7b
je 0x419fcd
cmp al, 0x7d
je 0x419fcd
push 0
push 0
push 0
push 0
push 0
push 0
push edi
mov ecx, 0x4af278
call fcn.0041bfb0
test eax, eax
je 0x419d59
jmp 0x41a011
cmp al, 0x7b
push 0
setne cl
push 0
add cl, 0x75
movzx edx, cl
push 0
push edx
mov eax, 0x4af278
push eax
call fcn.0041e3b0
test eax, eax
je 0x419d59
lea eax, [edi + 1]
mov cl, byte [eax]
cmp cl, 0x20
je 0x41a001
cmp cl, 9
jne 0x41a004
inc eax
jmp 0x419ff5
cmp byte [eax], 0
mov dword [esp + 0x14], eax
jne 0x41a15c
mov bl, byte [esp + 0x13]
test bl, bl
je case.0x419872.4
jmp 0x419858
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xb0]
push ecx
push str._s::
push edx
call fcn.00488b96
add esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x419221
mov ax, word [0x49cf20]
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x21], 0
mov word [edi], ax
mov cl, byte [0x49cf22]
push 0
setne al
add al, 0xc3
push 1
mov byte [edi + 2], cl
movzx ecx, al
lea edx, [esp + 0x1c]
push edx
push ecx
mov eax, 0x4af278
push eax
call fcn.0041e3b0
cmp byte [esp + 0x3b], 0
je 0x41a0af
lea edx, [esp + 0x90]
push edx
push str.if_not_GetKeyState___s__
push edi
call fcn.00488b96
add esp, 0xc
mov dword [esp + 0x1c], eax
mov dword [esp + 0x54], 9
jmp 0x419221
mov edi, dword [esp + 0x14]
mov ecx, 0x49b8ad
cmp bl, 0x12
je 0x41a0c3
cmp bl, 0xa3
jbe 0x41a0e3
cmp bl, 0xa5
ja 0x41a0e3
movzx eax, byte [esp + 0x22]
sub eax, 0x11
je 0x41a0de
sub eax, 0x91
je 0x41a0de
dec eax
jne 0x41a0e3
mov ecx, str.RCtrl_up
jmp 0x41a0e3
mov ecx, str.LCtrl_up
lea eax, [esp + 0x90]
push eax
lea edx, [esp + 0x70]
push edx
push ecx
push str.Blind_s_s_s_DownR
mov esi, 0x4af278
xor ebx, ebx
push edi
mov dword [esi + 0x374], ebx
call fcn.00488b96
add esp, 0x14
push ebx
push 1
lea eax, [esp + 0x1c]
push eax
push 0x41
push esi
call fcn.0041e3b0
test eax, eax
je 0x419d59
push ebx
push ebx
push ebx
push 0x67
push esi
call fcn.0041e3b0
lea ecx, [esp + 0xb0]
push ecx
push str._s_up::
push edi
mov dword [esi + 0x374], ebx
call fcn.00488b96
add esp, 0xc
mov dword [esp + 0x1c], eax
mov dword [esp + 0x54], 2
jmp 0x419221
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41a160
sub eax, edx
mov ecx, eax
mov eax, 0x4af278
mov dword [esp + 0x1c], ecx
mov dword [eax + 0x374], 0
jmp 0x418cf4
mov dx, word [0x49cf20]
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x21], 0
mov word [edi], dx
mov al, byte [0x49cf22]
push 0
setne dl
push 1
add dl, 0xc3
mov byte [edi + 2], al
lea ecx, [esp + 0x1c]
movzx eax, dl
push ecx
push eax
mov esi, 0x4af278
push esi
call fcn.0041e3b0
lea ecx, [esp + 0x90]
push ecx
push str.Blind_s_Up
push edi
call fcn.00488b96
add esp, 0xc
push 0
push 1
lea edx, [esp + 0x1c]
push edx
push 0x41
push esi
call fcn.0041e3b0
push 0
push 0
push 0
push 0x67
push esi
call fcn.0041e3b0
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x150]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
cmp eax, edx
jne 0x41a221
lea eax, [esp + 0xa0a0]
mov dword [esp + 0x24], eax
jmp 0x4183b5
lea ecx, [esp + 0x150]
mov dword [esp + 0x24], ecx
jmp 0x4183b5
push eax
push str.Continuation_section_too_long.
mov ecx, 0x4af278
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
lea ecx, [esp + 0x4158]
push ecx
push 0x49e37c
mov ecx, esi
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
cmp dword [esi + 0x168], 0
mov eax, 0x49e37c
jne 0x41a282
mov eax, str.Not_a_valid_method__class_or_property_definition.
lea edx, [esp + 0x4158]
push edx
push eax
mov ecx, esi
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push eax
push str.Functions_cannot_contain_functions.
mov ecx, esi
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push ebx
push str.Not_a_valid_property_getter_setter.
mov ecx, 0x4af278
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push ebp
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, 0x4af278
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push edi
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push edi
mov edx, eax
push str.IfWin_should_be_IfWin.
mov dword [ecx + 0x374], edx
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push edi
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, ebx
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
mov eax, dword [esp + 0x14]
push eax
push str.Invalid_single_line_hotkey_hotstring.
mov ecx, ebx
mov byte [esi - 2], 0x3a
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push edi
push str.Invalid_single_line_hotkey_hotstring.
mov ecx, ebx
mov byte [ebp - 2], 0x3a
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push ebp
mov ecx, 0x4af278
push str.Duplicate_hotkey.
mov dword [ecx + 0x374], 0
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push ebp
push str.Out_of_memory.
mov ecx, esi
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push edi
push str.This_line_does_not_contain_a_recognized_action.
mov ecx, 0x4af278
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
mov ecx, dword [esp + 0x14]
push ecx
push 0x49e34c
mov ecx, 0x4af278
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push ebx
push str.Continuation_section_too_long.
mov ecx, 0x4af278
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
cmp byte [esp + 0x4158], 0
je 0x41a4a2
cmp dword [esp + 0x40], 0
mov edx, dword [esp + 0x48]
mov edi, 0x4af278
mov esi, dword [edi + 0x174]
mov dword [edi + 0x174], edx
je 0x41a479
cmp byte [esp + 0x1b], 0
mov eax, str.Missing___
jne 0x41a45c
mov eax, 0x49e37c
lea ecx, [esp + 0x4158]
push ecx
push eax
mov ecx, edi
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x4170]
push edx
mov ecx, edi
call fcn.0041bfb0
test eax, eax
je 0x419d59
mov dword [edi + 0x174], esi
mov ecx, 0x4af278
cmp dword [ecx + 0x4c], 0
je 0x41a4d2
cmp dword [esp + 0xe0b4], 0
jne 0x41a4d2
lea eax, [ecx + 0x64]
push eax
push str.Missing___
call fcn.0042fde0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe09c
ret 8
pop edi
pop esi
mov eax, 1
add dword [ecx + 0x174], eax
pop ebp
pop ebx
add esp, 0xe09c
ret 8