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

Disassembly:
push 0xffffffffffffffff
push 0x49641b
mov eax, dword fs:[0]
push eax
mov eax, 0xe284
mov dword fs:[0], esp
call fcn.00491ff0
push ebx
push ebp
mov ebp, dword [esp + 0xe29c]
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x418ad5
cmp byte [ebx], 0
je 0x418ad5
mov eax, dword [0x4ac2b8]
mov dword [esp + 0xa0], eax
test eax, eax
jne 0x416938
mov eax, dword [ebp + 0x5fc]
mov dword [0x4ab238], eax
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceA]
xor eax, eax
push 0xa
push 0x49c058
lea ecx, [esp + 0x4344]
lea edx, [esp + 0xa28c]
push eax
mov byte [esp + 0x340], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov byte [esp + 0xe4], al
call edi
mov esi, eax
test esi, esi
jne 0x416997
push 0xa
push str._AHK_WITH_ICON_
push eax
call edi
mov esi, eax
test esi, esi
je 0x418abb
push esi
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0xd4], eax
cmp eax, edi
je 0x418abb
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x418abb
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [esp + 0xd0], eax
cmp eax, edi
je 0x418abb
lea esi, [esp + 0x44]
call fcn.00415070
push 0xc
mov eax, 0xfde9
lea edx, [esp + 0xd4]
mov ecx, esi
mov dword [esp + 0xe2a0], edi
call fcn.00470430
mov eax, dword [esp + 0xa0]
inc dword [0x4ac2b8]
mov dword [ebp + 0x16c], eax
mov eax, esi
xor ecx, ecx
lea edx, [esp + 0x433c]
mov byte [esp + 0x1a], 0
mov byte [esp + 0x35], 0
mov byte [esp + 0x3a], 0
mov dword [esp + 0xac], 0xffffffff
call fcn.00418d50
push 2
lea ecx, [esp + 0x4340]
push 0x49c0a0
push ecx
mov dword [esp + 0x2c], eax
call fcn.00487aea
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x1c], al
test al, al
je 0x416a70
mov byte [esp + 0x433c], 0
mov dword [esp + 0x20], edi
lea esp, [esp]
cmp dword [esp + 0x20], 0xffffffff
je 0x418a14
mov edx, dword [esp + 0xac]
mov esi, dword [esp + 0x14]
push 0xc
inc edx
push str.CommentFlag
xor edi, edi
push esi
mov dword [ebp + 0x170], edx
mov dword [ebp + 0x370], edi
call fcn.004862a0
add esp, 0xc
test eax, eax
jne 0x416ab8
push esi
push ebp
call fcn.00418f10
test eax, eax
je 0x41729f
mov byte [esp + 0xb8], 0
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x24]
inc dword [esp + 0xac]
test edi, edi
je 0x416b52
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x44]
mov ecx, esi
mov edx, edi
call fcn.00418d50
mov ebp, eax
mov dword [esp + 0x90], ebp
test ebp, ebp
je 0x416b5c
cmp ebp, 0xffffffff
je 0x416b5c
test esi, esi
jne 0x416b5c
push 2
push 0x49c0b4
push edi
call fcn.00487aea
add esp, 0xc
test eax, eax
jne 0x416b75
cmp byte [esp + 0x1c], al
jne 0x416b20
cmp byte [edi + 2], 0x3a
jne 0x416b20
cmp byte [edi + 3], 0x3a
je 0x416b87
lea eax, [ebp - 1]
push eax
lea ecx, [edi + 2]
push ecx
push edi
mov byte [esp + 0x28], 0
call fcn.00486400
add esp, 0xc
lea eax, [ebp - 2]
call fcn.004132e0
cmp byte [edi], 0
mov ebp, eax
mov dword [esp + 0x90], ebp
je 0x416ac4
jmp 0x416b87
or ebp, 0xffffffff
mov dword [esp + 0x90], ebp
cmp byte [esp + 0x1c], 0
mov eax, dword [esp + 0x24]
je 0x416ba9
cmp ebp, 0xffffffff
jne 0x416ac4
jmp 0x4171f2
cmp byte [esp + 0x1c], 0
jne 0x416ac4
mov ebp, dword [esp + 0x90]
mov edx, dword [esp + 0x24]
push 2
push 0x49c0a0
push edx
call fcn.00487aea
add esp, 0xc
test eax, eax
jne 0x416b5c
mov byte [esp + 0x1c], 1
jmp 0x416ac4
xor ecx, ecx
cmp dword [esp + 0x2c], ecx
jne 0x417033
cmp ebp, 0xffffffff
je 0x416c22
cmp byte [eax], 0x28
jne 0x416c22
cmp byte [eax + 1], 0x3a
lea esi, [eax + 1]
je 0x416c22
cmp byte [eax + ebp - 1], 0x3a
je 0x416c22
mov al, byte [0x4aba9e]
mov edx, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0xbc], ecx
mov byte [esp + 0x43], al
mov byte [esp + 0x41], dl
mov byte [esp + 0x40], cl
mov byte [esp + 0x3e], cl
mov byte [esp + 0x42], dl
mov word [esp + 0xdc], 0xa
mov dword [esp + 0xb0], edx
lea esp, [esp]
mov al, byte [esi]
cmp al, 0x20
je 0x416c1e
cmp al, 9
jne 0x416e66
add esi, edx
jmp 0x416c10
mov dword [esp + 0x2c], ecx
cmp ebp, 0xffffffff
je 0x4171f2
cmp ebp, ecx
je 0x416ac4
mov ebx, dword [esp + 0x24]
cmp byte [ebx + ebp - 1], 0x3a
jne 0x416c4b
cmp byte [ebx], 0x2c
jne 0x4171f2
mov al, byte [ebx]
call fcn.00409260
cmp al, 0x41
je 0x416dcd
cmp al, 0x4f
je 0x416d97
mov al, byte [ebx]
cmp al, 0x3a
je 0x416c70
cmp al, 0x2b
je 0x416c70
cmp al, 0x2d
jne 0x416c79
cmp byte [ebx + 1], al
je 0x4171f2
movsx eax, al
push eax
push str.____:.___
call fcn.00486811
add esp, 8
test eax, eax
je 0x4171f2
push 0x49c0dc
push ebx
call fcn.00486952
mov edi, eax
add esp, 8
test edi, edi
je 0x416e26
cmp byte [ebx], 0x3a
jne 0x416cf5
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
test al, al
je 0x416cec
cmp al, 0x3a
je 0x4171f2
mov ecx, 0x107
call fcn.00409240
test eax, eax
jne 0x416ce4
movsx eax, byte [esi]
push eax
push str.____t
call fcn.00486811
add esp, 8
test eax, eax
je 0x416cf5
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x416cb9
cmp byte [esi], 0x3a
je 0x4171f2
mov ebx, dword [esp + 0x24]
cmp byte [ebx], 0x2c
jne 0x416d4b
lea esi, [ebx + 1]
mov al, byte [esi]
cmp al, 0x20
je 0x416d0b
cmp al, 9
jne 0x416d0e
inc esi
jmp 0x416d01
push 2
push 0x49c0dc
push esi
call fcn.00487aea
add esp, 0xc
test eax, eax
je 0x4171f2
push 3
push 0x49b0ec
dec esi
push esi
call fcn.00487aea
add esp, 0xc
test eax, eax
je 0x4171f2
mov ebp, dword [esp + 0x90]
jmp 0x416e26
mov eax, ebx
cmp ebx, edi
jae 0x416d5b
cmp byte [eax], 0x22
je 0x416d5b
inc eax
cmp eax, edi
jb 0x416d51
cmp eax, edi
je 0x4171f2
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x4171f2
cmp al, 0x22
je 0x416d82
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x416d71
jmp 0x4171f2
cmp byte [ecx], 0
je 0x4171f2
mov ebp, dword [esp + 0x90]
jmp 0x416e26
mov al, byte [ebx + 1]
call fcn.00409260
cmp al, 0x52
jne 0x4171f2
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x20
je 0x416dc0
cmp al, 9
je 0x416dc0
cmp al, 0xa0
jne 0x4171f2
lea ecx, [ecx]
mov al, byte [ecx]
cmp al, 0x20
je 0x416dca
cmp al, 9
jne 0x416e0d
inc ecx
jmp 0x416dc0
push 3
push 0x49c0b8
push ebx
call fcn.004862a0
add esp, 0xc
test eax, eax
jne 0x4171f2
mov al, byte [ebx + 3]
lea ecx, [ebx + 3]
cmp al, 0x20
je 0x416e00
cmp al, 9
je 0x416e00
cmp al, 0xa0
jne 0x4171f2
jmp 0x416e00
mov al, byte [ecx]
cmp al, 0x20
je 0x416e0a
cmp al, 9
jne 0x416e0d
inc ecx
jmp 0x416e00
movsx eax, byte [ecx]
push eax
push str.____:
call fcn.00486811
add esp, 8
test eax, eax
jne 0x4171f2
mov esi, dword [esp + 0x20]
lea eax, [esi + ebp]
cmp eax, 0x4000
jae 0x41877e
cmp byte [ebx], 0x2c
je 0x416e46
mov ecx, dword [esp + 0x14]
mov byte [esi + ecx], 0x20
inc esi
mov eax, dword [esp + 0x14]
lea edx, [ebp + 1]
push edx
lea ecx, [esi + eax]
push ebx
push ecx
call fcn.0048e120
add esp, 0xc
add esi, ebp
mov dword [esp + 0x20], esi
jmp 0x416ac4
cmp byte [esi], cl
je 0x417026
mov edi, edi
mov edi, 0x49b0f4
mov eax, esi
call fcn.00409290
mov ebp, eax
test ebp, ebp
jne 0x416e93
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416e87
sub eax, edx
lea ebp, [eax + esi]
mov bl, byte [ebp]
push 4
push str.Join
push esi
mov byte [esp + 0x37], bl
mov byte [ebp], 0
call fcn.004862a0
add esp, 0xc
test eax, eax
jne 0x416f7f
push 0xf
add esi, 4
lea ecx, [esp + 0xe0]
push esi
push ecx
call fcn.004887c0
mov bl, byte [0x4a78e3]
mov byte [esp + 0xf7], 0
lea ecx, [esp + 0xe8]
mov al, byte [ecx]
add esp, 0xc
test al, al
je 0x416ef3
cmp al, bl
je 0x416f19
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x416ee7
lea eax, [esp + 0xdc]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416f00
mov bl, byte [esp + 0x2b]
sub eax, edx
mov dword [esp + 0xb0], eax
jmp 0x41700a
cmp byte [ecx], 0
je 0x416ef3
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x416f34.99
movzx edx, byte [eax + 0x418b18]
jmp dword [edx*4 + 0x418af4]
mov byte [esi], 7
jmp case.0x416f34.99
mov byte [esi], 8
jmp case.0x416f34.99
mov byte [esi], 0xc
jmp case.0x416f34.99
mov byte [esi], 0xa
jmp case.0x416f34.99
mov byte [esi], 0xd
jmp case.0x416f34.99
mov byte [esi], 9
jmp case.0x416f34.99
mov byte [esi], 0xb
jmp case.0x416f34.99
mov byte [esi], 0x20
mov eax, esi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416f66
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.00486400
mov ecx, esi
jmp 0x416ede
push 5
push 0x49c110
push esi
call fcn.004862a0
add esp, 0xc
test eax, eax
jne 0x416f9e
cmp byte [esi + 5], 0x30
setne byte [esp + 0x43]
jmp 0x41700a
push 5
push str.RTrim
push esi
call fcn.004862a0
add esp, 0xc
test eax, eax
jne 0x416fbd
cmp byte [esi + 5], 0x30
setne byte [esp + 0x41]
jmp 0x41700a
mov al, byte [esi]
test al, al
je 0x41700a
mov ecx, 2
jmp 0x416fd0
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x416fe2.38
movzx eax, byte [eax + 0x418b48]
jmp dword [eax*4 + 0x418b30]
mov byte [esp + 0x40], 1
jmp case.0x416fe2.38
mov byte [esp + 0x3e], 1
jmp case.0x416fe2.38
mov byte [esp + 0x42], 0
jmp case.0x416fe2.38
mov dword [esp + 0x2c], ecx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x416fd0
mov byte [ebp], bl
mov esi, ebp
nop
mov al, byte [esi]
cmp al, 0x20
je 0x41701a
cmp al, 9
jne 0x41701d
inc esi
jmp 0x417010
cmp byte [esi], 0
jne 0x416e70
mov byte [esp + 0xb8], 1
jmp 0x416ac4
cmp ebp, 0xffffffff
je 0x4189ec
cmp ebp, 0xfffffffe
je 0x416ac4
mov ecx, dword [esp + 0x24]
cmp byte [ecx], 0x29
jne 0x41706d
mov esi, ecx
or eax, 0xffffffff
mov dword [esp + 0x2c], 0
lea ebx, [esi + 1]
call fcn.00413350
lea ebp, [eax - 1]
mov edi, esi
jmp 0x41716b
cmp byte [esp + 0x41], 0
mov edi, dword [esp + 0x24]
mov ebx, edi
je 0x417085
mov eax, ebp
mov esi, edi
call fcn.00413350
mov ebp, eax
cmp byte [esp + 0x43], 0
je 0x417099
mov edi, dword [esp + 0x24]
mov eax, ebp
call fcn.004132e0
mov ebp, eax
xor esi, esi
cmp byte [esp + 0x40], 0
je 0x4170d4
mov al, byte [0x4a78e3]
push esi
push 0xffffffffffffffff
push 1
mov byte [esp + 0x40], al
mov byte [esp + 0x44], al
mov byte [esp + 0x45], al
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x44]
push eax
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.004730e0
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x3e], 0
je 0x417114
mov al, byte [0x4a78e2]
mov cl, byte [0x4a78e3]
push 0
push 0xffffffffffffffff
push 1
mov byte [esp + 0x40], al
mov byte [esp + 0x45], al
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0x4c], cl
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.004730e0
add esp, 0x18
add esi, eax
cmp byte [esp + 0x42], 0
je 0x417154
mov al, byte [0x4a73b3]
mov cl, byte [0x4a78e3]
push 0
push 0xffffffffffffffff
push 1
mov byte [esp + 0x40], al
mov byte [esp + 0x45], al
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x44]
push eax
mov byte [esp + 0x4c], cl
push edi
xor eax, eax
mov ecx, 0x4001
call fcn.004730e0
add esp, 0x18
add esi, eax
test esi, esi
je 0x41716b
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417160
sub eax, edx
mov ebp, eax
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x20]
lea ecx, [eax + ebp]
add ecx, esi
cmp ecx, 0x4001
jae 0x41877e
mov ecx, dword [esp + 0xbc]
inc ecx
mov dword [esp + 0xbc], ecx
cmp ecx, 1
jle 0x4171c7
test eax, eax
je 0x4171c7
cmp ebx, edi
jne 0x4171c7
mov ecx, dword [esp + 0x14]
mov edi, eax
lea edx, [edi + 1]
push edx
lea eax, [esp + 0xe0]
push eax
lea edx, [esi + ecx]
push edx
call fcn.0048e120
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
test ebp, ebp
je 0x416ac4
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 1]
push eax
lea edx, [esi + ecx]
push ebx
push edx
call fcn.0048e120
add esp, 0xc
add esi, ebp
mov dword [esp + 0x20], esi
jmp 0x416ac4
mov byte [ebp], bl
mov esi, dword [esp + 0xe2a4]
mov ebp, dword [esp + 0x94]
cmp dword [esp + 0x20], 0
je case.0x417dd0.14
cmp byte [esp + 0x334], 0
je 0x41736b
mov eax, dword [esp + 0x98]
mov edi, dword [esi + 0x170]
mov ecx, dword [esp + 0x14]
mov bl, byte [esp + 0x1b]
mov dword [esi + 0x170], eax
cmp byte [ecx], 0x7b
je 0x41727c
test bl, bl
jne 0x41727c
test ebp, ebp
jne 0x4187a2
cmp dword [esi + 0x48], ebp
je 0x41725c
mov edx, dword [0x4a7978]
cmp dword [edx + 0x94], ebp
je 0x4187cd
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x34c]
push eax
mov ecx, esi
call fcn.0041a5d0
jmp 0x4172ff
mov eax, ebp
sub eax, 0
je 0x4172c1
dec eax
je 0x4172ad
dec eax
jne 0x41730d
lea ecx, [esp + 0x334]
push ecx
push esi
call fcn.0041f250
test eax, eax
jne 0x41730d
lea ecx, [esp + 0x44]
call fcn.004150d0
jmp 0x418ad5
lea edx, [esp + 0x334]
push edx
push esi
call fcn.0041edd0
test eax, eax
je 0x41729f
jmp 0x41730d
mov eax, dword [0x4a7978]
cmp dword [eax + 0x94], 0
lea edx, [esp + 0x334]
jne 0x418807
lea ecx, [esp + 0x8344]
push ecx
push edx
push esi
call fcn.0041e2c0
test eax, eax
je 0x41729f
test bl, bl
je 0x41730d
push 0
push 0
push 0
push 0x73
push esi
call fcn.0041cb20
test eax, eax
je 0x41729f
mov dword [esi + 0x370], 0
mov byte [esp + 0x334], 0
test ebp, ebp
je 0x417365
test bl, bl
jne 0x417365
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x20
je 0x417321
cmp al, 9
je 0x417321
test al, al
jne 0x41733c
mov dword [esi + 0x170], edi
jmp case.0x417dd0.14
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417341
sub eax, esi
mov dword [esp + 0x20], eax
inc eax
push eax
mov eax, dword [esp + 0x18]
push ecx
push eax
call fcn.00486400
mov esi, dword [esp + 0xe2b0]
add esp, 0xc
mov dword [esi + 0x170], edi
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x7d
jne 0x417455
mov eax, dword [esi + 0x48]
test eax, eax
je 0x417455
mov edx, dword [0x4a7978]
cmp dword [edx + 0x94], 0
jne 0x417455
cmp dword [esi + 0x164], 0
je 0x4173cf
mov eax, dword [esi + 0x168]
mov dword [esi + 0x164], 0
test eax, eax
je 0x41740c
push eax
call fcn.00485838
mov eax, dword [esp + 0xe2a8]
add esp, 4
mov dword [eax + 0x168], 0
jmp 0x41740c
mov esi, dword [esp + 0xe2a4]
dec eax
mov dword [esi + 0x48], eax
mov edi, dword [esi + eax*4 + 0x4c]
call fcn.0046c320
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + ecx*4 + 0x4c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
add esi, 0x60
push 0x2e
push esi
call fcn.00487bae
add esp, 8
test eax, eax
je 0x417409
mov byte [eax], 0
jmp 0x41740c
mov byte [esi], 0
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x417410
cmp cl, 9
je 0x417410
mov dword [esp + 0x14], eax
test cl, cl
je case.0x417dd0.14
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417430
mov ecx, dword [esp + 0xe2a4]
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [ecx + 0x370], 0
mov esi, ecx
jmp 0x417200
cmp dword [esi + 0x164], 0
je 0x417536
mov edx, dword [0x4a7978]
cmp dword [edx + 0x94], 0
jne 0x417536
mov esi, dword [esp + 0x14]
push 3
push 0x49c190
push esi
call fcn.004862a0
add esp, 0xc
test eax, eax
je 0x4174a5
push 3
push 0x49c194
push esi
call fcn.004862a0
add esp, 0xc
test eax, eax
jne 0x41882b
mov ebx, dword [esp + 0x14]
lea esi, [ebx + 3]
lea esp, [esp]
mov al, byte [esi]
cmp al, 0x20
je 0x4174ba
cmp al, 9
jne 0x4174bd
inc esi
jmp 0x4174b0
mov al, byte [esi]
test al, al
je 0x4174d5
cmp al, 0x7b
jne 0x41882f
cmp byte [esi + 1], 0
jne 0x41882f
mov edi, dword [esp + 0xe2a4]
mov eax, dword [edi + 0x168]
lea edx, [esp + 0x334]
sub edx, eax
jmp 0x4174f0
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4174f0
lea eax, [esp + 0x334]
push 0x2e
push eax
call fcn.00486811
mov cl, byte [ebx]
mov byte [eax + 1], cl
mov edx, dword [edi + 0x170]
add esp, 8
cmp byte [esi], 0x7b
mov dword [esp + 0x98], edx
sete byte [esp + 0x1b]
mov dword [esp + 0x94], 0
jmp case.0x417dd0.14
mov edi, dword [esp + 0x14]
lea ebx, [esp + 0x1b]
mov eax, edi
call fcn.004167a0
test al, al
je 0x41757b
lea edx, [esp + 0x334]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x417554
mov eax, dword [esi + 0x170]
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], 0
jmp case.0x417dd0.14
mov ecx, dword [0x4a7978]
cmp dword [ecx + 0x94], 0
jne 0x417741
lea edx, [esp + 0x1b]
push edx
mov eax, edi
call fcn.00416850
add esp, 4
test eax, eax
je 0x4175d7
lea edx, [esp + 0x334]
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4175b0
mov eax, dword [esi + 0x170]
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], 1
jmp case.0x417dd0.14
cmp dword [esi + 0x48], 0
je 0x417741
mov ebx, dword [esp + 0x14]
mov esi, ebx
jmp 0x4175f0
movzx eax, byte [esi]
test eax, 0xffffff80
jne 0x41760c
push 0x107
push eax
call fcn.00486d5e
add esp, 8
test eax, eax
jne 0x41761a
mov al, byte [esi]
cmp al, 0x5f
je 0x41761a
cmp al, 0x7f
ja 0x41761a
cmp al, 0x2e
jne 0x41761d
inc esi
jmp 0x4175f0
cmp esi, ebx
jbe 0x4176ce
mov al, byte [esi]
cmp al, 0x20
je 0x41762f
cmp al, 9
jne 0x417632
inc esi
jmp 0x417625
mov al, byte [esi]
cmp al, 0x3a
jne 0x41765b
cmp byte [esi + 1], 0x3d
jne 0x41765b
push 0
mov ecx, dword [esp + 0xe2a8]
push ebx
push ecx
call fcn.0041f400
test eax, eax
je 0x41729f
jmp case.0x417dd0.14
test al, al
je 0x41766d
cmp al, 0x5b
je 0x41766d
cmp al, 0x7b
jne 0x4176ce
cmp byte [esi + 1], 0
jne 0x4176ce
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417672
sub eax, edx
cmp byte [eax + ebx - 1], 0x7b
sete cl
mov byte [esp + 0x1b], cl
test cl, cl
je 0x417693
dec eax
mov esi, ebx
call fcn.00413350
lea edx, [esp + 0x334]
mov eax, ebx
sub edx, ebx
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4176a0
mov edx, dword [esp + 0xe2a4]
mov eax, dword [edx + 0x170]
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], 2
jmp case.0x417dd0.14
push 6
push str.Static
push ebx
call fcn.004862a0
add esp, 0xc
test eax, eax
jne 0x4176f7
mov al, byte [ebx + 6]
cmp al, 0x20
je 0x4176ed
cmp al, 9
jne 0x4176f7
push 1
add ebx, 7
jmp 0x417640
cmp byte [ebx], 0x23
mov edi, dword [esp + 0xe2a4]
jne 0x418853
mov esi, dword [edi + 0x170]
push ebx
push edi
call fcn.00418f10
test eax, eax
je 0x41729f
cmp eax, 3
jne 0x418853
mov edx, dword [esp + 0xa0]
mov dword [edi + 0x16c], edx
mov dword [edi + 0x170], esi
jmp case.0x417dd0.14
mov edi, dword [esp + 0x14]
xor ebx, ebx
cmp byte [edi], 0x3a
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
jne 0x417843
mov cl, byte [edi + 1]
test cl, cl
je 0x417843
lea esi, [edi + 1]
mov dword [esp + 0xcc], esi
cmp cl, 0x3a
je 0x41778f
push 0x3a
push esi
call fcn.00486811
mov ebp, eax
add esp, 8
cmp ebp, ebx
jne 0x417788
mov dword [esp + 0x2c], ebx
jmp 0x417843
inc ebp
mov dword [esp + 0x2c], ebp
jmp 0x4177a1
cmp byte [edi + 2], bl
lea eax, [edi + 2]
je 0x417843
mov ebp, eax
mov dword [esp + 0x2c], eax
cmp ebp, ebx
je 0x417843
mov bl, byte [0x4aba9d]
mov byte [esp + 0x1f], bl
mov edi, esi
cmp esi, ebp
jae 0x4177f7
lea esp, [esp]
movzx esi, byte [edi]
test esi, 0xffffff80
jne 0x4177dd
push 2
push esi
call fcn.00486d5e
add esp, 8
test eax, eax
je 0x4177dd
and esi, 0xffffffdf
mov eax, esi
cmp al, 0x58
je 0x4177ea
inc edi
cmp edi, ebp
jb 0x4177c0
jmp 0x4177f7
cmp byte [edi + 1], 0x30
setne byte [esp + 0x1f]
mov bl, byte [esp + 0x1f]
mov edi, ebp
lea esp, [esp]
mov al, byte [edi]
test al, al
je 0x41782c
jmp 0x417810
cmp al, byte [0x4a78e3]
je 0x4178a9
cmp al, 0x3a
je 0x4178a9
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x417810
cmp dword [esp + 0x30], 0
jne 0x4179b2
mov edi, dword [esp + 0x14]
mov dword [esp + 0x2c], 0
push 0x49c0dc
push edi
call fcn.00486952
mov edi, eax
add esp, 8
mov dword [esp + 0x30], edi
test edi, edi
je 0x4180b5
cmp edi, dword [esp + 0x14]
jne 0x417870
cmp byte [edi + 2], 0x3a
jne 0x417870
inc edi
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x14]
mov esi, edi
cmp edi, ecx
jbe 0x41788f
lea ebx, [ebx]
mov al, byte [esi]
cmp al, 0x20
je 0x41788a
cmp al, 9
jne 0x41788f
dec esi
cmp esi, ecx
ja 0x417880
mov bl, byte [esi]
mov byte [esi], 0
mov eax, ecx
mov cl, byte [eax]
cmp cl, 0x20
je 0x4178a6
cmp cl, 9
jne 0x417938
inc eax
jmp 0x417896
mov al, byte [edi]
test al, al
je 0x41782c
lea esi, [edi + 1]
cmp al, 0x3a
jne 0x4178d2
cmp byte [esi], al
jne 0x417932
mov dword [esp + 0x30], edi
mov edi, esi
test bl, bl
jne 0x41782c
inc edi
jmp 0x417800
movsx eax, byte [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4178e4.99
movzx eax, byte [eax + 0x418ba8]
jmp dword [eax*4 + 0x418b88]
mov byte [esi], 7
jmp case.0x4178e4.99
mov byte [esi], 8
jmp case.0x4178e4.99
mov byte [esi], 0xc
jmp case.0x4178e4.99
mov byte [esi], 0xa
jmp case.0x4178e4.99
mov byte [esi], 0xd
jmp case.0x4178e4.99
mov byte [esi], 9
jmp case.0x4178e4.99
mov byte [esi], 0xb
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417911
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.00486400
add esp, 0xc
cmp byte [edi], 0x3a
jne 0x417932
cmp byte [esi], 0x3a
jne 0x417932
mov edi, esi
inc edi
jmp 0x417800
push 0
push 0
push eax
call fcn.0040b640
add esp, 0xc
mov dword [esp + 0xc8], eax
test eax, eax
je 0x4179a2
cmp eax, 4
jne 0x4179a8
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], vtable.TextMem.0
test eax, eax
je 0x417980
cmp byte [esp + 0x80], 0
je 0x417978
push eax
call fcn.00485838
add esp, 4
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x74]
test eax, eax
mov dword [esp + 0x44], vtable.TextStream.0
je 0x418ad5
push eax
call fcn.00485838
add esp, 4
jmp 0x418ad5
xor edi, edi
mov dword [esp + 0x30], edi
mov byte [esi], bl
test edi, edi
je 0x4180b5
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
cmp edi, ebp
jbe 0x4180b9
mov ecx, dword [0x4a7978]
cmp dword [ecx + 0x94], 0
jne 0x418860
mov ebx, dword [esp + 0xe2a4]
mov eax, dword [ebx + 4]
test eax, eax
je 0x4179ec
cmp byte [eax], 0x1a
je 0x4188c3
mov byte [edi], 0
add edi, 2
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x30], edi
jne 0x417e1d
cmp byte [edi], 0
je 0x417a35
mov ecx, edi
mov al, byte [ecx]
cmp al, 0x20
je 0x417a12
cmp al, 9
jne 0x417a15
inc ecx
jmp 0x417a08
mov edx, ecx
sub edx, edi
je 0x417a35
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417a20
sub eax, esi
inc eax
push eax
push ecx
push edi
call fcn.00486400
add esp, 0xc
mov esi, dword [esp + 0x30]
cmp byte [esi], 0
mov ebp, esi
je 0x417e15
mov al, byte [esi + 1]
lea edi, [esi + 1]
test al, al
je 0x417bac
mov ebx, dword [esp + 0xa8]
xor dl, dl
xor cl, cl
lea ecx, [ecx]
cmp al, 0x20
je case.0x417a7e.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x417a7e.34
movzx eax, byte [eax + 0x418be0]
jmp dword [eax*4 + 0x418bc0]
mov cl, 1
jmp case.0x417a7e.36
mov dl, 1
jmp case.0x417a7e.36
test cl, cl
jne 0x417aa3
test dl, dl
jne 0x417aa7
or ebx, 1
jmp case.0x417a7e.36
test dl, dl
je 0x417aae
or byte [esp + 0x13], 4
xor dl, dl
test cl, cl
je case.0x417a7e.36
or byte [esp + 0x13], 8
jmp 0x417b20
test cl, cl
jne 0x417ac6
test dl, dl
jne 0x417aca
or ebx, 2
jmp case.0x417a7e.36
test dl, dl
je 0x417ad1
or byte [esp + 0x13], 1
xor dl, dl
test cl, cl
je case.0x417a7e.36
or byte [esp + 0x13], 2
jmp 0x417b20
test cl, cl
jne 0x417ae9
test dl, dl
jne 0x417aed
or ebx, 4
jmp case.0x417a7e.36
test dl, dl
je 0x417af4
or byte [esp + 0x13], 0x10
xor dl, dl
test cl, cl
je case.0x417a7e.36
or byte [esp + 0x13], 0x20
jmp 0x417b20
test cl, cl
jne 0x417b0c
test dl, dl
jne 0x417b10
or ebx, 8
jmp case.0x417a7e.36
test dl, dl
je 0x417b17
or byte [esp + 0x13], 0x40
xor dl, dl
test cl, cl
je case.0x417a7e.36
or byte [esp + 0x13], 0x80
xor cl, cl
mov esi, edi
mov al, byte [esi + 1]
lea edi, [esi + 1]
test al, al
jne 0x417a60
push 0
mov dword [esp + 0xac], ebx
mov ebp, esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0
mov eax, esi
call fcn.00412460
add esp, 0xc
mov byte [esp + 0x1a], al
test al, al
je 0x417e0e
mov bl, al
mov esi, dword [esp + 0x14]
cmp byte [esi], 0
je 0x417c6f
mov cl, byte [esi + 1]
mov eax, esi
inc esi
xor bl, bl
xor dl, dl
test cl, cl
je 0x417c69
mov edi, dword [esp + 0x9c]
cmp cl, 0x20
je case.0x417ba5.34
movsx ecx, byte [eax]
add ecx, 0xffffffdf
cmp ecx, 0x5d
ja case.0x417ba5.34
movzx ecx, byte [ecx + 0x418c60]
jmp dword [ecx*4 + 0x418c40]
or bl, 0xff
mov byte [esp + 0x1a], bl
jmp 0x417b60
mov dl, 1
jmp case.0x417ba5.36
mov bl, 1
jmp case.0x417ba5.36
test dl, dl
jne 0x417bd3
test bl, bl
jne 0x417bd7
or edi, 1
jmp case.0x417ba5.36
test bl, bl
je 0x417bde
or byte [esp + 0x12], 4
xor bl, bl
test dl, dl
je case.0x417ba5.36
or byte [esp + 0x12], 8
jmp 0x417c50
test dl, dl
jne 0x417bf6
test bl, bl
jne 0x417bfa
or edi, 2
jmp case.0x417ba5.36
test bl, bl
je 0x417c01
or byte [esp + 0x12], 1
xor bl, bl
test dl, dl
je case.0x417ba5.36
or byte [esp + 0x12], 2
jmp 0x417c50
test dl, dl
jne 0x417c19
test bl, bl
jne 0x417c1d
or edi, 4
jmp case.0x417ba5.36
test bl, bl
je 0x417c24
or byte [esp + 0x12], 0x10
xor bl, bl
test dl, dl
je case.0x417ba5.36
or byte [esp + 0x12], 0x20
jmp 0x417c50
test dl, dl
jne 0x417c3c
test bl, bl
jne 0x417c40
or edi, 8
jmp case.0x417ba5.36
test bl, bl
je 0x417c47
or byte [esp + 0x12], 0x40
xor bl, bl
test dl, dl
je case.0x417ba5.36
or byte [esp + 0x12], 0x80
xor dl, dl
mov eax, esi
mov cl, byte [eax + 1]
lea esi, [eax + 1]
test cl, cl
jne 0x417b86
mov dword [esp + 0x9c], edi
mov bl, byte [esp + 0x1a]
mov esi, eax
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
push 0
mov eax, esi
call fcn.00412460
add esp, 0xc
push 0x49b0ec
push esi
mov byte [esp + 0x26], al
call fcn.00486952
mov dl, byte [esp + 0x26]
add esp, 8
test eax, eax
setne byte [esp + 0x2b]
dec dl
cmp dl, 5
ja 0x417cb1
cmp byte [esp + 0x1e], 3
jne 0x417cbb
mov al, byte [esp + 0x1e]
add al, 0x66
cmp al, 5
ja 0x417cbf
mov al, 1
jmp 0x417cc1
xor al, al
lea ecx, [ebx - 1]
cmp cl, 5
ja 0x417cce
cmp bl, 3
jne 0x417cd6
add bl, 0x66
cmp bl, 5
ja 0x417cdd
mov byte [esp + 0x1d], 1
jmp 0x417ce2
mov byte [esp + 0x1d], 0
test al, al
jne 0x417cf1
mov byte [esp + 0x3f], 1
cmp byte [esp + 0x1d], al
jne 0x417cf6
mov byte [esp + 0x3f], 0
mov eax, esi
lea edx, [eax + 1]
jmp 0x417d00
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417d00
sub eax, edx
cmp eax, 1
jne 0x417d21
movzx edx, byte [esi]
push edx
call dword [sym.imp.USER32.dll_IsCharUpperA]
mov ecx, 0x49c20c
test eax, eax
jne 0x417d26
mov ecx, 0x499861
cmp byte [esp + 0x2b], 0
mov eax, 0x499861
jne 0x417d37
mov eax, 0x49c014
mov edx, dword [esp + 0x14]
push edx
push ecx
push eax
push str._s_s_s
mov esi, 0x20
lea edi, [esp + 0x11c]
call fcn.00472920
push 0x1f
lea eax, [esp + 0x100]
push ebp
push eax
call fcn.004887c0
mov esi, dword [esp + 0x4c]
add esp, 0x1c
push 7
lea ecx, [esp + 0xc4]
push esi
push ecx
mov byte [esp + 0x117], 0
call fcn.004887c0
mov eax, ebp
sub eax, esi
add esp, 0xc
mov byte [esp + 0xc7], 0
cmp eax, 8
jae 0x417d9f
mov byte [esp + eax + 0xc0], 0
cmp byte [esp + 0xc0], 0
mov dword [esp + 0xa4], 0
jne case.0x417dd0.14
movzx eax, byte [esp + 0x1a]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x417dd0.14
movzx edx, byte [eax + 0x418cd0]
jmp dword [edx*4 + 0x418cc0]
mov edi, 0x49b380
mov eax, esi
call fcn.00409290
test eax, eax
jne case.0x417dd0.19
jmp case.0x417dd0.14
lea eax, [esp + 0xec]
push str.Return
push eax
call fcn.00485821
add esp, 8
test eax, eax
jne case.0x417dd0.14
mov byte [esp + 0x1a], 0
mov ebx, dword [esp + 0xe2a4]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
cmp byte [ebx + 0x174], 0
je 0x417e4c
xor esi, esi
push esi
push 0xff
push esi
push 0x67
push ebx
mov byte [ebx + 0x174], 0
call fcn.0041cb20
test eax, eax
je 0x4188d3
mov dword [ebx + 0x370], esi
push 1
push ebx
mov eax, ebp
call fcn.0041a440
test eax, eax
je 0x417955
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x417f14
cmp byte [eax], 0
je 0x41891c
cmp byte [esp + 0x1f], 0
mov eax, 0x499861
jne 0x417e81
mov eax, edi
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xcc]
mov edi, dword [esp + 0x2c]
push 0
push ecx
push eax
push edx
push ecx
mov ecx, dword [ebx + 0x14]
mov eax, esp
mov dword [eax], ecx
mov edx, dword [ebx + 0x14]
mov eax, dword [edx + 4]
mov dword [esp + 0x34], esp
push eax
call fcn.0040c730
add esp, 0x18
test eax, eax
je 0x417955
mov ecx, dword [esp + 0x30]
cmp byte [ecx], 0
je case.0x417dd0.14
cmp byte [esp + 0x1f], 0
je 0x417ef2
push 0
push 0
push 0
push 0
push 0
mov edx, ecx
mov ecx, dword [esp + 0xe2b8]
push 0
push edx
call fcn.0041a5d0
test eax, eax
je 0x417955
mov eax, dword [esp + 0xe2a4]
push 0
push 0
push 0
push 0x67
push eax
call fcn.0041cb20
test eax, eax
je 0x417955
jmp case.0x417dd0.14
xor esi, esi
cmp byte [edi], 0
je 0x417fcd
push str.AltTab
push edi
call fcn.00485821
add esp, 8
test eax, eax
jne 0x417f3b
mov esi, 0x7ffe
jmp 0x417fb7
push str.ShiftAltTab
push edi
call fcn.00485821
add esp, 8
test eax, eax
jne 0x417f54
mov esi, 0x7ffd
jmp 0x417fb7
push str.AltTabMenu
push edi
call fcn.00485821
add esp, 8
test eax, eax
jne 0x417f6d
mov esi, 0x7ffc
jmp 0x417fb7
push str.AltTabAndMenu
push edi
call fcn.00485821
add esp, 8
test eax, eax
jne 0x417f86
mov esi, 0x7ffb
jmp 0x417fb7
push str.AltTabMenuDismiss
push edi
call fcn.00485821
add esp, 8
test eax, eax
jne 0x417f9f
mov esi, 0x7ffa
jmp 0x417fb7
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push edi
mov ecx, ebx
call fcn.0041a5d0
test eax, eax
je 0x418929
push 0
push 0
push 0
push 0x67
push ebx
call fcn.0041cb20
test eax, eax
je 0x417955
lea ecx, [esp + 0x8f]
push ecx
lea edx, [esp + 0xb8]
push edx
push ebp
call fcn.0040bd50
mov edi, eax
add esp, 0xc
test edi, edi
je 0x41804f
test si, si
je 0x417ffa
mov word [edi + 6], si
jmp case.0x417dd0.14
mov eax, dword [edi + 0x20]
test eax, eax
je 0x418017
mov ecx, dword [0x4ab418]
cmp dword [eax + 4], ecx
je 0x418959
mov eax, dword [eax + 8]
test eax, eax
jne 0x418007
mov eax, dword [esp + 0xb4]
push eax
mov eax, dword [ebx + 0x14]
call fcn.0040b520
test eax, eax
je 0x4189a2
cmp byte [esp + 0x8f], 0
jne 0x418046
cmp byte [0x4aba9f], 0
je case.0x417dd0.14
mov byte [edi + 0x14], 1
jmp case.0x417dd0.14
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0xb4]
mov edx, dword [eax + 4]
push ecx
push edx
push esi
push eax
xor bl, bl
call fcn.0040ae00
add esp, 0x10
test eax, eax
jne case.0x417dd0.14
cmp dword [esp + 0xc8], 3
jne 0x417955
push ebp
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.00472920
fldz
fstp qword [esp]
mov eax, edi
push 0
push 0
push 0x10000
push eax
call fcn.004772b0
add esp, 0x18
jmp case.0x417dd0.14
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp byte [eax + ebp - 1], 0x3a
jne 0x41846f
mov ecx, dword [esp + 0x14]
cmp eax, 1
je 0x4189af
mov al, byte [ecx]
test al, al
je 0x41810d
mov dl, byte [0x4a73b3]
cmp al, 0x20
je 0x41846f
cmp al, 9
je 0x41846f
cmp al, dl
je 0x41846f
cmp al, byte [0x4a78e3]
je 0x41846f
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4180e1
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp byte [eax + edi - 2], 0x3a
jne 0x418125
cmp eax, 2
ja 0x41846f
dec eax
mov byte [eax + edi], 0
cmp byte [edi], 0
je 0x417955
cmp eax, 0xffffffff
jne 0x418149
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418140
sub eax, edx
lea eax, [eax + edi - 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x41815c
cmp cl, 9
jne 0x418163
cmp eax, edi
je 0x418169
dec eax
jmp 0x418150
mov byte [eax + 1], 0
jmp 0x418178
mov cl, byte [eax]
cmp cl, 0x20
je 0x418175
cmp cl, 9
jne 0x418178
mov byte [eax], 0
cmp byte [edi], 0
je 0x417955
mov ebx, dword [esp + 0xe2a4]
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x4181a8
nop
mov eax, dword [esi + 4]
push edi
push eax
call fcn.00485821
add esp, 8
test eax, eax
je 0x41821d
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x418190
cmp byte [edi], 0
je 0x418312
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4181b6
sub eax, edx
mov ebp, eax
lea ebx, [ebp + 1]
lea ecx, [ebx - 1]
cmp ecx, 0x7fff
ja 0x418255
xor edi, edi
cmp dword [0x4ac2d4], edi
jne 0x41826e
push 0x10
call fcn.00487c14
mov esi, eax
add esp, 4
cmp esi, edi
je 0x418213
push 0x8000
mov dword [esi + 0xc], edi
call fcn.004859d9
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
cmp eax, edi
jne 0x418237
push esi
call fcn.00485598
add esp, 4
mov esi, dword [0x4ac2d8]
xor eax, eax
jmp 0x41824c
push edi
push str.Duplicate_label.
mov ecx, ebx
call fcn.0042dde0
test eax, eax
je 0x417955
jmp case.0x417dd0.14
inc dword [0x4ac2e0]
mov dword [esi + 8], 0x8000
mov dword [0x4ac2d8], esi
mov eax, esi
mov dword [0x4ac2d4], eax
cmp eax, edi
jne 0x418274
mov edx, dword [esp + 0x14]
push edx
push str.Out_of_memory.
mov ecx, 0x4ac390
call fcn.0042dde0
jmp 0x417955
mov esi, dword [0x4ac2d8]
cmp ebx, dword [esi + 8]
jbe 0x4182d1
push 0x10
call fcn.00487c14
mov esi, eax
add esp, 4
cmp esi, edi
je 0x4182ab
push 0x8000
mov dword [esi + 0xc], edi
call fcn.004859d9
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
cmp eax, edi
jne 0x4182b5
push esi
call fcn.00485598
add esp, 4
mov esi, dword [0x4ac2d8]
xor eax, eax
jmp 0x4182ca
inc dword [0x4ac2e0]
mov dword [esi + 8], 0x8000
mov dword [0x4ac2d8], esi
mov eax, esi
mov dword [esi + 0xc], eax
cmp eax, edi
je 0x418255
mov edi, dword [esi + 4]
mov eax, ebx
and eax, 3
mov dword [0x4ac2dc], edi
je 0x4182e6
sub ebx, eax
add ebx, 4
mov eax, ebx
sub dword [esi + 8], eax
lea edx, [edi + eax]
mov dword [esi + 4], edx
test edi, edi
je 0x418255
test ebp, ebp
je 0x41830c
mov eax, dword [esp + 0x14]
push ebp
push eax
push edi
call fcn.0048e120
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x41831d
mov esi, dword [0x4ac2d8]
mov edi, 0x499861
cmp dword [0x4ac2d4], 0
jne 0x418388
push 0x10
call fcn.00487c14
mov esi, eax
add esp, 4
test esi, esi
je 0x41835c
push 0x8000
mov dword [esi + 0xc], 0
call fcn.004859d9
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
test eax, eax
jne 0x418366
push esi
call fcn.00485598
add esp, 4
mov esi, dword [0x4ac2d8]
xor eax, eax
jmp 0x41837b
inc dword [0x4ac2e0]
mov dword [esi + 8], 0x8000
mov dword [0x4ac2d8], esi
mov eax, esi
mov dword [0x4ac2d4], eax
test eax, eax
je 0x41842d
cmp dword [esi + 8], 0x14
jae 0x4183ea
push 0x10
call fcn.00487c14
mov esi, eax
add esp, 4
test esi, esi
je 0x4183c4
push 0x8000
mov dword [esi + 0xc], 0
call fcn.004859d9
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
test eax, eax
jne 0x4183ce
push esi
call fcn.00485598
add esp, 4
mov esi, dword [0x4ac2d8]
xor eax, eax
jmp 0x4183e3
inc dword [0x4ac2e0]
mov dword [esi + 8], 0x8000
mov dword [0x4ac2d8], esi
mov eax, esi
mov dword [esi + 0xc], eax
test eax, eax
je 0x41842d
mov eax, dword [esi + 4]
add dword [esi + 8], 0xffffffec
lea ecx, [eax + 0x14]
mov dword [0x4ac2dc], eax
mov dword [esi + 4], ecx
test eax, eax
je 0x41842d
mov ecx, dword [esp + 0xe2a4]
xor edx, edx
mov dword [eax], vtable.Label.0
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov ebx, dword [ecx + 0x14]
mov dword [eax + 0xc], ebx
mov esi, eax
cmp dword [ecx + 0x10], edx
jne 0x418443
mov dword [ecx + 0x10], eax
jmp 0x418449
mov ecx, dword [esp + 0xe2a4]
push 0x499861
push str.Out_of_memory.
jmp 0x418225
mov edx, dword [ecx + 0x14]
mov dword [edx + 0x10], eax
mov ebx, ecx
push str.OnClipboardChange
push edi
mov dword [ebx + 0x14], eax
call fcn.00485821
add esp, 8
test eax, eax
jne case.0x417dd0.14
mov dword [ebx + 0x5c0], esi
jmp case.0x417dd0.14
mov ebx, dword [esp + 0x14]
cmp byte [ebx], 0x23
mov edi, dword [esp + 0xe2a4]
jne 0x4184ae
mov esi, dword [edi + 0x170]
push ebx
push edi
call fcn.00418f10
test eax, eax
je 0x417955
cmp eax, 3
jne 0x4184ae
mov eax, dword [esp + 0xa0]
mov dword [edi + 0x16c], eax
mov dword [edi + 0x170], esi
jmp case.0x417dd0.14
mov al, byte [ebx]
cmp al, 0x7b
je 0x4184d6
cmp al, 0x7d
je 0x4184d6
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
mov ecx, edi
call fcn.0041a5d0
test eax, eax
je 0x417955
jmp case.0x417dd0.14
cmp al, 0x7b
push 0
setne cl
push 0
add cl, 0x73
movzx edx, cl
push 0
push edx
push edi
call fcn.0041cb20
test eax, eax
je 0x417955
lea eax, [ebx + 1]
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0x20
je 0x41850c
cmp cl, 9
jne 0x41850f
inc eax
jmp 0x418500
cmp byte [eax], 0
mov dword [esp + 0x14], eax
jne 0x418698
mov bl, byte [esp + 0x1a]
test bl, bl
je case.0x418548.4
mov eax, dword [esp + 0xa4]
inc eax
mov dword [esp + 0xa4], eax
dec eax
cmp eax, 9
ja case.0x418548.4
movzx eax, byte [eax + 0x418d38]
jmp dword [eax*4 + 0x418d24]
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x10c]
push ecx
push str._s::
push edx
call fcn.00485d58
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x41773d
mov ax, word [0x49ae78]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0xe2a4]
mov word [ebp], ax
mov cl, byte [0x49ae7a]
xor edi, edi
cmp byte [esp + 0x1d], 0
push edi
setne al
push 1
add al, 0xc1
mov byte [ebp + 2], cl
lea edx, [esp + 0x1c]
movzx ecx, al
push edx
push ecx
push esi
call fcn.0041cb20
cmp byte [esp + 0x3f], 0
je 0x4185ec
lea edx, [esp + 0xec]
push edx
push str.if_not_GetKeyState___s__
push ebp
call fcn.00485d58
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa4], 9
jmp 0x41773d
mov esi, dword [esp + 0xe2a4]
mov ebp, dword [esp + 0x14]
xor edi, edi
mov ecx, 0x499861
cmp bl, 0x12
je 0x418600
cmp bl, 0xa3
jbe 0x418620
cmp bl, 0xa5
ja 0x418620
movzx eax, byte [esp + 0x1e]
sub eax, 0x11
je 0x41861b
sub eax, 0x91
je 0x41861b
dec eax
jne 0x418620
mov ecx, str.RCtrl_up
jmp 0x418620
mov ecx, str.LCtrl_up
lea eax, [esp + 0xec]
push eax
lea edx, [esp + 0xc4]
push edx
push ecx
push str.Blind_s_s_s_DownR
push ebp
mov dword [esi + 0x370], edi
call fcn.00485d58
add esp, 0x14
push edi
push 1
lea eax, [esp + 0x1c]
push eax
push 0x41
push esi
call fcn.0041cb20
test eax, eax
je 0x4189ba
push edi
push edi
push edi
push 0x67
push esi
call fcn.0041cb20
lea ecx, [esp + 0x10c]
push ecx
push str._s_up::
push ebp
mov dword [esi + 0x370], edi
call fcn.00485d58
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa4], 2
jmp 0x41773d
lea edx, [eax + 1]
jmp 0x4186a0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4186a0
sub eax, edx
mov edx, dword [esp + 0xe2a4]
mov dword [esp + 0x20], eax
mov dword [edx + 0x370], 0
mov esi, edx
jmp 0x4171f9
mov ax, word [0x49ae78]
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x1d], 0
mov esi, dword [esp + 0xe2a4]
mov word [edi], ax
mov cl, byte [0x49ae7a]
push 0
setne al
push 1
add al, 0xc1
mov byte [edi + 2], cl
lea edx, [esp + 0x1c]
movzx ecx, al
push edx
push ecx
push esi
call fcn.0041cb20
lea edx, [esp + 0xec]
push edx
push str.Blind_s_Up
push edi
call fcn.00485d58
add esp, 0xc
push 0
push 1
lea eax, [esp + 0x1c]
push eax
push 0x41
push esi
call fcn.0041cb20
push 0
push 0
push 0
push 0x67
push esi
call fcn.0041cb20
mov byte [esp + 0x1a], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0xe2a4]
lea edx, [esp + 0x433c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
cmp eax, edx
jne 0x41876e
lea eax, [esp + 0xa284]
mov dword [esp + 0x24], eax
jmp 0x416a70
lea ecx, [esp + 0x433c]
mov dword [esp + 0x24], ecx
jmp 0x416a70
mov ecx, dword [esp + 0xe2a4]
push ebx
push str.Continuation_section_too_long.
call fcn.0042dde0
lea ecx, [esp + 0x44]
mov esi, eax
call fcn.004150d0
mov eax, esi
jmp 0x418ad7
mov ecx, dword [esp + 0xe2a4]
lea eax, [esp + 0x334]
push eax
push 0x49c150
call fcn.0042dde0
lea ecx, [esp + 0x44]
mov esi, eax
call fcn.004150d0
mov eax, esi
jmp 0x418ad7
cmp dword [esi + 0x164], 0
mov eax, 0x49c150
jne 0x4187e0
mov eax, str.Not_a_valid_method__class_or_property_definition.
lea ecx, [esp + 0x334]
push ecx
mov ecx, dword [esp + 0xe2a8]
push eax
call fcn.0042dde0
lea ecx, [esp + 0x44]
mov esi, eax
call fcn.004150d0
mov eax, esi
jmp 0x418ad7
mov ecx, dword [esp + 0xe2a4]
push edx
push str.Functions_cannot_contain_functions.
call fcn.0042dde0
lea ecx, [esp + 0x44]
mov esi, eax
call fcn.004150d0
mov eax, esi
jmp 0x418ad7
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0xe2a4]
push ebx
push str.Not_a_valid_property_getter_setter.
call fcn.0042dde0
lea ecx, [esp + 0x44]
mov esi, eax
call fcn.004150d0
mov eax, esi
jmp 0x418ad7
push ebx
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, edi
jmp 0x41878b
push ebp
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, dword [esp + 0xe2ac]
call fcn.0042dde0
mov esi, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], vtable.TextMem.0
test eax, eax
je 0x41889f
cmp byte [esp + 0x80], 0
je 0x418897
push eax
call fcn.00485838
add esp, 4
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x74]
test eax, eax
mov dword [esp + 0x44], vtable.TextStream.0
je 0x41879b
push eax
call fcn.00485838
add esp, 4
mov eax, esi
jmp 0x418ad7
push ebp
mov dword [ebx + 0x370], eax
push str.IfWin_should_be_IfWin.
mov ecx, ebx
jmp 0x41886d
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], vtable.TextMem.0
cmp eax, esi
je 0x4188fa
cmp byte [esp + 0x80], 0
je 0x4188f6
push eax
call fcn.00485838
add esp, 4
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x74]
mov dword [esp + 0x44], vtable.TextStream.0
cmp eax, esi
je 0x418ad5
push eax
call fcn.00485838
add esp, 4
jmp 0x418ad5
push ebp
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, ebx
jmp 0x41886d
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], vtable.TextMem.0
test eax, eax
je 0x417980
cmp byte [esp + 0x80], 0
je 0x418950
push eax
call fcn.00485838
add esp, 4
mov dword [esp + 0x78], esi
jmp 0x417980
push ebp
xor edi, edi
push str.Duplicate_hotkey.
mov ecx, ebx
mov dword [ebx + 0x370], edi
call fcn.0042dde0
mov esi, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], vtable.TextMem.0
cmp eax, edi
je 0x418997
cmp byte [esp + 0x80], 0
je 0x418993
push eax
call fcn.00485838
add esp, 4
mov dword [esp + 0x78], edi
mov eax, dword [esp + 0x74]
cmp eax, edi
jmp 0x4188a5
push ebp
push str.Out_of_memory.
mov ecx, ebx
jmp 0x41886d
push ecx
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x418866
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], vtable.TextMem.0
cmp eax, edi
je 0x4189e1
cmp byte [esp + 0x80], 0
je 0x4189dd
push eax
call fcn.00485838
add esp, 4
mov dword [esp + 0x78], edi
mov eax, dword [esp + 0x74]
cmp eax, edi
jmp 0x417986
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xe2a4]
push edx
push 0x49c120
call fcn.0042dde0
lea ecx, [esp + 0x44]
mov esi, eax
call fcn.004150d0
mov eax, esi
jmp 0x418ad7
cmp byte [esp + 0x334], 0
je 0x418a85
cmp dword [esp + 0x94], 0
mov eax, dword [esp + 0x98]
mov esi, dword [ebp + 0x170]
mov dword [ebp + 0x170], eax
je 0x418a5c
cmp byte [esp + 0x1b], 0
mov eax, str.Missing___
jne 0x418a4c
mov eax, 0x49c150
lea ecx, [esp + 0x334]
push ecx
push eax
mov ecx, ebp
jmp 0x41878b
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x34c]
push edx
mov ecx, ebp
call fcn.0041a5d0
test eax, eax
je 0x41729f
mov dword [ebp + 0x170], esi
cmp dword [ebp + 0x48], 0
je 0x418aa5
cmp dword [esp + 0xa0], 0
jne 0x418aa5
lea eax, [ebp + 0x60]
push eax
push str.Missing___
mov ecx, ebp
jmp 0x41878b
inc dword [ebp + 0x170]
lea ecx, [esp + 0x44]
call fcn.004150d0
mov eax, 1
jmp 0x418ad7
fldz
sub esp, 8
fstp qword [esp]
push 0
push ebx
push 0
push str.Could_not_extract_script_from_EXE.
call fcn.004772b0
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