Function at 0x4158f0
Capabilities:
Extract resource via kernel32 functions
Get keyboard layout

Disassembly:
push 0xffffffffffffffff
push 0x4920ab
mov eax, dword fs:[0]
push eax
mov eax, 0xe284
mov dword fs:[0], esp
call fcn.0048dcd0
push ebx
push ebp
mov ebp, dword [esp + 0xe29c]
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x4176fe
cmp byte [ebx], 0
je 0x4176fe
mov eax, dword [0x4a8c1c]
mov dword [esp + 0xa8], eax
test eax, eax
jne 0x415948
mov eax, dword [ebp + 0x5c0]
mov dword [0x4a6c60], eax
push 0x4000
xor esi, esi
lea ecx, [esp + 0x339]
push esi
push ecx
mov byte [esp + 0x340], 0
call fcn.0048a9d0
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceA]
add esp, 0xc
push 0xa
push str._AUTOHOTKEY_SCRIPT_
lea edx, [esp + 0x4344]
lea eax, [esp + 0xa28c]
push esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], esi
mov byte [esp + 0xe4], 0
call edi
mov esi, eax
test esi, esi
je 0x4159b3
mov byte [ebp + 0x5dc], 0
jmp 0x4159cf
push 0xa
push str._AHK_WITH_ICON_
push 0
call edi
mov esi, eax
test esi, esi
je 0x4176e4
mov byte [ebp + 0x5dc], 1
push esi
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0xd4], eax
cmp eax, edi
je 0x4176e4
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x4176e4
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [esp + 0xd0], eax
cmp eax, edi
je 0x4176e4
lea esi, [esp + 0x4c]
call fcn.004140c0
mov dword [esp + 0xe29c], edi
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 4]
push 0xc
lea ecx, [esp + 0xd4]
push ecx
mov ecx, esi
mov dword [esp + 0x5c], edi
call eax
test al, al
je 0x415a4a
mov eax, 0xfde9
lea ebx, [edi + 0xc]
mov ecx, esi
call fcn.0046c700
mov ecx, dword [esp + 0xa8]
inc dword [0x4a8c1c]
mov dword [ebp + 0x164], ecx
lea eax, [esp + 0x4c]
xor ecx, ecx
lea edx, [esp + 0x433c]
mov byte [esp + 0x1f], 0
mov byte [esp + 0x2d], 0
mov byte [esp + 0x32], 0
mov dword [esp + 0xb0], 0xffffffff
call fcn.00417970
push 2
lea edx, [esp + 0x4340]
push 0x497784
push edx
mov dword [esp + 0x2c], eax
call fcn.004837bb
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x25], al
test al, al
je 0x415ac1
mov byte [esp + 0x433c], 0
mov dword [esp + 0x20], 0
cmp dword [esp + 0x20], 0xffffffff
je 0x41765c
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 + 0x168], eax
mov dword [ebp + 0x368], edi
call fcn.004820fb
add esp, 0xc
test eax, eax
jne 0x415b09
push esi
push ebp
call fcn.00417b00
test eax, eax
je 0x4162c3
mov byte [esp + 0xb8], 0
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x3c]
inc dword [esp + 0xb0]
mov esi, dword [esp + 0x28]
xor ebp, ebp
cmp ebx, ebp
je 0x415ba1
lea eax, [esp + 0x4c]
mov ecx, esi
mov edx, ebx
call fcn.00417970
mov edi, eax
mov dword [esp + 0x40], edi
cmp edi, ebp
je 0x415ba8
cmp edi, 0xffffffff
je 0x415ba8
cmp esi, ebp
jne 0x415ba8
push 2
push 0x497798
push ebx
call fcn.004837bb
add esp, 0xc
test eax, eax
jne 0x415bbd
cmp byte [esp + 0x25], al
jne 0x415b70
cmp byte [ebx + 2], 0x3a
jne 0x415b70
cmp byte [ebx + 3], 0x3a
je 0x415bc8
lea ecx, [edi - 1]
push ecx
lea edx, [ebx + 2]
push edx
push ebx
mov byte [esp + 0x31], 0
call fcn.00482250
lea eax, [edi - 2]
add esp, 0xc
mov edi, ebx
call fcn.00412410
cmp byte [ebx], 0
mov edi, eax
mov dword [esp + 0x40], edi
je 0x415b15
jmp 0x415bc8
or edi, 0xffffffff
mov dword [esp + 0x40], edi
cmp byte [esp + 0x25], 0
je 0x415be6
cmp edi, 0xffffffff
jne 0x415b15
jmp 0x416226
cmp byte [esp + 0x25], 0
jne 0x415b15
push 2
push 0x497784
push ebx
call fcn.004837bb
add esp, 0xc
test eax, eax
jne 0x415ba8
mov byte [esp + 0x25], 1
jmp 0x415b15
cmp esi, ebp
jne 0x416073
cmp edi, 0xffffffff
je 0x415c57
cmp byte [ebx], 0x28
jne 0x415c57
cmp byte [ebx + 1], 0x3a
lea esi, [ebx + 1]
je 0x415c57
cmp byte [edi + ebx - 1], 0x3a
je 0x415c57
mov dl, byte [0x4a7471]
mov ecx, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0xc4], ebp
mov byte [esp + 0x38], dl
mov byte [esp + 0x3b], cl
mov byte [esp + 0x39], 0
mov byte [esp + 0x36], 0
mov byte [esp + 0x35], cl
mov word [esp + 0xdc], 0xa
mov dword [esp + 0xb4], ecx
mov al, byte [esi]
cmp al, 0x20
je 0x415c53
cmp al, 9
jne 0x415e9d
add esi, ecx
jmp 0x415c45
mov dword [esp + 0x28], ebp
cmp edi, 0xffffffff
je 0x416226
cmp edi, ebp
je 0x415b15
cmp byte [edi + ebx - 1], 0x3a
jne 0x415c84
cmp byte [ebx], 0x2c
jne 0x416226
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov al, byte [ebx]
call fcn.00408ef0
cmp al, 0x41
je 0x415e5b
cmp al, 0x4f
je 0x415e09
mov al, byte [ebx]
cmp al, 0x3a
je 0x415ca9
cmp al, 0x2b
je 0x415ca9
cmp al, 0x2d
jne 0x415cb2
cmp byte [ebx + 1], al
je 0x416226
movsx eax, al
push eax
push str.____:.___
call fcn.00482661
add esp, 8
test eax, eax
je 0x416226
mov ebx, dword [esp + 0x3c]
push 0x4977c0
push ebx
call fcn.004827a2
mov edi, eax
add esp, 8
test edi, edi
je 0x415d80
cmp byte [ebx], 0x3a
jne 0x415d32
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
test al, al
je 0x415d29
cmp al, 0x3a
je 0x416226
mov ecx, 0x107
call fcn.00408ed0
test eax, eax
jne 0x415d21
movsx eax, byte [esi]
push eax
push str.____t
call fcn.00482661
add esp, 8
test eax, eax
je 0x415d32
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x415cf6
cmp byte [esi], 0x3a
je 0x416226
mov ebx, dword [esp + 0x3c]
cmp byte [ebx], 0x2c
jne 0x415dc4
lea esi, [ebx + 1]
mov al, byte [esi]
cmp al, 0x20
je 0x415d4c
cmp al, 9
jne 0x415d4f
inc esi
jmp 0x415d42
push 2
push 0x4977c0
push esi
call fcn.004837bb
add esp, 0xc
test eax, eax
je 0x416226
push 3
push 0x496fdc
dec esi
push esi
call fcn.004837bb
add esp, 0xc
test eax, eax
je 0x416226
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x417493
cmp byte [ebx], 0x2c
je 0x415da4
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.00489e00
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
jmp 0x415b15
mov eax, ebx
cmp ebx, edi
jae 0x415dda
lea ebx, [ebx]
cmp byte [eax], 0x22
je 0x415dda
inc eax
cmp eax, edi
jb 0x415dd0
cmp eax, edi
je 0x416226
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x416226
cmp al, 0x22
je 0x415e01
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x415df0
jmp 0x416226
cmp byte [ecx], 0
jmp 0x415d7a
mov al, byte [ebx + 1]
call fcn.00408ef0
cmp al, 0x52
jne 0x416226
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x20
je 0x415e30
cmp al, 9
je 0x415e30
cmp al, 0xa0
jne 0x416226
nop
mov al, byte [ecx]
cmp al, 0x20
je 0x415e3a
cmp al, 9
jne 0x415e3d
inc ecx
jmp 0x415e30
movsx eax, byte [ecx]
push eax
push str.____:
call fcn.00482661
add esp, 8
test eax, eax
jne 0x416226
jmp 0x415d84
push 3
push 0x49779c
push ebx
call fcn.004820fb
add esp, 0xc
test eax, eax
jne 0x416226
mov al, byte [ebx + 3]
lea ecx, [ebx + 3]
cmp al, 0x20
je 0x415e90
cmp al, 9
je 0x415e90
cmp al, 0xa0
jne 0x416226
lea esp, [esp]
mov al, byte [ecx]
cmp al, 0x20
je 0x415e9a
cmp al, 9
jne 0x415e3d
inc ecx
jmp 0x415e90
cmp byte [esi], 0
je 0x416066
jmp 0x415eb0
mov edi, 0x496fe4
mov eax, esi
call fcn.00408f20
mov ebp, eax
test ebp, ebp
jne 0x415ed3
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415ec7
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.004820fb
add esp, 0xc
test eax, eax
jne 0x415fbf
push 0xf
add esi, 4
lea eax, [esp + 0xe0]
push esi
push eax
call fcn.004844d0
mov bl, byte [0x4a33cd]
mov byte [esp + 0xf7], 0
lea ecx, [esp + 0xe8]
mov al, byte [ecx]
add esp, 0xc
test al, al
je 0x415f33
cmp al, bl
je 0x415f59
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x415f27
lea eax, [esp + 0xdc]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415f40
mov bl, byte [esp + 0x15]
sub eax, edx
mov dword [esp + 0xb4], eax
jmp 0x41604a
cmp byte [ecx], 0
je 0x415f33
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x415f74.99
movzx edx, byte [eax + 0x417740]
jmp dword [edx*4 + 0x41771c]
mov byte [esi], 7
jmp case.0x415f74.99
mov byte [esi], 8
jmp case.0x415f74.99
mov byte [esi], 0xc
jmp case.0x415f74.99
mov byte [esi], 0xa
jmp case.0x415f74.99
mov byte [esi], 0xd
jmp case.0x415f74.99
mov byte [esi], 9
jmp case.0x415f74.99
mov byte [esi], 0xb
jmp case.0x415f74.99
mov byte [esi], 0x20
mov eax, esi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x415fa6
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.00482250
mov ecx, esi
jmp 0x415f1e
push 5
push 0x4977f4
push esi
call fcn.004820fb
add esp, 0xc
test eax, eax
jne 0x415fe1
cmp byte [esi + 5], 0x30
setne byte [esp + 0x38]
jmp 0x41604a
push 5
push str.RTrim
push esi
call fcn.004820fb
add esp, 0xc
test eax, eax
jne 0x416000
cmp byte [esi + 5], 0x30
setne byte [esp + 0x3b]
jmp 0x41604a
mov al, byte [esi]
test al, al
je 0x41604a
mov ecx, 2
jmp 0x416010
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x416022.38
movzx eax, byte [eax + 0x417770]
jmp dword [eax*4 + 0x417758]
mov byte [esp + 0x39], 1
jmp case.0x416022.38
mov byte [esp + 0x36], 1
jmp case.0x416022.38
mov byte [esp + 0x35], 0
jmp case.0x416022.38
mov dword [esp + 0x28], ecx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x416010
mov byte [ebp], bl
mov esi, ebp
nop
mov al, byte [esi]
cmp al, 0x20
je 0x41605a
cmp al, 9
jne 0x41605d
inc esi
jmp 0x416050
cmp byte [esi], 0
jne 0x415eb0
mov byte [esp + 0xb8], 1
jmp 0x415b15
cmp edi, 0xffffffff
je 0x417634
cmp edi, 0xfffffffe
je 0x415b15
cmp byte [ebx], 0x29
jne 0x4160a7
mov esi, dword [esp + 0x3c]
or eax, 0xffffffff
mov dword [esp + 0x28], ebp
lea ebx, [esi + 1]
call fcn.00412480
lea edi, [eax - 1]
mov ebp, esi
jmp 0x4161a0
cmp byte [esp + 0x3b], 0
mov ebp, dword [esp + 0x3c]
mov ebx, ebp
je 0x4160bf
mov eax, edi
mov esi, ebp
call fcn.00412480
mov edi, eax
cmp byte [esp + 0x38], 0
je 0x4160d1
mov eax, edi
mov edi, ebp
call fcn.00412410
mov edi, eax
xor esi, esi
cmp byte [esp + 0x39], 0
je 0x41610c
mov al, byte [0x4a33cd]
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 ebp
xor eax, eax
mov ecx, 0x4001
call fcn.0046f230
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x36], 0
je 0x41614c
mov al, byte [0x4a33cc]
mov cl, byte [0x4a33cd]
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 ebp
xor eax, eax
mov ecx, 0x4001
call fcn.0046f230
add esp, 0x18
add esi, eax
cmp byte [esp + 0x35], 0
je 0x41618c
mov al, byte [0x4a3367]
mov cl, byte [0x4a33cd]
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 ebp
xor eax, eax
mov ecx, 0x4001
call fcn.0046f230
add esp, 0x18
add esi, eax
test esi, esi
je 0x4161a0
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416195
sub eax, edx
mov edi, eax
mov esi, dword [esp + 0xb4]
mov eax, dword [esp + 0x20]
lea ecx, [esi + edi]
add ecx, eax
cmp ecx, 0x4001
jae 0x417493
mov ecx, dword [esp + 0xc4]
inc ecx
mov dword [esp + 0xc4], ecx
cmp ecx, 1
jle 0x4161f7
test esi, esi
je 0x4161f7
cmp ebx, ebp
jne 0x4161f7
lea edx, [esi + 1]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xe0]
push ecx
add eax, edx
push eax
call fcn.00489e00
add esp, 0xc
add dword [esp + 0x20], esi
test edi, edi
je 0x415b15
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
lea eax, [edi + 1]
push eax
lea edx, [esi + ecx]
push ebx
push edx
call fcn.00489e00
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
jmp 0x415b15
mov byte [ebp], bl
cmp dword [esp + 0x20], 0
je case.0x416c45.14
cmp byte [esp + 0x334], 0
mov ebp, dword [esp + 0xe2a4]
mov esi, dword [esp + 0x18]
je 0x41638f
mov eax, dword [esp + 0xac]
mov edi, dword [ebp + 0x168]
mov bl, byte [esp + 0x27]
mov dword [ebp + 0x168], eax
cmp byte [esi], 0x7b
je 0x4162aa
test bl, bl
jne 0x4162aa
cmp byte [esp + 0x24], bl
jne 0x4174b7
cmp dword [ebp + 0x48], 0
je 0x41628d
mov ecx, dword [0x4a3440]
cmp dword [ecx + 0x94], 0
je 0x4174c8
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x34c]
push edx
mov ecx, ebp
call fcn.00419150
jmp 0x416310
cmp byte [esp + 0x24], 0
je 0x4162d1
lea eax, [esp + 0x334]
push eax
push ebp
call fcn.0041d440
test eax, eax
jne 0x41631e
lea ecx, [esp + 0x4c]
call fcn.00414120
jmp 0x4176fe
mov ecx, dword [0x4a3440]
cmp dword [ecx + 0x94], 0
jne 0x4174d9
lea edx, [esp + 0x8344]
push edx
lea eax, [esp + 0x338]
push eax
push ebp
call fcn.0041cbb0
test eax, eax
je 0x4162c3
test bl, bl
je 0x41631e
push 0
push 0
push 0
push 0x72
push ebp
call fcn.0041b3c0
test eax, eax
je 0x4162c3
mov dword [ebp + 0x368], 0
cmp byte [esp + 0x24], 0
mov byte [esp + 0x334], 0
je 0x416389
push 0
push 0
push 0
push 0x72
push ebp
call fcn.0041b3c0
test eax, eax
je 0x4162c3
test bl, bl
jne 0x416389
lea ecx, [esi + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x416350
cmp al, 9
jne 0x416353
inc ecx
jmp 0x416346
cmp byte [ecx], 0
jne 0x416363
mov dword [ebp + 0x168], edi
jmp case.0x416c45.14
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416368
sub eax, esi
mov dword [esp + 0x20], eax
inc eax
push eax
push ecx
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00482250
mov esi, dword [esp + 0x24]
add esp, 0xc
mov dword [ebp + 0x168], edi
cmp byte [esi], 0x7d
jne 0x416450
cmp dword [ebp + 0x48], 0
je 0x416450
mov edx, dword [0x4a3440]
cmp dword [edx + 0x94], 0
jne 0x416450
mov ebx, esi
mov eax, dword [ebp + 0x48]
test eax, eax
je 0x41642a
dec eax
mov dword [ebp + 0x48], eax
mov edi, dword [ebp + eax*4 + 0x4c]
call fcn.00468dc0
mov eax, dword [ebp + 0x48]
mov eax, dword [ebp + eax*4 + 0x4c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea esi, [ebp + 0x60]
push 0x2e
push esi
call fcn.0048357e
add esp, 8
test eax, eax
je 0x4163f1
mov byte [eax], 0
jmp 0x4163f4
mov byte [esi], 0
push 0
push 0
push 0
push 0x73
push ebp
call fcn.0041b3c0
test eax, eax
je 0x4162c3
lea eax, [ebx + 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x41641c
cmp cl, 9
jne 0x41641f
inc eax
jmp 0x416410
cmp byte [eax], 0x7d
mov esi, dword [esp + 0x18]
mov ebx, eax
je 0x4163b7
cmp byte [ebx], 0
je case.0x416c45.14
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416438
sub eax, edx
push eax
push ebx
push esi
mov dword [esp + 0x2c], eax
call fcn.00482250
add esp, 0xc
lea ebx, [esp + 0x27]
mov eax, esi
call fcn.004157b0
test al, al
je 0x416490
lea edx, [esp + 0x334]
mov eax, esi
sub edx, esi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416470
mov eax, dword [ebp + 0x168]
mov dword [esp + 0xac], eax
mov byte [esp + 0x24], cl
jmp case.0x416c45.14
mov ecx, dword [0x4a3440]
cmp dword [ecx + 0x94], 0
jne 0x4165e1
lea edx, [esp + 0x27]
push edx
mov eax, esi
call fcn.00415860
add esp, 4
test eax, eax
je 0x4164e1
lea edx, [esp + 0x334]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4164c0
mov eax, dword [ebp + 0x168]
mov dword [esp + 0xac], eax
mov byte [esp + 0x24], 1
jmp case.0x416c45.14
cmp dword [ebp + 0x48], 0
je 0x4165e1
mov edi, dword [esp + 0x18]
mov esi, edi
movzx eax, byte [esi]
test eax, 0xffffff80
jne 0x41650d
push 0x107
push eax
call fcn.00482bae
add esp, 8
test eax, eax
jne 0x416517
mov al, byte [esi]
cmp al, 0x5f
je 0x416517
cmp al, 0x2e
jne 0x41651a
inc esi
jmp 0x4164f1
cmp esi, edi
jbe 0x41657c
mov edi, edi
mov al, byte [esi]
cmp al, 0x20
je 0x41652a
cmp al, 9
jne 0x41652d
inc esi
jmp 0x416520
cmp byte [esi], 0x3a
jne 0x41657c
cmp byte [esi + 1], 0x3d
jne 0x41657c
push 0
push edi
push ebp
call fcn.0041d8f0
test eax, eax
je 0x4162c3
mov bl, byte [esp + 0x1f]
test bl, bl
je case.0x416575.4
mov eax, dword [esp + 0xa4]
inc eax
mov dword [esp + 0xa4], eax
dec eax
cmp eax, 9
ja case.0x416575.4
movzx edx, byte [eax + 0x4177c4]
jmp dword [edx*4 + 0x4177b0]
push 6
push str.Static
push edi
call fcn.004820fb
add esp, 0xc
test eax, eax
jne 0x4165a2
mov al, byte [edi + 6]
cmp al, 0x20
je 0x41659b
cmp al, 9
jne 0x4165a2
push 1
add edi, 7
jmp 0x41653a
cmp byte [edi], 0x23
jne 0x4174ea
mov esi, dword [ebp + 0x168]
push edi
push ebp
call fcn.00417b00
test eax, eax
je 0x4162c3
cmp eax, 3
jne 0x4174ea
mov ecx, dword [esp + 0xa8]
mov dword [ebp + 0x164], ecx
mov dword [ebp + 0x168], esi
jmp case.0x416c45.14
mov edi, dword [esp + 0x18]
xor ebx, ebx
xor ebp, ebp
cmp byte [edi], 0x3a
mov dword [esp + 0x28], ebx
mov dword [esp + 0xc0], ebx
jne 0x41666d
mov cl, byte [edi + 1]
lea eax, [edi + 1]
test cl, cl
je 0x41666d
cmp cl, 0x3a
je 0x416625
push 0x3a
push eax
mov dword [esp + 0xc8], eax
call fcn.00482661
add esp, 8
cmp eax, ebx
je 0x416669
inc eax
jmp 0x41662d
cmp byte [edi + 2], bl
lea eax, [edi + 2]
je 0x41666d
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x41666d
mov edi, eax
mov al, byte [edi]
test al, al
je 0x41665b
mov cl, byte [0x4a33cd]
cmp al, cl
je 0x4166c3
cmp al, 0x3a
je 0x4166c3
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x416643
cmp ebp, ebx
jne 0x416764
mov edi, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x28], ebx
push 0x4977c0
push edi
call fcn.004827a2
mov ebp, eax
add esp, 8
cmp ebp, ebx
je 0x416e14
cmp ebp, edi
jne 0x416690
cmp byte [ebp + 2], 0x3a
jne 0x416690
inc ebp
mov esi, ebp
cmp ebp, edi
jbe 0x4166a5
mov al, byte [esi]
cmp al, 0x20
je 0x4166a0
cmp al, 9
jne 0x4166a5
dec esi
cmp esi, edi
ja 0x416696
mov bl, byte [esi]
mov eax, dword [esp + 0x18]
mov byte [esi], 0
mov edi, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x4166c0
cmp cl, 9
jne 0x416748
inc eax
jmp 0x4166b0
mov al, byte [edi]
test al, al
je 0x41665b
lea esi, [edi + 1]
cmp al, 0x3a
jne 0x4166e2
cmp byte [esi], al
jne 0x416742
mov ebp, edi
mov edi, esi
inc edi
jmp 0x416637
movsx eax, byte [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4166f4.99
movzx edx, byte [eax + 0x4177f0]
jmp dword [edx*4 + 0x4177d0]
mov byte [esi], 7
jmp case.0x4166f4.99
mov byte [esi], 8
jmp case.0x4166f4.99
mov byte [esi], 0xc
jmp case.0x4166f4.99
mov byte [esi], 0xa
jmp case.0x4166f4.99
mov byte [esi], 0xd
jmp case.0x4166f4.99
mov byte [esi], 9
jmp case.0x4166f4.99
mov byte [esi], 0xb
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416721
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.00482250
add esp, 0xc
cmp byte [edi], 0x3a
jne 0x416742
cmp byte [esi], 0x3a
jne 0x416742
mov edi, esi
inc edi
jmp 0x416637
push 0
push 0
call fcn.0040b0d0
add esp, 8
test eax, eax
jne 0x41675a
xor ebp, ebp
mov byte [esi], bl
test ebp, ebp
je 0x416e14
mov edi, dword [esp + 0x18]
cmp ebp, edi
jbe 0x416e14
mov eax, dword [0x4a3440]
cmp dword [eax + 0x94], 0
jne 0x4174f4
mov ebx, dword [esp + 0xe2a4]
mov eax, dword [ebx + 4]
test eax, eax
je 0x416799
cmp byte [eax], 0x1a
je 0x41755d
mov byte [ebp], 0
add ebp, 2
cmp dword [esp + 0x28], 0
mov dword [esp + 0x20], ebp
jne 0x416c92
cmp byte [ebp], 0
je 0x4167e5
mov ecx, ebp
mov al, byte [ecx]
cmp al, 0x20
je 0x4167c1
cmp al, 9
jne 0x4167c4
inc ecx
jmp 0x4167b7
mov edx, ecx
sub edx, ebp
je 0x4167e5
mov eax, ecx
lea esi, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4167d0
sub eax, esi
inc eax
push eax
push ecx
push ebp
call fcn.00482250
add esp, 0xc
cmp byte [edi], 0
je 0x416828
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4167f0
sub eax, edx
lea eax, [eax + edi - 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x41680c
cmp cl, 9
jne 0x416813
cmp eax, edi
je 0x416819
dec eax
jmp 0x416800
mov byte [eax + 1], 0
jmp 0x416828
mov cl, byte [eax]
cmp cl, 0x20
je 0x416825
cmp cl, 9
jne 0x416828
mov byte [eax], 0
cmp byte [ebp], 0
mov dword [esp + 0x48], ebp
je 0x416c92
cmp byte [edi], 0
jne 0x416847
mov dword [esp + 0x9c], edi
jmp 0x416981
xor bl, bl
lea ebp, [edi + 1]
mov esi, edi
mov byte [esp + 0x15], 0
cmp byte [ebp], bl
je 0x41697a
mov edi, dword [esp + 0x98]
push 0x496fe0
push ebp
call fcn.00481691
add esp, 8
test eax, eax
je case.0x41688f.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x41688f.34
movzx eax, byte [eax + 0x417828]
jmp dword [eax*4 + 0x417808]
mov bl, 1
jmp case.0x41688f.36
mov byte [esp + 0x15], 1
jmp case.0x41688f.36
test bl, bl
jne 0x4168b9
cmp byte [esp + 0x15], bl
jne 0x4168c0
or edi, 1
jmp case.0x41688f.36
cmp byte [esp + 0x15], 0
je 0x4168ca
or byte [esp + 0x17], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41688f.36
or byte [esp + 0x17], 8
jmp 0x416962
test bl, bl
jne 0x4168ee
cmp byte [esp + 0x15], bl
jne 0x4168f5
or edi, 2
jmp case.0x41688f.36
cmp byte [esp + 0x15], 0
je 0x4168ff
or byte [esp + 0x17], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41688f.36
or byte [esp + 0x17], 2
jmp 0x416962
test bl, bl
jne 0x41691d
cmp byte [esp + 0x15], bl
jne 0x416924
or edi, 4
jmp case.0x41688f.36
cmp byte [esp + 0x15], 0
je 0x41692e
or byte [esp + 0x17], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41688f.36
or byte [esp + 0x17], 0x20
jmp 0x416962
test bl, bl
jne 0x416948
cmp byte [esp + 0x15], bl
jne 0x41694f
or edi, 8
jmp case.0x41688f.36
cmp byte [esp + 0x15], 0
je 0x416959
or byte [esp + 0x17], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41688f.36
or byte [esp + 0x17], 0x80
xor bl, bl
mov esi, ebp
cmp byte [esi + 1], 0
lea ebp, [esi + 1]
jne 0x416863
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], esi
mov ebp, dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 0
call ebp
mov edi, dword [esp + 0x9c]
push 1
mov ecx, eax
push 0
xor edx, edx
mov eax, edi
call fcn.00411790
add esp, 8
mov byte [esp + 0x37], al
test al, al
je 0x416c83
mov esi, dword [esp + 0x20]
cmp byte [esi + 1], 0
je 0x416b3b
cmp byte [esi], 0
je 0x416af9
mov edi, dword [esp + 0xa0]
mov byte [esp + 0x15], 0
xor bl, bl
lea eax, [esi + 1]
push 0x496fe0
push eax
mov dword [esp + 0x50], eax
call fcn.00481691
add esp, 8
test eax, eax
je case.0x416a08.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x416a08.34
movzx ecx, byte [eax + 0x4178a8]
jmp dword [ecx*4 + 0x417888]
mov bl, 1
jmp case.0x416a08.36
mov byte [esp + 0x15], 1
jmp case.0x416a08.36
test bl, bl
jne 0x416a32
cmp byte [esp + 0x15], bl
jne 0x416a39
or edi, 1
jmp case.0x416a08.36
cmp byte [esp + 0x15], 0
je 0x416a43
or byte [esp + 0x16], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x416a08.36
or byte [esp + 0x16], 8
jmp 0x416adb
test bl, bl
jne 0x416a67
cmp byte [esp + 0x15], bl
jne 0x416a6e
or edi, 2
jmp case.0x416a08.36
cmp byte [esp + 0x15], 0
je 0x416a78
or byte [esp + 0x16], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x416a08.36
or byte [esp + 0x16], 2
jmp 0x416adb
test bl, bl
jne 0x416a96
cmp byte [esp + 0x15], bl
jne 0x416a9d
or edi, 4
jmp case.0x416a08.36
cmp byte [esp + 0x15], 0
je 0x416aa7
or byte [esp + 0x16], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x416a08.36
or byte [esp + 0x16], 0x20
jmp 0x416adb
test bl, bl
jne 0x416ac1
cmp byte [esp + 0x15], bl
jne 0x416ac8
or edi, 8
jmp case.0x416a08.36
cmp byte [esp + 0x15], 0
je 0x416ad2
or byte [esp + 0x16], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x416a08.36
or byte [esp + 0x16], 0x80
xor bl, bl
mov esi, dword [esp + 0x48]
cmp byte [esi + 1], 0
jne 0x4169d5
mov dword [esp + 0xa0], edi
mov edi, dword [esp + 0x9c]
push 0
mov dword [esp + 0x4c], esi
call ebp
push 1
mov ecx, eax
push 0
xor edx, edx
mov eax, esi
call fcn.00411790
add esp, 8
mov byte [esp + 0x1f], al
test al, al
je 0x416c83
mov cl, al
mov al, byte [esp + 0x37]
lea edx, [eax - 1]
cmp dl, 5
ja 0x416b31
cmp al, 3
jne 0x416b37
add al, 0x66
cmp al, 5
ja 0x416b44
mov al, 1
jmp 0x416b46
or cl, 0xff
mov byte [esp + 0x1f], cl
jmp 0x416b25
xor al, al
lea edx, [ecx - 1]
cmp dl, 5
ja 0x416b53
cmp cl, 3
jne 0x416b5b
add cl, 0x66
cmp cl, 5
ja 0x416b62
mov byte [esp + 0x26], 1
jmp 0x416b67
mov byte [esp + 0x26], 0
test al, al
jne 0x416b76
mov byte [esp + 0x3a], 1
cmp byte [esp + 0x26], al
jne 0x416b7b
mov byte [esp + 0x3a], 0
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416b80
sub eax, edx
cmp eax, 1
jne 0x416ba1
movzx eax, byte [edi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x4978c8
jne 0x416ba6
mov eax, 0x4957f9
mov ecx, dword [esp + 0x18]
push ecx
push eax
push str._s_s
mov esi, 0x20
lea edi, [esp + 0x118]
call fcn.0046eac0
mov esi, dword [esp + 0x54]
add esp, 0xc
push 0x1f
lea edx, [esp + 0xf0]
push esi
push edx
call fcn.004844d0
mov ebx, dword [esp + 0x2c]
add esp, 0xc
push 7
lea eax, [esp + 0xcc]
push ebx
push eax
mov byte [esp + 0x117], 0
call fcn.004844d0
mov eax, esi
sub eax, ebx
add esp, 0xc
mov byte [esp + 0xcf], 0
cmp eax, 8
jae 0x416c14
mov byte [esp + eax + 0xc8], 0
cmp byte [esp + 0xc8], 0
mov dword [esp + 0xa4], 0
jne case.0x416c45.14
movzx eax, byte [esp + 0x1f]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x416c45.14
movzx ecx, byte [eax + 0x417918]
jmp dword [ecx*4 + 0x417908]
mov edi, 0x4971a0
mov eax, ebx
call fcn.00408f20
test eax, eax
jne case.0x416c45.19
jmp case.0x416c45.14
lea edx, [esp + 0xec]
push str.Return
push edx
call fcn.00481691
add esp, 8
test eax, eax
jne case.0x416c45.14
mov byte [esp + 0x1f], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0xe2a4]
cmp byte [ebx + 0x16c], 0
je 0x416cc1
xor esi, esi
push esi
push 0xff
push esi
push 0x66
push ebx
mov byte [ebx + 0x16c], 0
call fcn.0041b3c0
test eax, eax
je 0x41756d
mov dword [ebx + 0x368], esi
push 1
push ebx
mov eax, edi
call fcn.00419000
test eax, eax
je 0x416fd2
xor edi, edi
cmp byte [ebp], 0
je 0x416d38
cmp dword [esp + 0x28], edi
jne 0x416d19
push edi
mov esi, ebp
call fcn.00409060
movzx edi, ax
add esp, 4
test di, di
jne 0x416d19
mov ebx, dword [esp + 0xe2a4]
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
mov ecx, ebx
call fcn.00419150
test eax, eax
je 0x4162c3
jmp 0x416d20
mov ebx, dword [esp + 0xe2a4]
push 0
push 0
push 0
push 0x66
push ebx
call fcn.0041b3c0
test eax, eax
je 0x4162c3
jmp 0x416d3f
mov ebx, dword [esp + 0xe2a4]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x416d7d
cmp byte [ecx], 0
je 0x4175bc
mov eax, dword [esp + 0xc0]
test eax, eax
jne 0x416d60
mov eax, 0x4957f9
mov edx, dword [esp + 0xb8]
push edx
push ebp
push eax
mov eax, dword [ebx + 0x14]
push eax
mov edi, ecx
call fcn.0040c2f0
add esp, 0x10
jmp 0x416541
mov ebp, dword [esp + 0x18]
lea ecx, [esp + 0x47]
push ecx
lea edx, [esp + 0xc0]
push edx
push ebp
call fcn.0040b9d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x416def
test di, di
je 0x416dab
mov word [esi + 2], di
jmp case.0x416c45.14
mov eax, esi
call fcn.0040af50
test eax, eax
jne 0x4175cd
mov eax, dword [esp + 0xbc]
mov edi, dword [ebx + 0x14]
push eax
call fcn.0040afb0
test eax, eax
je 0x4175e4
cmp byte [esp + 0x47], 0
jne 0x416de6
cmp byte [0x4a7472], 0
je case.0x416c45.14
mov byte [esi + 0x16], 1
jmp case.0x416c45.14
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xe2a4]
mov eax, dword [edx + 0x14]
push ecx
push 0
push edi
push eax
xor bl, bl
call fcn.0040a820
add esp, 0x10
jmp 0x416541
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
cmp byte [esi + edi - 1], 0x3a
lea ebp, [esi + edi]
jne 0x4170b5
cmp esi, 1
je 0x4175f1
mov al, byte [edi]
mov ecx, edi
test al, al
je 0x416e6f
mov dl, byte [0x4a3367]
mov bl, byte [0x4a33cd]
cmp al, 0x20
je 0x4170b5
cmp al, 9
je 0x4170b5
cmp al, dl
je 0x4170b5
cmp al, bl
je 0x4170b5
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x416e47
cmp byte [ebp - 2], 0x3a
jne 0x416efa
cmp esi, 2
jbe 0x416efa
mov esi, dword [esp + 0xe2a4]
cmp byte [esi + 0x16c], 0
je 0x416eb8
xor edi, edi
push edi
push 0xff
push edi
push 0x66
push esi
mov byte [esi + 0x16c], 0
call fcn.0041b3c0
test eax, eax
je 0x4175fc
mov dword [esi + 0x368], edi
mov ecx, dword [esp + 0x18]
push ecx
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 + 0x134]
call fcn.0046eac0
fldz
add esp, 8
push 0
sub esp, 8
fstp qword [esp]
push 0
mov edx, edi
push 0x10000
push edx
call fcn.004731e0
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
add esp, 0x18
dec esi
mov byte [esi + edi], 0
cmp byte [edi], 0
mov eax, esi
je 0x416fd2
cmp esi, 0xffffffff
jne 0x416f1d
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416f14
sub eax, edx
lea eax, [eax + edi - 1]
mov cl, byte [eax]
cmp cl, 0x20
je 0x416f2d
cmp cl, 9
jne 0x416f34
cmp eax, edi
je 0x416f3a
dec eax
jmp 0x416f21
mov byte [eax + 1], 0
jmp 0x416f49
mov cl, byte [eax]
cmp cl, 0x20
je 0x416f46
cmp cl, 9
jne 0x416f49
mov byte [eax], 0
cmp byte [edi], 0
je 0x416fd2
mov ebx, dword [esp + 0xe2a4]
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x416f77
mov eax, dword [esi]
push edi
push eax
call fcn.00481691
add esp, 8
test eax, eax
je 0x416fbd
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x416f60
cmp byte [edi], 0
je 0x41700e
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416f85
sub eax, edx
mov edi, eax
lea eax, [edi + 1]
call fcn.0046c020
mov esi, eax
xor ebp, ebp
cmp esi, ebp
je 0x41747a
cmp edi, ebp
je 0x416fb7
mov eax, dword [esp + 0x18]
push edi
push eax
push esi
call fcn.00489e00
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x417015
push edi
push str.Duplicate_label.
mov ecx, ebx
call fcn.0042d280
test eax, eax
jne case.0x416c45.14
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x417003
cmp byte [esp + 0x88], 0
je 0x416ff8
push eax
call fcn.004816a8
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
test eax, eax
jmp 0x4175a0
mov esi, 0x4957f9
xor ebp, ebp
cmp dword [0x4a8c38], ebp
jne 0x41702b
call fcn.0046c090
mov dword [0x4a8c38], eax
cmp eax, ebp
je 0x41707c
mov ecx, dword [0x4a8c3c]
cmp dword [ecx + 8], 0x10
jae 0x417049
call fcn.0046c090
mov ecx, dword [0x4a8c3c]
mov dword [ecx + 0xc], eax
cmp eax, ebp
je 0x41707c
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff0
lea edx, [eax + 0x10]
mov dword [0x4a8c40], eax
mov dword [ecx + 4], edx
cmp eax, ebp
je 0x41707c
mov dword [eax], esi
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov ecx, dword [ebx + 0x14]
mov dword [eax + 8], ecx
mov edi, eax
cmp dword [ebx + 0x10], ebp
jne 0x41708b
mov dword [ebx + 0x10], eax
jmp 0x417091
push 0x4957f9
push str.Out_of_memory.
jmp 0x416fc3
mov edx, dword [ebx + 0x14]
mov dword [edx + 0xc], eax
push str.OnClipboardChange
push esi
mov dword [ebx + 0x14], eax
call fcn.00481691
add esp, 8
test eax, eax
jne case.0x416c45.14
mov dword [ebx + 0x58c], edi
jmp case.0x416c45.14
cmp byte [edi], 0x23
mov ebx, dword [esp + 0xe2a4]
jne 0x4170f3
mov esi, dword [ebx + 0x168]
push edi
push ebx
call fcn.00417b00
test eax, eax
je 0x416fd2
cmp eax, 3
jne 0x4170f3
mov eax, dword [esp + 0xa8]
mov dword [ebx + 0x164], eax
mov dword [ebx + 0x168], esi
jmp case.0x416c45.14
mov al, byte [edi]
cmp al, 0x7b
je 0x417219
cmp al, 0x7d
je 0x417219
mov eax, dword [esp + 0x18]
mov edi, 0x4979ac
call fcn.00408f20
mov ebx, eax
test ebx, ebx
jne 0x41711b
mov ebx, ebp
mov ebp, dword [esp + 0x18]
mov edi, ebx
sub edi, ebp
push 0xffffffffffffffff
push edi
mov eax, str.Else
mov ecx, ebp
mov esi, 1
call fcn.0046eb50
add esp, 8
test eax, eax
je 0x41718a
push 0xffffffffffffffff
push edi
mov eax, 0x496498
mov ecx, ebp
call fcn.0046eb50
add esp, 8
test eax, eax
je 0x417196
push 0xffffffffffffffff
push edi
mov eax, str.Finally
mov ecx, ebp
call fcn.0046eb50
mov esi, eax
add esp, 8
test esi, esi
je 0x41718a
mov ecx, dword [esp + 0xe2a4]
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
call fcn.00419150
jmp 0x416541
neg esi
sbb esi, esi
and esi, 0xffffff97
add esi, 0x71
jmp 0x41719b
mov esi, 0x6e
xor edi, edi
push edi
push edi
push edi
push esi
mov esi, dword [esp + 0xe2b4]
push esi
call fcn.0041b3c0
test eax, eax
je 0x4175fc
mov dword [esi + 0x368], edi
mov eax, ebx
mov edi, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x4171cc
cmp cl, 9
jne 0x4171cf
inc eax
jmp 0x4171c0
mov dl, byte [eax]
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp dl, byte [0x4a3367]
jne 0x4171f3
lea ecx, [eax + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x4171ec
cmp al, 9
jne 0x4171ef
inc ecx
jmp 0x4171e2
mov dword [esp + 0x18], ecx
cmp byte [ecx], 0
je case.0x416c45.14
mov eax, ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417201
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [esi + 0x368], edi
jmp 0x4165e1
cmp al, 0x7b
push 0
setne al
push 0
add al, 0x72
movzx ecx, al
push 0
push ecx
push ebx
call fcn.0041b3c0
test eax, eax
je 0x416fd2
lea eax, [edi + 1]
jmp 0x417240
mov cl, byte [eax]
cmp cl, 0x20
je 0x41724c
cmp cl, 9
jne 0x41724f
inc eax
jmp 0x417240
cmp byte [eax], 0
mov dword [esp + 0x18], eax
je case.0x416c45.14
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417260
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [ebx + 0x368], 0
jmp 0x4165e1
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10c]
push eax
push str._s::
push ecx
call fcn.00481bc8
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x4165e1
mov dx, word [0x4979bc]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x26], 0
mov edi, dword [esp + 0xe2a4]
mov word [esi], dx
mov al, byte [0x4979be]
push 0
setne dl
push 1
add dl, 0xc0
mov byte [esi + 2], al
lea ecx, [esp + 0x20]
movzx eax, dl
push ecx
push eax
push edi
call fcn.0041b3c0
cmp byte [esp + 0x3a], 0
je 0x417316
lea ecx, [esp + 0xec]
push ecx
push str.if_not_GetKeyState___s__
push esi
call fcn.00481bc8
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa4], 9
jmp 0x4165e1
mov edi, dword [esp + 0xe2a4]
mov esi, dword [esp + 0x18]
mov ecx, 0x4957f9
cmp bl, 0x12
je 0x41732a
cmp bl, 0xa3
jbe 0x41734a
cmp bl, 0xa5
ja 0x41734a
movzx eax, byte [esp + 0x37]
sub eax, 0x11
je 0x417345
sub eax, 0x91
je 0x417345
dec eax
jne 0x41734a
mov ecx, str.RCtrl_up
jmp 0x41734a
mov ecx, str.LCtrl_up
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0xcc]
push eax
push ecx
push str.Blind_s_s_s_DownTemp
push esi
mov dword [edi + 0x368], 0
call fcn.00481bc8
add esp, 0x14
push 0
push 1
lea ecx, [esp + 0x20]
push ecx
push 0x40
push edi
call fcn.0041b3c0
test eax, eax
je 0x4162c3
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041b3c0
lea edx, [esp + 0x10c]
push edx
push str._s_up::
push esi
call fcn.00481bc8
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa4], 2
jmp 0x4165e1
mov ax, word [0x4979bc]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x26], 0
mov edi, dword [esp + 0xe2a4]
mov word [esi], ax
mov cl, byte [0x4979be]
push 0
setne al
push 1
add al, 0xc0
mov byte [esi + 2], cl
lea edx, [esp + 0x20]
movzx ecx, al
push edx
push ecx
push edi
call fcn.0041b3c0
lea edx, [esp + 0xec]
push edx
push str.Blind_s_Up
push esi
call fcn.00481bc8
add esp, 0xc
push 0
push 1
lea eax, [esp + 0x20]
push eax
push 0x40
push edi
call fcn.0041b3c0
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041b3c0
mov byte [esp + 0x1f], 0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0xe2a4]
lea edx, [esp + 0x433c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
cmp eax, edx
jne 0x41746a
lea eax, [esp + 0xa284]
mov dword [esp + 0x3c], eax
jmp 0x415ac1
lea ecx, [esp + 0x433c]
mov dword [esp + 0x3c], ecx
jmp 0x415ac1
mov edx, dword [esp + 0x18]
push edx
push str.Out_of_memory.
mov ecx, 0x4a8ce0
call fcn.0042d280
jmp 0x416fd2
mov ecx, dword [esp + 0xe2a4]
push ebx
push str.Continuation_section_too_long.
call fcn.0042d280
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414120
mov eax, esi
jmp 0x417700
lea eax, [esp + 0x334]
push eax
push 0x497834
mov ecx, ebp
jmp 0x4174a0
lea ecx, [esp + 0x334]
push ecx
push str.Expected_assignment_or_class_method_definition.
mov ecx, ebp
jmp 0x4174a0
lea edx, [esp + 0x334]
push edx
push str.Functions_cannot_contain_functions.
mov ecx, ebp
jmp 0x4174a0
push edi
push str.Expected_assignment_or_class_method_definition.
mov ecx, ebp
jmp 0x4174a0
push edi
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, dword [esp + 0xe2ac]
call fcn.0042d280
mov esi, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x417539
cmp byte [esp + 0x88], 0
je 0x41752e
push eax
call fcn.004816a8
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
test eax, eax
je 0x4174b0
push eax
call fcn.004816a8
add esp, 4
mov eax, esi
jmp 0x417700
push edi
mov dword [ebx + 0x368], eax
push str.IfWin_should_be_IfWin.
mov ecx, ebx
jmp 0x417501
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, esi
je 0x41759a
cmp byte [esp + 0x88], 0
je 0x417593
push eax
call fcn.004816a8
add esp, 4
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x7c]
cmp eax, esi
mov dword [esp + 0x4c], vtable.TextStream.0
je 0x4176fe
push eax
call fcn.004816a8
add esp, 4
jmp 0x4176fe
mov ecx, dword [esp + 0x18]
push ecx
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, ebx
jmp 0x4174a0
push ebp
mov dword [ebx + 0x368], 0
push str.Duplicate_hotkey.
mov ecx, ebx
jmp 0x4174a0
push ebp
push str.Out_of_memory.
mov ecx, ebx
jmp 0x4174a0
push edi
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x4174fa
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, edi
je 0x417629
cmp byte [esp + 0x88], 0
je 0x417622
push eax
call fcn.004816a8
add esp, 4
mov dword [esp + 0x80], edi
mov eax, dword [esp + 0x7c]
cmp eax, edi
jmp 0x4175a0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xe2a4]
push edx
push 0x497804
call fcn.0042d280
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00414120
mov eax, esi
jmp 0x417700
cmp byte [esp + 0x334], 0
je 0x4176ce
cmp byte [esp + 0x24], 0
mov eax, dword [esp + 0xac]
mov esi, dword [ebp + 0x168]
mov dword [ebp + 0x168], eax
je 0x4176a5
cmp byte [esp + 0x27], 0
mov eax, str.Missing___
jne 0x417695
mov eax, 0x497834
lea ecx, [esp + 0x334]
push ecx
push eax
mov ecx, ebp
jmp 0x4174a0
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x34c]
push edx
mov ecx, ebp
call fcn.00419150
test eax, eax
je 0x4162c3
mov dword [ebp + 0x168], esi
inc dword [ebp + 0x168]
lea ecx, [esp + 0x4c]
call fcn.00414120
mov eax, 1
jmp 0x417700
fldz
push 0
sub esp, 8
fstp qword [esp]
push ebx
push 0
push str.Could_not_extract_script_from_EXE.
call fcn.004731e0
add esp, 0x18
xor eax, eax
mov ecx, dword [esp + 0xe294]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xe290
ret 4