Function at 0x4161b0
Capabilities:
Extract resource via kernel32 functions
Get keyboard layout
Log keystrokes via polling

Disassembly:
push 0xffffffffffffffff
push 0x49525b
mov eax, dword fs:[0]
push eax
mov eax, 0xe28c
mov dword fs:[0], esp
call fcn.00490e40
push ebx
push ebp
mov ebp, dword [esp + 0xe2a4]
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x418226
cmp byte [ebx], 0
je 0x418226
mov eax, dword [0x4ac1c4]
mov dword [esp + 0x9c], eax
test eax, eax
jne 0x416208
mov eax, dword [ebp + 0x5ec]
mov dword [0x4aa1b8], eax
push 0x4000
xor esi, esi
lea ecx, [esp + 0x341]
push esi
push ecx
mov byte [esp + 0x348], 0
call fcn.0048db40
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceA]
add esp, 0xc
push 0xa
push str._AUTOHOTKEY_SCRIPT_
lea edx, [esp + 0x434c]
lea eax, [esp + 0xa294]
push esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], esi
mov byte [esp + 0xec], 0
call edi
mov esi, eax
test esi, esi
jne 0x41627e
push 0xa
push str._AHK_WITH_ICON_
push eax
call edi
mov esi, eax
test esi, esi
je 0x41820c
push esi
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0xdc], eax
cmp eax, edi
je 0x41820c
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x41820c
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [esp + 0xd8], eax
cmp eax, edi
je 0x41820c
lea esi, [esp + 0x4c]
call fcn.004148b0
push 0xc
mov eax, 0xfde9
lea edx, [esp + 0xdc]
mov ecx, esi
mov dword [esp + 0xe2a8], edi
call fcn.0046f3e0
mov ecx, dword [esp + 0x9c]
inc dword [0x4ac1c4]
mov dword [ebp + 0x16c], ecx
mov eax, esi
xor ecx, ecx
lea edx, [esp + 0x4344]
mov byte [esp + 0x1c], 0
mov byte [esp + 0x2d], 0
mov byte [esp + 0x32], 0
mov dword [esp + 0xb0], 0xffffffff
call fcn.004184a0
push 2
lea edx, [esp + 0x4348]
push 0x49aed8
push edx
mov dword [esp + 0x2c], eax
call fcn.004867a6
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x1f], al
test al, al
je 0x416353
mov byte [esp + 0x4344], 0
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], 0xffffffff
je 0x418168
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x18]
push 0xc
inc eax
push str.CommentFlag
xor edi, edi
push esi
mov dword [ebp + 0x170], eax
mov dword [ebp + 0x370], edi
call fcn.004850f0
add esp, 0xc
test eax, eax
jne 0x41639b
push esi
push ebp
call fcn.00418630
test eax, eax
je 0x416b87
mov byte [esp + 0xb4], 0
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x3c]
inc dword [esp + 0xb0]
test ebx, ebx
je 0x41643f
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x4c]
mov ecx, esi
mov edx, ebx
call fcn.004184a0
mov edi, eax
mov dword [esp + 0x40], edi
test edi, edi
je 0x416479
cmp edi, 0xffffffff
je 0x416479
test esi, esi
jne 0x416479
push 2
push 0x49aeec
push ebx
call fcn.004867a6
add esp, 0xc
test eax, eax
jne 0x416448
cmp byte [esp + 0x1f], al
jne 0x416410
cmp byte [ebx + 2], 0x3a
jne 0x416410
cmp byte [ebx + 3], 0x3a
je 0x416453
lea ecx, [edi - 1]
push ecx
lea edx, [ebx + 2]
push edx
push ebx
mov byte [esp + 0x2b], 0
call fcn.00485250
lea eax, [edi - 2]
add esp, 0xc
mov edi, ebx
call fcn.00412980
cmp byte [ebx], 0
mov dword [esp + 0x40], eax
je 0x4163a7
jmp 0x416453
or edi, 0xffffffff
mov dword [esp + 0x40], edi
jmp 0x416479
cmp byte [esp + 0x1f], 0
jne 0x4163a7
mov ebx, dword [esp + 0x3c]
push 2
push 0x49aed8
push ebx
call fcn.004867a6
add esp, 0xc
test eax, eax
jne 0x416475
mov byte [esp + 0x1f], 1
jmp 0x4163a7
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x1f], 0
je 0x41648e
cmp edi, 0xffffffff
jne 0x4163a7
jmp 0x416ac2
xor eax, eax
cmp dword [esp + 0x28], eax
jne 0x416904
cmp edi, 0xffffffff
je 0x416502
cmp byte [ebx], 0x28
jne 0x416502
cmp byte [ebx + 1], 0x3a
lea esi, [ebx + 1]
je 0x416502
cmp byte [edi + ebx - 1], 0x3a
je 0x416502
mov dl, byte [0x4aaa1a]
mov ecx, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0xc0], eax
mov byte [esp + 0x3a], dl
mov byte [esp + 0x39], cl
mov byte [esp + 0x3b], al
mov byte [esp + 0x37], al
mov byte [esp + 0x36], cl
mov word [esp + 0xe4], 0xa
mov dword [esp + 0xac], ecx
nop
mov al, byte [esi]
cmp al, 0x20
je 0x4164fe
cmp al, 9
jne 0x41673a
add esi, ecx
jmp 0x4164f0
mov dword [esp + 0x28], eax
cmp edi, 0xffffffff
je 0x416ac2
cmp edi, eax
je 0x4163a7
cmp byte [edi + ebx - 1], 0x3a
jne 0x416527
cmp byte [ebx], 0x2c
jne 0x416ac2
mov al, byte [ebx]
call fcn.00409310
cmp al, 0x41
je 0x4166a2
cmp al, 0x4f
je 0x41666f
mov al, byte [ebx]
cmp al, 0x3a
je 0x41654c
cmp al, 0x2b
je 0x41654c
cmp al, 0x2d
jne 0x416555
cmp byte [ebx + 1], al
je 0x416ac2
movsx eax, al
push eax
push str.____:.___
call fcn.00485661
add esp, 8
test eax, eax
je 0x416ac2
push 0x49af14
push ebx
call fcn.004857a2
mov edi, eax
add esp, 8
test edi, edi
je 0x4166f6
cmp byte [ebx], 0x3a
jne 0x4165d1
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
test al, al
je 0x4165c8
cmp al, 0x3a
je 0x416ac2
mov ecx, 0x107
call fcn.004092f0
test eax, eax
jne 0x4165c0
movsx eax, byte [esi]
push eax
push str.____t
call fcn.00485661
add esp, 8
test eax, eax
je 0x4165d1
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x416595
cmp byte [esi], 0x3a
je 0x416ac2
mov ebx, dword [esp + 0x3c]
cmp byte [ebx], 0x2c
jne 0x416623
lea esi, [ebx + 1]
lea ecx, [ecx]
mov al, byte [esi]
cmp al, 0x20
je 0x4165ea
cmp al, 9
jne 0x4165ed
inc esi
jmp 0x4165e0
push 2
push 0x49af14
push esi
call fcn.004867a6
add esp, 0xc
test eax, eax
je 0x416ac2
push 3
push 0x499ff4
dec esi
push esi
call fcn.004867a6
add esp, 0xc
test eax, eax
je 0x416ac2
jmp 0x4166f6
mov eax, ebx
cmp ebx, edi
jae 0x41663a
lea esp, [esp]
cmp byte [eax], 0x22
je 0x41663a
inc eax
cmp eax, edi
jb 0x416630
cmp eax, edi
je 0x416ac2
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x416ac2
cmp al, 0x22
je 0x416661
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x416650
jmp 0x416ac2
cmp byte [ecx], 0
je 0x416ac2
jmp 0x4166f6
mov al, byte [ebx + 1]
call fcn.00409310
cmp al, 0x52
jne 0x416ac2
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x20
je 0x416695
cmp al, 9
je 0x416695
cmp al, 0xa0
jne 0x416ac2
mov al, byte [ecx]
cmp al, 0x20
je 0x41669f
cmp al, 9
jne 0x4166dd
inc ecx
jmp 0x416695
push 3
push 0x49aef0
push ebx
call fcn.004850f0
add esp, 0xc
test eax, eax
jne 0x416ac2
mov al, byte [ebx + 3]
lea ecx, [ebx + 3]
cmp al, 0x20
je 0x4166d0
cmp al, 9
je 0x4166d0
cmp al, 0xa0
jne 0x416ac2
mov al, byte [ecx]
cmp al, 0x20
je 0x4166da
cmp al, 9
jne 0x4166dd
inc ecx
jmp 0x4166d0
movsx eax, byte [ecx]
push eax
push str.____:
call fcn.00485661
add esp, 8
test eax, eax
jne 0x416ac2
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x417f5b
cmp byte [ebx], 0x2c
je 0x41671a
mov ecx, dword [esp + 0x18]
mov byte [esi + ecx], 0x20
inc esi
mov eax, dword [esp + 0x18]
lea edx, [edi + 1]
push edx
lea ecx, [esi + eax]
push ebx
push ecx
call fcn.0048cf70
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
jmp 0x4163a7
cmp byte [esi], 0
je 0x4168f7
mov edi, 0x499ffc
mov eax, esi
call fcn.00409340
mov ebp, eax
test ebp, ebp
jne 0x41676c
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416760
sub eax, edx
lea ebp, [eax + esi]
mov bl, byte [ebp]
push 4
push str.Join
push esi
mov byte [esp + 0x21], bl
mov byte [ebp], 0
call fcn.004850f0
add esp, 0xc
test eax, eax
jne 0x416859
push 0xf
add esi, 4
lea eax, [esp + 0xe8]
push esi
push eax
call fcn.00487610
mov bl, byte [0x4a68ad]
mov byte [esp + 0xff], 0
lea ecx, [esp + 0xf0]
mov al, byte [ecx]
add esp, 0xc
test al, al
je 0x4167cc
cmp al, bl
je 0x4167ef
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4167c0
lea eax, [esp + 0xe4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4167d6
mov bl, byte [esp + 0x15]
sub eax, edx
mov dword [esp + 0xac], eax
jmp 0x4168dc
cmp byte [ecx], 0
je 0x4167cc
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x41680a.99
movzx edx, byte [eax + 0x418268]
jmp dword [edx*4 + 0x418244]
mov byte [esi], 7
jmp case.0x41680a.99
mov byte [esi], 8
jmp case.0x41680a.99
mov byte [esi], 0xc
jmp case.0x41680a.99
mov byte [esi], 0xa
jmp case.0x41680a.99
mov byte [esi], 0xd
jmp case.0x41680a.99
mov byte [esi], 9
jmp case.0x41680a.99
mov byte [esi], 0xb
jmp case.0x41680a.99
mov byte [esi], 0x20
mov eax, esi
lea edi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416840
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.00485250
mov ecx, esi
jmp 0x4167b7
push 5
push 0x49af48
push esi
call fcn.004850f0
add esp, 0xc
test eax, eax
jne 0x416878
cmp byte [esi + 5], 0x30
setne byte [esp + 0x3a]
jmp 0x4168dc
push 5
push str.RTrim
push esi
call fcn.004850f0
add esp, 0xc
test eax, eax
jne 0x416897
cmp byte [esi + 5], 0x30
setne byte [esp + 0x39]
jmp 0x4168dc
mov al, byte [esi]
test al, al
je 0x4168dc
mov ecx, 2
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x4168b4.38
movzx eax, byte [eax + 0x418298]
jmp dword [eax*4 + 0x418280]
mov byte [esp + 0x3b], 1
jmp case.0x4168b4.38
mov byte [esp + 0x37], 1
jmp case.0x4168b4.38
mov byte [esp + 0x36], 0
jmp case.0x4168b4.38
mov dword [esp + 0x28], ecx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4168a2
mov byte [ebp], bl
mov esi, ebp
mov al, byte [esi]
cmp al, 0x20
je 0x4168eb
cmp al, 9
jne 0x4168ee
inc esi
jmp 0x4168e1
cmp byte [esi], 0
jne 0x416743
mov byte [esp + 0xb4], 1
jmp 0x4163a7
cmp edi, 0xffffffff
je 0x418140
cmp edi, 0xfffffffe
je 0x4163a7
cmp byte [ebx], 0x29
jne 0x41693c
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
or eax, 0xffffffff
lea ebx, [esi + 1]
call fcn.004129f0
dec eax
mov dword [esp + 0x40], eax
mov ebp, eax
mov edi, esi
jmp 0x416a3b
mov edi, dword [esp + 0x3c]
mov ebx, edi
cmp byte [esp + 0x39], al
je 0x416957
mov eax, dword [esp + 0x40]
mov esi, edi
call fcn.004129f0
mov ebp, eax
jmp 0x41695b
mov ebp, dword [esp + 0x40]
cmp byte [esp + 0x3a], 0
je 0x41696b
mov eax, ebp
call fcn.00412980
mov ebp, eax
xor esi, esi
cmp byte [esp + 0x3b], 0
je 0x4169a6
mov al, byte [0x4a68ad]
push esi
push 0xffffffffffffffff
push 1
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x40], al
mov byte [esp + 0x44], al
mov byte [esp + 0x45], al
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.00471ff0
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x37], 0
je 0x4169e6
mov al, byte [0x4a68ac]
mov cl, byte [0x4a68ad]
push 0
push 0xffffffffffffffff
push 1
mov byte [esp + 0x38], al
mov byte [esp + 0x3d], al
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x44], cl
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.00471ff0
add esp, 0x18
add esi, eax
cmp byte [esp + 0x36], 0
je 0x416a26
mov al, byte [0x4a6367]
mov cl, byte [0x4a68ad]
push 0
push 0xffffffffffffffff
push 1
mov byte [esp + 0x38], al
mov byte [esp + 0x3d], al
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x44], cl
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.00471ff0
add esp, 0x18
add esi, eax
test esi, esi
je 0x416a3b
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416a30
sub eax, edx
mov ebp, eax
mov eax, dword [esp + 0xac]
mov esi, dword [esp + 0x20]
lea ecx, [eax + ebp]
add ecx, esi
cmp ecx, 0x4001
jae 0x417f5b
mov ecx, dword [esp + 0xc0]
inc ecx
mov dword [esp + 0xc0], ecx
cmp ecx, 1
jle 0x416a97
test eax, eax
je 0x416a97
cmp ebx, edi
jne 0x416a97
mov ecx, dword [esp + 0x18]
mov edi, eax
lea edx, [edi + 1]
push edx
lea eax, [esp + 0xe8]
push eax
lea edx, [esi + ecx]
push edx
call fcn.0048cf70
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
test ebp, ebp
je 0x4163a7
mov ecx, dword [esp + 0x18]
lea eax, [ebp + 1]
push eax
lea edx, [esi + ecx]
push ebx
push edx
call fcn.0048cf70
add esp, 0xc
add esi, ebp
mov dword [esp + 0x20], esi
jmp 0x4163a7
mov byte [ebp], bl
cmp dword [esp + 0x20], 0
je case.0x41783c.14
cmp byte [esp + 0x33c], 0
je 0x416c5f
mov eax, dword [esp + 0xe2ac]
mov ecx, dword [esp + 0x94]
mov edi, dword [eax + 0x170]
mov edx, dword [esp + 0x18]
mov bl, byte [esp + 0x1e]
mov dword [eax + 0x170], ecx
cmp byte [edx], 0x7b
je 0x416b5b
test bl, bl
jne 0x416b5b
cmp dword [esp + 0x48], 0
jne 0x417f7f
mov esi, eax
cmp dword [esi + 0x48], 0
je 0x416b2b
mov eax, dword [0x4a6920]
cmp dword [eax + 0x94], 0
je 0x417f90
push 0
push 0
push 0
push 0
push 0
push 3
lea ecx, [esp + 0x354]
push ecx
mov ecx, esi
call fcn.00419d60
test eax, eax
je 0x416b87
mov dword [esi + 0x370], 0
mov ebp, esi
jmp 0x416bfd
mov eax, dword [esp + 0x48]
sub eax, 0
je 0x416ba9
dec eax
mov ebp, dword [esp + 0xe2ac]
je 0x416b95
dec eax
jne 0x416bfd
lea edx, [esp + 0x33c]
push edx
push ebp
call fcn.0041e740
test eax, eax
jne 0x416bfd
lea ecx, [esp + 0x4c]
call fcn.00414910
jmp 0x418226
lea eax, [esp + 0x33c]
push eax
push ebp
call fcn.0041e290
test eax, eax
je 0x416b87
jmp 0x416bfd
mov ecx, dword [0x4a6920]
cmp dword [ecx + 0x94], 0
jne 0x417fb0
mov ebp, dword [esp + 0xe2ac]
lea edx, [esp + 0x834c]
push edx
lea eax, [esp + 0x340]
push eax
push ebp
call fcn.0041d7b0
test eax, eax
je 0x416b87
test bl, bl
je 0x416bfd
push 0
push 0
push 0
push 0x73
push ebp
call fcn.0041bf10
test eax, eax
je 0x416b87
mov dword [ebp + 0x370], 0
cmp dword [esp + 0x48], 0
mov byte [esp + 0x33c], 0
je 0x416c59
test bl, bl
jne 0x416c59
mov ebx, dword [esp + 0x18]
lea ecx, [ebx + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x416c21
cmp al, 9
jne 0x416c24
inc ecx
jmp 0x416c17
cmp byte [ecx], 0
jne 0x416c34
mov dword [ebp + 0x170], edi
jmp case.0x41783c.14
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416c40
sub eax, esi
mov dword [esp + 0x20], eax
inc eax
push eax
push ecx
push ebx
call fcn.00485250
add esp, 0xc
mov dword [ebp + 0x170], edi
mov ebp, dword [esp + 0x18]
cmp byte [ebp], 0x7d
mov ebx, dword [esp + 0xe2ac]
jne 0x416d3c
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x416d3c
mov ecx, dword [0x4a6920]
cmp dword [ecx + 0x94], 0
jne 0x416d3c
cmp dword [ebx + 0x164], 0
je 0x416cc4
mov eax, dword [ebx + 0x168]
mov dword [ebx + 0x164], 0
test eax, eax
je 0x416cfa
push eax
call fcn.00484688
add esp, 4
mov dword [ebx + 0x168], 0
jmp 0x416cfa
dec eax
mov dword [ebx + 0x48], eax
mov edi, dword [ebx + eax*4 + 0x4c]
call fcn.0046b5b0
mov edx, dword [ebx + 0x48]
mov eax, dword [ebx + edx*4 + 0x4c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea esi, [ebx + 0x60]
push 0x2e
push esi
call fcn.0048686a
add esp, 8
test eax, eax
je 0x416cf7
mov byte [eax], 0
jmp 0x416cfa
mov byte [esi], 0
lea eax, [ebp + 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x416d0c
cmp cl, 9
jne 0x416d0f
inc eax
jmp 0x416d00
cmp byte [eax], 0
mov dword [esp + 0x18], eax
je case.0x41783c.14
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416d20
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [ebx + 0x370], 0
jmp 0x416ac2
cmp dword [ebx + 0x164], 0
je 0x416e08
mov eax, dword [0x4a6920]
cmp dword [eax + 0x94], 0
jne 0x416e08
push 3
push 0x49afc8
push ebp
call fcn.004850f0
add esp, 0xc
test eax, eax
je 0x416d87
push 3
push 0x49afcc
push ebp
call fcn.004850f0
add esp, 0xc
test eax, eax
jne 0x417fdb
lea esi, [ebp + 3]
lea ebx, [ebx]
mov al, byte [esi]
cmp al, 0x20
je 0x416d9a
cmp al, 9
jne 0x416d9d
inc esi
jmp 0x416d90
mov al, byte [esi]
test al, al
je 0x416db5
cmp al, 0x7b
jne 0x417fdb
cmp byte [esi + 1], 0
jne 0x417fdb
mov eax, dword [ebx + 0x168]
lea edx, [esp + 0x33c]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416dc4
lea ecx, [esp + 0x33c]
push 0x2e
push ecx
call fcn.00485661
mov dl, byte [ebp]
mov byte [eax + 1], dl
mov eax, dword [ebx + 0x170]
add esp, 8
cmp byte [esi], 0x7b
mov dword [esp + 0x94], eax
sete byte [esp + 0x1e]
mov dword [esp + 0x48], 0
jmp case.0x41783c.14
mov edi, dword [esp + 0x18]
lea ebx, [esp + 0x1e]
mov eax, edi
call fcn.00416070
test al, al
je 0x416e51
lea edx, [esp + 0x33c]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416e26
mov ecx, dword [esp + 0xe2ac]
mov edx, dword [ecx + 0x170]
mov dword [esp + 0x94], edx
mov dword [esp + 0x48], 0
jmp case.0x41783c.14
mov eax, dword [0x4a6920]
cmp dword [eax + 0x94], 0
jne 0x417002
lea ecx, [esp + 0x1e]
push ecx
mov eax, edi
call fcn.00416120
add esp, 4
test eax, eax
je 0x416eab
lea edx, [esp + 0x33c]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416e80
mov edx, dword [esp + 0xe2ac]
mov eax, dword [edx + 0x170]
mov dword [esp + 0x94], eax
mov dword [esp + 0x48], 1
jmp case.0x41783c.14
mov ebx, dword [esp + 0xe2ac]
cmp dword [ebx + 0x48], 0
je 0x417002
mov esi, edi
mov edi, edi
movzx eax, byte [esi]
test eax, 0xffffff80
jne 0x416edc
push 0x107
push eax
call fcn.00485bae
add esp, 8
test eax, eax
jne 0x416ee6
mov al, byte [esi]
cmp al, 0x5f
je 0x416ee6
cmp al, 0x2e
jne 0x416ee9
inc esi
jmp 0x416ec0
cmp esi, edi
jbe 0x416f87
mov al, byte [esi]
cmp al, 0x20
je 0x416efb
cmp al, 9
jne 0x416efe
inc esi
jmp 0x416ef1
mov al, byte [esi]
cmp al, 0x3a
jne 0x416f20
cmp byte [esi + 1], 0x3d
jne 0x416f20
push 0
push edi
push ebx
call fcn.0041e8f0
test eax, eax
je 0x416b87
jmp case.0x41783c.14
test al, al
je 0x416f32
cmp al, 0x5b
je 0x416f32
cmp al, 0x7b
jne 0x416f87
cmp byte [esi + 1], 0
jne 0x416f87
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416f37
sub eax, edx
cmp byte [eax + edi - 1], 0x7b
sete cl
mov byte [esp + 0x1e], cl
test cl, cl
je 0x416f58
dec eax
mov esi, edi
call fcn.004129f0
lea edx, [esp + 0x33c]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416f63
mov ecx, dword [ebx + 0x170]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x48], 2
jmp case.0x41783c.14
push 6
push str.Static
push edi
call fcn.004850f0
add esp, 0xc
test eax, eax
jne 0x416fbf
mov al, byte [edi + 6]
cmp al, 0x20
je 0x416fa6
cmp al, 9
jne 0x416fbf
push 1
add edi, 7
push edi
push ebx
call fcn.0041e8f0
test eax, eax
je 0x416b87
jmp case.0x41783c.14
cmp byte [edi], 0x23
jne 0x417fe5
mov esi, dword [ebx + 0x170]
push edi
push ebx
call fcn.00418630
test eax, eax
je 0x416b87
cmp eax, 3
jne 0x417fe5
mov edx, dword [esp + 0x9c]
mov dword [ebx + 0x16c], edx
mov dword [ebx + 0x170], esi
jmp case.0x41783c.14
mov edi, dword [esp + 0x18]
xor esi, esi
xor ebp, ebp
cmp byte [edi], 0x3a
mov dword [esp + 0x28], esi
mov dword [esp + 0xbc], esi
jne 0x417092
mov cl, byte [edi + 1]
lea eax, [edi + 1]
test cl, cl
je 0x417092
cmp cl, 0x3a
je 0x417048
push 0x3a
push eax
mov dword [esp + 0xc4], eax
call fcn.00485661
add esp, 8
cmp eax, esi
jne 0x417045
mov dword [esp + 0x28], esi
jmp 0x417092
inc eax
jmp 0x417051
cmp byte [edi + 2], 0
lea eax, [edi + 2]
je 0x417092
mov dword [esp + 0x28], eax
cmp eax, esi
je 0x417092
mov edi, eax
jmp 0x417060
mov al, byte [edi]
test al, al
je 0x417080
mov cl, byte [0x4a68ad]
lea esp, [esp]
cmp al, cl
je 0x4170e9
cmp al, 0x3a
je 0x4170e9
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x417070
test ebp, ebp
jne 0x4171e6
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
xor esi, esi
push 0x49af14
push edi
call fcn.004857a2
mov ebp, eax
add esp, 8
cmp ebp, esi
je 0x417a51
cmp ebp, edi
jne 0x4170b5
cmp byte [ebp + 2], 0x3a
jne 0x4170b5
inc ebp
mov esi, ebp
cmp ebp, edi
jbe 0x4170cf
jmp 0x4170c0
mov al, byte [esi]
cmp al, 0x20
je 0x4170ca
cmp al, 9
jne 0x4170cf
dec esi
cmp esi, edi
ja 0x4170c0
mov bl, byte [esi]
mov byte [esi], 0
mov eax, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x4170e6
cmp cl, 9
jne 0x41716a
inc eax
jmp 0x4170d6
mov al, byte [edi]
test al, al
je 0x417080
lea esi, [edi + 1]
cmp al, 0x3a
jne 0x417104
cmp byte [esi], al
jne 0x417164
mov ebp, edi
mov edi, esi
inc edi
jmp 0x417060
movsx eax, byte [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x417116.99
movzx eax, byte [eax + 0x4182f8]
jmp dword [eax*4 + 0x4182d8]
mov byte [esi], 7
jmp case.0x417116.99
mov byte [esi], 8
jmp case.0x417116.99
mov byte [esi], 0xc
jmp case.0x417116.99
mov byte [esi], 0xa
jmp case.0x417116.99
mov byte [esi], 0xd
jmp case.0x417116.99
mov byte [esi], 9
jmp case.0x417116.99
mov byte [esi], 0xb
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417143
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.00485250
add esp, 0xc
cmp byte [edi], 0x3a
jne 0x417164
cmp byte [esi], 0x3a
jne 0x417164
mov edi, esi
inc edi
jmp 0x417060
push 0
push 0
push eax
call fcn.0040b610
add esp, 0xc
mov dword [esp + 0xcc], eax
test eax, eax
je 0x4171da
cmp eax, 4
jne 0x4171dc
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x4171b8
cmp byte [esp + 0x88], 0
je 0x4171ad
push eax
call fcn.00484688
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
test eax, eax
mov dword [esp + 0x4c], vtable.TextStream.0
je 0x418226
push eax
call fcn.00484688
add esp, 4
jmp 0x418226
xor ebp, ebp
mov byte [esi], bl
test ebp, ebp
je 0x417a51
cmp ebp, dword [esp + 0x18]
jbe 0x417a51
mov ecx, dword [0x4a6920]
cmp dword [ecx + 0x94], 0
jne 0x417ff2
mov edi, dword [esp + 0xe2ac]
mov eax, dword [edi + 4]
test eax, eax
je 0x41721a
cmp byte [eax], 0x1a
je 0x41805f
mov byte [ebp], 0
add ebp, 2
cmp dword [esp + 0x28], 0
mov dword [esp + 0x20], ebp
jne 0x417885
cmp byte [ebp], 0
je 0x417265
mov ecx, ebp
mov al, byte [ecx]
cmp al, 0x20
je 0x417242
cmp al, 9
jne 0x417245
inc ecx
jmp 0x417238
mov edx, ecx
sub edx, ebp
je 0x417265
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417250
sub eax, esi
inc eax
push eax
push ecx
push ebp
call fcn.00485250
add esp, 0xc
mov ebx, dword [esp + 0x18]
cmp byte [ebx], 0
je 0x4172a8
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417273
sub eax, edx
lea eax, [eax + ebx - 1]
mov cl, byte [eax]
cmp cl, 0x20
je 0x41728c
cmp cl, 9
jne 0x417293
cmp eax, ebx
je 0x417299
dec eax
jmp 0x417280
mov byte [eax + 1], 0
jmp 0x4172a8
mov cl, byte [eax]
cmp cl, 0x20
je 0x4172a5
cmp cl, 9
jne 0x4172a8
mov byte [eax], 0
cmp byte [ebp], 0
mov dword [esp + 0xa8], ebp
je 0x417889
cmp byte [ebp + 1], 0
je 0x417536
mov edi, dword [esp + 0x98]
mov esi, ebp
mov byte [esp + 0x15], 0
xor bl, bl
lea ebp, [esi + 1]
push 0x499ff8
push ebp
call fcn.00484671
add esp, 8
test eax, eax
je case.0x417302.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x417302.34
movzx eax, byte [eax + 0x418330]
jmp dword [eax*4 + 0x418310]
mov bl, 1
jmp case.0x417302.36
mov byte [esp + 0x15], 1
jmp case.0x417302.36
test bl, bl
jne 0x41732c
cmp byte [esp + 0x15], bl
jne 0x417333
or edi, 1
jmp case.0x417302.36
cmp byte [esp + 0x15], 0
je 0x41733d
or byte [esp + 0x17], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417302.36
or byte [esp + 0x17], 8
jmp 0x4173d1
test bl, bl
jne 0x417361
cmp byte [esp + 0x15], bl
jne 0x417368
or edi, 2
jmp case.0x417302.36
cmp byte [esp + 0x15], 0
je 0x417372
or byte [esp + 0x17], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417302.36
or byte [esp + 0x17], 2
jmp 0x4173d1
test bl, bl
jne 0x41738c
cmp byte [esp + 0x15], bl
jne 0x417393
or edi, 4
jmp case.0x417302.36
cmp byte [esp + 0x15], 0
je 0x41739d
or byte [esp + 0x17], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417302.36
or byte [esp + 0x17], 0x20
jmp 0x4173d1
test bl, bl
jne 0x4173b7
cmp byte [esp + 0x15], bl
jne 0x4173be
or edi, 8
jmp case.0x417302.36
cmp byte [esp + 0x15], 0
je 0x4173c8
or byte [esp + 0x17], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417302.36
or byte [esp + 0x17], 0x80
xor bl, bl
mov esi, ebp
cmp byte [esi + 1], 0
jne 0x4172d3
push 0
mov dword [esp + 0x9c], edi
mov dword [esp + 0xac], esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
mov cl, byte [esi]
test cl, cl
je 0x4174ca
cmp byte [esi + 1], 0
jne 0x41744b
mov byte [esp + 0xd0], cl
cmp cl, 0xa
jne 0x417418
mov al, 0xd
jmp 0x4174cc
mov ecx, dword [esp + 0xd0]
push eax
push ecx
call dword [sym.imp.USER32.dll_VkKeyScanExA]
movzx ecx, ax
mov eax, ecx
shr eax, 8
cmp al, 0xff
jne 0x41743c
cmp cl, 0xff
je 0x4174ca
and al, 0x38
neg al
sbb al, al
not al
and al, cl
jmp 0x4174cc
movzx edi, cl
test edi, 0xffffff80
jne 0x417468
push 2
push edi
call fcn.00485bae
add esp, 8
test eax, eax
je 0x417468
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x56
jne 0x41748c
mov al, byte [esi + 1]
call fcn.00409310
cmp al, 0x4b
jne 0x41748c
push 0x10
push 0
add esi, 2
push esi
call fcn.00485ff4
add esp, 0xc
jmp 0x4174cc
xor edi, edi
mov edi, edi
mov eax, dword [edi*8 + 0x4a7660]
push esi
push eax
call fcn.00484671
add esp, 8
test eax, eax
je 0x4174c1
inc edi
cmp edi, 0x6d
jl 0x417490
mov eax, esi
call fcn.00411c50
movzx ecx, ax
test cx, cx
je 0x4174ca
call fcn.004123b0
jmp 0x4174cc
mov al, byte [edi*8 + 0x4a7664]
jmp 0x4174cc
xor al, al
mov byte [esp + 0x1c], al
test al, al
je 0x41787a
mov bl, al
mov ebp, dword [esp + 0x18]
cmp byte [ebp], 0
mov esi, ebp
je 0x41762b
xor bl, bl
lea edi, [ebp + 1]
mov byte [esp + 0x15], 0
cmp byte [edi], bl
je 0x417623
mov ebp, dword [esp + 0xa4]
push 0x499ff8
push edi
call fcn.00484671
add esp, 8
test eax, eax
je case.0x41752f.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x41752f.34
movzx eax, byte [eax + 0x4183b0]
jmp dword [eax*4 + 0x418390]
or bl, 0xff
mov byte [esp + 0x1c], bl
jmp 0x4174da
mov bl, 1
jmp case.0x41752f.36
mov byte [esp + 0x15], 1
jmp case.0x41752f.36
test bl, bl
jne 0x417562
cmp byte [esp + 0x15], bl
jne 0x417569
or ebp, 1
jmp case.0x41752f.36
cmp byte [esp + 0x15], 0
je 0x417573
or byte [esp + 0x16], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41752f.36
or byte [esp + 0x16], 8
jmp 0x41760b
test bl, bl
jne 0x417597
cmp byte [esp + 0x15], bl
jne 0x41759e
or ebp, 2
jmp case.0x41752f.36
cmp byte [esp + 0x15], 0
je 0x4175a8
or byte [esp + 0x16], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41752f.36
or byte [esp + 0x16], 2
jmp 0x41760b
test bl, bl
jne 0x4175c6
cmp byte [esp + 0x15], bl
jne 0x4175cd
or ebp, 4
jmp case.0x41752f.36
cmp byte [esp + 0x15], 0
je 0x4175d7
or byte [esp + 0x16], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41752f.36
or byte [esp + 0x16], 0x20
jmp 0x41760b
test bl, bl
jne 0x4175f1
cmp byte [esp + 0x15], bl
jne 0x4175f8
or ebp, 8
jmp case.0x41752f.36
cmp byte [esp + 0x15], 0
je 0x417602
or byte [esp + 0x16], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41752f.36
or byte [esp + 0x16], 0x80
xor bl, bl
mov esi, edi
cmp byte [esi + 1], 0
lea edi, [esi + 1]
jne 0x417503
mov dword [esp + 0xa4], ebp
mov bl, byte [esp + 0x1c]
mov ebp, dword [esp + 0x18]
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
mov cl, byte [esi]
test cl, cl
jne 0x417663
mov byte [esp + 0x1d], 0
xor al, al
lea ecx, [ebx - 1]
cmp cl, 5
ja 0x41764d
cmp bl, 3
jne 0x417659
add bl, 0x66
cmp bl, 5
ja 0x41775a
mov byte [esp + 0x27], 1
jmp 0x41775f
cmp byte [esi + 1], 0
jne 0x4176b2
mov byte [esp + 0xd4], cl
cmp cl, 0xa
jne 0x41767c
mov al, 0xd
jmp 0x417728
mov ecx, dword [esp + 0xd4]
push eax
push ecx
call dword [sym.imp.USER32.dll_VkKeyScanExA]
movzx ecx, ax
mov eax, ecx
shr eax, 8
cmp al, 0xff
jne 0x4176a3
cmp cl, 0xff
jne 0x4176a3
xor al, al
jmp 0x417728
and al, 0x38
neg al
sbb al, al
not al
and al, cl
jmp 0x417728
movzx edi, cl
test edi, 0xffffff80
jne 0x4176cf
push 2
push edi
call fcn.00485bae
add esp, 8
test eax, eax
je 0x4176cf
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x56
jne 0x4176f3
mov al, byte [esi + 1]
call fcn.00409310
cmp al, 0x4b
jne 0x4176f3
push 0x10
lea eax, [esi + 2]
push 0
push eax
call fcn.00485ff4
add esp, 0xc
jmp 0x417728
xor edi, edi
mov eax, dword [edi*8 + 0x4a7660]
push esi
push eax
call fcn.00484671
add esp, 8
test eax, eax
je 0x41774d
inc edi
cmp edi, 0x6d
jl 0x4176f5
mov eax, esi
call fcn.00411c50
movzx ecx, ax
test cx, cx
je 0x417639
call fcn.004123b0
mov byte [esp + 0x1d], al
mov al, byte [esp + 0x1d]
lea edx, [eax - 1]
cmp dl, 5
ja 0x41773c
cmp al, 3
jne 0x417746
add al, 0x66
cmp al, 5
ja 0x41763e
mov al, 1
jmp 0x417640
mov cl, byte [edi*8 + 0x4a7664]
mov byte [esp + 0x1d], cl
jmp 0x41772c
mov byte [esp + 0x27], 0
test al, al
jne 0x41776e
mov byte [esp + 0x38], 1
cmp byte [esp + 0x27], al
jne 0x417773
mov byte [esp + 0x38], 0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417778
sub eax, edx
cmp eax, 1
jne 0x417799
movzx edx, byte [esi]
push edx
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x49b044
jne 0x41779e
mov eax, 0x498839
push ebp
push eax
push str._s_s
mov esi, 0x20
lea edi, [esp + 0x120]
call fcn.00471830
mov esi, dword [esp + 0xb4]
add esp, 0xc
push 0x1f
lea eax, [esp + 0xf8]
push esi
push eax
call fcn.00487610
mov ebx, dword [esp + 0x2c]
add esp, 0xc
push 7
lea ecx, [esp + 0xc8]
push ebx
push ecx
mov byte [esp + 0x11f], 0
call fcn.00487610
mov eax, esi
sub eax, ebx
add esp, 0xc
mov byte [esp + 0xcb], 0
cmp eax, 8
jae 0x41780b
mov byte [esp + eax + 0xc4], 0
cmp byte [esp + 0xc4], 0
mov dword [esp + 0xa0], 0
jne case.0x41783c.14
movzx eax, byte [esp + 0x1c]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x41783c.14
movzx edx, byte [eax + 0x418420]
jmp dword [edx*4 + 0x418410]
mov edi, 0x49a1c8
mov eax, ebx
call fcn.00409340
test eax, eax
jne case.0x41783c.19
jmp case.0x41783c.14
lea eax, [esp + 0xf4]
push str.Return
push eax
call fcn.00484671
add esp, 8
test eax, eax
jne case.0x41783c.14
mov byte [esp + 0x1c], 0
mov edi, dword [esp + 0xe2ac]
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
cmp byte [edi + 0x174], 0
je 0x4178b8
xor esi, esi
push esi
push 0xff
push esi
push 0x67
push edi
mov byte [edi + 0x174], 0
call fcn.0041bf10
test eax, eax
je 0x418075
mov dword [edi + 0x370], esi
push 1
push edi
mov eax, ebx
call fcn.00419c00
test eax, eax
je 0x417187
xor esi, esi
cmp byte [ebp], 0
je 0x41791d
cmp dword [esp + 0x28], esi
jne 0x417907
push esi
mov esi, ebp
call fcn.00409560
movzx esi, ax
add esp, 4
test si, si
jne 0x417907
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
mov ecx, edi
call fcn.00419d60
test eax, eax
je 0x416b87
push 0
push 0
push 0
push 0x67
push edi
call fcn.0041bf10
test eax, eax
je 0x417187
mov eax, dword [esp + 0x28]
test eax, eax
je 0x417965
cmp byte [eax], 0
je 0x4180c4
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x41793e
mov eax, 0x498839
mov ecx, dword [esp + 0xb4]
mov edx, dword [edi + 0x14]
mov edi, dword [esp + 0x28]
push ecx
push ebp
push eax
push edx
call fcn.0040c800
add esp, 0x10
test eax, eax
je 0x416b87
jmp case.0x41783c.14
lea eax, [esp + 0x47]
push eax
lea ecx, [esp + 0xbc]
push ecx
push ebx
call fcn.0040be10
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4179da
test si, si
je 0x41798f
mov word [edi + 2], si
jmp case.0x41783c.14
mov eax, edi
call fcn.0040b470
test eax, eax
jne 0x4180d1
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0xe2ac]
mov eax, dword [esi + 0x14]
push edx
call fcn.0040b4d0
test eax, eax
je 0x4180ed
cmp byte [esp + 0x47], 0
jne 0x4179d1
cmp byte [0x4aaa1b], 0
je case.0x41783c.14
mov byte [edi + 0x16], 1
jmp case.0x41783c.14
mov eax, dword [esp + 0xe2ac]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0xb8]
mov edx, dword [eax + 4]
push ecx
push edx
push esi
push eax
xor bl, bl
call fcn.0040ad90
add esp, 0x10
test eax, eax
jne case.0x41783c.14
cmp dword [esp + 0xcc], 3
jne 0x416b87
mov eax, dword [esp + 0x18]
push eax
push str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
mov esi, 0x204
lea edi, [esp + 0x13c]
call fcn.00471830
fldz
add esp, 8
push 0
sub esp, 8
fstp qword [esp]
push 0
mov ecx, edi
push 0x10000
push ecx
call fcn.00476140
add esp, 0x18
jmp case.0x41783c.14
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp byte [edx + eax - 1], 0x3a
jne 0x417c4e
cmp edx, 1
je 0x4180fa
mov ecx, eax
mov al, byte [ecx]
test al, al
je 0x417aa9
mov dl, byte [0x4a6367]
mov bl, byte [0x4a68ad]
cmp al, 0x20
je 0x417c4e
cmp al, 9
je 0x417c4e
cmp al, dl
je 0x417c4e
cmp al, bl
je 0x417c4e
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x417a81
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
cmp byte [eax + ebx - 2], 0x3a
jne 0x417ac1
cmp eax, 2
ja 0x417c4e
dec eax
mov byte [eax + ebx], 0
cmp byte [ebx], 0
je 0x417187
cmp eax, 0xffffffff
jne 0x417ae9
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417ae0
sub eax, edx
lea eax, [eax + ebx - 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x417afc
cmp cl, 9
jne 0x417b03
cmp eax, ebx
je 0x417b09
dec eax
jmp 0x417af0
mov byte [eax + 1], 0
jmp 0x417b18
mov cl, byte [eax]
cmp cl, 0x20
je 0x417b15
cmp cl, 9
jne 0x417b18
mov byte [eax], 0
cmp byte [ebx], 0
je 0x417187
mov ebp, dword [esp + 0xe2ac]
mov esi, dword [ebp + 0x10]
xor edi, edi
cmp esi, edi
je 0x417b49
mov eax, dword [esi + 4]
push ebx
push eax
call fcn.00484671
add esp, 8
test eax, eax
je 0x417b87
mov esi, dword [esi + 0x10]
cmp esi, edi
jne 0x417b31
cmp byte [ebx], 0
je 0x417ba1
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417b53
sub eax, edx
mov edi, eax
lea eax, [edi + 1]
call fcn.0046ed00
mov esi, eax
test esi, esi
je 0x417f46
test edi, edi
je 0x417b7f
push edi
push ebx
push esi
call fcn.0048cf70
add esp, 0xc
mov byte [esi + edi], 0
xor edi, edi
jmp 0x417ba6
push ebx
push str.Duplicate_label.
mov ecx, ebp
call fcn.0042d650
cmp eax, edi
je 0x417187
jmp case.0x41783c.14
mov esi, 0x498839
cmp dword [0x4ac1e0], edi
jne 0x417bbc
call fcn.0046ed70
mov dword [0x4ac1e0], eax
cmp eax, edi
je 0x417c15
mov ecx, dword [0x4ac1e4]
cmp dword [ecx + 8], 0x14
jae 0x417bda
call fcn.0046ed70
mov ecx, dword [0x4ac1e4]
mov dword [ecx + 0xc], eax
cmp eax, edi
je 0x417c15
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xffffffec
lea edx, [eax + 0x14]
mov dword [0x4ac1e8], eax
mov dword [ecx + 4], edx
cmp eax, edi
je 0x417c15
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax], vtable.Label.0
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0xc], ecx
cmp dword [ebp + 0x10], 0
mov edi, eax
jne 0x417c24
mov dword [ebp + 0x10], eax
jmp 0x417c2a
push 0x498839
push str.Out_of_memory.
jmp 0x417b8d
mov edx, dword [ebp + 0x14]
mov dword [edx + 0x10], eax
push str.OnClipboardChange
push esi
mov dword [ebp + 0x14], eax
call fcn.00484671
add esp, 8
test eax, eax
jne case.0x41783c.14
mov dword [ebp + 0x5b0], edi
jmp case.0x41783c.14
mov ebx, dword [esp + 0x18]
cmp byte [ebx], 0x23
mov edi, dword [esp + 0xe2ac]
jne 0x417c90
mov esi, dword [edi + 0x170]
push ebx
push edi
call fcn.00418630
test eax, eax
je 0x417187
cmp eax, 3
jne 0x417c90
mov eax, dword [esp + 0x9c]
mov dword [edi + 0x16c], eax
mov dword [edi + 0x170], esi
jmp case.0x41783c.14
mov al, byte [ebx]
cmp al, 0x7b
je 0x417cb8
cmp al, 0x7d
je 0x417cb8
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
mov ecx, edi
call fcn.00419d60
test eax, eax
je 0x417187
jmp case.0x41783c.14
cmp al, 0x7b
push 0
setne cl
push 0
add cl, 0x73
movzx edx, cl
push 0
push edx
push edi
call fcn.0041bf10
test eax, eax
je 0x417187
lea eax, [ebx + 1]
jmp 0x417ce0
mov cl, byte [eax]
cmp cl, 0x20
je 0x417cec
cmp cl, 9
jne 0x417cef
inc eax
jmp 0x417ce0
cmp byte [eax], 0
mov dword [esp + 0x18], eax
jne 0x417e70
mov bl, byte [esp + 0x1c]
test bl, bl
je case.0x417d28.4
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0xa0], eax
dec eax
cmp eax, 9
ja case.0x417d28.4
movzx eax, byte [eax + 0x418488]
jmp dword [eax*4 + 0x418474]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x114]
push ecx
push str._s::
push edx
call fcn.00484ba8
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x416ffe
mov ax, word [0x49b12c]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x27], 0
mov edi, dword [esp + 0xe2ac]
mov word [esi], ax
mov cl, byte [0x49b12e]
push 0
setne al
push 1
add al, 0xc1
mov byte [esi + 2], cl
lea edx, [esp + 0x20]
movzx ecx, al
push edx
push ecx
push edi
call fcn.0041bf10
cmp byte [esp + 0x38], 0
je 0x417dc8
lea edx, [esp + 0xf4]
push edx
push str.if_not_GetKeyState___s__
push esi
call fcn.00484ba8
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa0], 9
jmp 0x416ffe
mov edi, dword [esp + 0xe2ac]
mov esi, dword [esp + 0x18]
mov ecx, 0x498839
cmp bl, 0x12
je 0x417ddc
cmp bl, 0xa3
jbe 0x417dfc
cmp bl, 0xa5
ja 0x417dfc
movzx eax, byte [esp + 0x1d]
sub eax, 0x11
je 0x417df7
sub eax, 0x91
je 0x417df7
dec eax
jne 0x417dfc
mov ecx, str.RCtrl_up
jmp 0x417dfc
mov ecx, str.LCtrl_up
lea eax, [esp + 0xf4]
push eax
lea edx, [esp + 0xc8]
push edx
push ecx
push str.Blind_s_s_s_DownTemp
xor ebx, ebx
push esi
mov dword [edi + 0x370], ebx
call fcn.00484ba8
add esp, 0x14
push ebx
push 1
lea eax, [esp + 0x20]
push eax
push 0x41
push edi
call fcn.0041bf10
test eax, eax
je 0x418109
push ebx
push ebx
push ebx
push 0x67
push edi
call fcn.0041bf10
lea ecx, [esp + 0x114]
push ecx
push str._s_up::
push esi
call fcn.00484ba8
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa0], 2
jmp 0x416ffe
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417e73
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [edi + 0x370], 0
jmp 0x416ac2
mov dx, word [0x49b12c]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x27], 0
mov edi, dword [esp + 0xe2ac]
mov word [esi], dx
mov al, byte [0x49b12e]
push 0
setne dl
push 1
add dl, 0xc1
mov byte [esi + 2], al
lea ecx, [esp + 0x20]
movzx eax, dl
push ecx
push eax
push edi
call fcn.0041bf10
lea ecx, [esp + 0xf4]
push ecx
push str.Blind_s_Up
push esi
call fcn.00484ba8
add esp, 0xc
push 0
push 1
lea edx, [esp + 0x20]
push edx
push 0x41
push edi
call fcn.0041bf10
push 0
push 0
push 0
push 0x67
push edi
call fcn.0041bf10
mov byte [esp + 0x1c], 0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0xe2ac]
lea edx, [esp + 0x4344]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
cmp eax, edx
jne 0x417f36
lea eax, [esp + 0xa28c]
mov dword [esp + 0x3c], eax
jmp 0x416353
lea ecx, [esp + 0x4344]
mov dword [esp + 0x3c], ecx
jmp 0x416353
push ebx
push str.Out_of_memory.
mov ecx, 0x4ac280
call fcn.0042d650
jmp 0x417187
mov ecx, dword [esp + 0xe2ac]
push ebx
push str.Continuation_section_too_long.
call fcn.0042d650
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414910
mov eax, esi
jmp 0x418228
lea edx, [esp + 0x33c]
push edx
push 0x49af88
mov ecx, eax
jmp 0x417f68
cmp dword [esi + 0x164], 0
mov eax, 0x49af88
jne 0x417fa3
mov eax, str.Not_a_valid_method__class_or_property_definition.
lea ecx, [esp + 0x33c]
push ecx
push eax
mov ecx, esi
jmp 0x417f68
mov ecx, dword [esp + 0xe2ac]
lea edx, [esp + 0x33c]
push edx
push str.Functions_cannot_contain_functions.
call fcn.0042d650
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414910
mov eax, esi
jmp 0x418228
push ebp
push str.Not_a_valid_property_getter_setter.
mov ecx, ebx
jmp 0x417f68
push edi
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, ebx
jmp 0x417f68
mov eax, dword [esp + 0x18]
push eax
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, dword [esp + 0xe2b4]
call fcn.0042d650
mov esi, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x41803b
cmp byte [esp + 0x88], 0
je 0x418030
push eax
call fcn.00484688
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
test eax, eax
je 0x417f78
push eax
call fcn.00484688
add esp, 4
mov eax, esi
jmp 0x418228
mov edx, dword [esp + 0x18]
mov ecx, eax
push edx
mov dword [edi + 0x370], ecx
push str.IfWin_should_be_IfWin.
mov ecx, edi
jmp 0x418003
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, esi
je 0x4180a2
cmp byte [esp + 0x88], 0
je 0x41809b
push eax
call fcn.00484688
add esp, 4
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
cmp eax, esi
je 0x418226
push eax
call fcn.00484688
add esp, 4
jmp 0x418226
push ebx
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, edi
jmp 0x418003
mov ecx, dword [esp + 0xe2ac]
push ebx
mov dword [ecx + 0x370], 0
push str.Duplicate_hotkey.
jmp 0x417f68
push ebx
push str.Out_of_memory.
mov ecx, esi
jmp 0x417f68
mov eax, dword [esp + 0x18]
push eax
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x417ffc
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, ebx
je 0x418135
cmp byte [esp + 0x88], bl
je 0x41812e
push eax
call fcn.00484688
add esp, 4
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x7c]
cmp eax, ebx
jmp 0x4171be
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0xe2b0]
push 0x49af58
call fcn.0042d650
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414910
mov eax, esi
jmp 0x418228
cmp byte [esp + 0x33c], 0
je 0x4181d6
cmp dword [esp + 0x48], 0
mov edx, dword [esp + 0x94]
mov esi, dword [ebp + 0x170]
mov dword [ebp + 0x170], edx
je 0x4181ad
cmp byte [esp + 0x1e], 0
mov eax, str.Missing___
jne 0x41819d
mov eax, 0x49af88
lea ecx, [esp + 0x33c]
push ecx
push eax
mov ecx, ebp
jmp 0x417f68
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x354]
push edx
mov ecx, ebp
call fcn.00419d60
test eax, eax
je 0x416b87
mov dword [ebp + 0x170], esi
cmp dword [ebp + 0x48], 0
je 0x4181f6
cmp dword [esp + 0x9c], 0
jne 0x4181f6
lea eax, [ebp + 0x60]
push eax
push str.Missing___
mov ecx, ebp
jmp 0x417f68
inc dword [ebp + 0x170]
lea ecx, [esp + 0x4c]
call fcn.00414910
mov eax, 1
jmp 0x418228
fldz
push 0
sub esp, 8
fstp qword [esp]
push ebx
push 0
push str.Could_not_extract_script_from_EXE.
call fcn.00476140
add esp, 0x18
xor eax, eax
mov ecx, dword [esp + 0xe29c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xe298
ret 4