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

Disassembly:
push 0xffffffffffffffff
push 0x49bb7b
mov eax, dword fs:[0]
push eax
mov eax, 0x1a4dc
mov dword fs:[0], esp
call fcn.00496a40
push ebx
push ebp
mov ebp, dword [esp + 0x1a4f4]
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x417f52
cmp word [ebx], 0
je 0x417f52
mov eax, dword [0x4c5f9c]
mov dword [esp + 0xac], eax
test eax, eax
jne 0x416059
mov eax, dword [ebp + 0xa88]
mov dword [0x4c3ed8], eax
push 0x8000
xor esi, esi
lea edx, [esp + 0x592]
xor ecx, ecx
push esi
push edx
mov word [esp + 0x598], cx
call fcn.00494120
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceW]
add esp, 0xc
push 0xa
push str._AUTOHOTKEY_SCRIPT_
lea eax, [esp + 0x859c]
lea ecx, [esp + 0x124e4]
push esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], esi
mov byte [esp + 0xdc], 0
call edi
mov esi, eax
test esi, esi
je 0x4160c6
mov byte [ebp + 0xaa4], 0
jmp 0x4160e2
push 0xa
push str._AHK_WITH_ICON_
push 0
call edi
mov esi, eax
test esi, esi
je 0x417f38
mov byte [ebp + 0xaa4], 1
push esi
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0xcc], eax
cmp eax, edi
je 0x417f38
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x417f38
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [esp + 0xc8], eax
cmp eax, edi
je 0x417f38
lea esi, [esp + 0x4c]
call fcn.00414770
mov dword [esp + 0x1a4f4], edi
mov eax, dword [esp + 0x4c]
push 0xc
lea edx, [esp + 0xcc]
push edx
mov edx, dword [eax + 4]
mov ecx, esi
mov dword [esp + 0x5c], edi
call edx
test al, al
je 0x41615d
mov eax, 0xfde9
lea ebx, [edi + 0xc]
mov ecx, esi
call fcn.0046fe90
mov edx, dword [esp + 0xac]
inc dword [0x4c5f9c]
xor eax, eax
mov word [esp + 0x42], ax
xor ecx, ecx
mov dword [ebp + 0x264], edx
lea eax, [esp + 0x4c]
lea edx, [esp + 0x8594]
mov byte [esp + 0x23], 0
mov word [esp + 0x48], cx
mov dword [esp + 0xa8], 0xffffffff
call fcn.004181c0
push 2
mov dword [esp + 0x20], eax
lea eax, [esp + 0x8598]
push 0x4a2270
push eax
call fcn.0048cf02
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x25], al
test al, al
je 0x4161d4
xor ecx, ecx
mov word [esp + 0x8594], cx
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x1c], 0xffffffff
je 0x417eb3
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0x18]
push 0xc
inc edx
push str.CommentFlag
xor edi, edi
push esi
mov dword [ebp + 0x268], edx
mov dword [ebp + 0x628], edi
call fcn.0048bc52
add esp, 0xc
test eax, eax
jne 0x41621c
push esi
push ebp
call fcn.00418360
test eax, eax
je 0x416a8a
mov byte [esp + 0xc4], 0
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x34]
inc dword [esp + 0xa8]
mov esi, dword [esp + 0x28]
test ebx, ebx
je 0x4162c3
lea eax, [esp + 0x4c]
mov ecx, esi
mov edx, ebx
call fcn.004181c0
mov ebp, eax
mov dword [esp + 0xb4], ebp
test ebp, ebp
je 0x4162cd
cmp ebp, 0xffffffff
je 0x4162cd
test esi, esi
jne 0x4162cd
push 2
push 0x4a2294
push ebx
call fcn.0048cf02
add esp, 0xc
test eax, eax
jne 0x4162e2
cmp byte [esp + 0x25], al
jne 0x41628d
mov eax, 0x3a
cmp word [ebx + 4], ax
jne 0x41628d
cmp word [ebx + 6], ax
je 0x4162ed
lea eax, [ebp + ebp - 2]
push eax
lea ecx, [ebx + 4]
push ecx
push ebx
mov byte [esp + 0x31], 0
call fcn.0048be80
add esp, 0xc
lea eax, [ebp - 2]
mov edi, ebx
call fcn.00412960
cmp word [ebx], 0
mov ebp, eax
mov dword [esp + 0xb4], ebp
je 0x416228
jmp 0x4162ed
or ebp, 0xffffffff
mov dword [esp + 0xb4], ebp
cmp byte [esp + 0x25], 0
je 0x41630b
cmp ebp, 0xffffffff
jne 0x416228
jmp 0x4169eb
cmp byte [esp + 0x25], 0
jne 0x416228
push 2
push 0x4a2270
push ebx
call fcn.0048cf02
add esp, 0xc
test eax, eax
jne 0x4162cd
mov byte [esp + 0x25], 1
jmp 0x416228
test esi, esi
jne 0x416811
cmp ebp, 0xffffffff
je 0x416472
cmp word [ebx], 0x28
jne 0x416472
cmp word [ebx + 2], 0x3a
lea eax, [ebx + 2]
je 0x416472
cmp word [ebx + ebp*2 - 2], 0x3a
je 0x416472
mov dl, byte [0x4c46e9]
mov byte [esp + 0x2e], dl
mov dword [esp + 0x28], 1
mov dword [esp + 0xb8], esi
mov byte [esp + 0x31], 1
mov byte [esp + 0x2f], 0
mov byte [esp + 0x2d], 0
mov byte [esp + 0x33], 1
xor edx, edx
mov dword [esp + 0xe4], 0xa
mov dword [esp + 0xbc], 1
call fcn.00409190
mov esi, eax
cmp word [esi], 0
je 0x416804
jmp 0x4163a0
mov ebx, 0x4a14ec
mov eax, esi
call fcn.00409140
mov ebp, eax
test ebp, ebp
jne 0x4163c9
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4163b7
sub eax, edx
sar eax, 1
lea ebp, [esi + eax*2]
movzx edi, word [ebp]
push 4
xor eax, eax
push str.Join
push esi
mov dword [esp + 0xac], edi
mov word [ebp], ax
call fcn.0048bc52
add esp, 0xc
test eax, eax
jne 0x416755
push 0xf
add esi, 8
lea ecx, [esp + 0xe8]
push esi
push ecx
call fcn.0048dfc4
movzx ebx, word [0x4c0404]
add esp, 0xc
xor edx, edx
mov word [esp + 0x102], dx
lea ecx, [esp + 0xe4]
movzx eax, word [ecx]
test ax, ax
je 0x416445
jmp 0x416430
cmp ax, bx
je 0x4166b9
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x416430
lea eax, [esp + 0xe4]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416450
mov edi, dword [esp + 0xa0]
sub eax, edx
sar eax, 1
mov dword [esp + 0xbc], eax
jmp 0x4167e2
mov dword [esp + 0x28], 0
cmp ebp, 0xffffffff
je 0x4169eb
test ebp, ebp
je 0x416228
cmp word [ebx + ebp*2 - 2], 0x3a
jne 0x41649d
cmp word [ebx], 0x2c
jne 0x4169eb
mov ax, word [ebx]
call fcn.00409110
movzx eax, ax
cmp eax, 0x41
je 0x416626
cmp eax, 0x4f
je 0x4165f3
movzx eax, word [ebx]
cmp eax, 0x3a
je 0x4164cc
cmp eax, 0x2b
je 0x4164cc
cmp eax, 0x2d
jne 0x4164d6
cmp word [ebx + 2], ax
je 0x4169eb
push eax
push str.____:.___
call fcn.0048c1e1
add esp, 8
test eax, eax
je 0x4169eb
push 0x4a22dc
push ebx
call fcn.0048c208
mov edi, eax
add esp, 8
test edi, edi
je 0x416671
cmp word [ebx], 0x3a
jne 0x416559
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
test ax, ax
je 0x41654f
cmp ax, 0x3a
je 0x4169eb
mov ecx, 0x107
call fcn.004090f0
test eax, eax
jne 0x416543
movzx edx, word [esi]
push edx
push str.____t
call fcn.0048c1e1
add esp, 8
test eax, eax
je 0x416559
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x416516
cmp word [esi], 0x3a
je 0x4169eb
cmp word [ebx], 0x2c
jne 0x4165a1
lea eax, [ebx + 2]
call fcn.00409190
push 2
mov esi, eax
push 0x4a22dc
push esi
call fcn.0048cf02
add esp, 0xc
test eax, eax
je 0x4169eb
push 3
push 0x4a14dc
add esi, 0xfffffffe
push esi
call fcn.0048cf02
add esp, 0xc
test eax, eax
je 0x4169eb
jmp 0x416671
mov eax, ebx
cmp ebx, edi
jae 0x4165b4
cmp word [eax], 0x22
je 0x4165b4
add eax, 2
cmp eax, edi
jb 0x4165a7
cmp eax, edi
je 0x4169eb
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
test ax, ax
je 0x4169eb
lea esp, [esp]
cmp ax, 0x22
je 0x4165e7
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x4165d0
jmp 0x4169eb
cmp word [ecx], 0
je 0x4169eb
jmp 0x416671
mov ax, word [ebx + 2]
call fcn.00409110
cmp ax, 0x52
jne 0x4169eb
movzx ecx, word [ebx + 4]
lea eax, [ebx + 4]
cmp ecx, 0x20
je 0x41661b
cmp ecx, 9
jne 0x4169eb
call fcn.00409190
movzx eax, word [eax]
push eax
jmp 0x41665c
push 3
push 0x4a229c
push ebx
call fcn.0048bc52
add esp, 0xc
test eax, eax
jne 0x4169eb
movzx ecx, word [ebx + 6]
lea eax, [ebx + 6]
cmp ecx, 0x20
je 0x416653
cmp ecx, 9
jne 0x4169eb
call fcn.00409190
movzx ecx, word [eax]
push ecx
push str.____:
call fcn.0048c1e1
add esp, 8
test eax, eax
jne 0x4169eb
mov esi, dword [esp + 0x1c]
lea edx, [esi + ebp]
cmp edx, 0x4000
jae 0x417ce3
cmp word [ebx], 0x2c
je 0x416698
mov ecx, dword [esp + 0x18]
mov eax, 0x20
mov word [ecx + esi*2], ax
inc esi
mov eax, dword [esp + 0x18]
lea edx, [ebp + ebp + 2]
push edx
lea ecx, [eax + esi*2]
push ebx
push ecx
call fcn.004935d0
add esp, 0xc
add esi, ebp
mov dword [esp + 0x1c], esi
jmp 0x416228
cmp word [ecx], 0
je 0x416445
movzx eax, word [ecx + 2]
lea esi, [ecx + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4166d9.99
movzx eax, byte [eax + 0x417f94]
jmp dword [eax*4 + 0x417f70]
mov edx, 7
mov word [esi], dx
jmp case.0x4166d9.99
mov eax, 8
jmp 0x416722
mov edx, 0xc
mov word [esi], dx
jmp case.0x4166d9.99
mov eax, 0xa
jmp 0x416722
mov edx, 0xd
mov word [esi], dx
jmp case.0x4166d9.99
mov eax, 9
jmp 0x416722
mov edx, 0xb
mov word [esi], dx
jmp case.0x4166d9.99
mov eax, 0x20
mov word [esi], ax
mov eax, esi
lea edi, [eax + 2]
lea ebx, [ebx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x416730
sub eax, edi
sar eax, 1
lea edx, [eax + eax + 2]
push edx
push esi
push ecx
call fcn.0048be80
add esp, 0xc
mov ecx, esi
jmp 0x416420
push 5
push 0x4a233c
push esi
call fcn.0048bc52
add esp, 0xc
test eax, eax
jne 0x416775
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x2e]
jmp 0x4167e2
push 5
push str.RTrim
push esi
call fcn.0048bc52
add esp, 0xc
test eax, eax
jne 0x416795
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x31]
jmp 0x4167e2
movzx eax, word [esi]
test ax, ax
je 0x4167e2
lea ecx, [ecx]
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x4167b2.38
movzx eax, byte [eax + 0x417fc4]
jmp dword [eax*4 + 0x417fac]
mov byte [esp + 0x2f], 1
jmp case.0x4167b2.38
mov byte [esp + 0x2d], 1
jmp case.0x4167b2.38
mov byte [esp + 0x33], 0
jmp case.0x4167b2.38
mov dword [esp + 0x28], 2
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x4167a0
mov word [ebp], di
mov esi, ebp
movzx eax, word [esi]
cmp eax, 0x20
je 0x4167f5
cmp eax, 9
jne 0x4167fa
add esi, 2
jmp 0x4167e8
cmp word [esi], 0
jne 0x4163a0
mov byte [esp + 0xc4], 1
jmp 0x416228
cmp ebp, 0xffffffff
je 0x417e8b
cmp ebp, 0xfffffffe
je 0x416228
cmp word [ebx], 0x29
jne 0x41684a
mov esi, dword [esp + 0x34]
or eax, 0xffffffff
mov dword [esp + 0x28], 0
lea ebx, [esi + 2]
call fcn.004129d0
lea ebp, [eax - 1]
mov edi, esi
jmp 0x416961
cmp byte [esp + 0x31], 0
mov edi, dword [esp + 0x34]
mov ebx, edi
je 0x416862
mov eax, ebp
mov esi, edi
call fcn.004129d0
mov ebp, eax
cmp byte [esp + 0x2e], 0
je 0x416876
mov edi, dword [esp + 0x34]
mov eax, ebp
call fcn.00412960
mov ebp, eax
xor esi, esi
cmp byte [esp + 0x2f], 0
je 0x4168b5
mov ax, word [0x4c0404]
push esi
push 0x4001
push 0xffffffffffffffff
push 1
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x54]
push edx
mov word [esp + 0x58], ax
mov word [esp + 0x5c], ax
mov word [esp + 0x5e], ax
push edi
xor eax, eax
call fcn.00472a50
add esp, 0x1c
mov esi, eax
cmp byte [esp + 0x2d], 0
je 0x4168fa
mov ax, word [0x4c0400]
mov cx, word [0x4c0404]
push 0
push 0x4001
push 0xffffffffffffffff
push 1
mov word [esp + 0x50], ax
mov word [esp + 0x56], ax
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x54]
push eax
push edi
xor eax, eax
mov word [esp + 0x60], cx
call fcn.00472a50
add esp, 0x1c
add esi, eax
cmp byte [esp + 0x33], 0
je 0x41693f
mov ax, word [0x4c03fc]
mov cx, word [0x4c0404]
push 0
push 0x4001
push 0xffffffffffffffff
push 1
mov word [esp + 0x50], ax
mov word [esp + 0x56], ax
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x54]
push eax
push edi
xor eax, eax
mov word [esp + 0x60], cx
call fcn.00472a50
add esp, 0x1c
add esi, eax
test esi, esi
je 0x416961
mov eax, edi
lea edx, [eax + 2]
jmp 0x416950
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416950
sub eax, edx
sar eax, 1
mov ebp, eax
mov esi, dword [esp + 0xbc]
mov eax, dword [esp + 0x1c]
lea ecx, [esi + ebp]
add ecx, eax
cmp ecx, 0x4001
jae 0x417ce3
mov ecx, dword [esp + 0xb8]
inc ecx
mov dword [esp + 0xb8], ecx
cmp ecx, 1
jle 0x4169ba
test esi, esi
je 0x4169ba
cmp ebx, edi
jne 0x4169ba
lea edx, [esi + esi + 2]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xe8]
push ecx
lea eax, [edx + eax*2]
push eax
call fcn.004935d0
add esp, 0xc
add dword [esp + 0x1c], esi
test ebp, ebp
je 0x416228
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ecx, [ebp + ebp + 2]
push ecx
lea eax, [edx + esi*2]
push ebx
push eax
call fcn.004935d0
add esp, 0xc
add esi, ebp
mov dword [esp + 0x1c], esi
jmp 0x416228
mov word [ebp], di
cmp dword [esp + 0x1c], 0
mov ebp, dword [esp + 0x1a4fc]
je 0x417444
cmp word [esp + 0x58c], 0
je 0x416b52
mov ecx, dword [esp + 0xa4]
mov edi, dword [ebp + 0x268]
mov esi, dword [esp + 0x18]
mov bl, byte [esp + 0x27]
mov dword [ebp + 0x268], ecx
cmp word [esi], 0x7b
je 0x416a71
test bl, bl
jne 0x416a71
cmp byte [esp + 0x24], bl
jne 0x417d07
cmp dword [ebp + 0x48], 0
je 0x416a54
mov edx, dword [0x4c040c]
cmp dword [edx + 0xb4], 0
je 0x417d18
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x5a4]
push eax
mov ecx, ebp
call fcn.00419af0
jmp 0x416ad7
cmp byte [esp + 0x24], 0
je 0x416a98
lea ecx, [esp + 0x58c]
push ecx
push ebp
call fcn.0041e0c0
test eax, eax
jne 0x416ae5
lea ecx, [esp + 0x4c]
call fcn.004147d0
jmp 0x417f52
mov edx, dword [0x4c040c]
cmp dword [edx + 0xb4], 0
jne 0x417d29
lea eax, [esp + 0x1059c]
push eax
lea ecx, [esp + 0x590]
push ecx
push ebp
call fcn.0041d730
test eax, eax
je 0x416a8a
test bl, bl
je 0x416ae5
push 0
push 0
push 0
push 0x72
push ebp
call fcn.0041bea0
test eax, eax
je 0x416a8a
mov dword [ebp + 0x628], 0
xor edx, edx
mov word [esp + 0x58c], dx
cmp byte [esp + 0x24], dl
je 0x416b4c
push edx
push edx
push edx
push 0x72
push ebp
call fcn.0041bea0
test eax, eax
je 0x416a8a
test bl, bl
jne 0x416b4c
lea eax, [esi + 2]
call fcn.00409190
cmp word [eax], 0
jne 0x416b21
mov dword [ebp + 0x268], edi
jmp 0x417444
mov ecx, eax
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x416b26
mov edx, dword [esp + 0x18]
sub ecx, esi
sar ecx, 1
mov dword [esp + 0x1c], ecx
lea ecx, [ecx + ecx + 2]
push ecx
push eax
push edx
call fcn.0048be80
add esp, 0xc
mov dword [ebp + 0x268], edi
mov edi, dword [esp + 0x18]
cmp word [edi], 0x7d
jne 0x416c20
cmp dword [ebp + 0x48], 0
je 0x416c20
mov eax, dword [0x4c040c]
cmp dword [eax + 0xb4], 0
jne 0x416c20
mov ebx, edi
mov edi, edi
mov eax, dword [ebp + 0x48]
test eax, eax
je 0x416beb
dec eax
mov dword [ebp + 0x48], eax
mov edi, dword [ebp + eax*4 + 0x4c]
call fcn.0046c1e0
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + ecx*4 + 0x4c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea esi, [ebp + 0x60]
push 0x2e
push esi
call fcn.0048ced4
add esp, 8
test eax, eax
je 0x416bbc
xor ecx, ecx
mov word [eax], cx
jmp 0x416bc1
xor edx, edx
mov word [esi], dx
push 0
push 0
push 0
push 0x73
push ebp
call fcn.0041bea0
test eax, eax
je 0x416a8a
lea eax, [ebx + 2]
call fcn.00409190
mov edi, dword [esp + 0x18]
mov ebx, eax
cmp word [ebx], 0x7d
je 0x416b80
cmp word [ebx], 0
je 0x417444
mov eax, ebx
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416c00
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
add eax, eax
push eax
push ebx
push edi
call fcn.0048be80
add esp, 0xc
lea ecx, [esp + 0x27]
push ecx
mov eax, edi
call fcn.00415ea0
add esp, 4
test al, al
je 0x416c65
lea edx, [esp + 0x58c]
mov eax, edi
sub edx, edi
mov edi, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x416c40
mov edx, dword [ebp + 0x268]
mov dword [esp + 0xa4], edx
mov byte [esp + 0x24], cl
jmp 0x417444
mov eax, dword [0x4c040c]
cmp dword [eax + 0xb4], 0
jne 0x416da0
lea ecx, [esp + 0x27]
push ecx
mov eax, edi
call fcn.00415f60
add esp, 4
test eax, eax
je 0x416cb9
lea edx, [esp + 0x58c]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x416c93
mov edx, dword [ebp + 0x268]
mov dword [esp + 0xa4], edx
mov byte [esp + 0x24], 1
jmp 0x417444
cmp dword [ebp + 0x48], 0
je 0x416da0
mov esi, edi
movzx eax, word [esi]
test eax, 0xffffff80
jne 0x416ce1
push 0x107
push eax
call fcn.0048c65e
add esp, 8
test eax, eax
jne 0x416cee
movzx eax, word [esi]
cmp eax, 0x5f
je 0x416cee
cmp eax, 0x2e
jne 0x416cf3
add esi, 2
jmp 0x416cc5
cmp esi, edi
jbe 0x416d21
mov eax, esi
call fcn.00409190
cmp word [eax], 0x3a
jne 0x416d21
cmp word [eax + 2], 0x3d
jne 0x416d21
push 0
push edi
push ebp
call fcn.0041e580
test eax, eax
je 0x416a8a
jmp 0x417444
push 6
push str.Static
push edi
call fcn.0048bc52
add esp, 0xc
test eax, eax
jne 0x416d5c
movzx eax, word [edi + 0xc]
cmp eax, 0x20
je 0x416d43
cmp eax, 9
jne 0x416d5c
push 1
add edi, 0xe
push edi
push ebp
call fcn.0041e580
test eax, eax
je 0x416a8a
jmp 0x417444
cmp word [edi], 0x23
jne 0x417d3a
mov esi, dword [ebp + 0x268]
push edi
push ebp
call fcn.00418360
test eax, eax
je 0x416a8a
cmp eax, 3
jne 0x417d3a
mov eax, dword [esp + 0xac]
mov dword [ebp + 0x264], eax
mov dword [ebp + 0x268], esi
jmp 0x417444
mov edi, dword [esp + 0x18]
xor ebx, ebx
cmp word [edi], 0x3a
mov dword [esp + 0x28], ebx
mov dword [esp + 0xa0], ebx
jne 0x416e3f
movzx ecx, word [edi + 2]
lea eax, [edi + 2]
cmp cx, bx
je 0x416e3f
cmp ecx, 0x3a
je 0x416de9
push 0x3a
push eax
mov dword [esp + 0xa8], eax
call fcn.0048c1e1
add esp, 8
cmp eax, ebx
jne 0x416de4
mov dword [esp + 0x28], ebx
jmp 0x416e3f
add eax, 2
jmp 0x416df2
cmp word [edi + 4], bx
lea eax, [edi + 4]
je 0x416e3f
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x416e3f
mov edi, eax
movzx eax, word [edi]
mov cx, word [0x4c0404]
test ax, ax
je 0x416e2f
jmp 0x416e10
cmp ax, cx
je 0x416ea6
cmp ax, 0x3a
je 0x416ea6
movzx eax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x416e10
test ebx, ebx
jne 0x416f78
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], ebx
push 0x4a22dc
push edi
call fcn.0048c208
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x417617
cmp ebx, edi
jne 0x416e65
cmp word [ebx + 4], 0x3a
jne 0x416e65
add ebx, 2
mov esi, ebx
cmp ebx, edi
jbe 0x416e84
jmp 0x416e70
movzx eax, word [esi]
cmp eax, 0x20
je 0x416e7d
cmp eax, 9
jne 0x416e84
sub esi, 2
cmp esi, edi
ja 0x416e70
movzx edi, word [esi]
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov word [esi], cx
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x416ea1
cmp ecx, 9
jne 0x416f5b
add eax, 2
jmp 0x416e90
movzx eax, word [edi]
test ax, ax
je 0x416e2f
lea esi, [edi + 2]
cmp eax, 0x3a
jne 0x416ecb
cmp word [esi], ax
jne 0x416f53
mov ebx, edi
mov edi, esi
add edi, 2
jmp 0x416dfc
movzx eax, word [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x416edd.99
movzx ecx, byte [eax + 0x418024]
jmp dword [ecx*4 + 0x418004]
mov edx, 7
jmp 0x416f1f
mov eax, 8
mov word [esi], ax
jmp case.0x416edd.99
mov ecx, 0xc
mov word [esi], cx
jmp case.0x416edd.99
mov edx, 0xa
jmp 0x416f1f
mov eax, 0xd
mov word [esi], ax
jmp case.0x416edd.99
mov ecx, 9
mov word [esi], cx
jmp case.0x416edd.99
mov edx, 0xb
mov word [esi], dx
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416f27
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push esi
push edi
call fcn.0048be80
add esp, 0xc
cmp word [edi], 0x3a
jne 0x416f53
cmp word [esi], 0x3a
jne 0x416f53
mov edi, esi
add edi, 2
jmp 0x416dfc
push 0
push 0
call fcn.0040b3d0
add esp, 8
test eax, eax
jne 0x416f6d
xor ebx, ebx
mov word [esi], di
test ebx, ebx
je 0x417617
mov ecx, dword [esp + 0x18]
cmp ebx, ecx
jbe 0x41761b
mov edx, dword [0x4c040c]
cmp dword [edx + 0xb4], 0
jne 0x417d44
mov eax, dword [ebp + 4]
test eax, eax
je 0x416fa7
cmp byte [eax], 0x1a
je 0x417dac
xor eax, eax
mov word [ebx], ax
add ebx, 4
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x28], eax
jne 0x4174a0
or eax, 0xffffffff
mov edi, ebx
call fcn.00412960
mov esi, dword [esp + 0x18]
cmp word [esi], 0
je 0x417020
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416fd6
sub eax, edx
sar eax, 1
lea eax, [esi + eax*2 - 2]
lea esp, [esp]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x416ffd
cmp ecx, 9
jne 0x417006
cmp eax, esi
je 0x41700e
sub eax, 2
jmp 0x416ff0
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x417020
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x41701b
cmp ecx, 9
jne 0x417020
xor edx, edx
mov word [eax], dx
mov ebp, dword [esp + 0x1c]
cmp word [ebp], 0
je 0x417495
mov esi, dword [esp + 0x18]
cmp word [esi], 0
je case.0x41707d.34
lea edi, [esi + 2]
xor bl, bl
cmp word [edi], 0
mov byte [esp + 0x15], 0
je case.0x41707d.34
push 0x4a14e4
push edi
call fcn.0048b419
add esp, 8
test eax, eax
je case.0x41707d.34
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x41707d.34
movzx eax, byte [eax + 0x41805c]
jmp dword [eax*4 + 0x41803c]
mov bl, 1
jmp case.0x41707d.36
mov byte [esp + 0x15], 1
jmp case.0x41707d.36
test bl, bl
jne 0x4170a9
cmp byte [esp + 0x15], bl
jne 0x4170b0
or dword [esp + 0x3c], 1
jmp case.0x41707d.36
cmp byte [esp + 0x15], 0
je 0x4170ba
or byte [esp + 0x17], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41707d.36
or byte [esp + 0x17], 8
jmp 0x417151
test bl, bl
jne 0x4170dd
cmp byte [esp + 0x15], bl
jne 0x4170e4
or dword [esp + 0x3c], 2
jmp case.0x41707d.36
cmp byte [esp + 0x15], 0
je 0x4170ee
or byte [esp + 0x17], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41707d.36
or byte [esp + 0x17], 2
jmp 0x417151
test bl, bl
jne 0x41710a
cmp byte [esp + 0x15], bl
jne 0x417111
or dword [esp + 0x3c], 4
jmp case.0x41707d.36
cmp byte [esp + 0x15], 0
je 0x41711b
or byte [esp + 0x17], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41707d.36
or byte [esp + 0x17], 0x20
jmp 0x417151
test bl, bl
jne 0x417137
cmp byte [esp + 0x15], bl
jne 0x41713e
or dword [esp + 0x3c], 8
jmp case.0x41707d.36
cmp byte [esp + 0x15], 0
je 0x417148
or byte [esp + 0x17], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41707d.36
or byte [esp + 0x17], 0x80
xor bl, bl
mov esi, edi
cmp word [esi + 2], 0
lea edi, [esi + 2]
jne 0x417051
push 0
mov dword [esp + 0xb4], esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 1
mov ecx, eax
mov edi, esi
push 0
xor edx, edx
mov eax, edi
call fcn.00411c80
add esp, 8
mov byte [esp + 0x32], al
test al, al
je 0x417495
mov esi, dword [esp + 0x1c]
cmp word [esi + 2], 0
je 0x41731c
cmp word [esi], 0
je 0x4172d8
mov ebp, dword [esp + 0x98]
mov byte [esp + 0x15], 0
xor bl, bl
lea esp, [esp]
lea edi, [esi + 2]
push 0x4a14e4
push edi
call fcn.0048b419
add esp, 8
test eax, eax
je case.0x4171ef.34
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x4171ef.34
movzx ecx, byte [eax + 0x4180dc]
jmp dword [ecx*4 + 0x4180bc]
mov bl, 1
jmp case.0x4171ef.36
mov byte [esp + 0x15], 1
jmp case.0x4171ef.36
test bl, bl
jne 0x417219
cmp byte [esp + 0x15], bl
jne 0x417220
or ebp, 1
jmp case.0x4171ef.36
cmp byte [esp + 0x15], 0
je 0x41722a
or byte [esp + 0x16], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x4171ef.36
or byte [esp + 0x16], 8
jmp 0x4172bb
test bl, bl
jne 0x41724b
cmp byte [esp + 0x15], bl
jne 0x417252
or ebp, 2
jmp case.0x4171ef.36
cmp byte [esp + 0x15], 0
je 0x41725c
or byte [esp + 0x16], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x4171ef.36
or byte [esp + 0x16], 2
jmp 0x4172bb
test bl, bl
jne 0x417276
cmp byte [esp + 0x15], bl
jne 0x41727d
or ebp, 4
jmp case.0x4171ef.36
cmp byte [esp + 0x15], 0
je 0x417287
or byte [esp + 0x16], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x4171ef.36
or byte [esp + 0x16], 0x20
jmp 0x4172bb
test bl, bl
jne 0x4172a1
cmp byte [esp + 0x15], bl
jne 0x4172a8
or ebp, 8
jmp case.0x4171ef.36
cmp byte [esp + 0x15], 0
je 0x4172b2
or byte [esp + 0x16], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x4171ef.36
or byte [esp + 0x16], 0x80
xor bl, bl
mov esi, edi
cmp word [esi + 2], 0
jne 0x4171c0
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x98], ebp
push 0
mov ebp, esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 1
mov ecx, eax
push 0
xor edx, edx
mov eax, ebp
call fcn.00411c80
add esp, 8
mov byte [esp + 0x23], al
test al, al
je 0x417495
mov cl, al
mov al, byte [esp + 0x32]
lea edx, [eax - 1]
cmp dl, 5
ja 0x417312
cmp al, 3
jne 0x417318
add al, 0x66
cmp al, 5
ja 0x417325
mov al, 1
jmp 0x417327
or cl, 0xff
mov byte [esp + 0x23], cl
jmp 0x417306
xor al, al
lea edx, [ecx - 1]
cmp dl, 5
ja 0x417334
cmp cl, 3
jne 0x41733c
add cl, 0x66
cmp cl, 5
ja 0x417343
mov byte [esp + 0x26], 1
jmp 0x417348
mov byte [esp + 0x26], 0
test al, al
jne 0x417357
mov byte [esp + 0x30], 1
cmp byte [esp + 0x26], al
jne 0x41735c
mov byte [esp + 0x30], 0
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417361
sub eax, edx
sar eax, 1
cmp eax, 1
jne 0x417388
movzx eax, word [edi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
mov eax, 0x4a24dc
jne 0x41738d
mov eax, 0x49e828
mov ecx, dword [esp + 0x18]
push ecx
push eax
push 0x4a24e0
mov esi, 0x20
lea edi, [esp + 0x150]
call fcn.004722b0
add esp, 0xc
push 0x1f
lea edx, [esp + 0x108]
push ebp
push edx
call fcn.0048dfc4
mov esi, dword [esp + 0x28]
add esp, 0xc
push 7
lea ecx, [esp + 0xd8]
xor eax, eax
push esi
push ecx
mov word [esp + 0x14e], ax
call fcn.0048dfc4
sub ebp, esi
mov eax, ebp
xor edx, edx
sar eax, 1
add esp, 0xc
mov word [esp + 0xe2], dx
cmp eax, 8
jae 0x4173ff
xor ecx, ecx
mov word [esp + eax*2 + 0xd4], cx
mov dword [esp + 0x9c], edx
cmp word [esp + 0xd4], dx
jne case.0x417424.14
movzx eax, byte [esp + 0x23]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x417424.14
movzx edx, byte [eax + 0x41814c]
jmp dword [edx*4 + 0x41813c]
mov eax, dword [esp + 0x1c]
mov ebx, 0x4a1824
call fcn.00409140
test eax, eax
jne case.0x417424.19
mov ebp, dword [esp + 0x1a4fc]
mov bl, byte [esp + 0x23]
test bl, bl
je case.0x417470.4
mov eax, dword [esp + 0x9c]
inc eax
mov dword [esp + 0x9c], eax
dec eax
cmp eax, 9
ja case.0x417470.4
movzx edx, byte [eax + 0x4181b4]
jmp dword [edx*4 + 0x4181a0]
lea eax, [esp + 0x104]
push str.Return
push eax
call fcn.0048b419
add esp, 8
test eax, eax
jne case.0x417424.14
mov byte [esp + 0x23], 0
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x1a4fc]
cmp byte [ebp + 0x26c], 0
je 0x4174cf
xor esi, esi
push esi
push 0xff
push esi
push 0x66
push ebp
mov byte [ebp + 0x26c], 0
call fcn.0041bea0
test eax, eax
je 0x417dc0
mov dword [ebp + 0x628], esi
mov eax, dword [esp + 0x18]
push 1
mov esi, ebp
call fcn.004199f0
test eax, eax
je 0x4177f6
mov esi, dword [esp + 0x28]
xor edi, edi
cmp word [ebx], di
je 0x41753c
test esi, esi
jne 0x417526
push esi
mov esi, ebx
call fcn.00409250
movzx edi, ax
add esp, 4
test di, di
jne 0x417522
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
mov ecx, ebp
call fcn.00419af0
test eax, eax
je 0x416a8a
mov esi, dword [esp + 0x28]
push 0
push 0
push 0
push 0x66
push ebp
call fcn.0041bea0
test eax, eax
je 0x416a8a
test esi, esi
je 0x41757f
cmp word [esi], 0
je 0x417e0f
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x41755a
mov eax, 0x49e828
mov ecx, dword [esp + 0xc4]
mov edx, dword [ebp + 0x14]
push ecx
push ebx
push eax
push edx
mov edi, esi
call fcn.0040c6e0
add esp, 0x10
test eax, eax
je 0x416a8a
jmp 0x417444
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x3b]
push eax
lea ecx, [esp + 0xc4]
push ecx
push ebx
call fcn.0040bd00
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4175f1
test di, di
je 0x4175ad
mov word [esi + 2], di
jmp 0x417444
mov eax, esi
call fcn.0040b200
test eax, eax
jne 0x417e20
mov edx, dword [esp + 0xc0]
mov edi, dword [ebp + 0x14]
push edx
call fcn.0040b2b0
test eax, eax
je 0x417e37
cmp byte [esp + 0x3b], 0
jne 0x4175e8
cmp byte [0x4c46ea], 0
je 0x417444
mov byte [esi + 0x16], 1
jmp 0x417444
mov eax, dword [esp + 0xc0]
mov ecx, dword [ebp + 0x14]
push eax
push 0
push edi
push ecx
xor bl, bl
call fcn.0040aad0
add esp, 0x10
test eax, eax
je 0x416a8a
jmp 0x417444
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
cmp word [ecx + eax*2 - 2], 0x3a
lea edi, [ecx + eax*2]
jne 0x4178da
cmp eax, 1
je 0x417e44
movzx eax, word [ecx]
test ax, ax
je 0x41767c
mov dx, word [0x4c03fc]
cmp ax, 0x20
je 0x4178da
cmp ax, 9
je 0x4178da
cmp ax, dx
je 0x4178da
cmp ax, word [0x4c0404]
je 0x4178da
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x417646
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
cmp word [ecx + eax*2 - 4], 0x3a
jne 0x417702
cmp eax, 2
jbe 0x417702
cmp byte [ebp + 0x26c], 0
je 0x4176c0
xor esi, esi
push esi
push 0xff
push esi
push 0x66
push ebp
mov byte [ebp + 0x26c], 0
call fcn.0041bea0
test eax, eax
je 0x417dc0
mov dword [ebp + 0x628], esi
mov edx, dword [esp + 0x18]
push edx
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 + 0x18c]
call fcn.004722b0
fldz
add esp, 8
push 0
sub esp, 8
fstp qword [esp]
push 0
mov eax, edi
push 0x10000
push eax
call fcn.00476980
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
add esp, 0x18
dec eax
xor edx, edx
mov word [ecx + eax*2], dx
mov dword [esp + 0x1c], eax
cmp word [ecx], dx
je 0x4177f6
mov edi, dword [esp + 0x18]
cmp eax, 0xffffffff
jne 0x417733
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417724
sub eax, edx
sar eax, 1
lea eax, [edi + eax*2 - 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x417744
cmp ecx, 9
jne 0x41774d
cmp eax, edi
je 0x417755
sub eax, 2
jmp 0x417737
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x417767
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x417762
cmp ecx, 9
jne 0x417767
xor edx, edx
mov word [eax], dx
cmp word [edi], 0
je 0x4177f6
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x41778f
mov eax, dword [esi]
push edi
push eax
call fcn.0048b419
add esp, 8
test eax, eax
je 0x4177e1
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x417778
cmp word [edi], 0
je 0x417832
mov eax, edi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4177a0
sub eax, edx
sar eax, 1
mov ebx, eax
lea edi, [ebx + ebx]
lea eax, [edi + 2]
call fcn.0046f6a0
mov esi, eax
test esi, esi
je 0x417cca
test ebx, ebx
je 0x4177d9
mov ecx, dword [esp + 0x18]
push edi
push ecx
push esi
call fcn.004935d0
add esp, 0xc
xor edx, edx
mov word [edi + esi], dx
jmp 0x417837
push edi
push str.Duplicate_label.
mov ecx, ebp
call fcn.0042f670
test eax, eax
jne 0x417444
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x417827
cmp byte [esp + 0x88], 0
je 0x41781c
push eax
call fcn.0048ca6f
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
test eax, eax
jmp 0x417df3
mov esi, 0x49e828
cmp dword [0x4c5fb8], 0
jne 0x41784e
call fcn.0046f710
mov dword [0x4c5fb8], eax
test eax, eax
je 0x4178a1
mov ecx, dword [0x4c5fbc]
cmp dword [ecx + 8], 0x10
jae 0x41786c
call fcn.0046f710
mov ecx, dword [0x4c5fbc]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x4178a1
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff0
lea edx, [eax + 0x10]
mov dword [0x4c5fc0], eax
mov dword [ecx + 4], edx
test eax, eax
je 0x4178a1
xor ecx, ecx
mov dword [eax], esi
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x14]
mov dword [eax + 8], edx
mov edi, eax
cmp dword [ebp + 0x10], ecx
jne 0x4178b0
mov dword [ebp + 0x10], eax
jmp 0x4178b6
push 0x49e828
push str.Out_of_memory.
jmp 0x4177e7
mov ecx, dword [ebp + 0x14]
mov dword [ecx + 0xc], eax
push str.OnClipboardChange
push esi
mov dword [ebp + 0x14], eax
call fcn.0048b419
add esp, 8
test eax, eax
jne 0x417444
mov dword [ebp + 0xa54], edi
jmp 0x417444
mov edx, dword [esp + 0x18]
cmp word [edx], 0x23
jne 0x417918
mov esi, dword [ebp + 0x268]
mov eax, edx
push eax
push ebp
call fcn.00418360
test eax, eax
je 0x4177f6
cmp eax, 3
jne 0x417918
mov ecx, dword [esp + 0xac]
mov dword [ebp + 0x264], ecx
mov dword [ebp + 0x268], esi
jmp 0x417444
mov edx, dword [esp + 0x18]
movzx eax, word [edx]
cmp eax, 0x7b
je 0x417a64
cmp eax, 0x7d
je 0x417a64
mov ebx, str._t__
mov eax, edx
call fcn.00409140
mov ebx, eax
xor ebp, ebp
cmp ebx, ebp
jne 0x417947
mov ebx, edi
mov ecx, dword [esp + 0x18]
mov edi, ebx
sub edi, ecx
sar edi, 1
push 0xffffffffffffffff
push edi
mov eax, str.Else
mov esi, 1
call fcn.00472350
add esp, 8
test eax, eax
je 0x4179c0
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
push edi
mov eax, 0x49ff88
call fcn.00472350
add esp, 8
cmp eax, ebp
je 0x4179cc
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
push edi
mov eax, 0x49ff60
call fcn.00472350
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x4179c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1a4fc]
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push eax
call fcn.00419af0
test eax, eax
je 0x416a8a
jmp case.0x417424.14
neg esi
sbb esi, esi
and esi, 0xffffff97
add esi, 0x71
jmp 0x4179d1
mov esi, 0x6e
push ebp
push ebp
push ebp
push esi
mov esi, dword [esp + 0x1a50c]
push esi
call fcn.0041bea0
test eax, eax
je 0x417e53
mov dword [esi + 0x628], ebp
mov eax, ebx
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x4179ff
cmp ecx, 9
jne 0x417a04
add eax, 2
jmp 0x4179f2
mov dx, word [eax]
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp dx, word [0x4c03fc]
jne 0x417a36
lea ecx, [eax + 2]
lea esp, [esp]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x417a2d
cmp eax, 9
jne 0x417a32
add ecx, 2
jmp 0x417a20
mov dword [esp + 0x18], ecx
cmp word [ecx], bp
je 0x417ace
mov eax, ecx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417a44
sub eax, edx
sar eax, 1
mov dword [esi + 0x628], ebp
mov dword [esp + 0x1c], eax
mov ebp, esi
jmp 0x416d9c
xor esi, esi
cmp eax, 0x7b
push esi
setne al
push esi
add al, 0x72
movzx ecx, al
push esi
push ecx
push ebp
call fcn.0041bea0
test eax, eax
je 0x417dc0
mov eax, dword [esp + 0x18]
movzx ecx, word [eax + 2]
add eax, 2
cmp ecx, 0x20
je 0x417a87
cmp ecx, 9
je 0x417a87
mov dword [esp + 0x18], eax
cmp word [eax], si
je 0x417444
lea edx, [eax + 2]
jmp 0x417ab0
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x417ab0
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
mov dword [ebp + 0x628], esi
jmp 0x416d9c
mov ebp, esi
jmp 0x417444
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x144]
push eax
push str._s::
push ecx
call fcn.0048b823
add esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x416d9c
mov esi, dword [esp + 0x18]
mov eax, 0x4a26ac
mov edx, esi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x417b05
cmp byte [esp + 0x26], cl
push 0
setne al
push 1
add al, 0xc0
lea edx, [esp + 0x20]
movzx ecx, al
push edx
push ecx
push ebp
call fcn.0041bea0
cmp byte [esp + 0x30], 0
je 0x417b65
lea edx, [esp + 0x104]
push edx
push str.if_not_GetKeyState___s__
push esi
call fcn.0048b823
add esp, 0xc
mov dword [esp + 0x1c], eax
mov dword [esp + 0x9c], 9
jmp 0x416d9c
mov esi, dword [esp + 0x18]
mov ecx, 0x49e828
cmp bl, 0x12
je 0x417b79
cmp bl, 0xa3
jbe 0x417b99
cmp bl, 0xa5
ja 0x417b99
movzx eax, byte [esp + 0x32]
sub eax, 0x11
je 0x417b94
sub eax, 0x91
je 0x417b94
dec eax
jne 0x417b99
mov ecx, str.RCtrl_up
jmp 0x417b99
mov ecx, str.LCtrl_up
lea eax, [esp + 0x104]
push eax
lea edx, [esp + 0xd8]
push edx
push ecx
push str.Blind_s_s_s_DownTemp
push esi
mov dword [ebp + 0x628], 0
call fcn.0048b823
add esp, 0x14
push 0
push 1
lea eax, [esp + 0x20]
push eax
push 0x40
push ebp
call fcn.0041bea0
test eax, eax
je 0x416a8a
push 0
push 0
push 0
push 0x66
push ebp
call fcn.0041bea0
lea ecx, [esp + 0x144]
push ecx
push str._s_up::
push esi
call fcn.0048b823
add esp, 0xc
mov dword [esp + 0x1c], eax
mov dword [esp + 0x9c], 2
jmp 0x416d9c
mov esi, dword [esp + 0x18]
mov eax, 0x4a26ac
mov edx, esi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x417c20
cmp byte [esp + 0x26], cl
push 0
setne al
push 1
add al, 0xc0
lea edx, [esp + 0x20]
movzx ecx, al
push edx
push ecx
push ebp
call fcn.0041bea0
lea edx, [esp + 0x104]
push edx
push str.Blind_s_Up
push esi
call fcn.0048b823
add esp, 0xc
push 0
push 1
lea eax, [esp + 0x20]
push eax
push 0x40
push ebp
call fcn.0041bea0
push 0
push 0
push 0
push 0x66
push ebp
call fcn.0041bea0
mov byte [esp + 0x23], 0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x1a4fc]
lea edx, [esp + 0x8594]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
cmp eax, edx
jne 0x417cba
lea eax, [esp + 0x124dc]
mov dword [esp + 0x34], eax
jmp 0x4161d4
lea ecx, [esp + 0x8594]
mov dword [esp + 0x34], ecx
jmp 0x4161d4
mov edx, dword [esp + 0x18]
push edx
push str.Out_of_memory.
mov ecx, 0x4c6048
call fcn.0042f670
jmp 0x4177f6
mov ecx, dword [esp + 0x1a4fc]
push ebx
push str.Continuation_section_too_long.
call fcn.0042f670
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.004147d0
mov eax, esi
jmp 0x417f54
lea eax, [esp + 0x58c]
push eax
push 0x4a23b8
mov ecx, ebp
jmp 0x417cf0
lea ecx, [esp + 0x58c]
push ecx
push str.Expected_assignment_or_class_method_definition.
mov ecx, ebp
jmp 0x417cf0
lea edx, [esp + 0x58c]
push edx
push str.Functions_cannot_contain_functions.
mov ecx, ebp
jmp 0x417cf0
push edi
push str.Expected_assignment_or_class_method_definition.
mov ecx, ebp
jmp 0x417cf0
mov eax, dword [esp + 0x18]
push eax
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, ebp
call fcn.0042f670
mov esi, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x417d88
cmp byte [esp + 0x88], 0
je 0x417d7d
push eax
call fcn.0048ca6f
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
test eax, eax
je 0x417d00
push eax
call fcn.0048ca6f
add esp, 4
mov eax, esi
jmp 0x417f54
mov edx, dword [esp + 0x18]
mov ecx, eax
push edx
mov dword [ebp + 0x628], ecx
push str.IfWin_should_be_IfWin.
jmp 0x417d4e
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, esi
je 0x417ded
cmp byte [esp + 0x88], 0
je 0x417de6
push eax
call fcn.0048ca6f
add esp, 4
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x7c]
cmp eax, esi
mov dword [esp + 0x4c], vtable.TextStream.0
je 0x417f52
push eax
call fcn.0048ca6f
add esp, 4
jmp 0x417f52
mov eax, dword [esp + 0x18]
push eax
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, ebp
jmp 0x417cf0
push ebx
mov dword [ebp + 0x628], 0
push str.Duplicate_hotkey.
mov ecx, ebp
jmp 0x417cf0
push ebx
push str.Out_of_memory.
mov ecx, ebp
jmp 0x417cf0
mov ecx, dword [esp + 0x18]
push ecx
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x417d4e
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, ebp
je 0x417e80
cmp byte [esp + 0x88], 0
je 0x417e79
push eax
call fcn.0048ca6f
add esp, 4
mov dword [esp + 0x80], ebp
mov eax, dword [esp + 0x7c]
cmp eax, ebp
jmp 0x417df3
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1a4fc]
push edx
push 0x4a2354
call fcn.0042f670
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.004147d0
mov eax, esi
jmp 0x417f54
cmp word [esp + 0x58c], 0
je 0x417f22
cmp byte [esp + 0x24], 0
mov eax, dword [esp + 0xa4]
mov esi, dword [ebp + 0x268]
mov dword [ebp + 0x268], eax
je 0x417ef9
cmp byte [esp + 0x27], 0
mov eax, str.Missing___
jne 0x417ee9
mov eax, 0x4a23b8
lea ecx, [esp + 0x58c]
push ecx
push eax
mov ecx, ebp
jmp 0x417cf0
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x5a4]
push edx
mov ecx, ebp
call fcn.00419af0
test eax, eax
je 0x416a8a
mov dword [ebp + 0x268], esi
inc dword [ebp + 0x268]
lea ecx, [esp + 0x4c]
call fcn.004147d0
mov eax, 1
jmp 0x417f54
fldz
push 0
sub esp, 8
fstp qword [esp]
push ebx
push 0
push str.Could_not_extract_script_from_EXE.
call fcn.00476980
add esp, 0x18
xor eax, eax
mov ecx, dword [esp + 0x1a4ec]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1a4e8
ret 4