Function at 0x415f40
Capabilities:
Check os version
Extract resource via kernel32 functions
Get keyboard layout

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x49aeeb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
mov eax, 0x1a4f4
call fcn.00495db0
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
test eax, eax
je 0x417f7b
cmp word [eax], 0
je 0x417f7b
mov eax, dword [0x4c5f9c]
mov edi, dword [ebp + 8]
mov dword [esp + 0xc4], eax
test eax, eax
jne 0x415f9e
mov eax, dword [edi + 0xa88]
mov dword [0x4c3ed8], eax
push 0x8000
xor esi, esi
lea edx, [esp + 0x5ae]
xor ecx, ecx
push esi
push edx
mov word [esp + 0x5b4], cx
call fcn.00493490
mov ebx, dword [sym.imp.KERNEL32.dll_FindResourceW]
add esp, 0xc
push 0xa
push str._AUTOHOTKEY_SCRIPT_
lea eax, [esp + 0x85b8]
lea ecx, [esp + 0x12500]
push esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], esi
mov byte [esp + 0xf8], 0
call ebx
mov esi, eax
test esi, esi
je 0x41600b
mov byte [edi + 0xaa4], 0
jmp 0x416027
push 0xa
push str._AHK_WITH_ICON_
push 0
call ebx
mov esi, eax
test esi, esi
je 0x417f5e
mov byte [edi + 0xaa4], 1
push esi
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0xe8], eax
cmp eax, ebx
je 0x417f5e
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, ebx
je 0x417f5e
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [esp + 0xe4], eax
cmp eax, ebx
je 0x417f5e
lea esi, [esp + 0x78]
call fcn.004146c0
mov dword [esp + 0x1a53c], ebx
mov edx, esi
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x78]
push 0xc
lea eax, [esp + 0xe8]
push eax
mov eax, dword [edx + 4]
mov ecx, esi
mov dword [esp + 0x88], ebx
call eax
test al, al
je 0x4160b0
mov eax, 0xfde9
mov ebx, 0xc
mov ecx, esi
call fcn.0046f390
mov eax, dword [esp + 0xc4]
inc dword [0x4c5f9c]
xor edx, edx
xor ecx, ecx
mov word [esp + 0x74], dx
mov dword [edi + 0x264], eax
lea eax, [esp + 0x78]
lea edx, [esp + 0x85b0]
mov byte [esp + 0x34], 0
mov word [esp + 0x6e], cx
mov dword [esp + 0xcc], 0xffffffff
call fcn.004181f0
push 2
lea ecx, [esp + 0x85b4]
push 0x4a2260
push ecx
mov dword [esp + 0x44], eax
call fcn.0048c272
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x37], al
test al, al
je 0x416130
xor edx, edx
mov word [esp + 0x85b0], dx
mov dword [esp + 0x38], edx
jmp 0x416130
cmp dword [esp + 0x38], 0xffffffff
je 0x417ec4
mov eax, dword [esp + 0xcc]
mov esi, dword [esp + 0x30]
push 0xc
inc eax
push str.CommentFlag
xor ebx, ebx
push esi
mov dword [edi + 0x268], eax
mov dword [edi + 0x628], ebx
call fcn.0048afc2
add esp, 0xc
test eax, eax
jne 0x416178
push esi
push edi
call fcn.00418390
test eax, eax
je 0x416a15
mov byte [esp + 0xdc], bl
mov dword [esp + 0x48], ebx
mov edi, dword [esp + 0x4c]
inc dword [esp + 0xcc]
test edi, edi
je 0x41621b
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0xe0]
mov ecx, ebx
mov edx, edi
call fcn.004181f0
mov esi, eax
mov dword [esp + 0x44], esi
test esi, esi
je 0x416223
cmp esi, 0xffffffff
je 0x416223
test ebx, ebx
jne 0x416223
push 2
push 0x4a2284
push edi
call fcn.0048c272
add esp, 0xc
test eax, eax
jne 0x416247
cmp byte [esp + 0x37], al
jne 0x4161e8
mov eax, 0x3a
cmp word [edi + 4], ax
jne 0x4161e8
cmp word [edi + 6], ax
je 0x416256
lea ecx, [esi + esi - 2]
push ecx
lea edx, [edi + 4]
push edx
push edi
mov byte [esp + 0x43], 0
call fcn.0048b1f0
add esp, 0xc
lea eax, [esi - 2]
call fcn.004128b0
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x4c]
cmp word [eax], 0
je 0x416183
jmp 0x416252
mov dword [esp + 0x44], 0xffffffff
cmp byte [esp + 0x37], 0
mov esi, dword [esp + 0x44]
je 0x416274
cmp esi, 0xffffffff
jne 0x416187
cmp dword [esp + 0x38], 0
jne 0x416981
jmp case.0x41742d.14
cmp byte [esp + 0x37], 0
jne 0x416183
mov edi, dword [esp + 0x4c]
push 2
push 0x4a2260
push edi
call fcn.0048c272
add esp, 0xc
test eax, eax
jne 0x416223
mov byte [esp + 0x37], 1
jmp 0x416187
cmp dword [esp + 0x48], 0
jne 0x416780
cmp esi, 0xffffffff
je 0x4163d3
cmp word [edi], 0x28
jne 0x4163d3
cmp word [edi + 2], 0x3a
lea eax, [edi + 2]
je 0x4163d3
cmp word [edi + esi*2 - 2], 0x3a
je 0x4163d3
mov cl, byte [0x4c46e9]
mov dword [esp + 0x48], 1
mov dword [esp + 0xd4], 0
mov byte [esp + 0x53], cl
mov byte [esp + 0x52], 1
mov byte [esp + 0x56], 0
mov byte [esp + 0x51], 0
mov byte [esp + 0x55], 1
mov dword [esp + 0x100], 0xa
mov dword [esp + 0xd0], 1
call fcn.004091b0
mov esi, eax
cmp word [esi], 0
je 0x416773
mov ebx, 0x4a14dc
mov eax, esi
call fcn.00409160
mov edi, eax
mov dword [esp + 0x58], eax
test edi, edi
jne 0x416336
mov eax, esi
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416320
sub eax, edx
sar eax, 1
lea edi, [esi + eax*2]
mov dword [esp + 0x58], edi
movzx ebx, word [edi]
push 4
xor edx, edx
push str.Join
push esi
mov dword [esp + 0x68], ebx
mov word [edi], dx
call fcn.0048afc2
add esp, 0xc
test eax, eax
jne 0x4166c7
push 0xf
add esi, 8
lea eax, [esp + 0x104]
push esi
push eax
call fcn.0048d334
movzx edi, word [0x4c0404]
add esp, 0xc
xor ecx, ecx
mov word [esp + 0x11e], cx
lea ecx, [esp + 0x100]
movzx eax, word [ecx]
test ax, ax
je 0x4163a5
cmp ax, di
je 0x416631
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x416390
lea eax, [esp + 0x100]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4163b0
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
sub eax, edx
sar eax, 1
mov dword [esp + 0xd0], eax
jmp 0x416752
mov dword [esp + 0x48], 0
cmp esi, 0xffffffff
je 0x416237
test esi, esi
je 0x416187
cmp word [edi + esi*2 - 2], 0x3a
jne 0x4163fe
cmp word [edi], 0x2c
jne 0x416237
mov ax, word [edi]
call fcn.00409130
movzx eax, ax
cmp eax, 0x41
je 0x41659e
cmp eax, 0x4f
je 0x41656b
movzx eax, word [edi]
cmp eax, 0x3a
je 0x41642d
cmp eax, 0x2b
je 0x41642d
cmp eax, 0x2d
jne 0x416437
cmp word [edi + 2], ax
je 0x416237
push eax
push str.____:.___
call fcn.0048b551
add esp, 8
test eax, eax
je 0x416237
push 0x4a22cc
push edi
call fcn.0048b578
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4165e9
cmp word [edi], 0x3a
jne 0x4164be
mov esi, dword [esp + 0x4c]
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x4164b4
cmp ax, 0x3a
je 0x416237
mov ecx, 0x107
call fcn.00409110
test eax, eax
jne 0x4164a8
movzx ecx, word [esi]
push ecx
push str.____t
call fcn.0048b551
add esp, 8
test eax, eax
je 0x4164be
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x41647b
cmp word [esi], 0x3a
je 0x416237
mov eax, dword [esp + 0x4c]
cmp word [eax], 0x2c
jne 0x416512
add eax, 2
call fcn.004091b0
push 2
mov esi, eax
push 0x4a22cc
push esi
call fcn.0048c272
add esp, 0xc
test eax, eax
je 0x416237
push 3
push 0x4a14cc
add esi, 0xfffffffe
push esi
call fcn.0048c272
add esp, 0xc
test eax, eax
je 0x416237
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
jmp 0x4165e9
cmp eax, ebx
jae 0x416525
cmp word [eax], 0x22
je 0x416523
add eax, 2
cmp eax, ebx
jb 0x416516
cmp eax, ebx
je 0x416237
movzx eax, word [ebx + 4]
lea ecx, [ebx + 4]
test ax, ax
je 0x416237
jmp 0x416540
cmp ax, 0x22
je 0x416557
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x416540
jmp 0x416237
cmp word [ecx], 0
je 0x416237
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
jmp 0x4165e9
mov ax, word [edi + 2]
call fcn.00409130
cmp ax, 0x52
jne 0x416237
movzx ecx, word [edi + 4]
lea eax, [edi + 4]
cmp ecx, 0x20
je 0x416593
cmp ecx, 9
jne 0x416237
call fcn.004091b0
movzx edx, word [eax]
push edx
jmp 0x4165d4
push 3
push 0x4a228c
push edi
call fcn.0048afc2
add esp, 0xc
test eax, eax
jne 0x416237
movzx ecx, word [edi + 6]
lea eax, [edi + 6]
cmp ecx, 0x20
je 0x4165cb
cmp ecx, 9
jne 0x416237
call fcn.004091b0
movzx eax, word [eax]
push eax
push str.____:
call fcn.0048b551
add esp, 8
test eax, eax
jne 0x416237
mov ebx, dword [esp + 0x38]
lea ecx, [esi + ebx]
cmp ecx, 0x4000
jae 0x417cc4
cmp word [edi], 0x2c
je 0x416610
mov eax, dword [esp + 0x30]
mov edx, 0x20
mov word [eax + ebx*2], dx
inc ebx
mov edx, dword [esp + 0x30]
lea ecx, [esi + esi + 2]
push ecx
lea eax, [edx + ebx*2]
push edi
push eax
call fcn.00492940
add esp, 0xc
add ebx, esi
mov dword [esp + 0x38], ebx
jmp 0x416187
cmp word [ecx], 0
je 0x4163a5
movzx eax, word [ecx + 2]
lea ebx, [ecx + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x416651.99
movzx edx, byte [eax + 0x417fb8]
jmp dword [edx*4 + 0x417f94]
mov eax, 7
mov word [ebx], ax
jmp case.0x416651.99
mov edx, 8
jmp 0x41669a
mov eax, 0xc
mov word [ebx], ax
jmp case.0x416651.99
mov edx, 0xa
jmp 0x41669a
mov eax, 0xd
mov word [ebx], ax
jmp case.0x416651.99
mov edx, 9
jmp 0x41669a
mov eax, 0xb
mov word [ebx], ax
jmp case.0x416651.99
mov edx, 0x20
mov word [ebx], dx
mov eax, ebx
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4166a2
sub eax, esi
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ebx
push ecx
call fcn.0048b1f0
add esp, 0xc
mov ecx, ebx
jmp 0x416388
push 5
push 0x4a232c
push esi
call fcn.0048afc2
add esp, 0xc
test eax, eax
jne 0x4166e7
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x53]
jmp 0x416752
push 5
push str.RTrim
push esi
call fcn.0048afc2
add esp, 0xc
test eax, eax
jne 0x416707
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x52]
jmp 0x416752
movzx eax, word [esi]
test ax, ax
je 0x416752
nop
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x416722.38
movzx ecx, byte [eax + 0x417fe8]
jmp dword [ecx*4 + 0x417fd0]
mov byte [esp + 0x56], 1
jmp case.0x416722.38
mov byte [esp + 0x51], 1
jmp case.0x416722.38
mov byte [esp + 0x55], 0
jmp case.0x416722.38
mov dword [esp + 0x48], 2
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x416710
mov word [edi], bx
mov esi, edi
movzx eax, word [esi]
cmp eax, 0x20
je 0x416764
cmp eax, 9
jne 0x416769
add esi, 2
jmp 0x416757
cmp word [esi], 0
jne 0x416304
mov byte [esp + 0xdc], 1
jmp 0x416183
cmp esi, 0xffffffff
je 0x417e84
cmp esi, 0xfffffffe
je 0x416187
cmp word [edi], 0x29
jne 0x4167b7
lea edx, [edi + 2]
or eax, 0xffffffff
mov esi, edi
mov dword [esp + 0x48], 0
mov dword [esp + 0x58], edx
call fcn.00412990
dec eax
jmp 0x4168e2
cmp byte [esp + 0x52], 0
mov dword [esp + 0x58], edi
je 0x4167d3
mov eax, dword [esp + 0x44]
mov esi, edi
call fcn.00412990
mov dword [esp + 0x44], eax
mov esi, eax
cmp byte [esp + 0x53], 0
je 0x4167e9
mov eax, esi
call fcn.004128b0
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x44], eax
xor esi, esi
cmp byte [esp + 0x56], 0
je 0x41682e
mov ax, word [0x4c0404]
push esi
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x78], ax
mov word [esp + 0x7c], ax
mov word [esp + 0x7e], ax
push 1
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x80]
push ecx
push edi
xor eax, eax
call fcn.00471f40
add esp, 0x1c
mov esi, eax
cmp byte [esp + 0x51], 0
je 0x41687c
mov ax, word [0x4c0400]
mov dx, word [0x4c0404]
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x78], ax
mov word [esp + 0x7e], ax
push 1
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x80]
push ecx
push edi
xor eax, eax
mov word [esp + 0x8c], dx
call fcn.00471f40
add esp, 0x1c
add esi, eax
cmp byte [esp + 0x55], 0
je 0x4168ca
mov ax, word [0x4c03fc]
mov dx, word [0x4c0404]
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x78], ax
mov word [esp + 0x7e], ax
push 1
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x80]
push ecx
push edi
xor eax, eax
mov word [esp + 0x8c], dx
call fcn.00471f40
add esp, 0x1c
add esi, eax
test esi, esi
je 0x4168e6
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4168d3
sub eax, edx
sar eax, 1
mov dword [esp + 0x44], eax
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
lea eax, [esi + edx]
add eax, ebx
cmp eax, 0x4001
jae 0x417eba
mov eax, dword [esp + 0xd4]
inc eax
mov dword [esp + 0xd4], eax
cmp eax, 1
jle 0x416946
test esi, esi
je 0x416946
cmp dword [esp + 0x58], edi
jne 0x416946
mov eax, dword [esp + 0x30]
lea ecx, [esi + esi + 2]
push ecx
lea edx, [esp + 0x104]
push edx
lea ecx, [eax + ebx*2]
push ecx
call fcn.00492940
add esp, 0xc
add ebx, esi
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x44], 0
je 0x416187
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
lea edx, [ebx + ebx + 2]
push edx
push eax
lea edx, [ecx + esi*2]
push edx
call fcn.00492940
add esp, 0xc
add esi, ebx
mov dword [esp + 0x38], esi
jmp 0x416187
mov word [edi], bx
cmp word [esp + 0x5a8], 0
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x30]
je 0x416adc
mov edi, dword [esi + 0x268]
mov eax, dword [esp + 0xc8]
mov dword [esi + 0x268], eax
cmp word [ebx], 0x7b
mov dword [esp + 0x5c], edi
je 0x4169fc
cmp byte [esp + 0x35], 0
jne 0x4169fc
cmp byte [esp + 0x36], 0
jne 0x417cf6
cmp dword [esi + 0x48], 0
je 0x4169df
mov ecx, dword [0x4c040c]
cmp dword [ecx + 0xb4], 0
je 0x417d07
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x5c0]
push edx
mov ecx, esi
call fcn.00419b20
jmp 0x416a65
cmp byte [esp + 0x36], 0
je 0x416a23
lea eax, [esp + 0x5a8]
push eax
push esi
call fcn.0041e0d0
test eax, eax
jne 0x416a73
lea ecx, [esp + 0x78]
call fcn.00414720
jmp 0x417f7b
mov ecx, dword [0x4c040c]
cmp dword [ecx + 0xb4], 0
jne 0x417d18
lea edx, [esp + 0x105b8]
push edx
lea eax, [esp + 0x5ac]
push eax
push esi
call fcn.0041d730
test eax, eax
je 0x416a15
cmp byte [esp + 0x35], 0
je 0x416a73
push 0
push 0
push 0
push 0x71
push esi
call fcn.0041bea0
test eax, eax
je 0x416a15
mov dword [esi + 0x628], 0
xor ecx, ecx
mov word [esp + 0x5a8], cx
cmp byte [esp + 0x36], cl
je 0x416ad6
push ecx
push ecx
push ecx
push 0x71
push esi
call fcn.0041bea0
test eax, eax
je 0x416a15
cmp byte [esp + 0x35], 0
jne 0x416ad6
lea eax, [ebx + 2]
call fcn.004091b0
cmp word [eax], 0
je 0x416d32
mov ecx, eax
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x416ab0
sub ecx, edi
sar ecx, 1
lea edx, [ecx + ecx + 2]
push edx
push eax
push ebx
mov dword [esp + 0x44], ecx
call fcn.0048b1f0
mov edi, dword [esp + 0x68]
add esp, 0xc
mov dword [esi + 0x268], edi
cmp word [ebx], 0x7d
jne 0x416bab
cmp dword [esi + 0x48], 0
je 0x416bab
mov eax, dword [0x4c040c]
cmp dword [eax + 0xb4], 0
jne 0x416bab
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x416b6f
dec eax
mov dword [ecx + 0x48], eax
mov edi, dword [ecx + eax*4 + 0x4c]
call fcn.0046b720
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x48]
mov eax, dword [esi + edx*4 + 0x4c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea edi, [esi + 0x60]
push 0x2e
push edi
call fcn.0048c244
add esp, 8
test eax, eax
je 0x416b44
xor ecx, ecx
mov word [eax], cx
jmp 0x416b49
xor edx, edx
mov word [edi], dx
push 0
push 0
push 0
push 0x72
push esi
call fcn.0041bea0
test eax, eax
je 0x416a15
lea eax, [ebx + 2]
call fcn.004091b0
mov ebx, eax
cmp word [ebx], 0x7d
je 0x416b02
cmp word [ebx], 0
je case.0x41742d.14
mov eax, ebx
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416b80
mov ecx, dword [esp + 0x30]
sub eax, edx
sar eax, 1
mov dword [esp + 0x38], eax
add eax, eax
push eax
push ebx
push ecx
call fcn.0048b1f0
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x3c]
add esp, 0xc
lea edx, [esp + 0x35]
push edx
mov eax, ebx
call fcn.00415de0
add esp, 4
test al, al
je 0x416bf5
lea edx, [esp + 0x5a8]
mov eax, ebx
sub edx, ebx
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x416bd0
mov eax, dword [esi + 0x268]
mov dword [esp + 0xc8], eax
mov byte [esp + 0x36], cl
jmp case.0x41742d.14
mov ecx, dword [0x4c040c]
cmp dword [ecx + 0xb4], 0
jne 0x416d6f
lea edx, [esp + 0x35]
push edx
mov eax, ebx
call fcn.00415ea0
add esp, 4
test eax, eax
je 0x416c4a
lea edx, [esp + 0x5a8]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x416c24
mov eax, dword [esi + 0x268]
mov dword [esp + 0xc8], eax
mov byte [esp + 0x36], 1
jmp case.0x41742d.14
cmp dword [esi + 0x48], 0
je 0x416d6f
mov ebx, dword [esp + 0x30]
mov esi, ebx
lea ebx, [ebx]
movzx eax, word [esi]
test eax, 0xffffff80
jne 0x416c7c
push 0x107
push eax
call fcn.0048b9ce
add esp, 8
test eax, eax
jne 0x416c89
movzx eax, word [esi]
cmp eax, 0x5f
je 0x416c89
cmp eax, 0x2e
jne 0x416c8e
add esi, 2
jmp 0x416c60
cmp esi, ebx
jbe 0x416cbf
mov eax, esi
call fcn.004091b0
cmp word [eax], 0x3a
jne 0x416cbf
cmp word [eax + 2], 0x3d
jne 0x416cbf
mov ecx, dword [ebp + 8]
push 0
push ebx
push ecx
call fcn.0041e590
test eax, eax
je 0x416a15
jmp case.0x41742d.14
push 6
push str.Static
push ebx
call fcn.0048afc2
add esp, 0xc
test eax, eax
jne 0x416cfa
movzx eax, word [ebx + 0xc]
cmp eax, 0x20
je 0x416ce1
cmp eax, 9
jne 0x416cfa
mov edx, dword [ebp + 8]
push 1
add ebx, 0xe
push ebx
push edx
call fcn.0041e590
test eax, eax
je 0x416a15
jmp case.0x41742d.14
cmp word [ebx], 0x23
mov esi, dword [ebp + 8]
jne 0x417d29
mov edi, dword [esi + 0x268]
push ebx
push esi
call fcn.00418390
test eax, eax
je 0x416a15
cmp eax, 3
jne 0x417d29
mov eax, dword [esp + 0xc4]
mov dword [esi + 0x264], eax
mov dword [esi + 0x268], edi
mov bl, byte [esp + 0x34]
test bl, bl
je case.0x416d64.4
mov eax, dword [esp + 0xc0]
inc eax
mov dword [esp + 0xc0], eax
dec eax
cmp eax, 9
ja case.0x416d64.4
movzx eax, byte [eax + 0x41803c]
jmp dword [eax*4 + 0x418028]
mov ebx, dword [esp + 0x30]
xor eax, eax
cmp word [ebx], 0x3a
mov dword [esp + 0x48], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x3c], eax
jne 0x416e16
movzx ecx, word [ebx + 2]
lea eax, [ebx + 2]
test cx, cx
je 0x416e16
cmp ecx, 0x3a
je 0x416db8
push 0x3a
push eax
mov dword [esp + 0x64], eax
call fcn.0048b551
add esp, 8
test eax, eax
je 0x416e0e
add eax, 2
mov dword [esp + 0x48], eax
jmp 0x416dc6
cmp word [ebx + 4], 0
lea eax, [ebx + 4]
je 0x416e16
mov dword [esp + 0x48], eax
test eax, eax
je 0x416e16
mov ebx, dword [esp + 0x48]
mov edi, edi
movzx eax, word [ebx]
test ax, ax
je 0x416dff
mov cx, word [0x4c0404]
nop
cmp ax, cx
je 0x416e86
cmp ax, 0x3a
je 0x416e86
movzx eax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x416de0
cmp dword [esp + 0x3c], 0
jne 0x416f65
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x48], 0
push 0x4a22cc
push ebx
call fcn.0048b578
mov edi, eax
add esp, 8
mov dword [esp + 0x3c], edi
test edi, edi
je 0x4175f4
cmp edi, ebx
jne 0x416e44
cmp word [edi + 4], 0x3a
jne 0x416e44
add edi, 2
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x30]
mov esi, edi
cmp edi, ecx
jbe 0x416e64
mov edi, edi
movzx eax, word [esi]
cmp eax, 0x20
je 0x416e5d
cmp eax, 9
jne 0x416e64
sub esi, 2
cmp esi, ecx
ja 0x416e50
movzx ebx, word [esi]
xor edx, edx
mov word [esi], dx
mov eax, ecx
mov edi, edi
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x416e81
cmp ecx, 9
jne 0x416f44
add eax, 2
jmp 0x416e70
movzx eax, word [ebx]
test ax, ax
je 0x416dff
lea esi, [ebx + 2]
cmp eax, 0x3a
jne 0x416eb1
cmp word [esi], ax
jne 0x416f3c
mov dword [esp + 0x3c], ebx
mov ebx, esi
add ebx, 2
jmp 0x416dd0
movzx eax, word [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x416ec3.99
movzx ecx, byte [eax + 0x418068]
jmp dword [ecx*4 + 0x418048]
mov edx, 7
jmp 0x416f05
mov eax, 8
mov word [esi], ax
jmp case.0x416ec3.99
mov ecx, 0xc
mov word [esi], cx
jmp case.0x416ec3.99
mov edx, 0xa
jmp 0x416f05
mov eax, 0xd
mov word [esi], ax
jmp case.0x416ec3.99
mov ecx, 9
mov word [esi], cx
jmp case.0x416ec3.99
mov edx, 0xb
mov word [esi], dx
mov eax, esi
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416f10
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push esi
push ebx
call fcn.0048b1f0
add esp, 0xc
cmp word [ebx], 0x3a
jne 0x416f3c
cmp word [esi], 0x3a
jne 0x416f3c
mov ebx, esi
add ebx, 2
jmp 0x416dd0
push 0
push 0
call fcn.0040b2c0
add esp, 8
test eax, eax
jne 0x416f5a
mov dword [esp + 0x3c], eax
mov edi, eax
mov word [esi], bx
test edi, edi
je 0x4175f4
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x30]
jbe 0x4175f4
mov ecx, dword [0x4c040c]
cmp dword [ecx + 0xb4], 0
jne 0x417d33
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
test eax, eax
je 0x416f99
cmp byte [eax], 0x1a
je 0x417d9d
mov eax, dword [esp + 0x3c]
xor edx, edx
mov word [eax], dx
add eax, 4
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x48], edx
jne 0x417470
mov edi, dword [esp + 0x3c]
or eax, 0xffffffff
call fcn.004128b0
mov edx, dword [esp + 0x30]
cmp word [edx], 0
je 0x417013
mov eax, edx
lea esi, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416fd0
sub eax, esi
sar eax, 1
lea eax, [edx + eax*2 - 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x416ff0
cmp ecx, 9
jne 0x416ff9
cmp eax, edx
je 0x417001
sub eax, 2
jmp 0x416fe3
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x417013
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x41700e
cmp ecx, 9
jne 0x417013
xor edx, edx
mov word [eax], dx
mov edi, dword [esp + 0x3c]
cmp word [edi], 0
mov ebx, edi
mov dword [esp + 0x58], ebx
je 0x41746d
mov esi, dword [esp + 0x30]
cmp word [esi], 0
je 0x41716d
lea edi, [esi + 2]
xor bl, bl
cmp word [edi], 0
mov byte [esp + 0x2d], 0
je case.0x41707c.34
lea esp, [esp]
push 0x4a14d4
push edi
call fcn.0048a789
add esp, 8
test eax, eax
je case.0x41707c.34
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x41707c.34
movzx eax, byte [eax + 0x4180a0]
jmp dword [eax*4 + 0x418080]
mov bl, 1
jmp case.0x41707c.36
mov byte [esp + 0x2d], 1
jmp case.0x41707c.36
test bl, bl
jne 0x4170a8
cmp byte [esp + 0x2d], bl
jne 0x4170af
or dword [esp + 0x68], 1
jmp case.0x41707c.36
cmp byte [esp + 0x2d], 0
je 0x4170b9
or byte [esp + 0x2e], 4
mov byte [esp + 0x2d], 0
test bl, bl
je case.0x41707c.36
or byte [esp + 0x2e], 8
jmp 0x417153
test bl, bl
jne 0x4170df
cmp byte [esp + 0x2d], bl
jne 0x4170e6
or dword [esp + 0x68], 2
jmp case.0x41707c.36
cmp byte [esp + 0x2d], 0
je 0x4170f0
or byte [esp + 0x2e], 1
mov byte [esp + 0x2d], 0
test bl, bl
je case.0x41707c.36
or byte [esp + 0x2e], 2
jmp 0x417153
test bl, bl
jne 0x41710c
cmp byte [esp + 0x2d], bl
jne 0x417113
or dword [esp + 0x68], 4
jmp case.0x41707c.36
cmp byte [esp + 0x2d], 0
je 0x41711d
or byte [esp + 0x2e], 0x10
mov byte [esp + 0x2d], 0
test bl, bl
je case.0x41707c.36
or byte [esp + 0x2e], 0x20
jmp 0x417153
test bl, bl
jne 0x417139
cmp byte [esp + 0x2d], bl
jne 0x417140
or dword [esp + 0x68], 8
jmp case.0x41707c.36
cmp byte [esp + 0x2d], 0
je 0x41714a
or byte [esp + 0x2e], 0x40
mov byte [esp + 0x2d], 0
test bl, bl
je case.0x41707c.36
or byte [esp + 0x2e], 0x80
xor bl, bl
mov esi, edi
cmp word [esi + 2], 0
lea edi, [esi + 2]
jne 0x417050
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x3c]
push 0
mov dword [esp + 0x3c], esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 1
mov ecx, eax
push 0
xor edx, edx
mov eax, esi
call fcn.00411be0
add esp, 8
mov byte [esp + 0x54], al
test al, al
je 0x41746d
cmp word [edi + 2], 0
je 0x41731d
cmp word [edi], 0
jne 0x4171af
mov ebx, edi
jmp 0x4172db
mov esi, dword [esp + 0x3c]
mov byte [esp + 0x2d], 0
xor bl, bl
lea ebx, [ebx]
lea edi, [esi + 2]
push 0x4a14d4
push edi
call fcn.0048a789
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 + 0x418120]
jmp dword [ecx*4 + 0x418100]
mov bl, 1
jmp case.0x4171ef.36
mov byte [esp + 0x2d], 1
jmp case.0x4171ef.36
test bl, bl
jne 0x41721b
cmp byte [esp + 0x2d], bl
jne 0x417222
or dword [esp + 0x60], 1
jmp case.0x4171ef.36
cmp byte [esp + 0x2d], 0
je 0x41722c
or byte [esp + 0x2f], 4
mov byte [esp + 0x2d], 0
test bl, bl
je case.0x4171ef.36
or byte [esp + 0x2f], 8
jmp 0x4172c6
test bl, bl
jne 0x417252
cmp byte [esp + 0x2d], bl
jne 0x417259
or dword [esp + 0x60], 2
jmp case.0x4171ef.36
cmp byte [esp + 0x2d], 0
je 0x417263
or byte [esp + 0x2f], 1
mov byte [esp + 0x2d], 0
test bl, bl
je case.0x4171ef.36
or byte [esp + 0x2f], 2
jmp 0x4172c6
test bl, bl
jne 0x41727f
cmp byte [esp + 0x2d], bl
jne 0x417286
or dword [esp + 0x60], 4
jmp case.0x4171ef.36
cmp byte [esp + 0x2d], 0
je 0x417290
or byte [esp + 0x2f], 0x10
mov byte [esp + 0x2d], 0
test bl, bl
je case.0x4171ef.36
or byte [esp + 0x2f], 0x20
jmp 0x4172c6
test bl, bl
jne 0x4172ac
cmp byte [esp + 0x2d], bl
jne 0x4172b3
or dword [esp + 0x60], 8
jmp case.0x4171ef.36
cmp byte [esp + 0x2d], 0
je 0x4172bd
or byte [esp + 0x2f], 0x40
mov byte [esp + 0x2d], 0
test bl, bl
je case.0x4171ef.36
or byte [esp + 0x2f], 0x80
xor bl, bl
mov esi, edi
cmp word [esi + 2], 0
jne 0x4171c0
mov ebx, esi
mov esi, dword [esp + 0x38]
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 1
mov ecx, eax
push 0
xor edx, edx
mov eax, ebx
call fcn.00411be0
add esp, 8
mov byte [esp + 0x34], al
test al, al
je 0x41746d
mov cl, al
mov al, byte [esp + 0x54]
lea edx, [eax - 1]
cmp dl, 5
ja 0x417313
cmp al, 3
jne 0x417319
add al, 0x66
cmp al, 5
ja 0x417326
mov al, 1
jmp 0x417328
or cl, 0xff
mov byte [esp + 0x34], cl
jmp 0x417307
xor al, al
lea edx, [ecx - 1]
cmp dl, 5
ja 0x417335
cmp cl, 3
jne 0x41733d
add cl, 0x66
cmp cl, 5
ja 0x417344
mov byte [esp + 0x43], 1
jmp 0x417349
mov byte [esp + 0x43], 0
test al, al
jne 0x417358
mov byte [esp + 0x57], 1
cmp byte [esp + 0x43], al
jne 0x41735d
mov byte [esp + 0x57], 0
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417362
sub eax, edx
sar eax, 1
cmp eax, 1
jne 0x417389
movzx eax, word [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
mov eax, 0x4a24cc
jne 0x41738e
mov eax, 0x49e828
mov ecx, dword [esp + 0x30]
push ecx
push eax
push 0x4a24d0
mov esi, 0x20
lea edi, [esp + 0x16c]
call fcn.004717a0
add esp, 0xc
push 0x1f
lea edx, [esp + 0x124]
push ebx
push edx
call fcn.0048d334
mov esi, dword [esp + 0x48]
add esp, 0xc
push 7
lea ecx, [esp + 0xf4]
xor eax, eax
push esi
push ecx
mov word [esp + 0x16a], ax
call fcn.0048d334
sub ebx, esi
mov eax, ebx
xor edx, edx
sar eax, 1
add esp, 0xc
mov word [esp + 0xfe], dx
cmp eax, 8
jae 0x417400
xor ecx, ecx
mov word [esp + eax*2 + 0xf0], cx
mov dword [esp + 0xc0], edx
cmp word [esp + 0xf0], dx
jne case.0x41742d.14
movzx eax, byte [esp + 0x34]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x41742d.14
movzx edx, byte [eax + 0x418190]
jmp dword [edx*4 + 0x418180]
mov eax, dword [esp + 0x3c]
mov ebx, 0x4a1814
call fcn.00409160
test eax, eax
jne case.0x41742d.19
jmp case.0x41742d.14
lea eax, [esp + 0x120]
push str.Return
push eax
call fcn.0048a789
add esp, 8
test eax, eax
jne case.0x41742d.14
mov byte [esp + 0x34], 0
mov edi, dword [ebp + 8]
cmp byte [edi + 0x26c], 0
je 0x41749f
xor esi, esi
push esi
push 0xff
push esi
push 0x66
push edi
mov byte [edi + 0x26c], 0
call fcn.0041bea0
test eax, eax
je 0x417db1
mov dword [edi + 0x628], esi
mov eax, dword [esp + 0x30]
push 1
mov esi, edi
call fcn.00419a20
test eax, eax
je 0x4177d6
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x48]
xor ebx, ebx
cmp word [ecx], bx
je 0x417512
test esi, esi
jne 0x4174fc
push esi
mov esi, ecx
call fcn.004092b0
movzx ebx, ax
add esp, 4
test bx, bx
jne 0x4174f8
push 0
push 0
push 0
push 0
push 0
push 0
mov edx, esi
push edx
mov ecx, edi
call fcn.00419b20
test eax, eax
je 0x416a15
mov esi, dword [esp + 0x48]
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041bea0
test eax, eax
je 0x416a15
test esi, esi
je 0x417559
cmp word [esi], 0
je 0x417e03
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x41752d
mov eax, 0x49e828
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0x3c]
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
push ecx
mov edi, esi
call fcn.0040c5d0
add esp, 0x10
test eax, eax
je 0x416a15
jmp case.0x41742d.14
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x67]
push edx
lea eax, [esp + 0xdc]
push eax
push ecx
call fcn.0040bbf0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4175ce
test bx, bx
je 0x417587
mov word [esi + 2], bx
jmp case.0x41742d.14
mov eax, esi
call fcn.0040b0f0
test eax, eax
jne 0x417e14
mov edx, dword [esp + 0xd8]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x14]
push edx
call fcn.0040b1a0
test eax, eax
je 0x417e2f
cmp byte [esp + 0x67], 0
jne 0x4175c5
cmp byte [0x4c46ea], 0
je case.0x41742d.14
mov byte [esi + 0x16], 1
jmp case.0x41742d.14
mov ecx, dword [esp + 0xd8]
mov edx, dword [edi + 0x14]
push ecx
push 0
push ebx
push edx
xor bl, bl
call fcn.0040a9c0
add esp, 0x10
test eax, eax
je 0x416a15
jmp case.0x41742d.14
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
cmp word [eax + ebx*2 - 2], 0x3a
lea ecx, [eax + ebx*2]
mov dword [esp + 0x5c], ecx
jne 0x4178da
cmp ebx, 1
je 0x417e3e
mov ecx, eax
movzx eax, word [eax]
test ax, ax
je 0x417662
mov dx, word [0x4c03fc]
mov si, word [0x4c0404]
cmp ax, 0x20
je 0x4178da
cmp ax, 9
je 0x4178da
cmp ax, dx
je 0x4178da
cmp ax, si
je 0x4178da
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x417630
mov edi, dword [esp + 0x30]
cmp word [edi + ebx*2 - 4], 0x3a
jne 0x4176e3
cmp ebx, 2
jbe 0x4176e3
mov esi, dword [ebp + 8]
cmp byte [esi + 0x26c], 0
je 0x4176a9
push 0
push 0xff
push 0
push 0x66
push esi
mov byte [esi + 0x26c], 0
call fcn.0041bea0
test eax, eax
je 0x4177d6
mov dword [esi + 0x628], 0
push edi
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 + 0x1a8]
call fcn.004717a0
fldz
add esp, 8
push 0
sub esp, 8
fstp qword [esp]
push 0
mov eax, edi
push 0x10000
push eax
call fcn.00475de0
mov edi, dword [esp + 0x48]
add esp, 0x18
dec ebx
xor ecx, ecx
mov word [edi + ebx*2], cx
mov eax, ebx
cmp word [edi], cx
je 0x4177d6
cmp ebx, 0xffffffff
jne 0x41770f
mov eax, edi
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417700
sub eax, edx
sar eax, 1
lea eax, [edi + eax*2 - 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x417720
cmp ecx, 9
jne 0x417729
cmp eax, edi
je 0x417731
sub eax, 2
jmp 0x417713
xor edx, edx
mov word [eax + 2], dx
jmp 0x417743
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x41773e
cmp ecx, 9
jne 0x417743
xor ecx, ecx
mov word [eax], cx
cmp word [edi], 0
je 0x4177d6
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x41776e
mov edx, dword [esi]
push edi
push edx
call fcn.0048a789
add esp, 8
test eax, eax
je 0x4177c1
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x417757
cmp word [edi], 0
je 0x41782c
mov eax, edi
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417780
sub eax, edx
sar eax, 1
mov edi, eax
lea ebx, [edi + edi]
lea eax, [ebx + 2]
call fcn.0046eba0
mov esi, eax
test esi, esi
je 0x417cab
test edi, edi
je 0x4177b9
mov eax, dword [esp + 0x30]
push ebx
push eax
push esi
call fcn.00492940
add esp, 0xc
xor ecx, ecx
mov word [ebx + esi], cx
jmp 0x417831
push edi
push str.Duplicate_label.
mov ecx, ebx
call fcn.0042f1f0
test eax, eax
jne case.0x41742d.14
mov eax, dword [esp + 0xac]
mov dword [esp + 0x78], vtable.TextMem.0
test eax, eax
je 0x417807
cmp byte [esp + 0xb4], 0
je 0x4177fc
push eax
call fcn.0048bddf
add esp, 4
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xa8]
test eax, eax
mov dword [esp + 0x78], vtable.TextStream.0
je 0x417f7b
push eax
call fcn.0048bddf
add esp, 4
jmp 0x417f7b
mov esi, 0x49e828
cmp dword [0x4c5fb8], 0
jne 0x417848
call fcn.0046ec10
mov dword [0x4c5fb8], eax
test eax, eax
je 0x41789e
mov ecx, dword [0x4c5fbc]
cmp dword [ecx + 8], 0x10
jae 0x417866
call fcn.0046ec10
mov ecx, dword [0x4c5fbc]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x41789e
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff0
lea edx, [eax + 0x10]
mov dword [ecx + 4], edx
xor ecx, ecx
mov dword [0x4c5fc0], eax
cmp eax, ecx
je 0x41789e
mov ebx, dword [ebp + 8]
mov dword [eax], esi
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov edx, dword [ebx + 0x14]
mov dword [eax + 8], edx
mov edi, eax
cmp dword [ebx + 0x10], ecx
jne 0x4178b0
mov dword [ebx + 0x10], eax
jmp 0x4178b6
mov ecx, dword [ebp + 8]
push 0x49e828
push str.Out_of_memory.
jmp 0x4177c9
mov ecx, dword [ebx + 0x14]
mov dword [ecx + 0xc], eax
push str.OnClipboardChange
push esi
mov dword [ebx + 0x14], eax
call fcn.0048a789
add esp, 8
test eax, eax
jne case.0x41742d.14
mov dword [ebx + 0xa54], edi
jmp case.0x41742d.14
mov esi, dword [esp + 0x30]
cmp word [esi], 0x23
mov edi, dword [ebp + 8]
jne 0x417919
mov ebx, dword [edi + 0x268]
push esi
push edi
call fcn.00418390
test eax, eax
je 0x4177d6
cmp eax, 3
jne 0x417919
mov edx, dword [esp + 0xc4]
mov dword [edi + 0x264], edx
mov dword [edi + 0x268], ebx
jmp case.0x41742d.14
movzx eax, word [esi]
cmp eax, 0x7b
je 0x417a44
cmp eax, 0x7d
je 0x417a44
mov eax, dword [esp + 0x30]
mov ebx, str._t__
call fcn.00409160
mov edi, eax
test edi, edi
jne 0x417946
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x30]
mov esi, edi
sub esi, ecx
sar esi, 1
push 0xffffffffffffffff
push esi
mov eax, str.Else
mov ebx, 1
call fcn.00471840
add esp, 8
test eax, eax
je 0x4179a9
mov ecx, dword [esp + 0x30]
push 0xffffffffffffffff
push esi
mov eax, 0x49ff78
call fcn.00471840
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4179a9
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 8]
push 0
push 0
push 0
push 0
push 0
push 0
push eax
call fcn.00419b20
test eax, eax
je 0x416a15
jmp case.0x41742d.14
xor esi, esi
neg ebx
sbb bl, bl
push esi
and bl, 0x9a
push esi
add bl, 0x6e
movzx ecx, bl
mov ebx, dword [ebp + 8]
push esi
push ecx
push ebx
call fcn.0041bea0
test eax, eax
je 0x417e49
mov dword [ebx + 0x628], esi
mov eax, edi
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x4179e2
cmp ecx, 9
jne 0x4179e7
add eax, 2
jmp 0x4179d5
mov dx, word [eax]
mov dword [esp + 0x30], eax
cmp dx, word [0x4c03fc]
jne 0x417a16
lea ecx, [eax + 2]
lea ebx, [ebx]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x417a0d
cmp eax, 9
jne 0x417a12
add ecx, 2
jmp 0x417a00
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x30]
cmp word [eax], si
je case.0x41742d.14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417a26
sub eax, edx
sar eax, 1
mov dword [esp + 0x38], eax
mov dword [ebx + 0x628], esi
jmp 0x416d6b
cmp eax, 0x7b
push 0
setne cl
push 0
add cl, 0x71
movzx edx, cl
push 0
push edx
push edi
call fcn.0041bea0
test eax, eax
je 0x4177d6
lea eax, [esi + 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x417a75
cmp ecx, 9
jne 0x417a7a
add eax, 2
jmp 0x417a68
cmp word [eax], 0
mov dword [esp + 0x30], eax
je case.0x41742d.14
lea edx, [eax + 2]
jmp 0x417a90
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417a90
sub eax, edx
sar eax, 1
mov dword [esp + 0x38], eax
mov dword [edi + 0x628], 0
jmp 0x416d6b
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x160]
push ecx
push str._s::
push edx
call fcn.0048ab93
add esp, 0xc
mov dword [esp + 0x38], eax
jmp 0x416d6b
mov esi, dword [esp + 0x30]
mov eax, 0x4a269c
mov edx, esi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x417ae2
cmp byte [esp + 0x43], cl
mov edi, dword [ebp + 8]
push 0
setne cl
push 1
add cl, 0xbf
lea eax, [esp + 0x38]
movzx edx, cl
push eax
push edx
push edi
call fcn.0041bea0
cmp byte [esp + 0x57], 0
je 0x417b49
lea eax, [esp + 0x120]
push eax
push str.if_not_GetKeyState___s__
push esi
call fcn.0048ab93
add esp, 0xc
mov dword [esp + 0x38], eax
mov dword [esp + 0xc0], 9
jmp 0x416d6b
mov esi, dword [esp + 0x30]
mov edi, dword [ebp + 8]
mov ecx, 0x49e828
cmp bl, 0x12
je 0x417b5d
cmp bl, 0xa3
jbe 0x417b7d
cmp bl, 0xa5
ja 0x417b7d
movzx eax, byte [esp + 0x54]
sub eax, 0x11
je 0x417b78
sub eax, 0x91
je 0x417b78
dec eax
jne 0x417b7d
mov ecx, str.RCtrl_up
jmp 0x417b7d
mov ecx, str.LCtrl_up
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0xf4]
push eax
push ecx
push str.Blind_s_s_s_DownTemp
push esi
mov dword [edi + 0x628], 0
call fcn.0048ab93
add esp, 0x14
push 0
push 1
lea ecx, [esp + 0x38]
push ecx
push 0x40
push edi
call fcn.0041bea0
test eax, eax
je 0x416a15
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041bea0
lea edx, [esp + 0x160]
push edx
push str._s_up::
push esi
call fcn.0048ab93
add esp, 0xc
mov dword [esp + 0x38], eax
mov dword [esp + 0xc0], 2
jmp 0x416d6b
mov esi, dword [esp + 0x30]
mov eax, 0x4a269c
mov edx, esi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x417c04
cmp byte [esp + 0x43], cl
mov edi, dword [ebp + 8]
push 0
setne cl
push 1
add cl, 0xbf
lea eax, [esp + 0x38]
movzx edx, cl
push eax
push edx
push edi
call fcn.0041bea0
lea eax, [esp + 0x120]
push eax
push str.Blind_s_Up
push esi
call fcn.0048ab93
add esp, 0xc
push 0
push 1
lea ecx, [esp + 0x38]
push ecx
push 0x40
push edi
call fcn.0041bea0
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041bea0
mov byte [esp + 0x34], 0
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x85b0]
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], edx
cmp eax, ecx
jne 0x417c9b
lea edx, [esp + 0x124f8]
mov dword [esp + 0x4c], edx
jmp 0x416130
lea eax, [esp + 0x85b0]
mov dword [esp + 0x4c], eax
jmp 0x416130
mov ecx, dword [esp + 0x30]
push ecx
push str.Out_of_memory.
mov ecx, 0x4c6048
call fcn.0042f1f0
jmp 0x4177d6
push edi
push str.Continuation_section_too_long.
mov ecx, dword [ebp + 8]
call fcn.0042f1f0
lea ecx, [esp + 0x78]
mov esi, eax
call fcn.00414720
mov eax, esi
mov ecx, dword [esp + 0x1a534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea edx, [esp + 0x5a8]
push edx
push 0x4a23a8
mov ecx, esi
jmp 0x417ccd
lea eax, [esp + 0x5a8]
push eax
push str.Expected_assignment_or_class_method_definition.
mov ecx, esi
jmp 0x417ccd
lea ecx, [esp + 0x5a8]
push ecx
push str.Functions_cannot_contain_functions.
mov ecx, esi
jmp 0x417ccd
push ebx
push str.Expected_assignment_or_class_method_definition.
mov ecx, esi
jmp 0x417ccd
mov edx, dword [esp + 0x30]
push edx
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, dword [ebp + 8]
call fcn.0042f1f0
mov esi, eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x78], vtable.TextMem.0
test eax, eax
je 0x417d78
cmp byte [esp + 0xb4], 0
je 0x417d6d
push eax
call fcn.0048bddf
add esp, 4
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x78], vtable.TextStream.0
test eax, eax
je 0x417cdd
push eax
call fcn.0048bddf
add esp, 4
jmp 0x417cdd
mov ecx, dword [esp + 0x30]
push ecx
mov dword [edi + 0x628], eax
push str.IfWin_should_be_IfWin.
mov ecx, edi
jmp 0x417d40
mov eax, dword [esp + 0xac]
mov dword [esp + 0x78], vtable.TextMem.0
cmp eax, esi
je 0x417dde
cmp byte [esp + 0xb4], 0
je 0x417dd7
push eax
call fcn.0048bddf
add esp, 4
mov dword [esp + 0xac], esi
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x78], vtable.TextStream.0
cmp eax, esi
je 0x417f7b
push eax
call fcn.0048bddf
add esp, 4
jmp 0x417f7b
mov edx, dword [esp + 0x30]
push edx
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, edi
jmp 0x417ccd
mov eax, dword [esp + 0x30]
push eax
mov dword [edi + 0x628], 0
push str.Duplicate_hotkey.
mov ecx, edi
jmp 0x417ccd
mov ecx, dword [esp + 0x30]
push ecx
push str.Out_of_memory.
jmp 0x417cca
push eax
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x417d3d
mov eax, dword [esp + 0xac]
mov dword [esp + 0x78], vtable.TextMem.0
cmp eax, esi
je 0x417e76
cmp byte [esp + 0xb4], 0
je 0x417e6f
push eax
call fcn.0048bddf
add esp, 4
mov dword [esp + 0xac], esi
mov eax, dword [esp + 0xa8]
cmp eax, esi
jmp 0x417810
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 8]
push edx
push 0x4a2344
call fcn.0042f1f0
lea ecx, [esp + 0x78]
mov esi, eax
call fcn.00414720
mov eax, esi
mov ecx, dword [esp + 0x1a534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esp + 0x58]
push eax
jmp 0x417cc5
cmp word [esp + 0x5a8], 0
je 0x417f33
cmp byte [esp + 0x36], 0
mov ecx, dword [esp + 0xc8]
mov esi, dword [edi + 0x268]
mov dword [edi + 0x268], ecx
je 0x417f0a
cmp byte [esp + 0x35], 0
mov eax, str.Missing___
jne 0x417efa
mov eax, 0x4a23a8
lea edx, [esp + 0x5a8]
push edx
push eax
mov ecx, edi
jmp 0x417ccd
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x5c0]
push eax
mov ecx, edi
call fcn.00419b20
test eax, eax
je 0x416a15
mov dword [edi + 0x268], esi
inc dword [edi + 0x268]
lea ecx, [esp + 0x78]
call fcn.00414720
mov eax, 1
mov ecx, dword [esp + 0x1a534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fldz
mov ecx, dword [ebp + 0xc]
push 0
sub esp, 8
fstp qword [esp]
push ecx
push 0
push str.Could_not_extract_script_from_EXE.
call fcn.00475de0
add esp, 0x18
mov ecx, dword [esp + 0x1a534]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8