Function at 0x4157e0
Capabilities:
Get keyboard layout
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4982b1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
mov eax, 0x1a5f4
call fcn.004932a0
mov eax, dword [ebp + 0xc]
push ebx
xor ebx, ebx
push esi
push edi
cmp eax, ebx
je 0x41754a
cmp word [eax], bx
je 0x41754a
mov eax, dword [0x4c2f34]
mov edi, dword [ebp + 8]
mov dword [esp + 0xbc], eax
cmp eax, ebx
jne 0x41583f
mov eax, dword [edi + 0x87c]
mov dword [0x4bfc6c], eax
push 0x8000
lea edx, [esp + 0x6ae]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x6b4], cx
call fcn.0048bac0
lea eax, [esp + 0x86bc]
lea ecx, [esp + 0x12604]
add esp, 0xc
mov dword [esp + 0x28], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov byte [esp + 0xc8], bl
mov dword [esp + 0xd0], ebx
mov byte [esp + 0xd4], bl
mov edx, dword [ebp + 0xc]
push ebx
push 0xffffffffffffffff
mov dword [esp + 0x1a644], ebx
push edx
lea eax, [esp + 0xd8]
mov dword [esp + 0xd8], vtable.CStringCharFromWChar.0
call fcn.00464970
add esp, 0xc
mov dword [esp + 0x1a63c], 1
mov esi, dword [esp + 0xd0]
cmp esi, ebx
je 0x4158dc
mov eax, dword [esi]
cmp eax, ebx
jne 0x4158e1
mov eax, 0x49fd28
push 0x49fd28
push eax
lea ecx, [esp + 0x190]
call fcn.00480bef
test eax, eax
setne byte [esp + 0x53]
mov dword [esp + 0x1a63c], 0xffffffff
mov dword [esp + 0xcc], vtable.CKuStringT_char__class_CKuStringUtilA_.0
cmp esi, ebx
je 0x41593d
mov eax, dword [esi + 0x10]
dec eax
mov dword [esi + 0x10], eax
jne 0x41593d
mov esi, dword [esp + 0xd0]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x415934
push eax
call fcn.004833c5
add esp, 4
push esi
call fcn.00484571
add esp, 4
cmp byte [esp + 0x53], 0
je 0x41595c
fldz
mov eax, dword [ebp + 0xc]
push ebx
sub esp, 8
fstp qword [esp]
push eax
push ebx
push str.EXE_corrupted
jmp 0x417542
lea ecx, [esp + 0xc4]
push ecx
lea edx, [esp + 0xc4]
push edx
push str._AUTOHOTKEY_SCRIPT_
lea ecx, [esp + 0x194]
call fcn.00480fc7
test eax, eax
jne 0x415989
mov byte [edi + 0x899], al
jmp 0x4159b9
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0xc4]
push ecx
push str._AHK_WITH_ICON_
lea ecx, [esp + 0x194]
call fcn.00480fc7
test eax, eax
jne 0x417523
mov byte [edi + 0x899], 1
lea ecx, [esp + 0x188]
call fcn.00480dd4
lea esi, [esp + 0x60]
call fcn.00413e00
mov dword [esp + 0x60], vtable.TextMem.0
mov byte [esp + 0x88], 0
push 0xc
lea eax, [esp + 0xc4]
mov edx, esi
mov dword [esp + 0x1a640], 2
push eax
mov ecx, esi
mov dword [esp + 0x38], edx
mov dword [esp + 0x70], ebx
call dword [0x4a3824]
test al, al
je 0x415a1c
mov eax, 0xfde9
mov ebx, 0xc
mov ecx, esi
call fcn.00464fd0
xor ebx, ebx
mov eax, dword [esp + 0xbc]
inc dword [0x4c2f34]
xor edx, edx
xor ecx, ecx
mov word [esp + 0x9c], dx
mov dword [edi + 0x58], eax
lea eax, [esp + 0x60]
lea edx, [esp + 0x86b0]
mov byte [esp + 0x37], 0
mov word [esp + 0x96], cx
mov dword [esp + 0xa4], 0xffffffff
call fcn.004176b0
push 2
lea ecx, [esp + 0x86b4]
push 0x49fdb8
push ecx
mov dword [esp + 0x48], eax
call fcn.00483863
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x4b], al
test al, al
je 0x415aa0
xor edx, edx
mov word [esp + 0x86b0], dx
mov dword [esp + 0x3c], ebx
jmp 0x415aa0
cmp dword [esp + 0x3c], 0xffffffff
je 0x4174ab
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0x28]
push 0xc
inc eax
push str.CommentFlag
push esi
mov dword [edi + 0x5c], eax
mov dword [edi + 0x41c], ebx
call fcn.00482612
add esp, 0xc
test eax, eax
jne 0x415ae4
push edi
mov eax, esi
call fcn.004178a0
test eax, eax
je 0x417348
mov byte [esp + 0xb8], 0
mov dword [esp + 0x44], ebx
mov esi, dword [esp + 0x54]
inc dword [esp + 0xa4]
test esi, esi
je 0x415b65
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
mov ecx, edi
mov edx, esi
call fcn.004176b0
mov ebx, eax
mov dword [esp + 0x4c], ebx
test ebx, ebx
je 0x415b71
cmp ebx, 0xffffffff
je 0x415b71
test edi, edi
jne 0x415b71
push 2
push 0x49fddc
push esi
call fcn.00483863
add esp, 0xc
test eax, eax
jne 0x415b8a
lea ecx, [ebx + ebx - 2]
push ecx
lea edx, [esi + 4]
push edx
push esi
mov byte [esp + 0x57], al
call fcn.004827f0
add esp, 0xc
lea eax, [ebx - 2]
mov edi, esi
call fcn.004123b0
mov dword [esp + 0x4c], eax
mov eax, esi
cmp word [eax], 0
je 0x415af0
jmp 0x415b95
mov dword [esp + 0x4c], 0xffffffff
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x28]
cmp byte [esp + 0x4b], 0
je 0x415bbf
cmp ebx, 0xffffffff
jne 0x415af0
jmp 0x415dc7
cmp byte [esp + 0x4b], 0
jne 0x415af0
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x4c]
push 2
push 0x49fdb8
push esi
call fcn.00483863
add esp, 0xc
test eax, eax
jne 0x415b75
mov byte [esp + 0x4b], 1
jmp 0x415af0
cmp dword [esp + 0x44], 0
jne 0x416130
cmp ebx, 0xffffffff
je 0x415c5b
cmp word [esi], 0x28
jne 0x415c5b
mov esi, dword [esp + 0x54]
add esi, 2
cmp word [esi], 0x3a
je 0x415c5b
mov ecx, dword [esp + 0x54]
cmp word [ecx + ebx*2 - 2], 0x3a
je 0x415c5b
mov dl, byte [0x4c1898]
mov dword [esp + 0x44], 1
mov byte [esp + 0xb8], 1
mov dword [esp + 0xa8], 0
mov byte [esp + 0x5e], dl
mov byte [esp + 0x5f], 1
mov byte [esp + 0x5c], 0
mov byte [esp + 0x5d], 0
mov byte [esp + 0x5b], 1
mov dword [esp + 0xe8], 0xa
mov dword [esp + 0xac], 1
movzx eax, word [esi]
cmp eax, 0x20
je 0x415c56
cmp eax, 9
jne 0x415efe
add esi, 2
jmp 0x415c45
mov dword [esp + 0x44], 0
cmp ebx, 0xffffffff
je 0x415dc3
test ebx, ebx
je 0x415af0
mov esi, dword [esp + 0x54]
cmp word [esi + ebx*2 - 2], 0x3a
jne 0x415c8a
cmp word [esi], 0x2c
jne 0x415dc3
mov ax, word [esi]
call fcn.00408f90
movzx eax, ax
cmp eax, 0x41
je 0x415e6b
cmp eax, 0x4f
je 0x415e38
movzx eax, word [esi]
cmp eax, 0x3a
je 0x415cb9
cmp eax, 0x2b
je 0x415cb9
cmp eax, 0x2d
jne 0x415cc3
cmp word [esi + 2], ax
je 0x415dc3
push eax
push str.____:.___
call fcn.00482b51
add esp, 8
test eax, eax
je 0x415dc3
push 0x49fe24
push esi
call fcn.00482b78
mov edi, eax
add esp, 8
test edi, edi
je 0x415eb6
cmp word [esi], 0x3a
jne 0x415d46
mov esi, dword [esp + 0x54]
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x415d40
cmp ax, 0x3a
je 0x415dc3
mov ecx, 0x107
call fcn.00408f70
test eax, eax
jne 0x415d34
movzx edx, word [esi]
push edx
push str.____t
call fcn.00482b51
add esp, 8
test eax, eax
je 0x415d46
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x415d07
cmp word [esi], 0x3a
je 0x415dc3
mov esi, dword [esp + 0x54]
cmp word [esi], 0x2c
jne 0x415d8e
lea eax, [esi + 2]
call fcn.00409010
push 2
mov edi, eax
push 0x49fe24
push edi
call fcn.00483863
add esp, 0xc
test eax, eax
je 0x415dc3
push 3
push 0x49eec0
add edi, 0xfffffffe
push edi
call fcn.00483863
add esp, 0xc
test eax, eax
je 0x415dc3
mov ebx, dword [esp + 0x4c]
jmp 0x415eb6
mov eax, esi
cmp esi, edi
jae 0x415da1
cmp word [eax], 0x22
je 0x415da1
add eax, 2
cmp eax, edi
jb 0x415d94
cmp eax, edi
je 0x415dc3
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
test ax, ax
je 0x415dc3
cmp ax, 0x22
je 0x415e2c
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x415db1
mov edi, dword [esp + 0x28]
cmp dword [esp + 0x3c], 0
je case.0x41697b.14
cmp word [esp + 0x6a8], 0
je 0x4163ab
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0xb0]
mov esi, dword [eax + 0x5c]
mov bl, byte [esp + 0x8f]
mov dword [eax + 0x5c], ecx
cmp word [edi], 0x7b
je 0x416341
test bl, bl
jne 0x416341
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x6c0]
mov ebx, eax
push edx
mov ecx, ebx
call fcn.00418db0
jmp 0x416389
cmp word [ecx], 0
je 0x415dc3
mov ebx, dword [esp + 0x4c]
jmp 0x415eb6
mov ax, word [esi + 2]
call fcn.00408f90
cmp ax, 0x52
jne 0x415dc3
movzx ecx, word [esi + 4]
lea eax, [esi + 4]
cmp ecx, 0x20
je 0x415e60
cmp ecx, 9
jne 0x415dc3
call fcn.00409010
movzx eax, word [eax]
push eax
jmp 0x415ea1
push 3
push 0x49fde4
push esi
call fcn.00482612
add esp, 0xc
test eax, eax
jne 0x415dc3
movzx ecx, word [esi + 6]
lea eax, [esi + 6]
cmp ecx, 0x20
je 0x415e98
cmp ecx, 9
jne 0x415dc3
call fcn.00409010
movzx ecx, word [eax]
push ecx
push str.____:
call fcn.00482b51
add esp, 8
test eax, eax
jne 0x415dc3
mov edi, dword [esp + 0x3c]
lea edx, [ebx + edi]
cmp edx, 0x4000
jae 0x41733a
cmp word [esi], 0x2c
je 0x415edd
mov ecx, dword [esp + 0x28]
mov eax, 0x20
mov word [ecx + edi*2], ax
inc edi
mov eax, dword [esp + 0x28]
lea edx, [ebx + ebx + 2]
push edx
lea ecx, [eax + edi*2]
push esi
push ecx
call fcn.00485e70
add esp, 0xc
add edi, ebx
mov dword [esp + 0x3c], edi
jmp 0x415af0
cmp word [esi], 0
je 0x415af0
mov edi, 2
lea ecx, [ecx]
mov ebx, 0x49eed0
mov eax, esi
call fcn.00408fc0
mov ebx, eax
mov dword [esp + 0x4c], eax
test ebx, ebx
jne 0x415f45
mov eax, esi
lea edx, [eax + 2]
jmp 0x415f30
mov cx, word [eax]
add eax, edi
test cx, cx
jne 0x415f30
sub eax, edx
sar eax, 1
lea ebx, [esi + eax*2]
mov dword [esp + 0x4c], ebx
movzx edx, word [ebx]
push 4
xor eax, eax
push str.Join
push esi
mov dword [esp + 0x9c], edx
mov word [ebx], ax
call fcn.00482612
add esp, 0xc
test eax, eax
jne 0x416079
push 0xf
add esi, 8
lea ecx, [esp + 0xec]
push esi
push ecx
call fcn.00485434
movzx edi, word [0x4bd3f0]
add esp, 0xc
xor edx, edx
mov word [esp + 0x106], dx
lea ecx, [esp + 0xe8]
lea ebx, [ebx]
movzx eax, word [ecx]
test ax, ax
je 0x415fb9
cmp ax, di
je 0x415fe7
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x415fa8
lea eax, [esp + 0xe8]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x415fc3
mov ebx, dword [esp + 0x4c]
sub eax, edx
sar eax, 1
mov dword [esp + 0xac], eax
mov edi, 2
jmp 0x4160fe
cmp word [ecx], 0
je 0x415fb9
movzx eax, word [ecx + 2]
lea ebx, [ecx + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x416003.99
movzx eax, byte [eax + 0x417588]
jmp dword [eax*4 + 0x417564]
mov edx, 7
mov word [ebx], dx
jmp case.0x416003.99
mov eax, 8
jmp 0x41604c
mov edx, 0xc
mov word [ebx], dx
jmp case.0x416003.99
mov eax, 0xa
jmp 0x41604c
mov edx, 0xd
mov word [ebx], dx
jmp case.0x416003.99
mov eax, 9
jmp 0x41604c
mov edx, 0xb
mov word [ebx], dx
jmp case.0x416003.99
mov eax, 0x20
mov word [ebx], ax
mov eax, ebx
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x416054
sub eax, esi
sar eax, 1
lea edx, [eax + eax + 2]
push edx
push ebx
push ecx
call fcn.004827f0
add esp, 0xc
mov ecx, ebx
jmp 0x415fa0
push 5
push 0x49fe84
push esi
call fcn.00482612
add esp, 0xc
test eax, eax
jne 0x416099
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x5e]
jmp 0x4160fe
push 5
push str.RTrim
push esi
call fcn.00482612
add esp, 0xc
test eax, eax
jne 0x4160b9
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x5f]
jmp 0x4160fe
movzx eax, word [esi]
test ax, ax
je 0x4160fe
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x4160d3.38
movzx eax, byte [eax + 0x4175b4]
jmp dword [eax*4 + 0x4175a0]
mov byte [esp + 0x5c], 1
jmp case.0x4160d3.38
mov byte [esp + 0x5d], 1
jmp case.0x4160d3.38
mov byte [esp + 0x5b], 0
jmp case.0x4160d3.38
mov dword [esp + 0x44], edi
movzx eax, word [esi + edi]
add esi, edi
test ax, ax
jne 0x4160c1
mov cx, word [esp + 0x90]
mov word [ebx], cx
mov esi, ebx
jmp 0x416110
movzx eax, word [esi]
cmp eax, 0x20
je 0x41611d
cmp eax, 9
jne 0x416121
add esi, edi
jmp 0x416110
cmp word [esi], 0
jne 0x415f10
jmp 0x415af0
cmp ebx, 0xffffffff
je 0x417496
cmp ebx, 0xfffffffe
je 0x415af0
cmp word [esi], 0x29
jne 0x41616b
mov esi, dword [esp + 0x54]
lea edx, [esi + 2]
or eax, 0xffffffff
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], edx
call fcn.00412420
dec eax
mov edi, esi
jmp 0x4162af
cmp byte [esp + 0x5f], 0
mov dword [esp + 0x38], esi
je 0x416187
mov esi, dword [esp + 0x54]
mov eax, ebx
call fcn.00412420
mov dword [esp + 0x4c], eax
mov ebx, eax
cmp byte [esp + 0x5e], 0
je 0x41619d
mov eax, ebx
mov edi, esi
call fcn.004123b0
mov dword [esp + 0x4c], eax
mov ebx, eax
mov edi, dword [esp + 0x54]
xor esi, esi
cmp byte [esp + 0x5c], 0
je 0x4161ef
mov ax, word [0x4bd3f0]
push esi
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0xa0], ax
mov word [esp + 0xa4], ax
mov word [esp + 0xa6], ax
push 1
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0xa8]
push ecx
push edi
xor eax, eax
call fcn.004676e0
add esp, 0x1c
mov esi, eax
cmp byte [esp + 0x5d], 0
je 0x416243
mov ax, word [0x4bd3ec]
mov dx, word [0x4bd3f0]
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0xa0], ax
mov word [esp + 0xa6], ax
push 1
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0xa8]
push ecx
push edi
xor eax, eax
mov word [esp + 0xb4], dx
call fcn.004676e0
add esp, 0x1c
add esi, eax
cmp byte [esp + 0x5b], 0
je 0x416297
mov ax, word [0x4bd3e8]
mov dx, word [0x4bd3f0]
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0xa0], ax
mov word [esp + 0xa6], ax
push 1
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0xa8]
push ecx
push edi
xor eax, eax
mov word [esp + 0xb4], dx
call fcn.004676e0
add esp, 0x1c
add esi, eax
test esi, esi
je 0x4162b5
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4162a0
sub eax, edx
sar eax, 1
mov dword [esp + 0x4c], eax
mov ebx, eax
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0x3c]
lea edx, [esi + ebx]
add edx, eax
cmp edx, 0x4001
jae 0x4174a1
mov ecx, dword [esp + 0xa8]
inc ecx
mov dword [esp + 0xa8], ecx
cmp ecx, 1
jle 0x416310
test esi, esi
je 0x416310
cmp dword [esp + 0x38], edi
jne 0x416310
lea ecx, [esi + esi + 2]
push ecx
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0xec]
push edx
lea edx, [ecx + eax*2]
push edx
call fcn.00485e70
add esp, 0xc
add dword [esp + 0x3c], esi
test ebx, ebx
je 0x415af0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
lea eax, [ebx + ebx + 2]
push eax
push ecx
lea eax, [edx + esi*2]
push eax
call fcn.00485e70
add esp, 0xc
add esi, ebx
mov dword [esp + 0x3c], esi
jmp 0x415af0
mov eax, dword [0x4bd4c4]
cmp dword [eax + 0xb4], 0
jne 0x417367
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x106b8]
push ecx
lea edx, [esp + 0x6ac]
push edx
push eax
call fcn.0041c800
test eax, eax
je 0x417348
test bl, bl
je 0x41639b
mov ebx, dword [ebp + 8]
push 0
push 0
push 0
push 0x6e
push ebx
call fcn.0041b130
test eax, eax
je 0x417348
mov dword [ebx + 0x41c], 0
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [ecx + 0x5c], esi
mov word [esp + 0x6a8], dx
lea eax, [esp + 0x8f]
push eax
mov eax, edi
call fcn.00415720
add esp, 4
test al, al
je 0x4163f5
lea edx, [esp + 0x6a8]
mov eax, edi
sub edx, edi
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4163d0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5c]
mov dword [esp + 0xb0], edx
jmp case.0x41697b.14
mov edi, dword [esp + 0x28]
xor esi, esi
cmp word [edi], 0x3a
mov dword [esp + 0x44], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x38], esi
jne 0x4164a6
movzx ecx, word [edi + 2]
lea eax, [edi + 2]
cmp cx, si
je 0x4164a6
cmp ecx, 0x3a
je 0x41644a
push 0x3a
push eax
mov dword [esp + 0x98], eax
call fcn.00482b51
add esp, 8
cmp eax, esi
jne 0x416441
mov dword [esp + 0x44], esi
jmp 0x4164a6
add eax, 2
mov dword [esp + 0x44], eax
jmp 0x416457
cmp word [edi + 4], si
lea eax, [edi + 4]
je 0x4164a6
mov dword [esp + 0x44], eax
cmp eax, esi
je 0x4164a6
mov ebx, dword [esp + 0x44]
nop
movzx eax, word [ebx]
test ax, ax
je 0x416493
jmp 0x416470
cmp ax, word [0x4bd3f0]
je 0x416516
cmp ax, 0x3a
je 0x416516
movzx eax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x416470
cmp dword [esp + 0x38], 0
jne 0x4165fe
mov dword [esp + 0x44], 0
push 0x49fe24
push edi
call fcn.00482b78
mov ebx, eax
add esp, 8
mov dword [esp + 0x38], ebx
test ebx, ebx
je 0x416b45
cmp ebx, edi
jne 0x4164d4
cmp word [ebx + 4], 0x3a
jne 0x4164d4
add ebx, 2
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x28]
mov esi, ebx
cmp ebx, ecx
jbe 0x4164f4
mov edi, edi
movzx eax, word [esi]
cmp eax, 0x20
je 0x4164ed
cmp eax, 9
jne 0x4164f4
sub esi, 2
cmp esi, ecx
ja 0x4164e0
movzx edi, word [esi]
xor eax, eax
mov word [esi], ax
mov eax, ecx
mov edi, edi
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x416511
cmp ecx, 9
jne 0x4165d9
add eax, 2
jmp 0x416500
movzx eax, word [ebx]
test ax, ax
je 0x416493
lea esi, [ebx + 2]
cmp eax, 0x3a
jne 0x416545
cmp word [esi], ax
jne 0x4165cd
mov edi, dword [esp + 0x28]
mov dword [esp + 0x38], ebx
mov ebx, esi
add ebx, 2
jmp 0x416460
movzx eax, word [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x416557.99
movzx eax, byte [eax + 0x417614]
jmp dword [eax*4 + 0x4175f4]
mov ecx, 7
jmp 0x416599
mov edx, 8
mov word [esi], dx
jmp case.0x416557.99
mov eax, 0xc
mov word [esi], ax
jmp case.0x416557.99
mov ecx, 0xa
jmp 0x416599
mov edx, 0xd
mov word [esi], dx
jmp case.0x416557.99
mov eax, 9
mov word [esi], ax
jmp case.0x416557.99
mov ecx, 0xb
mov word [esi], cx
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4165a1
sub eax, edx
sar eax, 1
lea edx, [eax + eax + 2]
push edx
push esi
push ebx
call fcn.004827f0
add esp, 0xc
cmp word [ebx], 0x3a
jne 0x4165cd
cmp word [esi], 0x3a
jne 0x4165cd
mov ebx, esi
mov edi, dword [esp + 0x28]
add ebx, 2
jmp 0x416460
push 0
push 0
call fcn.0040aff0
add esp, 8
test eax, eax
jne 0x4165ef
mov dword [esp + 0x38], eax
mov ebx, eax
mov word [esi], di
test ebx, ebx
je 0x416b45
mov edi, dword [esp + 0x28]
cmp dword [esp + 0x38], edi
jbe 0x416b49
mov ecx, dword [0x4bd4c4]
cmp dword [ecx + 0xb4], 0
jne 0x41739b
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
test eax, eax
je 0x41662e
cmp byte [eax], 0x1b
je 0x417418
mov esi, dword [esp + 0x38]
xor eax, eax
mov word [esi], ax
add esi, 4
mov dword [esp + 0x38], esi
cmp dword [esp + 0x44], eax
jne 0x4169bb
cmp word [esi], ax
je 0x416696
mov edx, esi
nop
movzx eax, word [edx]
cmp eax, 0x20
je 0x41665d
cmp eax, 9
jne 0x416662
add edx, 2
jmp 0x416650
mov ecx, edx
sub ecx, esi
sar ecx, 1
je 0x416696
mov eax, edx
lea esi, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416670
mov ecx, dword [esp + 0x38]
sub eax, esi
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push edx
push ecx
call fcn.004827f0
mov esi, dword [esp + 0x44]
add esp, 0xc
cmp word [edi], 0
je 0x4166e4
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4166a1
sub eax, edx
sar eax, 1
lea eax, [edi + eax*2 - 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x4166c1
cmp ecx, 9
jne 0x4166ca
cmp eax, edi
je 0x4166d2
sub eax, 2
jmp 0x4166b4
xor edx, edx
mov word [eax + 2], dx
jmp 0x4166e4
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x4166df
cmp ecx, 9
jne 0x4166e4
xor ecx, ecx
mov word [eax], cx
cmp word [esi], 0
mov ebx, esi
je 0x4169bb
push 0
push 0
mov eax, edi
call fcn.0040b110
add esp, 8
push 0
mov edi, eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
movzx ecx, word [edi]
test cx, cx
jne 0x41671a
mov byte [esp + 0x2f], 0
jmp 0x4169bb
cmp word [edi + 2], 0
jne 0x416755
cmp ecx, 0xa
jne 0x41672d
mov al, 0xd
jmp 0x4167eb
push eax
push ecx
call dword [sym.imp.USER32.dll_VkKeyScanExW]
movzx eax, ax
mov edx, eax
shr edx, 8
cmp dl, 0xff
jne 0x4167eb
cmp al, 0xff
jne 0x4167eb
xor al, al
jmp 0x4167eb
mov esi, ecx
test esi, 0xffffff80
jne 0x416771
push 2
push esi
call fcn.00482fce
add esp, 8
test eax, eax
je 0x416771
and esi, 0xffffffdf
cmp si, 0x56
jne 0x4167ad
movzx esi, word [edi + 2]
test esi, 0xffffff80
jne 0x416795
push 2
push esi
call fcn.00482fce
add esp, 8
test eax, eax
je 0x416795
and esi, 0xffffffdf
cmp si, 0x4b
jne 0x4167ad
push 0x10
lea eax, [edi + 4]
push 0
push eax
call fcn.004833ab
add esp, 0xc
jmp 0x4167e7
xor esi, esi
nop
mov ecx, dword [esi*8 + 0x4be208]
push edi
push ecx
call fcn.00481dd9
add esp, 8
test eax, eax
je 0x416853
inc esi
cmp esi, 0x6d
jl 0x4167b0
mov eax, edi
call fcn.00411650
movzx ecx, ax
test cx, cx
je 0x416710
call fcn.00411d90
mov esi, dword [esp + 0x38]
mov byte [esp + 0x2f], al
cmp byte [esp + 0x2f], 0
je 0x4169bb
cmp word [esi + 2], 0
je 0x416864
push 0
push 0
mov eax, esi
call fcn.0040b110
add esp, 8
push 0
mov ebx, eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 1
mov ecx, eax
push 0
xor edx, edx
mov eax, ebx
call fcn.004116f0
add esp, 8
mov byte [esp + 0x37], al
test al, al
je 0x4169bb
mov cl, al
mov al, byte [esp + 0x2f]
lea edx, [eax - 1]
cmp dl, 5
ja 0x416849
cmp al, 3
jne 0x41684f
add al, 0x66
cmp al, 5
ja 0x41686d
mov al, 1
jmp 0x41686f
mov dl, byte [esi*8 + 0x4be20c]
mov esi, dword [esp + 0x38]
mov byte [esp + 0x2f], dl
jmp 0x4167ef
or cl, 0xff
mov byte [esp + 0x37], cl
jmp 0x416839
xor al, al
lea edx, [ecx - 1]
cmp dl, 5
ja 0x41687c
cmp cl, 3
jne 0x416884
add cl, 0x66
cmp cl, 5
ja 0x41688b
mov byte [esp + 0x43], 1
jmp 0x416890
mov byte [esp + 0x43], 0
test al, al
jne 0x41689f
mov byte [esp + 0x53], 1
cmp byte [esp + 0x43], al
jne 0x4168a4
mov byte [esp + 0x53], 0
mov eax, edi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4168b0
sub eax, edx
sar eax, 1
cmp eax, 1
jne 0x4168d7
movzx eax, word [edi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
mov eax, 0x49ff9c
jne 0x4168dc
mov eax, 0x4a5c64
mov ecx, dword [esp + 0x28]
push ecx
push eax
push 0x49ffa0
mov esi, 0x20
lea edi, [esp + 0x154]
call fcn.00466f40
add esp, 0xc
push 0x1f
lea edx, [esp + 0x10c]
push ebx
push edx
call fcn.00485434
mov esi, dword [esp + 0x44]
add esp, 0xc
push 7
lea ecx, [esp + 0xdc]
xor eax, eax
push esi
push ecx
mov word [esp + 0x152], ax
call fcn.00485434
sub ebx, esi
mov eax, ebx
xor edx, edx
sar eax, 1
add esp, 0xc
mov word [esp + 0xe6], dx
cmp eax, 8
jae 0x41694e
xor ecx, ecx
mov word [esp + eax*2 + 0xd8], cx
mov dword [esp + 0xa0], edx
cmp word [esp + 0xd8], dx
jne case.0x41697b.14
movzx eax, byte [esp + 0x37]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x41697b.14
movzx edx, byte [eax + 0x41763c]
jmp dword [edx*4 + 0x41762c]
mov eax, dword [esp + 0x38]
mov ebx, 0x49f24c
call fcn.00408fc0
test eax, eax
jne case.0x41697b.19
jmp case.0x41697b.14
lea eax, [esp + 0x108]
push str.Return
push eax
call fcn.00481dd9
add esp, 8
test eax, eax
jne case.0x41697b.14
mov byte [esp + 0x37], 0
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x60], 0
je 0x4169ed
push 0
push 0xff
push 0
mov esi, ecx
push 0x66
push esi
mov byte [esi + 0x60], 0
call fcn.0041b130
test eax, eax
je 0x41742e
mov dword [esi + 0x41c], 0
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x28]
push 1
mov esi, ebx
call fcn.00418cb0
test eax, eax
je 0x41742e
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x44]
xor edi, edi
cmp word [edx], di
je 0x416a75
test esi, esi
jne 0x416a5f
push esi
mov esi, edx
call fcn.004090d0
movzx edi, ax
add esp, 4
test di, di
jne 0x416a5b
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, esi
call fcn.00415720
add esp, 4
neg al
sbb al, al
and al, 3
movzx eax, al
push eax
push esi
mov ecx, ebx
call fcn.00418db0
test eax, eax
je 0x417440
mov esi, dword [esp + 0x44]
push 0
push 0
push 0
push 0x66
push ebx
call fcn.0041b130
test eax, eax
je 0x41742e
test esi, esi
je 0x416abc
cmp word [esi], 0
je 0x41745f
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x416a93
mov eax, 0x4a5c64
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x38]
push ecx
push edx
push eax
mov eax, dword [ebx + 0x14]
push eax
mov edi, esi
call fcn.0040c280
add esp, 0x10
test eax, eax
je 0x417348
jmp case.0x41697b.14
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xb4]
push ecx
push edx
call fcn.0040b8f0
mov esi, eax
add esp, 8
test esi, esi
je 0x416b1d
test di, di
je 0x416ae5
mov word [esi + 2], di
jmp case.0x41697b.14
mov eax, esi
call fcn.0040ae30
test eax, eax
jne 0x417470
mov eax, dword [esp + 0xb4]
mov edi, dword [ebx + 0x14]
push eax
call fcn.0040aee0
test eax, eax
jne case.0x41697b.14
mov ecx, dword [esp + 0x28]
push ecx
push str.Out_of_memory.
mov ecx, ebx
jmp 0x417343
mov ecx, dword [esp + 0xb4]
push ecx
mov edx, ebx
mov eax, dword [edx + 0x14]
push 0
push edi
push eax
xor bl, bl
call fcn.0040a750
add esp, 0x10
test eax, eax
je 0x417348
jmp case.0x41697b.14
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x3c]
mov esi, 0x3a
cmp word [edi + ebx*2 - 2], si
jne 0x416e7c
cmp ebx, 1
je 0x41748b
movzx eax, word [edi]
mov ecx, edi
test ax, ax
je 0x416bb6
mov dx, word [0x4bd3e8]
jmp 0x416b80
cmp ax, 0x20
je 0x416e7c
cmp ax, 9
je 0x416e7c
cmp ax, dx
je 0x416e7c
cmp ax, word [0x4bd3f0]
je 0x416e7c
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x416b80
cmp word [edi + ebx*2 - 4], si
jne 0x416c38
cmp ebx, 2
jbe 0x416c38
mov esi, dword [ebp + 8]
cmp byte [esi + 0x60], 0
je 0x416bfa
push 0
push 0xff
push 0
push 0x66
push esi
mov byte [esi + 0x60], 0
call fcn.0041b130
test eax, eax
je 0x4173a9
mov dword [esi + 0x41c], 0
mov ecx, dword [esp + 0x28]
push ecx
push str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
mov esi, 0x204
lea edi, [esp + 0x2a8]
call fcn.00466f40
fldz
add esp, 8
push 0
sub esp, 8
fstp qword [esp]
push 0
mov edx, edi
push 0x10000
push edx
call fcn.0046b2c0
mov edi, dword [esp + 0x40]
add esp, 0x18
dec ebx
xor eax, eax
mov word [edi + ebx*2], ax
cmp word [edi], 0
mov dword [esp + 0x3c], ebx
mov eax, ebx
je 0x4173a9
mov esi, dword [esp + 0x28]
cmp ebx, 0xffffffff
jne 0x416c6f
mov eax, esi
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416c60
sub eax, edx
sar eax, 1
lea eax, [esi + eax*2 - 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x416c80
cmp ecx, 9
jne 0x416c89
cmp eax, esi
je 0x416c91
sub eax, 2
jmp 0x416c73
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x416ca3
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x416c9e
cmp ecx, 9
jne 0x416ca3
xor edx, edx
mov word [eax], dx
cmp word [esi], 0
je 0x4173a9
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0x10]
mov edi, dword [esp + 0x28]
test esi, esi
je 0x416cdb
jmp 0x416cc0
mov eax, dword [esi]
push edi
push eax
call fcn.00481dd9
add esp, 8
test eax, eax
je 0x416dad
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x416cc0
cmp word [edi], 0
je 0x416dbf
mov eax, edi
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416cf0
sub eax, edx
sar eax, 1
lea ebx, [eax + eax]
mov dword [esp + 0x90], ebx
add ebx, 2
lea ecx, [ebx - 1]
mov dword [esp + 0x44], eax
cmp ecx, 0xffff
ja 0x417329
cmp dword [0x4c2f54], 0
jne 0x416d3a
call fcn.00464600
mov dword [0x4c2f54], eax
test eax, eax
je 0x417329
mov esi, dword [0x4c2f58]
cmp ebx, dword [esi + 8]
jbe 0x416d5b
call fcn.00464600
mov esi, dword [0x4c2f58]
mov dword [esi + 0xc], eax
test eax, eax
je 0x417329
mov edi, dword [esi + 4]
mov eax, ebx
and eax, 3
mov dword [0x4c2f5c], edi
je 0x416d70
sub ebx, eax
add ebx, 4
sub dword [esi + 8], ebx
lea edx, [edi + ebx]
mov dword [esi + 4], edx
test edi, edi
je 0x417329
cmp dword [esp + 0x44], 0
je 0x416d9e
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x28]
push eax
push ecx
push edi
call fcn.00485e70
add esp, 0xc
mov eax, dword [esp + 0x90]
xor edx, edx
mov word [eax + edi], dx
jmp 0x416dca
push edi
push str.Duplicate_label.
mov ecx, ebx
call fcn.0042b900
jmp 0x4170e9
mov esi, dword [0x4c2f58]
mov edi, 0x4a5c64
cmp dword [0x4c2f54], 0
jne 0x416de7
call fcn.00464600
mov dword [0x4c2f54], eax
test eax, eax
je 0x416e38
mov esi, dword [0x4c2f58]
cmp dword [esi + 8], 0x10
jae 0x416dff
call fcn.00464600
mov esi, dword [0x4c2f58]
mov dword [esi + 0xc], eax
test eax, eax
je 0x416e38
mov eax, dword [esi + 4]
add dword [esi + 8], 0xfffffff0
lea ecx, [eax + 0x10]
mov dword [esi + 4], ecx
xor ecx, ecx
mov dword [0x4c2f5c], eax
cmp eax, ecx
je 0x416e38
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp + 8]
mov dword [eax], edi
mov edx, dword [ecx + 0x14]
mov dword [eax + 8], edx
cmp dword [ecx + 0x10], 0
mov esi, eax
jne 0x416e4f
mov dword [ecx + 0x10], eax
jmp 0x416e55
mov ecx, dword [ebp + 8]
push 0x4a5c64
push str.Out_of_memory.
call fcn.0042b900
jmp 0x4170e9
mov edx, dword [ecx + 0x14]
mov dword [edx + 0xc], eax
push str.OnClipboardChange
push edi
mov dword [ecx + 0x14], eax
call fcn.00481dd9
add esp, 8
test eax, eax
jne case.0x41697b.14
mov eax, dword [ebp + 8]
mov dword [eax + 0x848], esi
jmp case.0x41697b.14
cmp word [edi], 0x23
mov ebx, dword [ebp + 8]
jne 0x416eaf
mov esi, dword [ebx + 0x5c]
push ebx
mov eax, edi
call fcn.004178a0
test eax, eax
je 0x4173a9
cmp eax, 3
jne 0x416eaf
mov ecx, dword [esp + 0xbc]
mov dword [ebx + 0x58], ecx
mov dword [ebx + 0x5c], esi
jmp case.0x41697b.14
cmp word [edi], 0x7d
jne 0x416f0a
push 0
push 0
push 0
push 0x6f
push ebx
call fcn.0041b130
test eax, eax
je 0x4173a9
lea eax, [edi + 2]
mov edi, edi
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x416edd
cmp ecx, 9
jne 0x416ee2
add eax, 2
jmp 0x416ed0
cmp word [eax], 0
mov dword [esp + 0x28], eax
je case.0x41697b.14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416ef3
mov edi, dword [esp + 0x28]
sub eax, edx
sar eax, 1
mov dword [esp + 0x3c], eax
movzx eax, word [edi]
mov esi, edi
test ax, ax
je 0x416f4d
jmp 0x416f20
movzx edx, ax
mov ecx, str._t__
mov eax, 9
lea ecx, [ecx]
cmp dx, ax
je 0x416f54
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x416f30
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x416f20
mov edx, dword [esp + 0x3c]
lea esi, [edi + edx*2]
mov eax, esi
sub eax, edi
sar eax, 1
push eax
mov eax, str.Else
mov ecx, edi
call fcn.00466fe0
add esp, 4
push 0
push 0
push 0
test eax, eax
je 0x416feb
cmp word [edi], 0x7b
jne 0x416fde
push 0x6e
push ebx
call fcn.0041b130
test eax, eax
je 0x4173a9
mov esi, dword [esp + 0x28]
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x416f8e
cmp eax, 9
je 0x416f8e
cmp word [esi], 0
je case.0x41697b.14
mov edi, dword [ebp + 8]
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, esi
mov dword [edi + 0x41c], 0
call fcn.00415720
add esp, 4
neg al
sbb al, al
and al, 3
movzx ecx, al
push ecx
push esi
mov ecx, edi
jmp 0x4170e4
push 0
push 0
push 0
mov ecx, ebx
jmp 0x4170e3
push 9
push ebx
call fcn.0041b130
test eax, eax
je 0x4173a9
mov dword [ebx + 0x41c], 0
mov eax, esi
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x417014
cmp ecx, 9
jne 0x417019
add eax, 2
jmp 0x417007
mov dx, word [eax]
mov edi, eax
cmp dx, word [0x4bd3e8]
jne 0x417042
lea edi, [eax + 2]
lea ebx, [ebx]
movzx eax, word [edi]
cmp eax, 0x20
je 0x41703d
cmp eax, 9
jne 0x417042
add edi, 2
jmp 0x417030
cmp word [edi], 0
je case.0x41697b.14
mov ebx, str.__t____:_______.___
mov eax, edi
call fcn.00408fc0
mov ebx, eax
test ebx, ebx
je 0x4170ca
cmp word [ebx], 0x28
jne 0x4170ca
cmp ebx, edi
je 0x4170ca
mov esi, ebx
sub esi, edi
sar esi, 1
cmp esi, 2
jne 0x417086
push esi
push 0x49fd14
push edi
call fcn.00482612
add esp, 0xc
test eax, eax
je 0x4170ca
cmp esi, 5
jne 0x41709e
push esi
push str.WHILE
push edi
call fcn.00482612
add esp, 0xc
test eax, eax
je 0x4170ca
cmp word [ebx + 2], 0x3a
je 0x4170ca
mov eax, ebx
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4170b0
sub eax, edx
sar eax, 1
cmp word [ebx + eax*2 - 2], 0x29
sete al
jmp 0x4170cc
xor al, al
mov ecx, dword [ebp + 8]
push 0
neg al
push 0
sbb al, al
push 0
and al, 3
push 0
movzx eax, al
push 0
push eax
push edi
call fcn.00418db0
test eax, eax
je 0x4173a9
mov bl, byte [esp + 0x37]
test bl, bl
je case.0x41711d.4
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0xa0], eax
dec eax
cmp eax, 9
ja case.0x41711d.4
movzx ecx, byte [eax + 0x4176a4]
jmp dword [ecx*4 + 0x417690]
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x148]
push edx
push str._s::
push eax
call fcn.004821e3
add esp, 0xc
mov dword [esp + 0x3c], eax
jmp 0x4163f1
mov esi, dword [esp + 0x28]
mov eax, 0x4a016c
mov edx, esi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x417154
cmp byte [esp + 0x43], 0
mov edi, dword [ebp + 8]
push 0
setne dl
push 1
add dl, 0xbb
lea ecx, [esp + 0x30]
movzx eax, dl
push ecx
push eax
push edi
call fcn.0041b130
cmp byte [esp + 0x53], 0
je 0x4171bc
lea ecx, [esp + 0x108]
push ecx
push str.if_not_GetKeyState___s__
push esi
call fcn.004821e3
add esp, 0xc
mov dword [esp + 0x3c], eax
mov dword [esp + 0xa0], 9
jmp 0x4163f1
mov esi, dword [esp + 0x28]
mov edi, dword [ebp + 8]
mov ecx, 0x4a5c64
cmp bl, 0x12
je 0x4171d0
cmp bl, 0xa3
jbe 0x4171f0
cmp bl, 0xa5
ja 0x4171f0
movzx eax, byte [esp + 0x2f]
sub eax, 0x11
je 0x4171eb
sub eax, 0x91
je 0x4171eb
dec eax
jne 0x4171f0
mov ecx, str.RCtrl_up
jmp 0x4171f0
mov ecx, str.LCtrl_up
lea edx, [esp + 0x108]
push edx
lea eax, [esp + 0xdc]
push eax
push ecx
push str.Blind_s_s_s_DownTemp
push esi
mov dword [edi + 0x41c], 0
call fcn.004821e3
add esp, 0x14
push 0
push 1
lea ecx, [esp + 0x30]
push ecx
push 0x41
push edi
call fcn.0041b130
test eax, eax
je 0x4173a9
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041b130
lea edx, [esp + 0x148]
push edx
push str._s_up::
push esi
call fcn.004821e3
add esp, 0xc
mov dword [esp + 0x3c], eax
mov dword [esp + 0xa0], 2
jmp 0x4163f1
mov esi, dword [esp + 0x28]
mov eax, 0x4a016c
mov edx, esi
sub edx, eax
jmp 0x417280
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x417280
cmp byte [esp + 0x43], cl
mov edi, dword [ebp + 8]
push 0
setne cl
push 1
add cl, 0xbb
lea eax, [esp + 0x30]
movzx edx, cl
push eax
push edx
push edi
call fcn.0041b130
lea eax, [esp + 0x108]
push eax
push str.Blind_s_Up
push esi
call fcn.004821e3
add esp, 0xc
push 0
push 1
lea ecx, [esp + 0x30]
push ecx
push 0x41
push edi
call fcn.0041b130
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041b130
mov byte [esp + 0x37], 0
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x86b0]
xor ebx, ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], edx
cmp eax, ecx
jne 0x417319
lea edx, [esp + 0x125f8]
mov dword [esp + 0x54], edx
jmp 0x415aa0
lea eax, [esp + 0x86b0]
mov dword [esp + 0x54], eax
jmp 0x415aa0
mov ecx, dword [esp + 0x28]
push ecx
push str.Out_of_memory.
mov ecx, 0x4c3000
jmp 0x4173a4
push esi
mov ecx, dword [ebp + 8]
push str.Continuation_section_too_long.
call fcn.0042b900
mov esi, dword [esp + 0x30]
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
lea ecx, [esp + 0x60]
mov byte [esi + 0x18], 1
call fcn.00414120
jmp 0x41754a
lea ecx, [esp + 0x6a8]
push ecx
mov ecx, dword [ebp + 8]
push str.Functions_cannot_contain_functions.
call fcn.0042b900
mov esi, dword [esp + 0x30]
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
lea ecx, [esp + 0x60]
mov byte [esi + 0x18], 1
call fcn.00414120
jmp 0x41754a
push edi
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, dword [ebp + 8]
call fcn.0042b900
mov esi, dword [esp + 0x30]
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov byte [esi + 0x18], 1
mov eax, dword [esp + 0x84]
mov dword [esp + 0x60], vtable.TextMem.0
test eax, eax
je 0x4173eb
cmp byte [esp + 0x88], 0
je 0x4173e0
push eax
call fcn.004833c5
add esp, 4
xor eax, eax
mov dword [esp + 0x84], eax
test eax, eax
mov dword [esp + 0x60], vtable.TextStream.0
je 0x4173fe
push eax
call fcn.004833c5
add esp, 4
mov eax, dword [esp + 0x74]
test eax, eax
je 0x41754a
push eax
call fcn.004838c2
add esp, 4
jmp 0x41754a
mov ecx, edx
mov edx, dword [ecx + 4]
push edi
push str.IfWin_should_be_IfWin.
mov dword [ecx + 0x41c], edx
call fcn.0042b900
mov esi, dword [esp + 0x30]
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
jmp 0x4173b6
mov esi, dword [esp + 0x30]
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea ecx, [esp + 0x60]
mov byte [esi + 0x18], 1
call fcn.00414120
jmp 0x41754a
mov eax, dword [esp + 0x28]
push eax
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, ebx
jmp 0x4173a4
mov ecx, dword [esp + 0x28]
push ecx
mov dword [ebx + 0x41c], 0
push str.Duplicate_hotkey.
mov ecx, ebx
jmp 0x417343
push edi
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x4173a1
push edi
push 0x49fe9c
jmp 0x4173a1
mov ecx, dword [esp + 0x38]
push ecx
jmp 0x41733b
cmp word [esp + 0x6a8], bx
je 0x4174fb
mov ecx, dword [esp + 0xb0]
mov esi, dword [edi + 0x5c]
push ebx
push ebx
push ebx
push ebx
push ebx
push 3
lea edx, [esp + 0x6c0]
mov dword [edi + 0x5c], ecx
push edx
mov ecx, edi
call fcn.00418db0
test eax, eax
jne 0x4174f8
mov esi, dword [esp + 0x30]
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
lea ecx, [esp + 0x60]
mov byte [esi + 0x18], 1
call fcn.00414120
jmp 0x41754a
mov dword [edi + 0x5c], esi
inc dword [edi + 0x5c]
lea ecx, [esp + 0x60]
call fcn.00414120
mov eax, 1
mov ecx, dword [esp + 0x1a634]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [esp + 0x188]
call fcn.00480dd4
fldz
mov eax, dword [ebp + 0xc]
push ebx
sub esp, 8
fstp qword [esp]
push eax
push ebx
push str.Could_not_extract_script_from_EXE.
call fcn.0046b2c0
add esp, 0x18
mov ecx, dword [esp + 0x1a634]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8