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

Disassembly:
push 0xffffffffffffffff
push 0x495dcb
mov eax, dword fs:[0]
push eax
mov eax, 0xe28c
mov dword fs:[0], esp
call fcn.004919b0
push ebx
push ebp
mov ebp, dword [esp + 0xe2a4]
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x418266
cmp byte [ebx], 0
je 0x418266
mov eax, dword [0x4ac1d4]
mov dword [esp + 0x9c], eax
test eax, eax
jne 0x416248
mov eax, dword [ebp + 0x5ec]
mov dword [0x4aa1c8], eax
push 0x4000
xor esi, esi
lea ecx, [esp + 0x341]
push esi
push ecx
mov byte [esp + 0x348], 0
call fcn.0048e6b0
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 0x4162be
push 0xa
push str._AHK_WITH_ICON_
push eax
call edi
mov esi, eax
test esi, esi
je 0x41824c
push esi
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0xdc], eax
cmp eax, edi
je 0x41824c
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x41824c
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [esp + 0xd8], eax
cmp eax, edi
je 0x41824c
lea esi, [esp + 0x4c]
call fcn.004148f0
push 0xc
mov eax, 0xfde9
lea edx, [esp + 0xdc]
mov ecx, esi
mov dword [esp + 0xe2a8], edi
call fcn.0046ff50
mov ecx, dword [esp + 0x9c]
inc dword [0x4ac1d4]
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.004184e0
push 2
lea edx, [esp + 0x4348]
push 0x49af28
push edx
mov dword [esp + 0x2c], eax
call fcn.00487316
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x1f], al
test al, al
je 0x416393
mov byte [esp + 0x4344], 0
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], 0xffffffff
je 0x4181a8
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.00485c60
add esp, 0xc
test eax, eax
jne 0x4163db
push esi
push ebp
call fcn.00418670
test eax, eax
je 0x416bc7
mov byte [esp + 0xb4], 0
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x3c]
inc dword [esp + 0xb0]
test ebx, ebx
je 0x41647f
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x4c]
mov ecx, esi
mov edx, ebx
call fcn.004184e0
mov edi, eax
mov dword [esp + 0x40], edi
test edi, edi
je 0x4164b9
cmp edi, 0xffffffff
je 0x4164b9
test esi, esi
jne 0x4164b9
push 2
push 0x49af3c
push ebx
call fcn.00487316
add esp, 0xc
test eax, eax
jne 0x416488
cmp byte [esp + 0x1f], al
jne 0x416450
cmp byte [ebx + 2], 0x3a
jne 0x416450
cmp byte [ebx + 3], 0x3a
je 0x416493
lea ecx, [edi - 1]
push ecx
lea edx, [ebx + 2]
push edx
push ebx
mov byte [esp + 0x2b], 0
call fcn.00485dc0
lea eax, [edi - 2]
add esp, 0xc
mov edi, ebx
call fcn.004129c0
cmp byte [ebx], 0
mov dword [esp + 0x40], eax
je 0x4163e7
jmp 0x416493
or edi, 0xffffffff
mov dword [esp + 0x40], edi
jmp 0x4164b9
cmp byte [esp + 0x1f], 0
jne 0x4163e7
mov ebx, dword [esp + 0x3c]
push 2
push 0x49af28
push ebx
call fcn.00487316
add esp, 0xc
test eax, eax
jne 0x4164b5
mov byte [esp + 0x1f], 1
jmp 0x4163e7
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x1f], 0
je 0x4164ce
cmp edi, 0xffffffff
jne 0x4163e7
jmp 0x416b02
xor eax, eax
cmp dword [esp + 0x28], eax
jne 0x416944
cmp edi, 0xffffffff
je 0x416542
cmp byte [ebx], 0x28
jne 0x416542
cmp byte [ebx + 1], 0x3a
lea esi, [ebx + 1]
je 0x416542
cmp byte [edi + ebx - 1], 0x3a
je 0x416542
mov dl, byte [0x4aaa2a]
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 0x41653e
cmp al, 9
jne 0x41677a
add esi, ecx
jmp 0x416530
mov dword [esp + 0x28], eax
cmp edi, 0xffffffff
je 0x416b02
cmp edi, eax
je 0x4163e7
cmp byte [edi + ebx - 1], 0x3a
jne 0x416567
cmp byte [ebx], 0x2c
jne 0x416b02
mov al, byte [ebx]
call fcn.00409380
cmp al, 0x41
je 0x4166e2
cmp al, 0x4f
je 0x4166af
mov al, byte [ebx]
cmp al, 0x3a
je 0x41658c
cmp al, 0x2b
je 0x41658c
cmp al, 0x2d
jne 0x416595
cmp byte [ebx + 1], al
je 0x416b02
movsx eax, al
push eax
push str.____:.___
call fcn.004861d1
add esp, 8
test eax, eax
je 0x416b02
push 0x49af64
push ebx
call fcn.00486312
mov edi, eax
add esp, 8
test edi, edi
je 0x416736
cmp byte [ebx], 0x3a
jne 0x416611
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
test al, al
je 0x416608
cmp al, 0x3a
je 0x416b02
mov ecx, 0x107
call fcn.00409360
test eax, eax
jne 0x416600
movsx eax, byte [esi]
push eax
push str.____t
call fcn.004861d1
add esp, 8
test eax, eax
je 0x416611
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4165d5
cmp byte [esi], 0x3a
je 0x416b02
mov ebx, dword [esp + 0x3c]
cmp byte [ebx], 0x2c
jne 0x416663
lea esi, [ebx + 1]
lea ecx, [ecx]
mov al, byte [esi]
cmp al, 0x20
je 0x41662a
cmp al, 9
jne 0x41662d
inc esi
jmp 0x416620
push 2
push 0x49af64
push esi
call fcn.00487316
add esp, 0xc
test eax, eax
je 0x416b02
push 3
push 0x49a048
dec esi
push esi
call fcn.00487316
add esp, 0xc
test eax, eax
je 0x416b02
jmp 0x416736
mov eax, ebx
cmp ebx, edi
jae 0x41667a
lea esp, [esp]
cmp byte [eax], 0x22
je 0x41667a
inc eax
cmp eax, edi
jb 0x416670
cmp eax, edi
je 0x416b02
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x416b02
cmp al, 0x22
je 0x4166a1
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x416690
jmp 0x416b02
cmp byte [ecx], 0
je 0x416b02
jmp 0x416736
mov al, byte [ebx + 1]
call fcn.00409380
cmp al, 0x52
jne 0x416b02
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x20
je 0x4166d5
cmp al, 9
je 0x4166d5
cmp al, 0xa0
jne 0x416b02
mov al, byte [ecx]
cmp al, 0x20
je 0x4166df
cmp al, 9
jne 0x41671d
inc ecx
jmp 0x4166d5
push 3
push 0x49af40
push ebx
call fcn.00485c60
add esp, 0xc
test eax, eax
jne 0x416b02
mov al, byte [ebx + 3]
lea ecx, [ebx + 3]
cmp al, 0x20
je 0x416710
cmp al, 9
je 0x416710
cmp al, 0xa0
jne 0x416b02
mov al, byte [ecx]
cmp al, 0x20
je 0x41671a
cmp al, 9
jne 0x41671d
inc ecx
jmp 0x416710
movsx eax, byte [ecx]
push eax
push str.____:
call fcn.004861d1
add esp, 8
test eax, eax
jne 0x416b02
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x417f9b
cmp byte [ebx], 0x2c
je 0x41675a
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.0048dae0
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
jmp 0x4163e7
cmp byte [esi], 0
je 0x416937
mov edi, 0x49a050
mov eax, esi
call fcn.004093b0
mov ebp, eax
test ebp, ebp
jne 0x4167ac
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4167a0
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.00485c60
add esp, 0xc
test eax, eax
jne 0x416899
push 0xf
add esi, 4
lea eax, [esp + 0xe8]
push esi
push eax
call fcn.00488180
mov bl, byte [0x4a68ad]
mov byte [esp + 0xff], 0
lea ecx, [esp + 0xf0]
mov al, byte [ecx]
add esp, 0xc
test al, al
je 0x41680c
cmp al, bl
je 0x41682f
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x416800
lea eax, [esp + 0xe4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416816
mov bl, byte [esp + 0x15]
sub eax, edx
mov dword [esp + 0xac], eax
jmp 0x41691c
cmp byte [ecx], 0
je 0x41680c
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x41684a.99
movzx edx, byte [eax + 0x4182a8]
jmp dword [edx*4 + 0x418284]
mov byte [esi], 7
jmp case.0x41684a.99
mov byte [esi], 8
jmp case.0x41684a.99
mov byte [esi], 0xc
jmp case.0x41684a.99
mov byte [esi], 0xa
jmp case.0x41684a.99
mov byte [esi], 0xd
jmp case.0x41684a.99
mov byte [esi], 9
jmp case.0x41684a.99
mov byte [esi], 0xb
jmp case.0x41684a.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 0x416880
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.00485dc0
mov ecx, esi
jmp 0x4167f7
push 5
push 0x49af98
push esi
call fcn.00485c60
add esp, 0xc
test eax, eax
jne 0x4168b8
cmp byte [esi + 5], 0x30
setne byte [esp + 0x3a]
jmp 0x41691c
push 5
push str.RTrim
push esi
call fcn.00485c60
add esp, 0xc
test eax, eax
jne 0x4168d7
cmp byte [esi + 5], 0x30
setne byte [esp + 0x39]
jmp 0x41691c
mov al, byte [esi]
test al, al
je 0x41691c
mov ecx, 2
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x4168f4.38
movzx eax, byte [eax + 0x4182d8]
jmp dword [eax*4 + 0x4182c0]
mov byte [esp + 0x3b], 1
jmp case.0x4168f4.38
mov byte [esp + 0x37], 1
jmp case.0x4168f4.38
mov byte [esp + 0x36], 0
jmp case.0x4168f4.38
mov dword [esp + 0x28], ecx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4168e2
mov byte [ebp], bl
mov esi, ebp
mov al, byte [esi]
cmp al, 0x20
je 0x41692b
cmp al, 9
jne 0x41692e
inc esi
jmp 0x416921
cmp byte [esi], 0
jne 0x416783
mov byte [esp + 0xb4], 1
jmp 0x4163e7
cmp edi, 0xffffffff
je 0x418180
cmp edi, 0xfffffffe
je 0x4163e7
cmp byte [ebx], 0x29
jne 0x41697c
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
or eax, 0xffffffff
lea ebx, [esi + 1]
call fcn.00412a30
dec eax
mov dword [esp + 0x40], eax
mov ebp, eax
mov edi, esi
jmp 0x416a7b
mov edi, dword [esp + 0x3c]
mov ebx, edi
cmp byte [esp + 0x39], al
je 0x416997
mov eax, dword [esp + 0x40]
mov esi, edi
call fcn.00412a30
mov ebp, eax
jmp 0x41699b
mov ebp, dword [esp + 0x40]
cmp byte [esp + 0x3a], 0
je 0x4169ab
mov eax, ebp
call fcn.004129c0
mov ebp, eax
xor esi, esi
cmp byte [esp + 0x3b], 0
je 0x4169e6
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.00472b60
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x37], 0
je 0x416a26
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.00472b60
add esp, 0x18
add esi, eax
cmp byte [esp + 0x36], 0
je 0x416a66
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.00472b60
add esp, 0x18
add esi, eax
test esi, esi
je 0x416a7b
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416a70
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 0x417f9b
mov ecx, dword [esp + 0xc0]
inc ecx
mov dword [esp + 0xc0], ecx
cmp ecx, 1
jle 0x416ad7
test eax, eax
je 0x416ad7
cmp ebx, edi
jne 0x416ad7
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.0048dae0
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
test ebp, ebp
je 0x4163e7
mov ecx, dword [esp + 0x18]
lea eax, [ebp + 1]
push eax
lea edx, [esi + ecx]
push ebx
push edx
call fcn.0048dae0
add esp, 0xc
add esi, ebp
mov dword [esp + 0x20], esi
jmp 0x4163e7
mov byte [ebp], bl
cmp dword [esp + 0x20], 0
je case.0x41787c.14
cmp byte [esp + 0x33c], 0
je 0x416c9f
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 0x416b9b
test bl, bl
jne 0x416b9b
cmp dword [esp + 0x48], 0
jne 0x417fbf
mov esi, eax
cmp dword [esi + 0x48], 0
je 0x416b6b
mov eax, dword [0x4a6920]
cmp dword [eax + 0x94], 0
je 0x417fd0
push 0
push 0
push 0
push 0
push 0
push 3
lea ecx, [esp + 0x354]
push ecx
mov ecx, esi
call fcn.00419dc0
test eax, eax
je 0x416bc7
mov dword [esi + 0x370], 0
mov ebp, esi
jmp 0x416c3d
mov eax, dword [esp + 0x48]
sub eax, 0
je 0x416be9
dec eax
mov ebp, dword [esp + 0xe2ac]
je 0x416bd5
dec eax
jne 0x416c3d
lea edx, [esp + 0x33c]
push edx
push ebp
call fcn.0041e7a0
test eax, eax
jne 0x416c3d
lea ecx, [esp + 0x4c]
call fcn.00414950
jmp 0x418266
lea eax, [esp + 0x33c]
push eax
push ebp
call fcn.0041e2f0
test eax, eax
je 0x416bc7
jmp 0x416c3d
mov ecx, dword [0x4a6920]
cmp dword [ecx + 0x94], 0
jne 0x417ff0
mov ebp, dword [esp + 0xe2ac]
lea edx, [esp + 0x834c]
push edx
lea eax, [esp + 0x340]
push eax
push ebp
call fcn.0041d810
test eax, eax
je 0x416bc7
test bl, bl
je 0x416c3d
push 0
push 0
push 0
push 0x73
push ebp
call fcn.0041bf70
test eax, eax
je 0x416bc7
mov dword [ebp + 0x370], 0
cmp dword [esp + 0x48], 0
mov byte [esp + 0x33c], 0
je 0x416c99
test bl, bl
jne 0x416c99
mov ebx, dword [esp + 0x18]
lea ecx, [ebx + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x416c61
cmp al, 9
jne 0x416c64
inc ecx
jmp 0x416c57
cmp byte [ecx], 0
jne 0x416c74
mov dword [ebp + 0x170], edi
jmp case.0x41787c.14
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416c80
sub eax, esi
mov dword [esp + 0x20], eax
inc eax
push eax
push ecx
push ebx
call fcn.00485dc0
add esp, 0xc
mov dword [ebp + 0x170], edi
mov ebp, dword [esp + 0x18]
cmp byte [ebp], 0x7d
mov ebx, dword [esp + 0xe2ac]
jne 0x416d7c
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x416d7c
mov ecx, dword [0x4a6920]
cmp dword [ecx + 0x94], 0
jne 0x416d7c
cmp dword [ebx + 0x164], 0
je 0x416d04
mov eax, dword [ebx + 0x168]
mov dword [ebx + 0x164], 0
test eax, eax
je 0x416d3a
push eax
call fcn.004851f8
add esp, 4
mov dword [ebx + 0x168], 0
jmp 0x416d3a
dec eax
mov dword [ebx + 0x48], eax
mov edi, dword [ebx + eax*4 + 0x4c]
call fcn.0046c170
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.004873da
add esp, 8
test eax, eax
je 0x416d37
mov byte [eax], 0
jmp 0x416d3a
mov byte [esi], 0
lea eax, [ebp + 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x416d4c
cmp cl, 9
jne 0x416d4f
inc eax
jmp 0x416d40
cmp byte [eax], 0
mov dword [esp + 0x18], eax
je case.0x41787c.14
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416d60
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [ebx + 0x370], 0
jmp 0x416b02
cmp dword [ebx + 0x164], 0
je 0x416e48
mov eax, dword [0x4a6920]
cmp dword [eax + 0x94], 0
jne 0x416e48
push 3
push 0x49b018
push ebp
call fcn.00485c60
add esp, 0xc
test eax, eax
je 0x416dc7
push 3
push 0x49b01c
push ebp
call fcn.00485c60
add esp, 0xc
test eax, eax
jne 0x41801b
lea esi, [ebp + 3]
lea ebx, [ebx]
mov al, byte [esi]
cmp al, 0x20
je 0x416dda
cmp al, 9
jne 0x416ddd
inc esi
jmp 0x416dd0
mov al, byte [esi]
test al, al
je 0x416df5
cmp al, 0x7b
jne 0x41801b
cmp byte [esi + 1], 0
jne 0x41801b
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 0x416e04
lea ecx, [esp + 0x33c]
push 0x2e
push ecx
call fcn.004861d1
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.0x41787c.14
mov edi, dword [esp + 0x18]
lea ebx, [esp + 0x1e]
mov eax, edi
call fcn.004160b0
test al, al
je 0x416e91
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 0x416e66
mov ecx, dword [esp + 0xe2ac]
mov edx, dword [ecx + 0x170]
mov dword [esp + 0x94], edx
mov dword [esp + 0x48], 0
jmp case.0x41787c.14
mov eax, dword [0x4a6920]
cmp dword [eax + 0x94], 0
jne 0x417042
lea ecx, [esp + 0x1e]
push ecx
mov eax, edi
call fcn.00416160
add esp, 4
test eax, eax
je 0x416eeb
lea edx, [esp + 0x33c]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416ec0
mov edx, dword [esp + 0xe2ac]
mov eax, dword [edx + 0x170]
mov dword [esp + 0x94], eax
mov dword [esp + 0x48], 1
jmp case.0x41787c.14
mov ebx, dword [esp + 0xe2ac]
cmp dword [ebx + 0x48], 0
je 0x417042
mov esi, edi
mov edi, edi
movzx eax, byte [esi]
test eax, 0xffffff80
jne 0x416f1c
push 0x107
push eax
call fcn.0048671e
add esp, 8
test eax, eax
jne 0x416f26
mov al, byte [esi]
cmp al, 0x5f
je 0x416f26
cmp al, 0x2e
jne 0x416f29
inc esi
jmp 0x416f00
cmp esi, edi
jbe 0x416fc7
mov al, byte [esi]
cmp al, 0x20
je 0x416f3b
cmp al, 9
jne 0x416f3e
inc esi
jmp 0x416f31
mov al, byte [esi]
cmp al, 0x3a
jne 0x416f60
cmp byte [esi + 1], 0x3d
jne 0x416f60
push 0
push edi
push ebx
call fcn.0041e950
test eax, eax
je 0x416bc7
jmp case.0x41787c.14
test al, al
je 0x416f72
cmp al, 0x5b
je 0x416f72
cmp al, 0x7b
jne 0x416fc7
cmp byte [esi + 1], 0
jne 0x416fc7
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416f77
sub eax, edx
cmp byte [eax + edi - 1], 0x7b
sete cl
mov byte [esp + 0x1e], cl
test cl, cl
je 0x416f98
dec eax
mov esi, edi
call fcn.00412a30
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 0x416fa3
mov ecx, dword [ebx + 0x170]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x48], 2
jmp case.0x41787c.14
push 6
push str.Static
push edi
call fcn.00485c60
add esp, 0xc
test eax, eax
jne 0x416fff
mov al, byte [edi + 6]
cmp al, 0x20
je 0x416fe6
cmp al, 9
jne 0x416fff
push 1
add edi, 7
push edi
push ebx
call fcn.0041e950
test eax, eax
je 0x416bc7
jmp case.0x41787c.14
cmp byte [edi], 0x23
jne 0x418025
mov esi, dword [ebx + 0x170]
push edi
push ebx
call fcn.00418670
test eax, eax
je 0x416bc7
cmp eax, 3
jne 0x418025
mov edx, dword [esp + 0x9c]
mov dword [ebx + 0x16c], edx
mov dword [ebx + 0x170], esi
jmp case.0x41787c.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 0x4170d2
mov cl, byte [edi + 1]
lea eax, [edi + 1]
test cl, cl
je 0x4170d2
cmp cl, 0x3a
je 0x417088
push 0x3a
push eax
mov dword [esp + 0xc4], eax
call fcn.004861d1
add esp, 8
cmp eax, esi
jne 0x417085
mov dword [esp + 0x28], esi
jmp 0x4170d2
inc eax
jmp 0x417091
cmp byte [edi + 2], 0
lea eax, [edi + 2]
je 0x4170d2
mov dword [esp + 0x28], eax
cmp eax, esi
je 0x4170d2
mov edi, eax
jmp 0x4170a0
mov al, byte [edi]
test al, al
je 0x4170c0
mov cl, byte [0x4a68ad]
lea esp, [esp]
cmp al, cl
je 0x417129
cmp al, 0x3a
je 0x417129
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4170b0
test ebp, ebp
jne 0x417226
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
xor esi, esi
push 0x49af64
push edi
call fcn.00486312
mov ebp, eax
add esp, 8
cmp ebp, esi
je 0x417a91
cmp ebp, edi
jne 0x4170f5
cmp byte [ebp + 2], 0x3a
jne 0x4170f5
inc ebp
mov esi, ebp
cmp ebp, edi
jbe 0x41710f
jmp 0x417100
mov al, byte [esi]
cmp al, 0x20
je 0x41710a
cmp al, 9
jne 0x41710f
dec esi
cmp esi, edi
ja 0x417100
mov bl, byte [esi]
mov byte [esi], 0
mov eax, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x417126
cmp cl, 9
jne 0x4171aa
inc eax
jmp 0x417116
mov al, byte [edi]
test al, al
je 0x4170c0
lea esi, [edi + 1]
cmp al, 0x3a
jne 0x417144
cmp byte [esi], al
jne 0x4171a4
mov ebp, edi
mov edi, esi
inc edi
jmp 0x4170a0
movsx eax, byte [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x417156.99
movzx eax, byte [eax + 0x418338]
jmp dword [eax*4 + 0x418318]
mov byte [esi], 7
jmp case.0x417156.99
mov byte [esi], 8
jmp case.0x417156.99
mov byte [esi], 0xc
jmp case.0x417156.99
mov byte [esi], 0xa
jmp case.0x417156.99
mov byte [esi], 0xd
jmp case.0x417156.99
mov byte [esi], 9
jmp case.0x417156.99
mov byte [esi], 0xb
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417183
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.00485dc0
add esp, 0xc
cmp byte [edi], 0x3a
jne 0x4171a4
cmp byte [esi], 0x3a
jne 0x4171a4
mov edi, esi
inc edi
jmp 0x4170a0
push 0
push 0
push eax
call fcn.0040b650
add esp, 0xc
mov dword [esp + 0xcc], eax
test eax, eax
je 0x41721a
cmp eax, 4
jne 0x41721c
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x4171f8
cmp byte [esp + 0x88], 0
je 0x4171ed
push eax
call fcn.004851f8
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
test eax, eax
mov dword [esp + 0x4c], vtable.TextStream.0
je 0x418266
push eax
call fcn.004851f8
add esp, 4
jmp 0x418266
xor ebp, ebp
mov byte [esi], bl
test ebp, ebp
je 0x417a91
cmp ebp, dword [esp + 0x18]
jbe 0x417a91
mov ecx, dword [0x4a6920]
cmp dword [ecx + 0x94], 0
jne 0x418032
mov edi, dword [esp + 0xe2ac]
mov eax, dword [edi + 4]
test eax, eax
je 0x41725a
cmp byte [eax], 0x1a
je 0x41809f
mov byte [ebp], 0
add ebp, 2
cmp dword [esp + 0x28], 0
mov dword [esp + 0x20], ebp
jne 0x4178c5
cmp byte [ebp], 0
je 0x4172a5
mov ecx, ebp
mov al, byte [ecx]
cmp al, 0x20
je 0x417282
cmp al, 9
jne 0x417285
inc ecx
jmp 0x417278
mov edx, ecx
sub edx, ebp
je 0x4172a5
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417290
sub eax, esi
inc eax
push eax
push ecx
push ebp
call fcn.00485dc0
add esp, 0xc
mov ebx, dword [esp + 0x18]
cmp byte [ebx], 0
je 0x4172e8
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4172b3
sub eax, edx
lea eax, [eax + ebx - 1]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4172cc
cmp cl, 9
jne 0x4172d3
cmp eax, ebx
je 0x4172d9
dec eax
jmp 0x4172c0
mov byte [eax + 1], 0
jmp 0x4172e8
mov cl, byte [eax]
cmp cl, 0x20
je 0x4172e5
cmp cl, 9
jne 0x4172e8
mov byte [eax], 0
cmp byte [ebp], 0
mov dword [esp + 0xa8], ebp
je 0x4178c9
cmp byte [ebp + 1], 0
je 0x417576
mov edi, dword [esp + 0x98]
mov esi, ebp
mov byte [esp + 0x15], 0
xor bl, bl
lea ebp, [esi + 1]
push 0x49a04c
push ebp
call fcn.004851e1
add esp, 8
test eax, eax
je case.0x417342.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x417342.34
movzx eax, byte [eax + 0x418370]
jmp dword [eax*4 + 0x418350]
mov bl, 1
jmp case.0x417342.36
mov byte [esp + 0x15], 1
jmp case.0x417342.36
test bl, bl
jne 0x41736c
cmp byte [esp + 0x15], bl
jne 0x417373
or edi, 1
jmp case.0x417342.36
cmp byte [esp + 0x15], 0
je 0x41737d
or byte [esp + 0x17], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417342.36
or byte [esp + 0x17], 8
jmp 0x417411
test bl, bl
jne 0x4173a1
cmp byte [esp + 0x15], bl
jne 0x4173a8
or edi, 2
jmp case.0x417342.36
cmp byte [esp + 0x15], 0
je 0x4173b2
or byte [esp + 0x17], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417342.36
or byte [esp + 0x17], 2
jmp 0x417411
test bl, bl
jne 0x4173cc
cmp byte [esp + 0x15], bl
jne 0x4173d3
or edi, 4
jmp case.0x417342.36
cmp byte [esp + 0x15], 0
je 0x4173dd
or byte [esp + 0x17], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417342.36
or byte [esp + 0x17], 0x20
jmp 0x417411
test bl, bl
jne 0x4173f7
cmp byte [esp + 0x15], bl
jne 0x4173fe
or edi, 8
jmp case.0x417342.36
cmp byte [esp + 0x15], 0
je 0x417408
or byte [esp + 0x17], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417342.36
or byte [esp + 0x17], 0x80
xor bl, bl
mov esi, ebp
cmp byte [esi + 1], 0
jne 0x417313
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 0x41750a
cmp byte [esi + 1], 0
jne 0x41748b
mov byte [esp + 0xd0], cl
cmp cl, 0xa
jne 0x417458
mov al, 0xd
jmp 0x41750c
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 0x41747c
cmp cl, 0xff
je 0x41750a
and al, 0x38
neg al
sbb al, al
not al
and al, cl
jmp 0x41750c
movzx edi, cl
test edi, 0xffffff80
jne 0x4174a8
push 2
push edi
call fcn.0048671e
add esp, 8
test eax, eax
je 0x4174a8
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x56
jne 0x4174cc
mov al, byte [esi + 1]
call fcn.00409380
cmp al, 0x4b
jne 0x4174cc
push 0x10
push 0
add esi, 2
push esi
call fcn.00486b64
add esp, 0xc
jmp 0x41750c
xor edi, edi
mov edi, edi
mov eax, dword [edi*8 + 0x4a7660]
push esi
push eax
call fcn.004851e1
add esp, 8
test eax, eax
je 0x417501
inc edi
cmp edi, 0x6d
jl 0x4174d0
mov eax, esi
call fcn.00411c90
movzx ecx, ax
test cx, cx
je 0x41750a
call fcn.004123f0
jmp 0x41750c
mov al, byte [edi*8 + 0x4a7664]
jmp 0x41750c
xor al, al
mov byte [esp + 0x1c], al
test al, al
je 0x4178ba
mov bl, al
mov ebp, dword [esp + 0x18]
cmp byte [ebp], 0
mov esi, ebp
je 0x41766b
xor bl, bl
lea edi, [ebp + 1]
mov byte [esp + 0x15], 0
cmp byte [edi], bl
je 0x417663
mov ebp, dword [esp + 0xa4]
push 0x49a04c
push edi
call fcn.004851e1
add esp, 8
test eax, eax
je case.0x41756f.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x41756f.34
movzx eax, byte [eax + 0x4183f0]
jmp dword [eax*4 + 0x4183d0]
or bl, 0xff
mov byte [esp + 0x1c], bl
jmp 0x41751a
mov bl, 1
jmp case.0x41756f.36
mov byte [esp + 0x15], 1
jmp case.0x41756f.36
test bl, bl
jne 0x4175a2
cmp byte [esp + 0x15], bl
jne 0x4175a9
or ebp, 1
jmp case.0x41756f.36
cmp byte [esp + 0x15], 0
je 0x4175b3
or byte [esp + 0x16], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41756f.36
or byte [esp + 0x16], 8
jmp 0x41764b
test bl, bl
jne 0x4175d7
cmp byte [esp + 0x15], bl
jne 0x4175de
or ebp, 2
jmp case.0x41756f.36
cmp byte [esp + 0x15], 0
je 0x4175e8
or byte [esp + 0x16], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41756f.36
or byte [esp + 0x16], 2
jmp 0x41764b
test bl, bl
jne 0x417606
cmp byte [esp + 0x15], bl
jne 0x41760d
or ebp, 4
jmp case.0x41756f.36
cmp byte [esp + 0x15], 0
je 0x417617
or byte [esp + 0x16], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41756f.36
or byte [esp + 0x16], 0x20
jmp 0x41764b
test bl, bl
jne 0x417631
cmp byte [esp + 0x15], bl
jne 0x417638
or ebp, 8
jmp case.0x41756f.36
cmp byte [esp + 0x15], 0
je 0x417642
or byte [esp + 0x16], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41756f.36
or byte [esp + 0x16], 0x80
xor bl, bl
mov esi, edi
cmp byte [esi + 1], 0
lea edi, [esi + 1]
jne 0x417543
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 0x4176a3
mov byte [esp + 0x1d], 0
xor al, al
lea ecx, [ebx - 1]
cmp cl, 5
ja 0x41768d
cmp bl, 3
jne 0x417699
add bl, 0x66
cmp bl, 5
ja 0x41779a
mov byte [esp + 0x27], 1
jmp 0x41779f
cmp byte [esi + 1], 0
jne 0x4176f2
mov byte [esp + 0xd4], cl
cmp cl, 0xa
jne 0x4176bc
mov al, 0xd
jmp 0x417768
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 0x4176e3
cmp cl, 0xff
jne 0x4176e3
xor al, al
jmp 0x417768
and al, 0x38
neg al
sbb al, al
not al
and al, cl
jmp 0x417768
movzx edi, cl
test edi, 0xffffff80
jne 0x41770f
push 2
push edi
call fcn.0048671e
add esp, 8
test eax, eax
je 0x41770f
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x56
jne 0x417733
mov al, byte [esi + 1]
call fcn.00409380
cmp al, 0x4b
jne 0x417733
push 0x10
lea eax, [esi + 2]
push 0
push eax
call fcn.00486b64
add esp, 0xc
jmp 0x417768
xor edi, edi
mov eax, dword [edi*8 + 0x4a7660]
push esi
push eax
call fcn.004851e1
add esp, 8
test eax, eax
je 0x41778d
inc edi
cmp edi, 0x6d
jl 0x417735
mov eax, esi
call fcn.00411c90
movzx ecx, ax
test cx, cx
je 0x417679
call fcn.004123f0
mov byte [esp + 0x1d], al
mov al, byte [esp + 0x1d]
lea edx, [eax - 1]
cmp dl, 5
ja 0x41777c
cmp al, 3
jne 0x417786
add al, 0x66
cmp al, 5
ja 0x41767e
mov al, 1
jmp 0x417680
mov cl, byte [edi*8 + 0x4a7664]
mov byte [esp + 0x1d], cl
jmp 0x41776c
mov byte [esp + 0x27], 0
test al, al
jne 0x4177ae
mov byte [esp + 0x38], 1
cmp byte [esp + 0x27], al
jne 0x4177b3
mov byte [esp + 0x38], 0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4177b8
sub eax, edx
cmp eax, 1
jne 0x4177d9
movzx edx, byte [esi]
push edx
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x49b094
jne 0x4177de
mov eax, 0x498819
push ebp
push eax
push str._s_s
mov esi, 0x20
lea edi, [esp + 0x120]
call fcn.004723a0
mov esi, dword [esp + 0xb4]
add esp, 0xc
push 0x1f
lea eax, [esp + 0xf8]
push esi
push eax
call fcn.00488180
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.00488180
mov eax, esi
sub eax, ebx
add esp, 0xc
mov byte [esp + 0xcb], 0
cmp eax, 8
jae 0x41784b
mov byte [esp + eax + 0xc4], 0
cmp byte [esp + 0xc4], 0
mov dword [esp + 0xa0], 0
jne case.0x41787c.14
movzx eax, byte [esp + 0x1c]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x41787c.14
movzx edx, byte [eax + 0x418460]
jmp dword [edx*4 + 0x418450]
mov edi, 0x49a218
mov eax, ebx
call fcn.004093b0
test eax, eax
jne case.0x41787c.19
jmp case.0x41787c.14
lea eax, [esp + 0xf4]
push str.Return
push eax
call fcn.004851e1
add esp, 8
test eax, eax
jne case.0x41787c.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 0x4178f8
xor esi, esi
push esi
push 0xff
push esi
push 0x67
push edi
mov byte [edi + 0x174], 0
call fcn.0041bf70
test eax, eax
je 0x4180b5
mov dword [edi + 0x370], esi
push 1
push edi
mov eax, ebx
call fcn.00419c60
test eax, eax
je 0x4171c7
xor esi, esi
cmp byte [ebp], 0
je 0x41795d
cmp dword [esp + 0x28], esi
jne 0x417947
push esi
mov esi, ebp
call fcn.004095f0
movzx esi, ax
add esp, 4
test si, si
jne 0x417947
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
mov ecx, edi
call fcn.00419dc0
test eax, eax
je 0x416bc7
push 0
push 0
push 0
push 0x67
push edi
call fcn.0041bf70
test eax, eax
je 0x4171c7
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4179a5
cmp byte [eax], 0
je 0x418104
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x41797e
mov eax, 0x498819
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.0040c840
add esp, 0x10
test eax, eax
je 0x416bc7
jmp case.0x41787c.14
lea eax, [esp + 0x47]
push eax
lea ecx, [esp + 0xbc]
push ecx
push ebx
call fcn.0040be50
mov edi, eax
add esp, 0xc
test edi, edi
je 0x417a1a
test si, si
je 0x4179cf
mov word [edi + 2], si
jmp case.0x41787c.14
mov eax, edi
call fcn.0040b4b0
test eax, eax
jne 0x418111
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0xe2ac]
mov eax, dword [esi + 0x14]
push edx
call fcn.0040b510
test eax, eax
je 0x41812d
cmp byte [esp + 0x47], 0
jne 0x417a11
cmp byte [0x4aaa2b], 0
je case.0x41787c.14
mov byte [edi + 0x16], 1
jmp case.0x41787c.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.0040add0
add esp, 0x10
test eax, eax
jne case.0x41787c.14
cmp dword [esp + 0xcc], 3
jne 0x416bc7
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.004723a0
fldz
add esp, 8
push 0
sub esp, 8
fstp qword [esp]
push 0
mov ecx, edi
push 0x10000
push ecx
call fcn.00476cb0
add esp, 0x18
jmp case.0x41787c.14
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp byte [edx + eax - 1], 0x3a
jne 0x417c8e
cmp edx, 1
je 0x41813a
mov ecx, eax
mov al, byte [ecx]
test al, al
je 0x417ae9
mov dl, byte [0x4a6367]
mov bl, byte [0x4a68ad]
cmp al, 0x20
je 0x417c8e
cmp al, 9
je 0x417c8e
cmp al, dl
je 0x417c8e
cmp al, bl
je 0x417c8e
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x417ac1
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
cmp byte [eax + ebx - 2], 0x3a
jne 0x417b01
cmp eax, 2
ja 0x417c8e
dec eax
mov byte [eax + ebx], 0
cmp byte [ebx], 0
je 0x4171c7
cmp eax, 0xffffffff
jne 0x417b29
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417b20
sub eax, edx
lea eax, [eax + ebx - 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x417b3c
cmp cl, 9
jne 0x417b43
cmp eax, ebx
je 0x417b49
dec eax
jmp 0x417b30
mov byte [eax + 1], 0
jmp 0x417b58
mov cl, byte [eax]
cmp cl, 0x20
je 0x417b55
cmp cl, 9
jne 0x417b58
mov byte [eax], 0
cmp byte [ebx], 0
je 0x4171c7
mov ebp, dword [esp + 0xe2ac]
mov esi, dword [ebp + 0x10]
xor edi, edi
cmp esi, edi
je 0x417b89
mov eax, dword [esi + 4]
push ebx
push eax
call fcn.004851e1
add esp, 8
test eax, eax
je 0x417bc7
mov esi, dword [esi + 0x10]
cmp esi, edi
jne 0x417b71
cmp byte [ebx], 0
je 0x417be1
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417b93
sub eax, edx
mov edi, eax
lea eax, [edi + 1]
call fcn.0046f870
mov esi, eax
test esi, esi
je 0x417f86
test edi, edi
je 0x417bbf
push edi
push ebx
push esi
call fcn.0048dae0
add esp, 0xc
mov byte [esi + edi], 0
xor edi, edi
jmp 0x417be6
push ebx
push str.Duplicate_label.
mov ecx, ebp
call fcn.0042d790
cmp eax, edi
je 0x4171c7
jmp case.0x41787c.14
mov esi, 0x498819
cmp dword [0x4ac1f0], edi
jne 0x417bfc
call fcn.0046f8e0
mov dword [0x4ac1f0], eax
cmp eax, edi
je 0x417c55
mov ecx, dword [0x4ac1f4]
cmp dword [ecx + 8], 0x14
jae 0x417c1a
call fcn.0046f8e0
mov ecx, dword [0x4ac1f4]
mov dword [ecx + 0xc], eax
cmp eax, edi
je 0x417c55
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xffffffec
lea edx, [eax + 0x14]
mov dword [0x4ac1f8], eax
mov dword [ecx + 4], edx
cmp eax, edi
je 0x417c55
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 0x417c64
mov dword [ebp + 0x10], eax
jmp 0x417c6a
push 0x498819
push str.Out_of_memory.
jmp 0x417bcd
mov edx, dword [ebp + 0x14]
mov dword [edx + 0x10], eax
push str.OnClipboardChange
push esi
mov dword [ebp + 0x14], eax
call fcn.004851e1
add esp, 8
test eax, eax
jne case.0x41787c.14
mov dword [ebp + 0x5b0], edi
jmp case.0x41787c.14
mov ebx, dword [esp + 0x18]
cmp byte [ebx], 0x23
mov edi, dword [esp + 0xe2ac]
jne 0x417cd0
mov esi, dword [edi + 0x170]
push ebx
push edi
call fcn.00418670
test eax, eax
je 0x4171c7
cmp eax, 3
jne 0x417cd0
mov eax, dword [esp + 0x9c]
mov dword [edi + 0x16c], eax
mov dword [edi + 0x170], esi
jmp case.0x41787c.14
mov al, byte [ebx]
cmp al, 0x7b
je 0x417cf8
cmp al, 0x7d
je 0x417cf8
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
mov ecx, edi
call fcn.00419dc0
test eax, eax
je 0x4171c7
jmp case.0x41787c.14
cmp al, 0x7b
push 0
setne cl
push 0
add cl, 0x73
movzx edx, cl
push 0
push edx
push edi
call fcn.0041bf70
test eax, eax
je 0x4171c7
lea eax, [ebx + 1]
jmp 0x417d20
mov cl, byte [eax]
cmp cl, 0x20
je 0x417d2c
cmp cl, 9
jne 0x417d2f
inc eax
jmp 0x417d20
cmp byte [eax], 0
mov dword [esp + 0x18], eax
jne 0x417eb0
mov bl, byte [esp + 0x1c]
test bl, bl
je case.0x417d68.4
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0xa0], eax
dec eax
cmp eax, 9
ja case.0x417d68.4
movzx eax, byte [eax + 0x4184c8]
jmp dword [eax*4 + 0x4184b4]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x114]
push ecx
push str._s::
push edx
call fcn.00485718
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x41703e
mov ax, word [0x49b17c]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x27], 0
mov edi, dword [esp + 0xe2ac]
mov word [esi], ax
mov cl, byte [0x49b17e]
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.0041bf70
cmp byte [esp + 0x38], 0
je 0x417e08
lea edx, [esp + 0xf4]
push edx
push str.if_not_GetKeyState___s__
push esi
call fcn.00485718
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa0], 9
jmp 0x41703e
mov edi, dword [esp + 0xe2ac]
mov esi, dword [esp + 0x18]
mov ecx, 0x498819
cmp bl, 0x12
je 0x417e1c
cmp bl, 0xa3
jbe 0x417e3c
cmp bl, 0xa5
ja 0x417e3c
movzx eax, byte [esp + 0x1d]
sub eax, 0x11
je 0x417e37
sub eax, 0x91
je 0x417e37
dec eax
jne 0x417e3c
mov ecx, str.RCtrl_up
jmp 0x417e3c
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.00485718
add esp, 0x14
push ebx
push 1
lea eax, [esp + 0x20]
push eax
push 0x41
push edi
call fcn.0041bf70
test eax, eax
je 0x418149
push ebx
push ebx
push ebx
push 0x67
push edi
call fcn.0041bf70
lea ecx, [esp + 0x114]
push ecx
push str._s_up::
push esi
call fcn.00485718
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa0], 2
jmp 0x41703e
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417eb3
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [edi + 0x370], 0
jmp 0x416b02
mov dx, word [0x49b17c]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x27], 0
mov edi, dword [esp + 0xe2ac]
mov word [esi], dx
mov al, byte [0x49b17e]
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.0041bf70
lea ecx, [esp + 0xf4]
push ecx
push str.Blind_s_Up
push esi
call fcn.00485718
add esp, 0xc
push 0
push 1
lea edx, [esp + 0x20]
push edx
push 0x41
push edi
call fcn.0041bf70
push 0
push 0
push 0
push 0x67
push edi
call fcn.0041bf70
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 0x417f76
lea eax, [esp + 0xa28c]
mov dword [esp + 0x3c], eax
jmp 0x416393
lea ecx, [esp + 0x4344]
mov dword [esp + 0x3c], ecx
jmp 0x416393
push ebx
push str.Out_of_memory.
mov ecx, 0x4ac290
call fcn.0042d790
jmp 0x4171c7
mov ecx, dword [esp + 0xe2ac]
push ebx
push str.Continuation_section_too_long.
call fcn.0042d790
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414950
mov eax, esi
jmp 0x418268
lea edx, [esp + 0x33c]
push edx
push 0x49afd8
mov ecx, eax
jmp 0x417fa8
cmp dword [esi + 0x164], 0
mov eax, 0x49afd8
jne 0x417fe3
mov eax, str.Not_a_valid_method__class_or_property_definition.
lea ecx, [esp + 0x33c]
push ecx
push eax
mov ecx, esi
jmp 0x417fa8
mov ecx, dword [esp + 0xe2ac]
lea edx, [esp + 0x33c]
push edx
push str.Functions_cannot_contain_functions.
call fcn.0042d790
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414950
mov eax, esi
jmp 0x418268
push ebp
push str.Not_a_valid_property_getter_setter.
mov ecx, ebx
jmp 0x417fa8
push edi
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, ebx
jmp 0x417fa8
mov eax, dword [esp + 0x18]
push eax
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, dword [esp + 0xe2b4]
call fcn.0042d790
mov esi, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x41807b
cmp byte [esp + 0x88], 0
je 0x418070
push eax
call fcn.004851f8
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
test eax, eax
je 0x417fb8
push eax
call fcn.004851f8
add esp, 4
mov eax, esi
jmp 0x418268
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 0x418043
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, esi
je 0x4180e2
cmp byte [esp + 0x88], 0
je 0x4180db
push eax
call fcn.004851f8
add esp, 4
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
cmp eax, esi
je 0x418266
push eax
call fcn.004851f8
add esp, 4
jmp 0x418266
push ebx
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, edi
jmp 0x418043
mov ecx, dword [esp + 0xe2ac]
push ebx
mov dword [ecx + 0x370], 0
push str.Duplicate_hotkey.
jmp 0x417fa8
push ebx
push str.Out_of_memory.
mov ecx, esi
jmp 0x417fa8
mov eax, dword [esp + 0x18]
push eax
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x41803c
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, ebx
je 0x418175
cmp byte [esp + 0x88], bl
je 0x41816e
push eax
call fcn.004851f8
add esp, 4
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x7c]
cmp eax, ebx
jmp 0x4171fe
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0xe2b0]
push 0x49afa8
call fcn.0042d790
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414950
mov eax, esi
jmp 0x418268
cmp byte [esp + 0x33c], 0
je 0x418216
cmp dword [esp + 0x48], 0
mov edx, dword [esp + 0x94]
mov esi, dword [ebp + 0x170]
mov dword [ebp + 0x170], edx
je 0x4181ed
cmp byte [esp + 0x1e], 0
mov eax, str.Missing___
jne 0x4181dd
mov eax, 0x49afd8
lea ecx, [esp + 0x33c]
push ecx
push eax
mov ecx, ebp
jmp 0x417fa8
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x354]
push edx
mov ecx, ebp
call fcn.00419dc0
test eax, eax
je 0x416bc7
mov dword [ebp + 0x170], esi
cmp dword [ebp + 0x48], 0
je 0x418236
cmp dword [esp + 0x9c], 0
jne 0x418236
lea eax, [ebp + 0x60]
push eax
push str.Missing___
mov ecx, ebp
jmp 0x417fa8
inc dword [ebp + 0x170]
lea ecx, [esp + 0x4c]
call fcn.00414950
mov eax, 1
jmp 0x418268
fldz
push 0
sub esp, 8
fstp qword [esp]
push ebx
push 0
push str.Could_not_extract_script_from_EXE.
call fcn.00476cb0
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