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

Disassembly:
push 0xffffffffffffffff
push 0x495a0b
mov eax, dword fs:[0]
push eax
mov eax, 0xe28c
mov dword fs:[0], esp
call fcn.004915d0
push ebx
push ebp
mov ebp, dword [esp + 0xe2a4]
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x4181a6
cmp byte [ebx], 0
je 0x4181a6
mov eax, dword [0x4abcc4]
mov dword [esp + 0x9c], eax
test eax, eax
jne 0x416188
mov eax, dword [ebp + 0x5e8]
mov dword [0x4a9cb8], eax
push 0x4000
xor esi, esi
lea ecx, [esp + 0x341]
push esi
push ecx
mov byte [esp + 0x348], 0
call fcn.0048e2d0
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 0x4161fe
push 0xa
push str._AHK_WITH_ICON_
push eax
call edi
mov esi, eax
test esi, esi
je 0x41818c
push esi
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0xdc], eax
cmp eax, edi
je 0x41818c
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x41818c
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [esp + 0xd8], eax
cmp eax, edi
je 0x41818c
lea esi, [esp + 0x4c]
call fcn.00414890
push 0xc
mov eax, 0xfde9
lea edx, [esp + 0xdc]
mov ecx, esi
mov dword [esp + 0xe2a8], edi
call fcn.0046fc90
mov ecx, dword [esp + 0x9c]
inc dword [0x4abcc4]
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.00418420
push 2
lea edx, [esp + 0x4348]
push 0x49a7e4
push edx
mov dword [esp + 0x2c], eax
call fcn.00486f36
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x1f], al
test al, al
je 0x4162d3
mov byte [esp + 0x4344], 0
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], 0xffffffff
je 0x4180e8
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.00485880
add esp, 0xc
test eax, eax
jne 0x41631b
push esi
push ebp
call fcn.004185b0
test eax, eax
je 0x416b07
mov byte [esp + 0xb4], 0
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x3c]
inc dword [esp + 0xb0]
test ebx, ebx
je 0x4163bf
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x4c]
mov ecx, esi
mov edx, ebx
call fcn.00418420
mov edi, eax
mov dword [esp + 0x40], edi
test edi, edi
je 0x4163f9
cmp edi, 0xffffffff
je 0x4163f9
test esi, esi
jne 0x4163f9
push 2
push 0x49a7f8
push ebx
call fcn.00486f36
add esp, 0xc
test eax, eax
jne 0x4163c8
cmp byte [esp + 0x1f], al
jne 0x416390
cmp byte [ebx + 2], 0x3a
jne 0x416390
cmp byte [ebx + 3], 0x3a
je 0x4163d3
lea ecx, [edi - 1]
push ecx
lea edx, [ebx + 2]
push edx
push ebx
mov byte [esp + 0x2b], 0
call fcn.004859e0
lea eax, [edi - 2]
add esp, 0xc
mov edi, ebx
call fcn.00412940
cmp byte [ebx], 0
mov dword [esp + 0x40], eax
je 0x416327
jmp 0x4163d3
or edi, 0xffffffff
mov dword [esp + 0x40], edi
jmp 0x4163f9
cmp byte [esp + 0x1f], 0
jne 0x416327
mov ebx, dword [esp + 0x3c]
push 2
push 0x49a7e4
push ebx
call fcn.00486f36
add esp, 0xc
test eax, eax
jne 0x4163f5
mov byte [esp + 0x1f], 1
jmp 0x416327
mov edi, dword [esp + 0x40]
cmp byte [esp + 0x1f], 0
je 0x41640e
cmp edi, 0xffffffff
jne 0x416327
jmp 0x416a42
xor eax, eax
cmp dword [esp + 0x28], eax
jne 0x416884
cmp edi, 0xffffffff
je 0x416482
cmp byte [ebx], 0x28
jne 0x416482
cmp byte [ebx + 1], 0x3a
lea esi, [ebx + 1]
je 0x416482
cmp byte [edi + ebx - 1], 0x3a
je 0x416482
mov dl, byte [0x4aa51a]
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 0x41647e
cmp al, 9
jne 0x4166ba
add esi, ecx
jmp 0x416470
mov dword [esp + 0x28], eax
cmp edi, 0xffffffff
je 0x416a42
cmp edi, eax
je 0x416327
cmp byte [edi + ebx - 1], 0x3a
jne 0x4164a7
cmp byte [ebx], 0x2c
jne 0x416a42
mov al, byte [ebx]
call fcn.00409310
cmp al, 0x41
je 0x416622
cmp al, 0x4f
je 0x4165ef
mov al, byte [ebx]
cmp al, 0x3a
je 0x4164cc
cmp al, 0x2b
je 0x4164cc
cmp al, 0x2d
jne 0x4164d5
cmp byte [ebx + 1], al
je 0x416a42
movsx eax, al
push eax
push str.____:.___
call fcn.00485df1
add esp, 8
test eax, eax
je 0x416a42
push 0x49a820
push ebx
call fcn.00485f32
mov edi, eax
add esp, 8
test edi, edi
je 0x416676
cmp byte [ebx], 0x3a
jne 0x416551
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
test al, al
je 0x416548
cmp al, 0x3a
je 0x416a42
mov ecx, 0x107
call fcn.004092f0
test eax, eax
jne 0x416540
movsx eax, byte [esi]
push eax
push str.____t
call fcn.00485df1
add esp, 8
test eax, eax
je 0x416551
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x416515
cmp byte [esi], 0x3a
je 0x416a42
mov ebx, dword [esp + 0x3c]
cmp byte [ebx], 0x2c
jne 0x4165a3
lea esi, [ebx + 1]
lea ecx, [ecx]
mov al, byte [esi]
cmp al, 0x20
je 0x41656a
cmp al, 9
jne 0x41656d
inc esi
jmp 0x416560
push 2
push 0x49a820
push esi
call fcn.00486f36
add esp, 0xc
test eax, eax
je 0x416a42
push 3
push 0x499ff4
dec esi
push esi
call fcn.00486f36
add esp, 0xc
test eax, eax
je 0x416a42
jmp 0x416676
mov eax, ebx
cmp ebx, edi
jae 0x4165ba
lea esp, [esp]
cmp byte [eax], 0x22
je 0x4165ba
inc eax
cmp eax, edi
jb 0x4165b0
cmp eax, edi
je 0x416a42
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x416a42
cmp al, 0x22
je 0x4165e1
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4165d0
jmp 0x416a42
cmp byte [ecx], 0
je 0x416a42
jmp 0x416676
mov al, byte [ebx + 1]
call fcn.00409310
cmp al, 0x52
jne 0x416a42
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x20
je 0x416615
cmp al, 9
je 0x416615
cmp al, 0xa0
jne 0x416a42
mov al, byte [ecx]
cmp al, 0x20
je 0x41661f
cmp al, 9
jne 0x41665d
inc ecx
jmp 0x416615
push 3
push 0x49a7fc
push ebx
call fcn.00485880
add esp, 0xc
test eax, eax
jne 0x416a42
mov al, byte [ebx + 3]
lea ecx, [ebx + 3]
cmp al, 0x20
je 0x416650
cmp al, 9
je 0x416650
cmp al, 0xa0
jne 0x416a42
mov al, byte [ecx]
cmp al, 0x20
je 0x41665a
cmp al, 9
jne 0x41665d
inc ecx
jmp 0x416650
movsx eax, byte [ecx]
push eax
push str.____:
call fcn.00485df1
add esp, 8
test eax, eax
jne 0x416a42
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x417edb
cmp byte [ebx], 0x2c
je 0x41669a
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.0048d700
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
jmp 0x416327
cmp byte [esi], 0
je 0x416877
mov edi, 0x499ffc
mov eax, esi
call fcn.00409340
mov ebp, eax
test ebp, ebp
jne 0x4166ec
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4166e0
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.00485880
add esp, 0xc
test eax, eax
jne 0x4167d9
push 0xf
add esi, 4
lea eax, [esp + 0xe8]
push esi
push eax
call fcn.00487da0
mov bl, byte [0x4a63cd]
mov byte [esp + 0xff], 0
lea ecx, [esp + 0xf0]
mov al, byte [ecx]
add esp, 0xc
test al, al
je 0x41674c
cmp al, bl
je 0x41676f
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x416740
lea eax, [esp + 0xe4]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416756
mov bl, byte [esp + 0x15]
sub eax, edx
mov dword [esp + 0xac], eax
jmp 0x41685c
cmp byte [ecx], 0
je 0x41674c
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x41678a.99
movzx edx, byte [eax + 0x4181e8]
jmp dword [edx*4 + 0x4181c4]
mov byte [esi], 7
jmp case.0x41678a.99
mov byte [esi], 8
jmp case.0x41678a.99
mov byte [esi], 0xc
jmp case.0x41678a.99
mov byte [esi], 0xa
jmp case.0x41678a.99
mov byte [esi], 0xd
jmp case.0x41678a.99
mov byte [esi], 9
jmp case.0x41678a.99
mov byte [esi], 0xb
jmp case.0x41678a.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 0x4167c0
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.004859e0
mov ecx, esi
jmp 0x416737
push 5
push 0x49a854
push esi
call fcn.00485880
add esp, 0xc
test eax, eax
jne 0x4167f8
cmp byte [esi + 5], 0x30
setne byte [esp + 0x3a]
jmp 0x41685c
push 5
push str.RTrim
push esi
call fcn.00485880
add esp, 0xc
test eax, eax
jne 0x416817
cmp byte [esi + 5], 0x30
setne byte [esp + 0x39]
jmp 0x41685c
mov al, byte [esi]
test al, al
je 0x41685c
mov ecx, 2
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x416834.38
movzx eax, byte [eax + 0x418218]
jmp dword [eax*4 + 0x418200]
mov byte [esp + 0x3b], 1
jmp case.0x416834.38
mov byte [esp + 0x37], 1
jmp case.0x416834.38
mov byte [esp + 0x36], 0
jmp case.0x416834.38
mov dword [esp + 0x28], ecx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x416822
mov byte [ebp], bl
mov esi, ebp
mov al, byte [esi]
cmp al, 0x20
je 0x41686b
cmp al, 9
jne 0x41686e
inc esi
jmp 0x416861
cmp byte [esi], 0
jne 0x4166c3
mov byte [esp + 0xb4], 1
jmp 0x416327
cmp edi, 0xffffffff
je 0x4180c0
cmp edi, 0xfffffffe
je 0x416327
cmp byte [ebx], 0x29
jne 0x4168bc
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
or eax, 0xffffffff
lea ebx, [esi + 1]
call fcn.004129b0
dec eax
mov dword [esp + 0x40], eax
mov ebp, eax
mov edi, esi
jmp 0x4169bb
mov edi, dword [esp + 0x3c]
mov ebx, edi
cmp byte [esp + 0x39], al
je 0x4168d7
mov eax, dword [esp + 0x40]
mov esi, edi
call fcn.004129b0
mov ebp, eax
jmp 0x4168db
mov ebp, dword [esp + 0x40]
cmp byte [esp + 0x3a], 0
je 0x4168eb
mov eax, ebp
call fcn.00412940
mov ebp, eax
xor esi, esi
cmp byte [esp + 0x3b], 0
je 0x416926
mov al, byte [0x4a63cd]
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.004728a0
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x37], 0
je 0x416966
mov al, byte [0x4a63cc]
mov cl, byte [0x4a63cd]
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.004728a0
add esp, 0x18
add esi, eax
cmp byte [esp + 0x36], 0
je 0x4169a6
mov al, byte [0x4a6367]
mov cl, byte [0x4a63cd]
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.004728a0
add esp, 0x18
add esi, eax
test esi, esi
je 0x4169bb
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4169b0
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 0x417edb
mov ecx, dword [esp + 0xc0]
inc ecx
mov dword [esp + 0xc0], ecx
cmp ecx, 1
jle 0x416a17
test eax, eax
je 0x416a17
cmp ebx, edi
jne 0x416a17
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.0048d700
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
test ebp, ebp
je 0x416327
mov ecx, dword [esp + 0x18]
lea eax, [ebp + 1]
push eax
lea edx, [esi + ecx]
push ebx
push edx
call fcn.0048d700
add esp, 0xc
add esi, ebp
mov dword [esp + 0x20], esi
jmp 0x416327
mov byte [ebp], bl
cmp dword [esp + 0x20], 0
je case.0x4177bc.14
cmp byte [esp + 0x33c], 0
je 0x416bdf
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 0x416adb
test bl, bl
jne 0x416adb
cmp dword [esp + 0x48], 0
jne 0x417eff
mov esi, eax
cmp dword [esi + 0x48], 0
je 0x416aab
mov eax, dword [0x4a6440]
cmp dword [eax + 0x94], 0
je 0x417f10
push 0
push 0
push 0
push 0
push 0
push 3
lea ecx, [esp + 0x354]
push ecx
mov ecx, esi
call fcn.00419ce0
test eax, eax
je 0x416b07
mov dword [esi + 0x370], 0
mov ebp, esi
jmp 0x416b7d
mov eax, dword [esp + 0x48]
sub eax, 0
je 0x416b29
dec eax
mov ebp, dword [esp + 0xe2ac]
je 0x416b15
dec eax
jne 0x416b7d
lea edx, [esp + 0x33c]
push edx
push ebp
call fcn.0041e6c0
test eax, eax
jne 0x416b7d
lea ecx, [esp + 0x4c]
call fcn.004148f0
jmp 0x4181a6
lea eax, [esp + 0x33c]
push eax
push ebp
call fcn.0041e210
test eax, eax
je 0x416b07
jmp 0x416b7d
mov ecx, dword [0x4a6440]
cmp dword [ecx + 0x94], 0
jne 0x417f30
mov ebp, dword [esp + 0xe2ac]
lea edx, [esp + 0x834c]
push edx
lea eax, [esp + 0x340]
push eax
push ebp
call fcn.0041d730
test eax, eax
je 0x416b07
test bl, bl
je 0x416b7d
push 0
push 0
push 0
push 0x73
push ebp
call fcn.0041be90
test eax, eax
je 0x416b07
mov dword [ebp + 0x370], 0
cmp dword [esp + 0x48], 0
mov byte [esp + 0x33c], 0
je 0x416bd9
test bl, bl
jne 0x416bd9
mov ebx, dword [esp + 0x18]
lea ecx, [ebx + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x416ba1
cmp al, 9
jne 0x416ba4
inc ecx
jmp 0x416b97
cmp byte [ecx], 0
jne 0x416bb4
mov dword [ebp + 0x170], edi
jmp case.0x4177bc.14
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416bc0
sub eax, esi
mov dword [esp + 0x20], eax
inc eax
push eax
push ecx
push ebx
call fcn.004859e0
add esp, 0xc
mov dword [ebp + 0x170], edi
mov ebp, dword [esp + 0x18]
cmp byte [ebp], 0x7d
mov ebx, dword [esp + 0xe2ac]
jne 0x416cbc
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x416cbc
mov ecx, dword [0x4a6440]
cmp dword [ecx + 0x94], 0
jne 0x416cbc
cmp dword [ebx + 0x164], 0
je 0x416c44
mov eax, dword [ebx + 0x168]
mov dword [ebx + 0x164], 0
test eax, eax
je 0x416c7a
push eax
call fcn.00484e18
add esp, 4
mov dword [ebx + 0x168], 0
jmp 0x416c7a
dec eax
mov dword [ebx + 0x48], eax
mov edi, dword [ebx + eax*4 + 0x4c]
call fcn.0046be80
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.00486ffa
add esp, 8
test eax, eax
je 0x416c77
mov byte [eax], 0
jmp 0x416c7a
mov byte [esi], 0
lea eax, [ebp + 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x416c8c
cmp cl, 9
jne 0x416c8f
inc eax
jmp 0x416c80
cmp byte [eax], 0
mov dword [esp + 0x18], eax
je case.0x4177bc.14
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416ca0
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [ebx + 0x370], 0
jmp 0x416a42
cmp dword [ebx + 0x164], 0
je 0x416d88
mov eax, dword [0x4a6440]
cmp dword [eax + 0x94], 0
jne 0x416d88
push 3
push 0x49a8d4
push ebp
call fcn.00485880
add esp, 0xc
test eax, eax
je 0x416d07
push 3
push 0x49a8d8
push ebp
call fcn.00485880
add esp, 0xc
test eax, eax
jne 0x417f5b
lea esi, [ebp + 3]
lea ebx, [ebx]
mov al, byte [esi]
cmp al, 0x20
je 0x416d1a
cmp al, 9
jne 0x416d1d
inc esi
jmp 0x416d10
mov al, byte [esi]
test al, al
je 0x416d35
cmp al, 0x7b
jne 0x417f5b
cmp byte [esi + 1], 0
jne 0x417f5b
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 0x416d44
lea ecx, [esp + 0x33c]
push 0x2e
push ecx
call fcn.00485df1
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.0x4177bc.14
mov edi, dword [esp + 0x18]
lea ebx, [esp + 0x1e]
mov eax, edi
call fcn.00415ff0
test al, al
je 0x416dd1
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 0x416da6
mov ecx, dword [esp + 0xe2ac]
mov edx, dword [ecx + 0x170]
mov dword [esp + 0x94], edx
mov dword [esp + 0x48], 0
jmp case.0x4177bc.14
mov eax, dword [0x4a6440]
cmp dword [eax + 0x94], 0
jne 0x416f82
lea ecx, [esp + 0x1e]
push ecx
mov eax, edi
call fcn.004160a0
add esp, 4
test eax, eax
je 0x416e2b
lea edx, [esp + 0x33c]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416e00
mov edx, dword [esp + 0xe2ac]
mov eax, dword [edx + 0x170]
mov dword [esp + 0x94], eax
mov dword [esp + 0x48], 1
jmp case.0x4177bc.14
mov ebx, dword [esp + 0xe2ac]
cmp dword [ebx + 0x48], 0
je 0x416f82
mov esi, edi
mov edi, edi
movzx eax, byte [esi]
test eax, 0xffffff80
jne 0x416e5c
push 0x107
push eax
call fcn.0048633e
add esp, 8
test eax, eax
jne 0x416e66
mov al, byte [esi]
cmp al, 0x5f
je 0x416e66
cmp al, 0x2e
jne 0x416e69
inc esi
jmp 0x416e40
cmp esi, edi
jbe 0x416f07
mov al, byte [esi]
cmp al, 0x20
je 0x416e7b
cmp al, 9
jne 0x416e7e
inc esi
jmp 0x416e71
mov al, byte [esi]
cmp al, 0x3a
jne 0x416ea0
cmp byte [esi + 1], 0x3d
jne 0x416ea0
push 0
push edi
push ebx
call fcn.0041e870
test eax, eax
je 0x416b07
jmp case.0x4177bc.14
test al, al
je 0x416eb2
cmp al, 0x5b
je 0x416eb2
cmp al, 0x7b
jne 0x416f07
cmp byte [esi + 1], 0
jne 0x416f07
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416eb7
sub eax, edx
cmp byte [eax + edi - 1], 0x7b
sete cl
mov byte [esp + 0x1e], cl
test cl, cl
je 0x416ed8
dec eax
mov esi, edi
call fcn.004129b0
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 0x416ee3
mov ecx, dword [ebx + 0x170]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x48], 2
jmp case.0x4177bc.14
push 6
push str.Static
push edi
call fcn.00485880
add esp, 0xc
test eax, eax
jne 0x416f3f
mov al, byte [edi + 6]
cmp al, 0x20
je 0x416f26
cmp al, 9
jne 0x416f3f
push 1
add edi, 7
push edi
push ebx
call fcn.0041e870
test eax, eax
je 0x416b07
jmp case.0x4177bc.14
cmp byte [edi], 0x23
jne 0x417f65
mov esi, dword [ebx + 0x170]
push edi
push ebx
call fcn.004185b0
test eax, eax
je 0x416b07
cmp eax, 3
jne 0x417f65
mov edx, dword [esp + 0x9c]
mov dword [ebx + 0x16c], edx
mov dword [ebx + 0x170], esi
jmp case.0x4177bc.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 0x417012
mov cl, byte [edi + 1]
lea eax, [edi + 1]
test cl, cl
je 0x417012
cmp cl, 0x3a
je 0x416fc8
push 0x3a
push eax
mov dword [esp + 0xc4], eax
call fcn.00485df1
add esp, 8
cmp eax, esi
jne 0x416fc5
mov dword [esp + 0x28], esi
jmp 0x417012
inc eax
jmp 0x416fd1
cmp byte [edi + 2], 0
lea eax, [edi + 2]
je 0x417012
mov dword [esp + 0x28], eax
cmp eax, esi
je 0x417012
mov edi, eax
jmp 0x416fe0
mov al, byte [edi]
test al, al
je 0x417000
mov cl, byte [0x4a63cd]
lea esp, [esp]
cmp al, cl
je 0x417069
cmp al, 0x3a
je 0x417069
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x416ff0
test ebp, ebp
jne 0x417166
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
xor esi, esi
push 0x49a820
push edi
call fcn.00485f32
mov ebp, eax
add esp, 8
cmp ebp, esi
je 0x4179d1
cmp ebp, edi
jne 0x417035
cmp byte [ebp + 2], 0x3a
jne 0x417035
inc ebp
mov esi, ebp
cmp ebp, edi
jbe 0x41704f
jmp 0x417040
mov al, byte [esi]
cmp al, 0x20
je 0x41704a
cmp al, 9
jne 0x41704f
dec esi
cmp esi, edi
ja 0x417040
mov bl, byte [esi]
mov byte [esi], 0
mov eax, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x417066
cmp cl, 9
jne 0x4170ea
inc eax
jmp 0x417056
mov al, byte [edi]
test al, al
je 0x417000
lea esi, [edi + 1]
cmp al, 0x3a
jne 0x417084
cmp byte [esi], al
jne 0x4170e4
mov ebp, edi
mov edi, esi
inc edi
jmp 0x416fe0
movsx eax, byte [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x417096.99
movzx eax, byte [eax + 0x418278]
jmp dword [eax*4 + 0x418258]
mov byte [esi], 7
jmp case.0x417096.99
mov byte [esi], 8
jmp case.0x417096.99
mov byte [esi], 0xc
jmp case.0x417096.99
mov byte [esi], 0xa
jmp case.0x417096.99
mov byte [esi], 0xd
jmp case.0x417096.99
mov byte [esi], 9
jmp case.0x417096.99
mov byte [esi], 0xb
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4170c3
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.004859e0
add esp, 0xc
cmp byte [edi], 0x3a
jne 0x4170e4
cmp byte [esi], 0x3a
jne 0x4170e4
mov edi, esi
inc edi
jmp 0x416fe0
push 0
push 0
push eax
call fcn.0040b5d0
add esp, 0xc
mov dword [esp + 0xcc], eax
test eax, eax
je 0x41715a
cmp eax, 4
jne 0x41715c
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x417138
cmp byte [esp + 0x88], 0
je 0x41712d
push eax
call fcn.00484e18
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
test eax, eax
mov dword [esp + 0x4c], vtable.TextStream.0
je 0x4181a6
push eax
call fcn.00484e18
add esp, 4
jmp 0x4181a6
xor ebp, ebp
mov byte [esi], bl
test ebp, ebp
je 0x4179d1
cmp ebp, dword [esp + 0x18]
jbe 0x4179d1
mov ecx, dword [0x4a6440]
cmp dword [ecx + 0x94], 0
jne 0x417f72
mov edi, dword [esp + 0xe2ac]
mov eax, dword [edi + 4]
test eax, eax
je 0x41719a
cmp byte [eax], 0x1a
je 0x417fdf
mov byte [ebp], 0
add ebp, 2
cmp dword [esp + 0x28], 0
mov dword [esp + 0x20], ebp
jne 0x417805
cmp byte [ebp], 0
je 0x4171e5
mov ecx, ebp
mov al, byte [ecx]
cmp al, 0x20
je 0x4171c2
cmp al, 9
jne 0x4171c5
inc ecx
jmp 0x4171b8
mov edx, ecx
sub edx, ebp
je 0x4171e5
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4171d0
sub eax, esi
inc eax
push eax
push ecx
push ebp
call fcn.004859e0
add esp, 0xc
mov ebx, dword [esp + 0x18]
cmp byte [ebx], 0
je 0x417228
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4171f3
sub eax, edx
lea eax, [eax + ebx - 1]
mov cl, byte [eax]
cmp cl, 0x20
je 0x41720c
cmp cl, 9
jne 0x417213
cmp eax, ebx
je 0x417219
dec eax
jmp 0x417200
mov byte [eax + 1], 0
jmp 0x417228
mov cl, byte [eax]
cmp cl, 0x20
je 0x417225
cmp cl, 9
jne 0x417228
mov byte [eax], 0
cmp byte [ebp], 0
mov dword [esp + 0xa8], ebp
je 0x417809
cmp byte [ebp + 1], 0
je 0x4174b6
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.00484e01
add esp, 8
test eax, eax
je case.0x417282.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x417282.34
movzx eax, byte [eax + 0x4182b0]
jmp dword [eax*4 + 0x418290]
mov bl, 1
jmp case.0x417282.36
mov byte [esp + 0x15], 1
jmp case.0x417282.36
test bl, bl
jne 0x4172ac
cmp byte [esp + 0x15], bl
jne 0x4172b3
or edi, 1
jmp case.0x417282.36
cmp byte [esp + 0x15], 0
je 0x4172bd
or byte [esp + 0x17], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417282.36
or byte [esp + 0x17], 8
jmp 0x417351
test bl, bl
jne 0x4172e1
cmp byte [esp + 0x15], bl
jne 0x4172e8
or edi, 2
jmp case.0x417282.36
cmp byte [esp + 0x15], 0
je 0x4172f2
or byte [esp + 0x17], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417282.36
or byte [esp + 0x17], 2
jmp 0x417351
test bl, bl
jne 0x41730c
cmp byte [esp + 0x15], bl
jne 0x417313
or edi, 4
jmp case.0x417282.36
cmp byte [esp + 0x15], 0
je 0x41731d
or byte [esp + 0x17], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417282.36
or byte [esp + 0x17], 0x20
jmp 0x417351
test bl, bl
jne 0x417337
cmp byte [esp + 0x15], bl
jne 0x41733e
or edi, 8
jmp case.0x417282.36
cmp byte [esp + 0x15], 0
je 0x417348
or byte [esp + 0x17], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x417282.36
or byte [esp + 0x17], 0x80
xor bl, bl
mov esi, ebp
cmp byte [esi + 1], 0
jne 0x417253
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 0x41744a
cmp byte [esi + 1], 0
jne 0x4173cb
mov byte [esp + 0xd0], cl
cmp cl, 0xa
jne 0x417398
mov al, 0xd
jmp 0x41744c
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 0x4173bc
cmp cl, 0xff
je 0x41744a
and al, 0x38
neg al
sbb al, al
not al
and al, cl
jmp 0x41744c
movzx edi, cl
test edi, 0xffffff80
jne 0x4173e8
push 2
push edi
call fcn.0048633e
add esp, 8
test eax, eax
je 0x4173e8
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x56
jne 0x41740c
mov al, byte [esi + 1]
call fcn.00409310
cmp al, 0x4b
jne 0x41740c
push 0x10
push 0
add esi, 2
push esi
call fcn.00486784
add esp, 0xc
jmp 0x41744c
xor edi, edi
mov edi, edi
mov eax, dword [edi*8 + 0x4a7180]
push esi
push eax
call fcn.00484e01
add esp, 8
test eax, eax
je 0x417441
inc edi
cmp edi, 0x6d
jl 0x417410
mov eax, esi
call fcn.00411c10
movzx ecx, ax
test cx, cx
je 0x41744a
call fcn.00412370
jmp 0x41744c
mov al, byte [edi*8 + 0x4a7184]
jmp 0x41744c
xor al, al
mov byte [esp + 0x1c], al
test al, al
je 0x4177fa
mov bl, al
mov ebp, dword [esp + 0x18]
cmp byte [ebp], 0
mov esi, ebp
je 0x4175ab
xor bl, bl
lea edi, [ebp + 1]
mov byte [esp + 0x15], 0
cmp byte [edi], bl
je 0x4175a3
mov ebp, dword [esp + 0xa4]
push 0x499ff8
push edi
call fcn.00484e01
add esp, 8
test eax, eax
je case.0x4174af.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x4174af.34
movzx eax, byte [eax + 0x418330]
jmp dword [eax*4 + 0x418310]
or bl, 0xff
mov byte [esp + 0x1c], bl
jmp 0x41745a
mov bl, 1
jmp case.0x4174af.36
mov byte [esp + 0x15], 1
jmp case.0x4174af.36
test bl, bl
jne 0x4174e2
cmp byte [esp + 0x15], bl
jne 0x4174e9
or ebp, 1
jmp case.0x4174af.36
cmp byte [esp + 0x15], 0
je 0x4174f3
or byte [esp + 0x16], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x4174af.36
or byte [esp + 0x16], 8
jmp 0x41758b
test bl, bl
jne 0x417517
cmp byte [esp + 0x15], bl
jne 0x41751e
or ebp, 2
jmp case.0x4174af.36
cmp byte [esp + 0x15], 0
je 0x417528
or byte [esp + 0x16], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x4174af.36
or byte [esp + 0x16], 2
jmp 0x41758b
test bl, bl
jne 0x417546
cmp byte [esp + 0x15], bl
jne 0x41754d
or ebp, 4
jmp case.0x4174af.36
cmp byte [esp + 0x15], 0
je 0x417557
or byte [esp + 0x16], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x4174af.36
or byte [esp + 0x16], 0x20
jmp 0x41758b
test bl, bl
jne 0x417571
cmp byte [esp + 0x15], bl
jne 0x417578
or ebp, 8
jmp case.0x4174af.36
cmp byte [esp + 0x15], 0
je 0x417582
or byte [esp + 0x16], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x4174af.36
or byte [esp + 0x16], 0x80
xor bl, bl
mov esi, edi
cmp byte [esi + 1], 0
lea edi, [esi + 1]
jne 0x417483
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 0x4175e3
mov byte [esp + 0x1d], 0
xor al, al
lea ecx, [ebx - 1]
cmp cl, 5
ja 0x4175cd
cmp bl, 3
jne 0x4175d9
add bl, 0x66
cmp bl, 5
ja 0x4176da
mov byte [esp + 0x27], 1
jmp 0x4176df
cmp byte [esi + 1], 0
jne 0x417632
mov byte [esp + 0xd4], cl
cmp cl, 0xa
jne 0x4175fc
mov al, 0xd
jmp 0x4176a8
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 0x417623
cmp cl, 0xff
jne 0x417623
xor al, al
jmp 0x4176a8
and al, 0x38
neg al
sbb al, al
not al
and al, cl
jmp 0x4176a8
movzx edi, cl
test edi, 0xffffff80
jne 0x41764f
push 2
push edi
call fcn.0048633e
add esp, 8
test eax, eax
je 0x41764f
and edi, 0xffffffdf
mov eax, edi
cmp al, 0x56
jne 0x417673
mov al, byte [esi + 1]
call fcn.00409310
cmp al, 0x4b
jne 0x417673
push 0x10
lea eax, [esi + 2]
push 0
push eax
call fcn.00486784
add esp, 0xc
jmp 0x4176a8
xor edi, edi
mov eax, dword [edi*8 + 0x4a7180]
push esi
push eax
call fcn.00484e01
add esp, 8
test eax, eax
je 0x4176cd
inc edi
cmp edi, 0x6d
jl 0x417675
mov eax, esi
call fcn.00411c10
movzx ecx, ax
test cx, cx
je 0x4175b9
call fcn.00412370
mov byte [esp + 0x1d], al
mov al, byte [esp + 0x1d]
lea edx, [eax - 1]
cmp dl, 5
ja 0x4176bc
cmp al, 3
jne 0x4176c6
add al, 0x66
cmp al, 5
ja 0x4175be
mov al, 1
jmp 0x4175c0
mov cl, byte [edi*8 + 0x4a7184]
mov byte [esp + 0x1d], cl
jmp 0x4176ac
mov byte [esp + 0x27], 0
test al, al
jne 0x4176ee
mov byte [esp + 0x38], 1
cmp byte [esp + 0x27], al
jne 0x4176f3
mov byte [esp + 0x38], 0
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4176f8
sub eax, edx
cmp eax, 1
jne 0x417719
movzx edx, byte [esi]
push edx
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x49a950
jne 0x41771e
mov eax, 0x4987f9
push ebp
push eax
push str._s_s
mov esi, 0x20
lea edi, [esp + 0x120]
call fcn.004720e0
mov esi, dword [esp + 0xb4]
add esp, 0xc
push 0x1f
lea eax, [esp + 0xf8]
push esi
push eax
call fcn.00487da0
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.00487da0
mov eax, esi
sub eax, ebx
add esp, 0xc
mov byte [esp + 0xcb], 0
cmp eax, 8
jae 0x41778b
mov byte [esp + eax + 0xc4], 0
cmp byte [esp + 0xc4], 0
mov dword [esp + 0xa0], 0
jne case.0x4177bc.14
movzx eax, byte [esp + 0x1c]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x4177bc.14
movzx edx, byte [eax + 0x4183a0]
jmp dword [edx*4 + 0x418390]
mov edi, 0x49a1c8
mov eax, ebx
call fcn.00409340
test eax, eax
jne case.0x4177bc.19
jmp case.0x4177bc.14
lea eax, [esp + 0xf4]
push str.Return
push eax
call fcn.00484e01
add esp, 8
test eax, eax
jne case.0x4177bc.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 0x417838
xor esi, esi
push esi
push 0xff
push esi
push 0x67
push edi
mov byte [edi + 0x174], 0
call fcn.0041be90
test eax, eax
je 0x417ff5
mov dword [edi + 0x370], esi
push 1
push edi
mov eax, ebx
call fcn.00419b80
test eax, eax
je 0x417107
xor esi, esi
cmp byte [ebp], 0
je 0x41789d
cmp dword [esp + 0x28], esi
jne 0x417887
push esi
mov esi, ebp
call fcn.004095a0
movzx esi, ax
add esp, 4
test si, si
jne 0x417887
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
mov ecx, edi
call fcn.00419ce0
test eax, eax
je 0x416b07
push 0
push 0
push 0
push 0x67
push edi
call fcn.0041be90
test eax, eax
je 0x417107
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4178e5
cmp byte [eax], 0
je 0x418044
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x4178be
mov eax, 0x4987f9
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.0040c7c0
add esp, 0x10
test eax, eax
je 0x416b07
jmp case.0x4177bc.14
lea eax, [esp + 0x47]
push eax
lea ecx, [esp + 0xbc]
push ecx
push ebx
call fcn.0040bdd0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x41795a
test si, si
je 0x41790f
mov word [edi + 2], si
jmp case.0x4177bc.14
mov eax, edi
call fcn.0040b430
test eax, eax
jne 0x418051
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0xe2ac]
mov eax, dword [esi + 0x14]
push edx
call fcn.0040b490
test eax, eax
je 0x41806d
cmp byte [esp + 0x47], 0
jne 0x417951
cmp byte [0x4aa51b], 0
je case.0x4177bc.14
mov byte [edi + 0x16], 1
jmp case.0x4177bc.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.0040ad50
add esp, 0x10
test eax, eax
jne case.0x4177bc.14
cmp dword [esp + 0xcc], 3
jne 0x416b07
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.004720e0
fldz
add esp, 8
push 0
sub esp, 8
fstp qword [esp]
push 0
mov ecx, edi
push 0x10000
push ecx
call fcn.004768d0
add esp, 0x18
jmp case.0x4177bc.14
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp byte [edx + eax - 1], 0x3a
jne 0x417bce
cmp edx, 1
je 0x41807a
mov ecx, eax
mov al, byte [ecx]
test al, al
je 0x417a29
mov dl, byte [0x4a6367]
mov bl, byte [0x4a63cd]
cmp al, 0x20
je 0x417bce
cmp al, 9
je 0x417bce
cmp al, dl
je 0x417bce
cmp al, bl
je 0x417bce
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x417a01
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
cmp byte [eax + ebx - 2], 0x3a
jne 0x417a41
cmp eax, 2
ja 0x417bce
dec eax
mov byte [eax + ebx], 0
cmp byte [ebx], 0
je 0x417107
cmp eax, 0xffffffff
jne 0x417a69
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417a60
sub eax, edx
lea eax, [eax + ebx - 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x417a7c
cmp cl, 9
jne 0x417a83
cmp eax, ebx
je 0x417a89
dec eax
jmp 0x417a70
mov byte [eax + 1], 0
jmp 0x417a98
mov cl, byte [eax]
cmp cl, 0x20
je 0x417a95
cmp cl, 9
jne 0x417a98
mov byte [eax], 0
cmp byte [ebx], 0
je 0x417107
mov ebp, dword [esp + 0xe2ac]
mov esi, dword [ebp + 0x10]
xor edi, edi
cmp esi, edi
je 0x417ac9
mov eax, dword [esi + 4]
push ebx
push eax
call fcn.00484e01
add esp, 8
test eax, eax
je 0x417b07
mov esi, dword [esi + 0x10]
cmp esi, edi
jne 0x417ab1
cmp byte [ebx], 0
je 0x417b21
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417ad3
sub eax, edx
mov edi, eax
lea eax, [edi + 1]
call fcn.0046f5b0
mov esi, eax
test esi, esi
je 0x417ec6
test edi, edi
je 0x417aff
push edi
push ebx
push esi
call fcn.0048d700
add esp, 0xc
mov byte [esi + edi], 0
xor edi, edi
jmp 0x417b26
push ebx
push str.Duplicate_label.
mov ecx, ebp
call fcn.0042e6e0
cmp eax, edi
je 0x417107
jmp case.0x4177bc.14
mov esi, 0x4987f9
cmp dword [0x4abce0], edi
jne 0x417b3c
call fcn.0046f620
mov dword [0x4abce0], eax
cmp eax, edi
je 0x417b95
mov ecx, dword [0x4abce4]
cmp dword [ecx + 8], 0x14
jae 0x417b5a
call fcn.0046f620
mov ecx, dword [0x4abce4]
mov dword [ecx + 0xc], eax
cmp eax, edi
je 0x417b95
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xffffffec
lea edx, [eax + 0x14]
mov dword [0x4abce8], eax
mov dword [ecx + 4], edx
cmp eax, edi
je 0x417b95
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 0x417ba4
mov dword [ebp + 0x10], eax
jmp 0x417baa
push 0x4987f9
push str.Out_of_memory.
jmp 0x417b0d
mov edx, dword [ebp + 0x14]
mov dword [edx + 0x10], eax
push str.OnClipboardChange
push esi
mov dword [ebp + 0x14], eax
call fcn.00484e01
add esp, 8
test eax, eax
jne case.0x4177bc.14
mov dword [ebp + 0x5ac], edi
jmp case.0x4177bc.14
mov ebx, dword [esp + 0x18]
cmp byte [ebx], 0x23
mov edi, dword [esp + 0xe2ac]
jne 0x417c10
mov esi, dword [edi + 0x170]
push ebx
push edi
call fcn.004185b0
test eax, eax
je 0x417107
cmp eax, 3
jne 0x417c10
mov eax, dword [esp + 0x9c]
mov dword [edi + 0x16c], eax
mov dword [edi + 0x170], esi
jmp case.0x4177bc.14
mov al, byte [ebx]
cmp al, 0x7b
je 0x417c38
cmp al, 0x7d
je 0x417c38
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
mov ecx, edi
call fcn.00419ce0
test eax, eax
je 0x417107
jmp case.0x4177bc.14
cmp al, 0x7b
push 0
setne cl
push 0
add cl, 0x73
movzx edx, cl
push 0
push edx
push edi
call fcn.0041be90
test eax, eax
je 0x417107
lea eax, [ebx + 1]
jmp 0x417c60
mov cl, byte [eax]
cmp cl, 0x20
je 0x417c6c
cmp cl, 9
jne 0x417c6f
inc eax
jmp 0x417c60
cmp byte [eax], 0
mov dword [esp + 0x18], eax
jne 0x417df0
mov bl, byte [esp + 0x1c]
test bl, bl
je case.0x417ca8.4
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0xa0], eax
dec eax
cmp eax, 9
ja case.0x417ca8.4
movzx eax, byte [eax + 0x418408]
jmp dword [eax*4 + 0x4183f4]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x114]
push ecx
push str._s::
push edx
call fcn.00485338
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x416f7e
mov ax, word [0x49aa3c]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x27], 0
mov edi, dword [esp + 0xe2ac]
mov word [esi], ax
mov cl, byte [0x49aa3e]
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.0041be90
cmp byte [esp + 0x38], 0
je 0x417d48
lea edx, [esp + 0xf4]
push edx
push str.if_not_GetKeyState___s__
push esi
call fcn.00485338
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa0], 9
jmp 0x416f7e
mov edi, dword [esp + 0xe2ac]
mov esi, dword [esp + 0x18]
mov ecx, 0x4987f9
cmp bl, 0x12
je 0x417d5c
cmp bl, 0xa3
jbe 0x417d7c
cmp bl, 0xa5
ja 0x417d7c
movzx eax, byte [esp + 0x1d]
sub eax, 0x11
je 0x417d77
sub eax, 0x91
je 0x417d77
dec eax
jne 0x417d7c
mov ecx, str.RCtrl_up
jmp 0x417d7c
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.00485338
add esp, 0x14
push ebx
push 1
lea eax, [esp + 0x20]
push eax
push 0x41
push edi
call fcn.0041be90
test eax, eax
je 0x418089
push ebx
push ebx
push ebx
push 0x67
push edi
call fcn.0041be90
lea ecx, [esp + 0x114]
push ecx
push str._s_up::
push esi
call fcn.00485338
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa0], 2
jmp 0x416f7e
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417df3
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [edi + 0x370], 0
jmp 0x416a42
mov dx, word [0x49aa3c]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x27], 0
mov edi, dword [esp + 0xe2ac]
mov word [esi], dx
mov al, byte [0x49aa3e]
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.0041be90
lea ecx, [esp + 0xf4]
push ecx
push str.Blind_s_Up
push esi
call fcn.00485338
add esp, 0xc
push 0
push 1
lea edx, [esp + 0x20]
push edx
push 0x41
push edi
call fcn.0041be90
push 0
push 0
push 0
push 0x67
push edi
call fcn.0041be90
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 0x417eb6
lea eax, [esp + 0xa28c]
mov dword [esp + 0x3c], eax
jmp 0x4162d3
lea ecx, [esp + 0x4344]
mov dword [esp + 0x3c], ecx
jmp 0x4162d3
push ebx
push str.Out_of_memory.
mov ecx, 0x4abd80
call fcn.0042e6e0
jmp 0x417107
mov ecx, dword [esp + 0xe2ac]
push ebx
push str.Continuation_section_too_long.
call fcn.0042e6e0
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.004148f0
mov eax, esi
jmp 0x4181a8
lea edx, [esp + 0x33c]
push edx
push 0x49a894
mov ecx, eax
jmp 0x417ee8
cmp dword [esi + 0x164], 0
mov eax, 0x49a894
jne 0x417f23
mov eax, str.Not_a_valid_method__class_or_property_definition.
lea ecx, [esp + 0x33c]
push ecx
push eax
mov ecx, esi
jmp 0x417ee8
mov ecx, dword [esp + 0xe2ac]
lea edx, [esp + 0x33c]
push edx
push str.Functions_cannot_contain_functions.
call fcn.0042e6e0
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.004148f0
mov eax, esi
jmp 0x4181a8
push ebp
push str.Not_a_valid_property_getter_setter.
mov ecx, ebx
jmp 0x417ee8
push edi
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, ebx
jmp 0x417ee8
mov eax, dword [esp + 0x18]
push eax
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, dword [esp + 0xe2b4]
call fcn.0042e6e0
mov esi, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x417fbb
cmp byte [esp + 0x88], 0
je 0x417fb0
push eax
call fcn.00484e18
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
test eax, eax
je 0x417ef8
push eax
call fcn.00484e18
add esp, 4
mov eax, esi
jmp 0x4181a8
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 0x417f83
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, esi
je 0x418022
cmp byte [esp + 0x88], 0
je 0x41801b
push eax
call fcn.00484e18
add esp, 4
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
cmp eax, esi
je 0x4181a6
push eax
call fcn.00484e18
add esp, 4
jmp 0x4181a6
push ebx
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, edi
jmp 0x417f83
mov ecx, dword [esp + 0xe2ac]
push ebx
mov dword [ecx + 0x370], 0
push str.Duplicate_hotkey.
jmp 0x417ee8
push ebx
push str.Out_of_memory.
mov ecx, esi
jmp 0x417ee8
mov eax, dword [esp + 0x18]
push eax
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x417f7c
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, ebx
je 0x4180b5
cmp byte [esp + 0x88], bl
je 0x4180ae
push eax
call fcn.00484e18
add esp, 4
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x7c]
cmp eax, ebx
jmp 0x41713e
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0xe2b0]
push 0x49a864
call fcn.0042e6e0
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.004148f0
mov eax, esi
jmp 0x4181a8
cmp byte [esp + 0x33c], 0
je 0x418156
cmp dword [esp + 0x48], 0
mov edx, dword [esp + 0x94]
mov esi, dword [ebp + 0x170]
mov dword [ebp + 0x170], edx
je 0x41812d
cmp byte [esp + 0x1e], 0
mov eax, str.Missing___
jne 0x41811d
mov eax, 0x49a894
lea ecx, [esp + 0x33c]
push ecx
push eax
mov ecx, ebp
jmp 0x417ee8
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x354]
push edx
mov ecx, ebp
call fcn.00419ce0
test eax, eax
je 0x416b07
mov dword [ebp + 0x170], esi
cmp dword [ebp + 0x48], 0
je 0x418176
cmp dword [esp + 0x9c], 0
jne 0x418176
lea eax, [ebp + 0x60]
push eax
push str.Missing___
mov ecx, ebp
jmp 0x417ee8
inc dword [ebp + 0x170]
lea ecx, [esp + 0x4c]
call fcn.004148f0
mov eax, 1
jmp 0x4181a8
fldz
push 0
sub esp, 8
fstp qword [esp]
push ebx
push 0
push str.Could_not_extract_script_from_EXE.
call fcn.004768d0
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