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

Disassembly:
push 0xffffffffffffffff
push 0x4920fb
mov eax, dword fs:[0]
push eax
mov eax, 0xe284
mov dword fs:[0], esp
call fcn.0048dd20
push ebx
push ebp
mov ebp, dword [esp + 0xe29c]
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x4177ae
cmp byte [ebx], 0
je 0x4177ae
mov eax, dword [0x4a8c1c]
mov dword [esp + 0xa8], eax
test eax, eax
jne 0x4159f8
mov eax, dword [ebp + 0x5c0]
mov dword [0x4a6c60], eax
push 0x4000
xor esi, esi
lea ecx, [esp + 0x339]
push esi
push ecx
mov byte [esp + 0x340], 0
call fcn.0048aa20
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceA]
add esp, 0xc
push 0xa
push str._AUTOHOTKEY_SCRIPT_
lea edx, [esp + 0x4344]
lea eax, [esp + 0xa28c]
push esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], esi
mov byte [esp + 0xe4], 0
call edi
mov esi, eax
test esi, esi
je 0x415a63
mov byte [ebp + 0x5dc], 0
jmp 0x415a7f
push 0xa
push str._AHK_WITH_ICON_
push 0
call edi
mov esi, eax
test esi, esi
je 0x417794
mov byte [ebp + 0x5dc], 1
push esi
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0xd4], eax
cmp eax, edi
je 0x417794
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x417794
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [esp + 0xd0], eax
cmp eax, edi
je 0x417794
lea esi, [esp + 0x4c]
call fcn.00414170
mov dword [esp + 0xe29c], edi
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 4]
push 0xc
lea ecx, [esp + 0xd4]
push ecx
mov ecx, esi
mov dword [esp + 0x5c], edi
call eax
test al, al
je 0x415afa
mov eax, 0xfde9
lea ebx, [edi + 0xc]
mov ecx, esi
call fcn.0046c750
mov ecx, dword [esp + 0xa8]
inc dword [0x4a8c1c]
mov dword [ebp + 0x164], ecx
lea eax, [esp + 0x4c]
xor ecx, ecx
lea edx, [esp + 0x433c]
mov byte [esp + 0x1f], 0
mov byte [esp + 0x2d], 0
mov byte [esp + 0x32], 0
mov dword [esp + 0xb0], 0xffffffff
call fcn.00417a20
push 2
lea edx, [esp + 0x4340]
push 0x497784
push edx
mov dword [esp + 0x2c], eax
call fcn.0048380b
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x25], al
test al, al
je 0x415b71
mov byte [esp + 0x433c], 0
mov dword [esp + 0x20], 0
cmp dword [esp + 0x20], 0xffffffff
je 0x41770c
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x18]
push 0xc
inc eax
push str.CommentFlag
xor edi, edi
push esi
mov dword [ebp + 0x168], eax
mov dword [ebp + 0x368], edi
call fcn.0048214b
add esp, 0xc
test eax, eax
jne 0x415bb9
push esi
push ebp
call fcn.00417bb0
test eax, eax
je 0x416373
mov byte [esp + 0xb8], 0
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x3c]
inc dword [esp + 0xb0]
mov esi, dword [esp + 0x28]
xor ebp, ebp
cmp ebx, ebp
je 0x415c51
lea eax, [esp + 0x4c]
mov ecx, esi
mov edx, ebx
call fcn.00417a20
mov edi, eax
mov dword [esp + 0x40], edi
cmp edi, ebp
je 0x415c58
cmp edi, 0xffffffff
je 0x415c58
cmp esi, ebp
jne 0x415c58
push 2
push 0x497798
push ebx
call fcn.0048380b
add esp, 0xc
test eax, eax
jne 0x415c6d
cmp byte [esp + 0x25], al
jne 0x415c20
cmp byte [ebx + 2], 0x3a
jne 0x415c20
cmp byte [ebx + 3], 0x3a
je 0x415c78
lea ecx, [edi - 1]
push ecx
lea edx, [ebx + 2]
push edx
push ebx
mov byte [esp + 0x31], 0
call fcn.004822a0
lea eax, [edi - 2]
add esp, 0xc
mov edi, ebx
call fcn.00412410
cmp byte [ebx], 0
mov edi, eax
mov dword [esp + 0x40], edi
je 0x415bc5
jmp 0x415c78
or edi, 0xffffffff
mov dword [esp + 0x40], edi
cmp byte [esp + 0x25], 0
je 0x415c96
cmp edi, 0xffffffff
jne 0x415bc5
jmp 0x4162d6
cmp byte [esp + 0x25], 0
jne 0x415bc5
push 2
push 0x497784
push ebx
call fcn.0048380b
add esp, 0xc
test eax, eax
jne 0x415c58
mov byte [esp + 0x25], 1
jmp 0x415bc5
cmp esi, ebp
jne 0x416123
cmp edi, 0xffffffff
je 0x415d07
cmp byte [ebx], 0x28
jne 0x415d07
cmp byte [ebx + 1], 0x3a
lea esi, [ebx + 1]
je 0x415d07
cmp byte [edi + ebx - 1], 0x3a
je 0x415d07
mov dl, byte [0x4a7471]
mov ecx, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0xc4], ebp
mov byte [esp + 0x38], dl
mov byte [esp + 0x3b], cl
mov byte [esp + 0x39], 0
mov byte [esp + 0x36], 0
mov byte [esp + 0x35], cl
mov word [esp + 0xdc], 0xa
mov dword [esp + 0xb4], ecx
mov al, byte [esi]
cmp al, 0x20
je 0x415d03
cmp al, 9
jne 0x415f4d
add esi, ecx
jmp 0x415cf5
mov dword [esp + 0x28], ebp
cmp edi, 0xffffffff
je 0x4162d6
cmp edi, ebp
je 0x415bc5
cmp byte [edi + ebx - 1], 0x3a
jne 0x415d34
cmp byte [ebx], 0x2c
jne 0x4162d6
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov al, byte [ebx]
call fcn.00408ef0
cmp al, 0x41
je 0x415f0b
cmp al, 0x4f
je 0x415eb9
mov al, byte [ebx]
cmp al, 0x3a
je 0x415d59
cmp al, 0x2b
je 0x415d59
cmp al, 0x2d
jne 0x415d62
cmp byte [ebx + 1], al
je 0x4162d6
movsx eax, al
push eax
push str.____:.___
call fcn.004826b1
add esp, 8
test eax, eax
je 0x4162d6
mov ebx, dword [esp + 0x3c]
push 0x4977c0
push ebx
call fcn.004827f2
mov edi, eax
add esp, 8
test edi, edi
je 0x415e30
cmp byte [ebx], 0x3a
jne 0x415de2
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
test al, al
je 0x415dd9
cmp al, 0x3a
je 0x4162d6
mov ecx, 0x107
call fcn.00408ed0
test eax, eax
jne 0x415dd1
movsx eax, byte [esi]
push eax
push str.____t
call fcn.004826b1
add esp, 8
test eax, eax
je 0x415de2
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x415da6
cmp byte [esi], 0x3a
je 0x4162d6
mov ebx, dword [esp + 0x3c]
cmp byte [ebx], 0x2c
jne 0x415e74
lea esi, [ebx + 1]
mov al, byte [esi]
cmp al, 0x20
je 0x415dfc
cmp al, 9
jne 0x415dff
inc esi
jmp 0x415df2
push 2
push 0x4977c0
push esi
call fcn.0048380b
add esp, 0xc
test eax, eax
je 0x4162d6
push 3
push 0x496fdc
dec esi
push esi
call fcn.0048380b
add esp, 0xc
test eax, eax
je 0x4162d6
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x417543
cmp byte [ebx], 0x2c
je 0x415e54
mov ecx, dword [esp + 0x18]
mov byte [esi + ecx], 0x20
inc esi
mov eax, dword [esp + 0x18]
lea edx, [edi + 1]
push edx
lea ecx, [esi + eax]
push ebx
push ecx
call fcn.00489e50
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
jmp 0x415bc5
mov eax, ebx
cmp ebx, edi
jae 0x415e8a
lea ebx, [ebx]
cmp byte [eax], 0x22
je 0x415e8a
inc eax
cmp eax, edi
jb 0x415e80
cmp eax, edi
je 0x4162d6
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x4162d6
cmp al, 0x22
je 0x415eb1
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x415ea0
jmp 0x4162d6
cmp byte [ecx], 0
jmp 0x415e2a
mov al, byte [ebx + 1]
call fcn.00408ef0
cmp al, 0x52
jne 0x4162d6
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x20
je 0x415ee0
cmp al, 9
je 0x415ee0
cmp al, 0xa0
jne 0x4162d6
nop
mov al, byte [ecx]
cmp al, 0x20
je 0x415eea
cmp al, 9
jne 0x415eed
inc ecx
jmp 0x415ee0
movsx eax, byte [ecx]
push eax
push str.____:
call fcn.004826b1
add esp, 8
test eax, eax
jne 0x4162d6
jmp 0x415e34
push 3
push 0x49779c
push ebx
call fcn.0048214b
add esp, 0xc
test eax, eax
jne 0x4162d6
mov al, byte [ebx + 3]
lea ecx, [ebx + 3]
cmp al, 0x20
je 0x415f40
cmp al, 9
je 0x415f40
cmp al, 0xa0
jne 0x4162d6
lea esp, [esp]
mov al, byte [ecx]
cmp al, 0x20
je 0x415f4a
cmp al, 9
jne 0x415eed
inc ecx
jmp 0x415f40
cmp byte [esi], 0
je 0x416116
jmp 0x415f60
mov edi, 0x496fe4
mov eax, esi
call fcn.00408f20
mov ebp, eax
test ebp, ebp
jne 0x415f83
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415f77
sub eax, edx
lea ebp, [eax + esi]
mov bl, byte [ebp]
push 4
push str.Join
push esi
mov byte [esp + 0x21], bl
mov byte [ebp], 0
call fcn.0048214b
add esp, 0xc
test eax, eax
jne 0x41606f
push 0xf
add esi, 4
lea eax, [esp + 0xe0]
push esi
push eax
call fcn.00484520
mov bl, byte [0x4a33cd]
mov byte [esp + 0xf7], 0
lea ecx, [esp + 0xe8]
mov al, byte [ecx]
add esp, 0xc
test al, al
je 0x415fe3
cmp al, bl
je 0x416009
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x415fd7
lea eax, [esp + 0xdc]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415ff0
mov bl, byte [esp + 0x15]
sub eax, edx
mov dword [esp + 0xb4], eax
jmp 0x4160fa
cmp byte [ecx], 0
je 0x415fe3
movsx eax, byte [ecx + 1]
lea esi, [ecx + 1]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x416024.99
movzx edx, byte [eax + 0x4177f0]
jmp dword [edx*4 + 0x4177cc]
mov byte [esi], 7
jmp case.0x416024.99
mov byte [esi], 8
jmp case.0x416024.99
mov byte [esi], 0xc
jmp case.0x416024.99
mov byte [esi], 0xa
jmp case.0x416024.99
mov byte [esi], 0xd
jmp case.0x416024.99
mov byte [esi], 9
jmp case.0x416024.99
mov byte [esi], 0xb
jmp case.0x416024.99
mov byte [esi], 0x20
mov eax, esi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416056
sub eax, edi
inc eax
push eax
push esi
push ecx
call fcn.004822a0
mov ecx, esi
jmp 0x415fce
push 5
push 0x4977f4
push esi
call fcn.0048214b
add esp, 0xc
test eax, eax
jne 0x416091
cmp byte [esi + 5], 0x30
setne byte [esp + 0x38]
jmp 0x4160fa
push 5
push str.RTrim
push esi
call fcn.0048214b
add esp, 0xc
test eax, eax
jne 0x4160b0
cmp byte [esi + 5], 0x30
setne byte [esp + 0x3b]
jmp 0x4160fa
mov al, byte [esi]
test al, al
je 0x4160fa
mov ecx, 2
jmp 0x4160c0
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x4160d2.38
movzx eax, byte [eax + 0x417820]
jmp dword [eax*4 + 0x417808]
mov byte [esp + 0x39], 1
jmp case.0x4160d2.38
mov byte [esp + 0x36], 1
jmp case.0x4160d2.38
mov byte [esp + 0x35], 0
jmp case.0x4160d2.38
mov dword [esp + 0x28], ecx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4160c0
mov byte [ebp], bl
mov esi, ebp
nop
mov al, byte [esi]
cmp al, 0x20
je 0x41610a
cmp al, 9
jne 0x41610d
inc esi
jmp 0x416100
cmp byte [esi], 0
jne 0x415f60
mov byte [esp + 0xb8], 1
jmp 0x415bc5
cmp edi, 0xffffffff
je 0x4176e4
cmp edi, 0xfffffffe
je 0x415bc5
cmp byte [ebx], 0x29
jne 0x416157
mov esi, dword [esp + 0x3c]
or eax, 0xffffffff
mov dword [esp + 0x28], ebp
lea ebx, [esi + 1]
call fcn.00412480
lea edi, [eax - 1]
mov ebp, esi
jmp 0x416250
cmp byte [esp + 0x3b], 0
mov ebp, dword [esp + 0x3c]
mov ebx, ebp
je 0x41616f
mov eax, edi
mov esi, ebp
call fcn.00412480
mov edi, eax
cmp byte [esp + 0x38], 0
je 0x416181
mov eax, edi
mov edi, ebp
call fcn.00412410
mov edi, eax
xor esi, esi
cmp byte [esp + 0x39], 0
je 0x4161bc
mov al, byte [0x4a33cd]
push esi
push 0xffffffffffffffff
push 1
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x40], al
mov byte [esp + 0x44], al
mov byte [esp + 0x45], al
push ebp
xor eax, eax
mov ecx, 0x4001
call fcn.0046f330
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x36], 0
je 0x4161fc
mov al, byte [0x4a33cc]
mov cl, byte [0x4a33cd]
push 0
push 0xffffffffffffffff
push 1
mov byte [esp + 0x38], al
mov byte [esp + 0x3d], al
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x44], cl
push ebp
xor eax, eax
mov ecx, 0x4001
call fcn.0046f330
add esp, 0x18
add esi, eax
cmp byte [esp + 0x35], 0
je 0x41623c
mov al, byte [0x4a3367]
mov cl, byte [0x4a33cd]
push 0
push 0xffffffffffffffff
push 1
mov byte [esp + 0x38], al
mov byte [esp + 0x3d], al
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x44], cl
push ebp
xor eax, eax
mov ecx, 0x4001
call fcn.0046f330
add esp, 0x18
add esi, eax
test esi, esi
je 0x416250
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416245
sub eax, edx
mov edi, eax
mov esi, dword [esp + 0xb4]
mov eax, dword [esp + 0x20]
lea ecx, [esi + edi]
add ecx, eax
cmp ecx, 0x4001
jae 0x417543
mov ecx, dword [esp + 0xc4]
inc ecx
mov dword [esp + 0xc4], ecx
cmp ecx, 1
jle 0x4162a7
test esi, esi
je 0x4162a7
cmp ebx, ebp
jne 0x4162a7
lea edx, [esi + 1]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xe0]
push ecx
add eax, edx
push eax
call fcn.00489e50
add esp, 0xc
add dword [esp + 0x20], esi
test edi, edi
je 0x415bc5
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
lea eax, [edi + 1]
push eax
lea edx, [esi + ecx]
push ebx
push edx
call fcn.00489e50
add esp, 0xc
add esi, edi
mov dword [esp + 0x20], esi
jmp 0x415bc5
mov byte [ebp], bl
cmp dword [esp + 0x20], 0
je case.0x416cf5.14
cmp byte [esp + 0x334], 0
mov ebp, dword [esp + 0xe2a4]
mov esi, dword [esp + 0x18]
je 0x41643f
mov eax, dword [esp + 0xac]
mov edi, dword [ebp + 0x168]
mov bl, byte [esp + 0x27]
mov dword [ebp + 0x168], eax
cmp byte [esi], 0x7b
je 0x41635a
test bl, bl
jne 0x41635a
cmp byte [esp + 0x24], bl
jne 0x417567
cmp dword [ebp + 0x48], 0
je 0x41633d
mov ecx, dword [0x4a3440]
cmp dword [ecx + 0x94], 0
je 0x417578
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x34c]
push edx
mov ecx, ebp
call fcn.00419200
jmp 0x4163c0
cmp byte [esp + 0x24], 0
je 0x416381
lea eax, [esp + 0x334]
push eax
push ebp
call fcn.0041d4f0
test eax, eax
jne 0x4163ce
lea ecx, [esp + 0x4c]
call fcn.004141d0
jmp 0x4177ae
mov ecx, dword [0x4a3440]
cmp dword [ecx + 0x94], 0
jne 0x417589
lea edx, [esp + 0x8344]
push edx
lea eax, [esp + 0x338]
push eax
push ebp
call fcn.0041cc60
test eax, eax
je 0x416373
test bl, bl
je 0x4163ce
push 0
push 0
push 0
push 0x72
push ebp
call fcn.0041b470
test eax, eax
je 0x416373
mov dword [ebp + 0x368], 0
cmp byte [esp + 0x24], 0
mov byte [esp + 0x334], 0
je 0x416439
push 0
push 0
push 0
push 0x72
push ebp
call fcn.0041b470
test eax, eax
je 0x416373
test bl, bl
jne 0x416439
lea ecx, [esi + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x416400
cmp al, 9
jne 0x416403
inc ecx
jmp 0x4163f6
cmp byte [ecx], 0
jne 0x416413
mov dword [ebp + 0x168], edi
jmp case.0x416cf5.14
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416418
sub eax, esi
mov dword [esp + 0x20], eax
inc eax
push eax
push ecx
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004822a0
mov esi, dword [esp + 0x24]
add esp, 0xc
mov dword [ebp + 0x168], edi
cmp byte [esi], 0x7d
jne 0x416500
cmp dword [ebp + 0x48], 0
je 0x416500
mov edx, dword [0x4a3440]
cmp dword [edx + 0x94], 0
jne 0x416500
mov ebx, esi
mov eax, dword [ebp + 0x48]
test eax, eax
je 0x4164da
dec eax
mov dword [ebp + 0x48], eax
mov edi, dword [ebp + eax*4 + 0x4c]
call fcn.00468df0
mov eax, dword [ebp + 0x48]
mov eax, dword [ebp + eax*4 + 0x4c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea esi, [ebp + 0x60]
push 0x2e
push esi
call fcn.004835ce
add esp, 8
test eax, eax
je 0x4164a1
mov byte [eax], 0
jmp 0x4164a4
mov byte [esi], 0
push 0
push 0
push 0
push 0x73
push ebp
call fcn.0041b470
test eax, eax
je 0x416373
lea eax, [ebx + 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4164cc
cmp cl, 9
jne 0x4164cf
inc eax
jmp 0x4164c0
cmp byte [eax], 0x7d
mov esi, dword [esp + 0x18]
mov ebx, eax
je 0x416467
cmp byte [ebx], 0
je case.0x416cf5.14
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4164e8
sub eax, edx
push eax
push ebx
push esi
mov dword [esp + 0x2c], eax
call fcn.004822a0
add esp, 0xc
lea ebx, [esp + 0x27]
mov eax, esi
call fcn.00415860
test al, al
je 0x416540
lea edx, [esp + 0x334]
mov eax, esi
sub edx, esi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416520
mov eax, dword [ebp + 0x168]
mov dword [esp + 0xac], eax
mov byte [esp + 0x24], cl
jmp case.0x416cf5.14
mov ecx, dword [0x4a3440]
cmp dword [ecx + 0x94], 0
jne 0x416691
lea edx, [esp + 0x27]
push edx
mov eax, esi
call fcn.00415910
add esp, 4
test eax, eax
je 0x416591
lea edx, [esp + 0x334]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x416570
mov eax, dword [ebp + 0x168]
mov dword [esp + 0xac], eax
mov byte [esp + 0x24], 1
jmp case.0x416cf5.14
cmp dword [ebp + 0x48], 0
je 0x416691
mov edi, dword [esp + 0x18]
mov esi, edi
movzx eax, byte [esi]
test eax, 0xffffff80
jne 0x4165bd
push 0x107
push eax
call fcn.00482bfe
add esp, 8
test eax, eax
jne 0x4165c7
mov al, byte [esi]
cmp al, 0x5f
je 0x4165c7
cmp al, 0x2e
jne 0x4165ca
inc esi
jmp 0x4165a1
cmp esi, edi
jbe 0x41662c
mov edi, edi
mov al, byte [esi]
cmp al, 0x20
je 0x4165da
cmp al, 9
jne 0x4165dd
inc esi
jmp 0x4165d0
cmp byte [esi], 0x3a
jne 0x41662c
cmp byte [esi + 1], 0x3d
jne 0x41662c
push 0
push edi
push ebp
call fcn.0041d9b0
test eax, eax
je 0x416373
mov bl, byte [esp + 0x1f]
test bl, bl
je case.0x416625.4
mov eax, dword [esp + 0xa4]
inc eax
mov dword [esp + 0xa4], eax
dec eax
cmp eax, 9
ja case.0x416625.4
movzx edx, byte [eax + 0x417874]
jmp dword [edx*4 + 0x417860]
push 6
push str.Static
push edi
call fcn.0048214b
add esp, 0xc
test eax, eax
jne 0x416652
mov al, byte [edi + 6]
cmp al, 0x20
je 0x41664b
cmp al, 9
jne 0x416652
push 1
add edi, 7
jmp 0x4165ea
cmp byte [edi], 0x23
jne 0x41759a
mov esi, dword [ebp + 0x168]
push edi
push ebp
call fcn.00417bb0
test eax, eax
je 0x416373
cmp eax, 3
jne 0x41759a
mov ecx, dword [esp + 0xa8]
mov dword [ebp + 0x164], ecx
mov dword [ebp + 0x168], esi
jmp case.0x416cf5.14
mov edi, dword [esp + 0x18]
xor ebx, ebx
xor ebp, ebp
cmp byte [edi], 0x3a
mov dword [esp + 0x28], ebx
mov dword [esp + 0xc0], ebx
jne 0x41671d
mov cl, byte [edi + 1]
lea eax, [edi + 1]
test cl, cl
je 0x41671d
cmp cl, 0x3a
je 0x4166d5
push 0x3a
push eax
mov dword [esp + 0xc8], eax
call fcn.004826b1
add esp, 8
cmp eax, ebx
je 0x416719
inc eax
jmp 0x4166dd
cmp byte [edi + 2], bl
lea eax, [edi + 2]
je 0x41671d
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x41671d
mov edi, eax
mov al, byte [edi]
test al, al
je 0x41670b
mov cl, byte [0x4a33cd]
cmp al, cl
je 0x416773
cmp al, 0x3a
je 0x416773
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4166f3
cmp ebp, ebx
jne 0x416814
mov edi, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x28], ebx
push 0x4977c0
push edi
call fcn.004827f2
mov ebp, eax
add esp, 8
cmp ebp, ebx
je 0x416ec4
cmp ebp, edi
jne 0x416740
cmp byte [ebp + 2], 0x3a
jne 0x416740
inc ebp
mov esi, ebp
cmp ebp, edi
jbe 0x416755
mov al, byte [esi]
cmp al, 0x20
je 0x416750
cmp al, 9
jne 0x416755
dec esi
cmp esi, edi
ja 0x416746
mov bl, byte [esi]
mov eax, dword [esp + 0x18]
mov byte [esi], 0
mov edi, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x416770
cmp cl, 9
jne 0x4167f8
inc eax
jmp 0x416760
mov al, byte [edi]
test al, al
je 0x41670b
lea esi, [edi + 1]
cmp al, 0x3a
jne 0x416792
cmp byte [esi], al
jne 0x4167f2
mov ebp, edi
mov edi, esi
inc edi
jmp 0x4166e7
movsx eax, byte [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4167a4.99
movzx edx, byte [eax + 0x4178a0]
jmp dword [edx*4 + 0x417880]
mov byte [esi], 7
jmp case.0x4167a4.99
mov byte [esi], 8
jmp case.0x4167a4.99
mov byte [esi], 0xc
jmp case.0x4167a4.99
mov byte [esi], 0xa
jmp case.0x4167a4.99
mov byte [esi], 0xd
jmp case.0x4167a4.99
mov byte [esi], 9
jmp case.0x4167a4.99
mov byte [esi], 0xb
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4167d1
sub eax, edx
inc eax
push eax
push esi
push edi
call fcn.004822a0
add esp, 0xc
cmp byte [edi], 0x3a
jne 0x4167f2
cmp byte [esi], 0x3a
jne 0x4167f2
mov edi, esi
inc edi
jmp 0x4166e7
push 0
push 0
call fcn.0040b0d0
add esp, 8
test eax, eax
jne 0x41680a
xor ebp, ebp
mov byte [esi], bl
test ebp, ebp
je 0x416ec4
mov edi, dword [esp + 0x18]
cmp ebp, edi
jbe 0x416ec4
mov eax, dword [0x4a3440]
cmp dword [eax + 0x94], 0
jne 0x4175a4
mov ebx, dword [esp + 0xe2a4]
mov eax, dword [ebx + 4]
test eax, eax
je 0x416849
cmp byte [eax], 0x1a
je 0x41760d
mov byte [ebp], 0
add ebp, 2
cmp dword [esp + 0x28], 0
mov dword [esp + 0x20], ebp
jne 0x416d42
cmp byte [ebp], 0
je 0x416895
mov ecx, ebp
mov al, byte [ecx]
cmp al, 0x20
je 0x416871
cmp al, 9
jne 0x416874
inc ecx
jmp 0x416867
mov edx, ecx
sub edx, ebp
je 0x416895
mov eax, ecx
lea esi, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x416880
sub eax, esi
inc eax
push eax
push ecx
push ebp
call fcn.004822a0
add esp, 0xc
cmp byte [edi], 0
je 0x4168d8
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4168a0
sub eax, edx
lea eax, [eax + edi - 1]
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0x20
je 0x4168bc
cmp cl, 9
jne 0x4168c3
cmp eax, edi
je 0x4168c9
dec eax
jmp 0x4168b0
mov byte [eax + 1], 0
jmp 0x4168d8
mov cl, byte [eax]
cmp cl, 0x20
je 0x4168d5
cmp cl, 9
jne 0x4168d8
mov byte [eax], 0
cmp byte [ebp], 0
mov dword [esp + 0x48], ebp
je 0x416d42
cmp byte [edi], 0
jne 0x4168f7
mov dword [esp + 0x9c], edi
jmp 0x416a31
xor bl, bl
lea ebp, [edi + 1]
mov esi, edi
mov byte [esp + 0x15], 0
cmp byte [ebp], bl
je 0x416a2a
mov edi, dword [esp + 0x98]
push 0x496fe0
push ebp
call fcn.004816e1
add esp, 8
test eax, eax
je case.0x41693f.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x41693f.34
movzx eax, byte [eax + 0x4178d8]
jmp dword [eax*4 + 0x4178b8]
mov bl, 1
jmp case.0x41693f.36
mov byte [esp + 0x15], 1
jmp case.0x41693f.36
test bl, bl
jne 0x416969
cmp byte [esp + 0x15], bl
jne 0x416970
or edi, 1
jmp case.0x41693f.36
cmp byte [esp + 0x15], 0
je 0x41697a
or byte [esp + 0x17], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41693f.36
or byte [esp + 0x17], 8
jmp 0x416a12
test bl, bl
jne 0x41699e
cmp byte [esp + 0x15], bl
jne 0x4169a5
or edi, 2
jmp case.0x41693f.36
cmp byte [esp + 0x15], 0
je 0x4169af
or byte [esp + 0x17], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41693f.36
or byte [esp + 0x17], 2
jmp 0x416a12
test bl, bl
jne 0x4169cd
cmp byte [esp + 0x15], bl
jne 0x4169d4
or edi, 4
jmp case.0x41693f.36
cmp byte [esp + 0x15], 0
je 0x4169de
or byte [esp + 0x17], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41693f.36
or byte [esp + 0x17], 0x20
jmp 0x416a12
test bl, bl
jne 0x4169f8
cmp byte [esp + 0x15], bl
jne 0x4169ff
or edi, 8
jmp case.0x41693f.36
cmp byte [esp + 0x15], 0
je 0x416a09
or byte [esp + 0x17], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x41693f.36
or byte [esp + 0x17], 0x80
xor bl, bl
mov esi, ebp
cmp byte [esi + 1], 0
lea ebp, [esi + 1]
jne 0x416913
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], esi
mov ebp, dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 0
call ebp
mov edi, dword [esp + 0x9c]
push 1
mov ecx, eax
push 0
xor edx, edx
mov eax, edi
call fcn.00411790
add esp, 8
mov byte [esp + 0x37], al
test al, al
je 0x416d33
mov esi, dword [esp + 0x20]
cmp byte [esi + 1], 0
je 0x416beb
cmp byte [esi], 0
je 0x416ba9
mov edi, dword [esp + 0xa0]
mov byte [esp + 0x15], 0
xor bl, bl
lea eax, [esi + 1]
push 0x496fe0
push eax
mov dword [esp + 0x50], eax
call fcn.004816e1
add esp, 8
test eax, eax
je case.0x416ab8.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x416ab8.34
movzx ecx, byte [eax + 0x417958]
jmp dword [ecx*4 + 0x417938]
mov bl, 1
jmp case.0x416ab8.36
mov byte [esp + 0x15], 1
jmp case.0x416ab8.36
test bl, bl
jne 0x416ae2
cmp byte [esp + 0x15], bl
jne 0x416ae9
or edi, 1
jmp case.0x416ab8.36
cmp byte [esp + 0x15], 0
je 0x416af3
or byte [esp + 0x16], 4
mov byte [esp + 0x15], 0
test bl, bl
je case.0x416ab8.36
or byte [esp + 0x16], 8
jmp 0x416b8b
test bl, bl
jne 0x416b17
cmp byte [esp + 0x15], bl
jne 0x416b1e
or edi, 2
jmp case.0x416ab8.36
cmp byte [esp + 0x15], 0
je 0x416b28
or byte [esp + 0x16], 1
mov byte [esp + 0x15], 0
test bl, bl
je case.0x416ab8.36
or byte [esp + 0x16], 2
jmp 0x416b8b
test bl, bl
jne 0x416b46
cmp byte [esp + 0x15], bl
jne 0x416b4d
or edi, 4
jmp case.0x416ab8.36
cmp byte [esp + 0x15], 0
je 0x416b57
or byte [esp + 0x16], 0x10
mov byte [esp + 0x15], 0
test bl, bl
je case.0x416ab8.36
or byte [esp + 0x16], 0x20
jmp 0x416b8b
test bl, bl
jne 0x416b71
cmp byte [esp + 0x15], bl
jne 0x416b78
or edi, 8
jmp case.0x416ab8.36
cmp byte [esp + 0x15], 0
je 0x416b82
or byte [esp + 0x16], 0x40
mov byte [esp + 0x15], 0
test bl, bl
je case.0x416ab8.36
or byte [esp + 0x16], 0x80
xor bl, bl
mov esi, dword [esp + 0x48]
cmp byte [esi + 1], 0
jne 0x416a85
mov dword [esp + 0xa0], edi
mov edi, dword [esp + 0x9c]
push 0
mov dword [esp + 0x4c], esi
call ebp
push 1
mov ecx, eax
push 0
xor edx, edx
mov eax, esi
call fcn.00411790
add esp, 8
mov byte [esp + 0x1f], al
test al, al
je 0x416d33
mov cl, al
mov al, byte [esp + 0x37]
lea edx, [eax - 1]
cmp dl, 5
ja 0x416be1
cmp al, 3
jne 0x416be7
add al, 0x66
cmp al, 5
ja 0x416bf4
mov al, 1
jmp 0x416bf6
or cl, 0xff
mov byte [esp + 0x1f], cl
jmp 0x416bd5
xor al, al
lea edx, [ecx - 1]
cmp dl, 5
ja 0x416c03
cmp cl, 3
jne 0x416c0b
add cl, 0x66
cmp cl, 5
ja 0x416c12
mov byte [esp + 0x26], 1
jmp 0x416c17
mov byte [esp + 0x26], 0
test al, al
jne 0x416c26
mov byte [esp + 0x3a], 1
cmp byte [esp + 0x26], al
jne 0x416c2b
mov byte [esp + 0x3a], 0
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416c30
sub eax, edx
cmp eax, 1
jne 0x416c51
movzx eax, byte [edi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x4978c8
jne 0x416c56
mov eax, 0x4957f9
mov ecx, dword [esp + 0x18]
push ecx
push eax
push str._s_s
mov esi, 0x20
lea edi, [esp + 0x118]
call fcn.0046ebc0
mov esi, dword [esp + 0x54]
add esp, 0xc
push 0x1f
lea edx, [esp + 0xf0]
push esi
push edx
call fcn.00484520
mov ebx, dword [esp + 0x2c]
add esp, 0xc
push 7
lea eax, [esp + 0xcc]
push ebx
push eax
mov byte [esp + 0x117], 0
call fcn.00484520
mov eax, esi
sub eax, ebx
add esp, 0xc
mov byte [esp + 0xcf], 0
cmp eax, 8
jae 0x416cc4
mov byte [esp + eax + 0xc8], 0
cmp byte [esp + 0xc8], 0
mov dword [esp + 0xa4], 0
jne case.0x416cf5.14
movzx eax, byte [esp + 0x1f]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x416cf5.14
movzx ecx, byte [eax + 0x4179c8]
jmp dword [ecx*4 + 0x4179b8]
mov edi, 0x4971a0
mov eax, ebx
call fcn.00408f20
test eax, eax
jne case.0x416cf5.19
jmp case.0x416cf5.14
lea edx, [esp + 0xec]
push str.Return
push edx
call fcn.004816e1
add esp, 8
test eax, eax
jne case.0x416cf5.14
mov byte [esp + 0x1f], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0xe2a4]
cmp byte [ebx + 0x16c], 0
je 0x416d71
xor esi, esi
push esi
push 0xff
push esi
push 0x66
push ebx
mov byte [ebx + 0x16c], 0
call fcn.0041b470
test eax, eax
je 0x41761d
mov dword [ebx + 0x368], esi
push 1
push ebx
mov eax, edi
call fcn.004190b0
test eax, eax
je 0x417082
xor edi, edi
cmp byte [ebp], 0
je 0x416de8
cmp dword [esp + 0x28], edi
jne 0x416dc9
push edi
mov esi, ebp
call fcn.00409060
movzx edi, ax
add esp, 4
test di, di
jne 0x416dc9
mov ebx, dword [esp + 0xe2a4]
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
mov ecx, ebx
call fcn.00419200
test eax, eax
je 0x416373
jmp 0x416dd0
mov ebx, dword [esp + 0xe2a4]
push 0
push 0
push 0
push 0x66
push ebx
call fcn.0041b470
test eax, eax
je 0x416373
jmp 0x416def
mov ebx, dword [esp + 0xe2a4]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x416e2d
cmp byte [ecx], 0
je 0x41766c
mov eax, dword [esp + 0xc0]
test eax, eax
jne 0x416e10
mov eax, 0x4957f9
mov edx, dword [esp + 0xb8]
push edx
push ebp
push eax
mov eax, dword [ebx + 0x14]
push eax
mov edi, ecx
call fcn.0040c2f0
add esp, 0x10
jmp 0x4165f1
mov ebp, dword [esp + 0x18]
lea ecx, [esp + 0x47]
push ecx
lea edx, [esp + 0xc0]
push edx
push ebp
call fcn.0040b9d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x416e9f
test di, di
je 0x416e5b
mov word [esi + 2], di
jmp case.0x416cf5.14
mov eax, esi
call fcn.0040af50
test eax, eax
jne 0x41767d
mov eax, dword [esp + 0xbc]
mov edi, dword [ebx + 0x14]
push eax
call fcn.0040afb0
test eax, eax
je 0x417694
cmp byte [esp + 0x47], 0
jne 0x416e96
cmp byte [0x4a7472], 0
je case.0x416cf5.14
mov byte [esi + 0x16], 1
jmp case.0x416cf5.14
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xe2a4]
mov eax, dword [edx + 0x14]
push ecx
push 0
push edi
push eax
xor bl, bl
call fcn.0040a820
add esp, 0x10
jmp 0x4165f1
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
cmp byte [esi + edi - 1], 0x3a
lea ebp, [esi + edi]
jne 0x417165
cmp esi, 1
je 0x4176a1
mov al, byte [edi]
mov ecx, edi
test al, al
je 0x416f1f
mov dl, byte [0x4a3367]
mov bl, byte [0x4a33cd]
cmp al, 0x20
je 0x417165
cmp al, 9
je 0x417165
cmp al, dl
je 0x417165
cmp al, bl
je 0x417165
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x416ef7
cmp byte [ebp - 2], 0x3a
jne 0x416faa
cmp esi, 2
jbe 0x416faa
mov esi, dword [esp + 0xe2a4]
cmp byte [esi + 0x16c], 0
je 0x416f68
xor edi, edi
push edi
push 0xff
push edi
push 0x66
push esi
mov byte [esi + 0x16c], 0
call fcn.0041b470
test eax, eax
je 0x4176ac
mov dword [esi + 0x368], edi
mov ecx, dword [esp + 0x18]
push ecx
push str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
mov esi, 0x204
lea edi, [esp + 0x134]
call fcn.0046ebc0
fldz
add esp, 8
push 0
sub esp, 8
fstp qword [esp]
push 0
mov edx, edi
push 0x10000
push edx
call fcn.00473230
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
add esp, 0x18
dec esi
mov byte [esi + edi], 0
cmp byte [edi], 0
mov eax, esi
je 0x417082
cmp esi, 0xffffffff
jne 0x416fcd
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x416fc4
sub eax, edx
lea eax, [eax + edi - 1]
mov cl, byte [eax]
cmp cl, 0x20
je 0x416fdd
cmp cl, 9
jne 0x416fe4
cmp eax, edi
je 0x416fea
dec eax
jmp 0x416fd1
mov byte [eax + 1], 0
jmp 0x416ff9
mov cl, byte [eax]
cmp cl, 0x20
je 0x416ff6
cmp cl, 9
jne 0x416ff9
mov byte [eax], 0
cmp byte [edi], 0
je 0x417082
mov ebx, dword [esp + 0xe2a4]
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x417027
mov eax, dword [esi]
push edi
push eax
call fcn.004816e1
add esp, 8
test eax, eax
je 0x41706d
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x417010
cmp byte [edi], 0
je 0x4170be
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417035
sub eax, edx
mov edi, eax
lea eax, [edi + 1]
call fcn.0046c070
mov esi, eax
xor ebp, ebp
cmp esi, ebp
je 0x41752a
cmp edi, ebp
je 0x417067
mov eax, dword [esp + 0x18]
push edi
push eax
push esi
call fcn.00489e50
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x4170c5
push edi
push str.Duplicate_label.
mov ecx, ebx
call fcn.0042d320
test eax, eax
jne case.0x416cf5.14
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x4170b3
cmp byte [esp + 0x88], 0
je 0x4170a8
push eax
call fcn.004816f8
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
test eax, eax
jmp 0x417650
mov esi, 0x4957f9
xor ebp, ebp
cmp dword [0x4a8c38], ebp
jne 0x4170db
call fcn.0046c0e0
mov dword [0x4a8c38], eax
cmp eax, ebp
je 0x41712c
mov ecx, dword [0x4a8c3c]
cmp dword [ecx + 8], 0x10
jae 0x4170f9
call fcn.0046c0e0
mov ecx, dword [0x4a8c3c]
mov dword [ecx + 0xc], eax
cmp eax, ebp
je 0x41712c
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff0
lea edx, [eax + 0x10]
mov dword [0x4a8c40], eax
mov dword [ecx + 4], edx
cmp eax, ebp
je 0x41712c
mov dword [eax], esi
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
mov ecx, dword [ebx + 0x14]
mov dword [eax + 8], ecx
mov edi, eax
cmp dword [ebx + 0x10], ebp
jne 0x41713b
mov dword [ebx + 0x10], eax
jmp 0x417141
push 0x4957f9
push str.Out_of_memory.
jmp 0x417073
mov edx, dword [ebx + 0x14]
mov dword [edx + 0xc], eax
push str.OnClipboardChange
push esi
mov dword [ebx + 0x14], eax
call fcn.004816e1
add esp, 8
test eax, eax
jne case.0x416cf5.14
mov dword [ebx + 0x58c], edi
jmp case.0x416cf5.14
cmp byte [edi], 0x23
mov ebx, dword [esp + 0xe2a4]
jne 0x4171a3
mov esi, dword [ebx + 0x168]
push edi
push ebx
call fcn.00417bb0
test eax, eax
je 0x417082
cmp eax, 3
jne 0x4171a3
mov eax, dword [esp + 0xa8]
mov dword [ebx + 0x164], eax
mov dword [ebx + 0x168], esi
jmp case.0x416cf5.14
mov al, byte [edi]
cmp al, 0x7b
je 0x4172c9
cmp al, 0x7d
je 0x4172c9
mov eax, dword [esp + 0x18]
mov edi, str._t__
call fcn.00408f20
mov ebx, eax
test ebx, ebx
jne 0x4171cb
mov ebx, ebp
mov ebp, dword [esp + 0x18]
mov edi, ebx
sub edi, ebp
push 0xffffffffffffffff
push edi
mov eax, str.Else
mov ecx, ebp
mov esi, 1
call fcn.0046ec50
add esp, 8
test eax, eax
je 0x41723a
push 0xffffffffffffffff
push edi
mov eax, 0x496498
mov ecx, ebp
call fcn.0046ec50
add esp, 8
test eax, eax
je 0x417246
push 0xffffffffffffffff
push edi
mov eax, str.Finally
mov ecx, ebp
call fcn.0046ec50
mov esi, eax
add esp, 8
test esi, esi
je 0x41723a
mov ecx, dword [esp + 0xe2a4]
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
call fcn.00419200
jmp 0x4165f1
neg esi
sbb esi, esi
and esi, 0xffffff97
add esi, 0x71
jmp 0x41724b
mov esi, 0x6e
xor edi, edi
push edi
push edi
push edi
push esi
mov esi, dword [esp + 0xe2b4]
push esi
call fcn.0041b470
test eax, eax
je 0x4176ac
mov dword [esi + 0x368], edi
mov eax, ebx
mov edi, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x41727c
cmp cl, 9
jne 0x41727f
inc eax
jmp 0x417270
mov dl, byte [eax]
mov ecx, eax
mov dword [esp + 0x18], ecx
cmp dl, byte [0x4a3367]
jne 0x4172a3
lea ecx, [eax + 1]
mov al, byte [ecx]
cmp al, 0x20
je 0x41729c
cmp al, 9
jne 0x41729f
inc ecx
jmp 0x417292
mov dword [esp + 0x18], ecx
cmp byte [ecx], 0
je case.0x416cf5.14
mov eax, ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4172b1
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [esi + 0x368], edi
jmp 0x416691
cmp al, 0x7b
push 0
setne al
push 0
add al, 0x72
movzx ecx, al
push 0
push ecx
push ebx
call fcn.0041b470
test eax, eax
je 0x417082
lea eax, [edi + 1]
jmp 0x4172f0
mov cl, byte [eax]
cmp cl, 0x20
je 0x4172fc
cmp cl, 9
jne 0x4172ff
inc eax
jmp 0x4172f0
cmp byte [eax], 0
mov dword [esp + 0x18], eax
je case.0x416cf5.14
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417310
sub eax, edx
mov dword [esp + 0x20], eax
mov dword [ebx + 0x368], 0
jmp 0x416691
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x10c]
push eax
push str._s::
push ecx
call fcn.00481c18
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x416691
mov dx, word [0x4979bc]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x26], 0
mov edi, dword [esp + 0xe2a4]
mov word [esi], dx
mov al, byte [0x4979be]
push 0
setne dl
push 1
add dl, 0xc0
mov byte [esi + 2], al
lea ecx, [esp + 0x20]
movzx eax, dl
push ecx
push eax
push edi
call fcn.0041b470
cmp byte [esp + 0x3a], 0
je 0x4173c6
lea ecx, [esp + 0xec]
push ecx
push str.if_not_GetKeyState___s__
push esi
call fcn.00481c18
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa4], 9
jmp 0x416691
mov edi, dword [esp + 0xe2a4]
mov esi, dword [esp + 0x18]
mov ecx, 0x4957f9
cmp bl, 0x12
je 0x4173da
cmp bl, 0xa3
jbe 0x4173fa
cmp bl, 0xa5
ja 0x4173fa
movzx eax, byte [esp + 0x37]
sub eax, 0x11
je 0x4173f5
sub eax, 0x91
je 0x4173f5
dec eax
jne 0x4173fa
mov ecx, str.RCtrl_up
jmp 0x4173fa
mov ecx, str.LCtrl_up
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0xcc]
push eax
push ecx
push str.Blind_s_s_s_DownTemp
push esi
mov dword [edi + 0x368], 0
call fcn.00481c18
add esp, 0x14
push 0
push 1
lea ecx, [esp + 0x20]
push ecx
push 0x40
push edi
call fcn.0041b470
test eax, eax
je 0x416373
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041b470
lea edx, [esp + 0x10c]
push edx
push str._s_up::
push esi
call fcn.00481c18
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa4], 2
jmp 0x416691
mov ax, word [0x4979bc]
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x26], 0
mov edi, dword [esp + 0xe2a4]
mov word [esi], ax
mov cl, byte [0x4979be]
push 0
setne al
push 1
add al, 0xc0
mov byte [esi + 2], cl
lea edx, [esp + 0x20]
movzx ecx, al
push edx
push ecx
push edi
call fcn.0041b470
lea edx, [esp + 0xec]
push edx
push str.Blind_s_Up
push esi
call fcn.00481c18
add esp, 0xc
push 0
push 1
lea eax, [esp + 0x20]
push eax
push 0x40
push edi
call fcn.0041b470
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041b470
mov byte [esp + 0x1f], 0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0xe2a4]
lea edx, [esp + 0x433c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
cmp eax, edx
jne 0x41751a
lea eax, [esp + 0xa284]
mov dword [esp + 0x3c], eax
jmp 0x415b71
lea ecx, [esp + 0x433c]
mov dword [esp + 0x3c], ecx
jmp 0x415b71
mov edx, dword [esp + 0x18]
push edx
push str.Out_of_memory.
mov ecx, 0x4a8ce0
call fcn.0042d320
jmp 0x417082
mov ecx, dword [esp + 0xe2a4]
push ebx
push str.Continuation_section_too_long.
call fcn.0042d320
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.004141d0
mov eax, esi
jmp 0x4177b0
lea eax, [esp + 0x334]
push eax
push 0x497834
mov ecx, ebp
jmp 0x417550
lea ecx, [esp + 0x334]
push ecx
push str.Expected_assignment_or_class_method_definition.
mov ecx, ebp
jmp 0x417550
lea edx, [esp + 0x334]
push edx
push str.Functions_cannot_contain_functions.
mov ecx, ebp
jmp 0x417550
push edi
push str.Expected_assignment_or_class_method_definition.
mov ecx, ebp
jmp 0x417550
push edi
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, dword [esp + 0xe2ac]
call fcn.0042d320
mov esi, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
test eax, eax
je 0x4175e9
cmp byte [esp + 0x88], 0
je 0x4175de
push eax
call fcn.004816f8
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x4c], vtable.TextStream.0
test eax, eax
je 0x417560
push eax
call fcn.004816f8
add esp, 4
mov eax, esi
jmp 0x4177b0
push edi
mov dword [ebx + 0x368], eax
push str.IfWin_should_be_IfWin.
mov ecx, ebx
jmp 0x4175b1
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, esi
je 0x41764a
cmp byte [esp + 0x88], 0
je 0x417643
push eax
call fcn.004816f8
add esp, 4
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x7c]
cmp eax, esi
mov dword [esp + 0x4c], vtable.TextStream.0
je 0x4177ae
push eax
call fcn.004816f8
add esp, 4
jmp 0x4177ae
mov ecx, dword [esp + 0x18]
push ecx
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, ebx
jmp 0x417550
push ebp
mov dword [ebx + 0x368], 0
push str.Duplicate_hotkey.
mov ecx, ebx
jmp 0x417550
push ebp
push str.Out_of_memory.
mov ecx, ebx
jmp 0x417550
push edi
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x4175aa
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], vtable.TextMem.0
cmp eax, edi
je 0x4176d9
cmp byte [esp + 0x88], 0
je 0x4176d2
push eax
call fcn.004816f8
add esp, 4
mov dword [esp + 0x80], edi
mov eax, dword [esp + 0x7c]
cmp eax, edi
jmp 0x417650
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xe2a4]
push edx
push 0x497804
call fcn.0042d320
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.004141d0
mov eax, esi
jmp 0x4177b0
cmp byte [esp + 0x334], 0
je 0x41777e
cmp byte [esp + 0x24], 0
mov eax, dword [esp + 0xac]
mov esi, dword [ebp + 0x168]
mov dword [ebp + 0x168], eax
je 0x417755
cmp byte [esp + 0x27], 0
mov eax, str.Missing___
jne 0x417745
mov eax, 0x497834
lea ecx, [esp + 0x334]
push ecx
push eax
mov ecx, ebp
jmp 0x417550
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x34c]
push edx
mov ecx, ebp
call fcn.00419200
test eax, eax
je 0x416373
mov dword [ebp + 0x168], esi
inc dword [ebp + 0x168]
lea ecx, [esp + 0x4c]
call fcn.004141d0
mov eax, 1
jmp 0x4177b0
fldz
push 0
sub esp, 8
fstp qword [esp]
push ebx
push 0
push str.Could_not_extract_script_from_EXE.
call fcn.00473230
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