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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x49924b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
mov eax, 0x1a4f4
call fcn.004940f0
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
test eax, eax
je 0x418211
cmp word [eax], 0
je 0x418211
mov eax, dword [0x4c3efc]
mov edi, dword [ebp + 8]
mov dword [esp + 0xc4], eax
test eax, eax
jne 0x41620e
mov eax, dword [edi + 0xa84]
mov dword [0x4c1e38], eax
push 0x8000
xor esi, esi
lea edx, [esp + 0x5ae]
xor ecx, ecx
push esi
push edx
mov word [esp + 0x5b4], cx
call fcn.004917d0
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 + 0x44], eax
mov dword [esp + 0x60], 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 0x41627b
mov byte [edi + 0xaa0], 0
jmp 0x416297
push 0xa
push 0x4a0374
push 0
call ebx
mov esi, eax
test esi, esi
je 0x4181f4
mov byte [edi + 0xaa0], 1
push esi
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_SizeofResource]
mov dword [esp + 0xe8], eax
cmp eax, ebx
je 0x4181f4
push esi
push ebx
call dword [sym.imp.KERNEL32.DLL_LoadResource]
cmp eax, ebx
je 0x4181f4
push eax
call dword [sym.imp.KERNEL32.DLL_LockResource]
mov dword [esp + 0xe4], eax
cmp eax, ebx
je 0x4181f4
lea esi, [esp + 0x80]
call fcn.004149a0
mov dword [esp + 0x1a53c], ebx
mov edx, esi
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x80]
push 0xc
lea eax, [esp + 0xe8]
push eax
mov eax, dword [edx + 4]
mov ecx, esi
mov dword [esp + 0x90], ebx
call eax
test al, al
je 0x416326
mov eax, 0xfde9
mov ebx, 0xc
mov ecx, esi
call fcn.0046d9d0
mov eax, dword [esp + 0xc4]
inc dword [0x4c3efc]
xor edx, edx
xor ecx, ecx
mov word [esp + 0x7c], dx
mov dword [edi + 0x260], eax
lea eax, [esp + 0x80]
lea edx, [esp + 0x85b0]
mov byte [esp + 0x3c], 0
mov word [esp + 0x76], cx
mov dword [esp + 0xcc], 0xffffffff
call fcn.00418480
push 2
lea ecx, [esp + 0x85b4]
push 0x4a03e0
push ecx
mov dword [esp + 0x4c], eax
call fcn.0048a5b2
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x3f], al
test al, al
je 0x4163a0
xor edx, edx
mov word [esp + 0x85b0], dx
mov dword [esp + 0x40], edx
cmp dword [esp + 0x40], 0xffffffff
je 0x418157
mov eax, dword [esp + 0xcc]
mov esi, dword [esp + 0x38]
push 0xc
inc eax
push str.CommentFlag
xor ebx, ebx
push esi
mov dword [edi + 0x264], eax
mov dword [edi + 0x624], ebx
call fcn.00489302
add esp, 0xc
test eax, eax
jne 0x4163e8
push esi
push edi
call fcn.00418620
test eax, eax
je 0x416ca2
mov byte [esp + 0xdc], bl
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x54]
inc dword [esp + 0xcc]
test edi, edi
je 0x41648b
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0xe0]
mov ecx, ebx
mov edx, edi
call fcn.00418480
mov esi, eax
mov dword [esp + 0x4c], esi
test esi, esi
je 0x416493
cmp esi, 0xffffffff
je 0x416493
test ebx, ebx
jne 0x416493
push 2
push 0x4a0404
push edi
call fcn.0048a5b2
add esp, 0xc
test eax, eax
jne 0x4164b7
cmp byte [esp + 0x3f], al
jne 0x416458
mov eax, 0x3a
cmp word [edi + 4], ax
jne 0x416458
cmp word [edi + 6], ax
je 0x4164c6
lea ecx, [esi + esi - 2]
push ecx
lea edx, [edi + 4]
push edx
push edi
mov byte [esp + 0x4b], 0
call fcn.00489530
add esp, 0xc
lea eax, [esi - 2]
call fcn.00412820
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x54]
cmp word [eax], 0
je 0x4163f3
jmp 0x4164c2
mov dword [esp + 0x4c], 0xffffffff
cmp byte [esp + 0x3f], 0
mov esi, dword [esp + 0x4c]
je 0x4164e4
cmp esi, 0xffffffff
jne 0x4163f7
cmp dword [esp + 0x40], 0
jne 0x416c0e
jmp case.0x4176a1.14
cmp byte [esp + 0x3f], 0
jne 0x4163f3
mov edi, dword [esp + 0x54]
push 2
push 0x4a03e0
push edi
call fcn.0048a5b2
add esp, 0xc
test eax, eax
jne 0x416493
mov byte [esp + 0x3f], 1
jmp 0x4163f7
cmp dword [esp + 0x50], 0
jne 0x4169f0
cmp esi, 0xffffffff
je 0x416643
cmp word [edi], 0x28
jne 0x416643
cmp word [edi + 2], 0x3a
lea eax, [edi + 2]
je 0x416643
cmp word [edi + esi*2 - 2], 0x3a
je 0x416643
mov cl, byte [0x4c2649]
mov dword [esp + 0x50], 1
mov dword [esp + 0xd4], 0
mov byte [esp + 0x5b], cl
mov byte [esp + 0x5a], 1
mov byte [esp + 0x5e], 0
mov byte [esp + 0x59], 0
mov byte [esp + 0x5d], 1
mov dword [esp + 0x100], 0xa
mov dword [esp + 0xd0], 1
call fcn.00409190
mov esi, eax
cmp word [esi], 0
je 0x4169e3
mov ebx, 0x49f4d4
mov eax, esi
call fcn.00409140
mov edi, eax
mov dword [esp + 0x60], eax
test edi, edi
jne 0x4165a6
mov eax, esi
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416590
sub eax, edx
sar eax, 1
lea edi, [esi + eax*2]
mov dword [esp + 0x60], edi
movzx ebx, word [edi]
push 4
xor edx, edx
push str.Join
push esi
mov dword [esp + 0x70], ebx
mov word [edi], dx
call fcn.00489302
add esp, 0xc
test eax, eax
jne 0x416937
push 0xf
add esi, 8
lea eax, [esp + 0x104]
push esi
push eax
call fcn.0048b674
movzx edi, word [0x4be404]
add esp, 0xc
xor ecx, ecx
mov word [esp + 0x11e], cx
lea ecx, [esp + 0x100]
movzx eax, word [ecx]
test ax, ax
je 0x416615
cmp ax, di
je 0x4168a1
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x416600
lea eax, [esp + 0x100]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416620
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
sub eax, edx
sar eax, 1
mov dword [esp + 0xd0], eax
jmp 0x4169c2
mov dword [esp + 0x50], 0
cmp esi, 0xffffffff
je 0x4164a7
test esi, esi
je 0x4163f7
cmp word [edi + esi*2 - 2], 0x3a
jne 0x41666e
cmp word [edi], 0x2c
jne 0x4164a7
mov ax, word [edi]
call fcn.00409110
movzx eax, ax
cmp eax, 0x41
je 0x41680e
cmp eax, 0x4f
je 0x4167db
movzx eax, word [edi]
cmp eax, 0x3a
je 0x41669d
cmp eax, 0x2b
je 0x41669d
cmp eax, 0x2d
jne 0x4166a7
cmp word [edi + 2], ax
je 0x4164a7
push eax
push str.____:.___
call fcn.00489891
add esp, 8
test eax, eax
je 0x4164a7
push 0x4a044c
push edi
call fcn.004898b8
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x416859
cmp word [edi], 0x3a
jne 0x41672e
mov esi, dword [esp + 0x54]
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x416724
cmp ax, 0x3a
je 0x4164a7
mov ecx, 0x107
call fcn.004090f0
test eax, eax
jne 0x416718
movzx ecx, word [esi]
push ecx
push str.____t
call fcn.00489891
add esp, 8
test eax, eax
je 0x41672e
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x4166eb
cmp word [esi], 0x3a
je 0x4164a7
mov eax, dword [esp + 0x54]
cmp word [eax], 0x2c
jne 0x416782
add eax, 2
call fcn.00409190
push 2
mov esi, eax
push 0x4a044c
push esi
call fcn.0048a5b2
add esp, 0xc
test eax, eax
je 0x4164a7
push 3
push 0x49f4c4
add esi, 0xfffffffe
push esi
call fcn.0048a5b2
add esp, 0xc
test eax, eax
je 0x4164a7
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
jmp 0x416859
cmp eax, ebx
jae 0x416795
cmp word [eax], 0x22
je 0x416793
add eax, 2
cmp eax, ebx
jb 0x416786
cmp eax, ebx
je 0x4164a7
movzx eax, word [ebx + 4]
lea ecx, [ebx + 4]
test ax, ax
je 0x4164a7
jmp 0x4167b0
cmp ax, 0x22
je 0x4167c7
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x4167b0
jmp 0x4164a7
cmp word [ecx], 0
je 0x4164a7
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x4c]
jmp 0x416859
mov ax, word [edi + 2]
call fcn.00409110
cmp ax, 0x52
jne 0x4164a7
movzx ecx, word [edi + 4]
lea eax, [edi + 4]
cmp ecx, 0x20
je 0x416803
cmp ecx, 9
jne 0x4164a7
call fcn.00409190
movzx edx, word [eax]
push edx
jmp 0x416844
push 3
push 0x4a040c
push edi
call fcn.00489302
add esp, 0xc
test eax, eax
jne 0x4164a7
movzx ecx, word [edi + 6]
lea eax, [edi + 6]
cmp ecx, 0x20
je 0x41683b
cmp ecx, 9
jne 0x4164a7
call fcn.00409190
movzx eax, word [eax]
push eax
push str.____:
call fcn.00489891
add esp, 8
test eax, eax
jne 0x4164a7
mov ebx, dword [esp + 0x40]
lea ecx, [esi + ebx]
cmp ecx, 0x4000
jae 0x417f42
cmp word [edi], 0x2c
je 0x416880
mov eax, dword [esp + 0x38]
mov edx, 0x20
mov word [eax + ebx*2], dx
inc ebx
mov edx, dword [esp + 0x38]
lea ecx, [esi + esi + 2]
push ecx
lea eax, [edx + ebx*2]
push edi
push eax
call fcn.00490c80
add esp, 0xc
add ebx, esi
mov dword [esp + 0x40], ebx
jmp 0x4163f7
cmp word [ecx], 0
je 0x416615
movzx eax, word [ecx + 2]
lea ebx, [ecx + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4168c1.99
movzx edx, byte [eax + 0x418250]
jmp dword [edx*4 + 0x41822c]
mov eax, 7
mov word [ebx], ax
jmp case.0x4168c1.99
mov edx, 8
jmp 0x41690a
mov eax, 0xc
mov word [ebx], ax
jmp case.0x4168c1.99
mov edx, 0xa
jmp 0x41690a
mov eax, 0xd
mov word [ebx], ax
jmp case.0x4168c1.99
mov edx, 9
jmp 0x41690a
mov eax, 0xb
mov word [ebx], ax
jmp case.0x4168c1.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 0x416912
sub eax, esi
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ebx
push ecx
call fcn.00489530
add esp, 0xc
mov ecx, ebx
jmp 0x4165f8
push 5
push 0x4a04ac
push esi
call fcn.00489302
add esp, 0xc
test eax, eax
jne 0x416957
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x5b]
jmp 0x4169c2
push 5
push str.RTrim
push esi
call fcn.00489302
add esp, 0xc
test eax, eax
jne 0x416977
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x5a]
jmp 0x4169c2
movzx eax, word [esi]
test ax, ax
je 0x4169c2
nop
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x416992.38
movzx ecx, byte [eax + 0x418280]
jmp dword [ecx*4 + 0x418268]
mov byte [esp + 0x5e], 1
jmp case.0x416992.38
mov byte [esp + 0x59], 1
jmp case.0x416992.38
mov byte [esp + 0x5d], 0
jmp case.0x416992.38
mov dword [esp + 0x50], 2
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x416980
mov word [edi], bx
mov esi, edi
movzx eax, word [esi]
cmp eax, 0x20
je 0x4169d4
cmp eax, 9
jne 0x4169d9
add esi, 2
jmp 0x4169c7
cmp word [esi], 0
jne 0x416574
mov byte [esp + 0xdc], 1
jmp 0x4163f3
cmp esi, 0xffffffff
je 0x418114
cmp esi, 0xfffffffe
je 0x4163f7
cmp word [edi], 0x29
jne 0x416a27
lea edx, [edi + 2]
or eax, 0xffffffff
mov esi, edi
mov dword [esp + 0x50], 0
mov dword [esp + 0x60], edx
call fcn.00412890
dec eax
jmp 0x416b6f
cmp byte [esp + 0x5a], 0
mov dword [esp + 0x60], edi
je 0x416a43
mov eax, dword [esp + 0x4c]
mov esi, edi
call fcn.00412890
mov dword [esp + 0x4c], eax
mov esi, eax
cmp byte [esp + 0x5b], 0
je 0x416a59
mov eax, esi
call fcn.00412820
mov edi, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
xor esi, esi
cmp byte [esp + 0x5e], 0
je 0x416aa7
mov ax, word [0x4be404]
push esi
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x80], ax
mov word [esp + 0x84], ax
mov word [esp + 0x86], ax
push 1
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x88]
push ecx
push edi
xor eax, eax
call fcn.00470530
add esp, 0x1c
mov esi, eax
cmp byte [esp + 0x59], 0
je 0x416afb
mov ax, word [0x4be400]
mov dx, word [0x4be404]
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x80], ax
mov word [esp + 0x86], ax
push 1
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x88]
push ecx
push edi
xor eax, eax
mov word [esp + 0x94], dx
call fcn.00470530
add esp, 0x1c
add esi, eax
cmp byte [esp + 0x5d], 0
je 0x416b4f
mov ax, word [0x4be3fc]
mov dx, word [0x4be404]
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x80], ax
mov word [esp + 0x86], ax
push 1
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x88]
push ecx
push edi
xor eax, eax
mov word [esp + 0x94], dx
call fcn.00470530
add esp, 0x1c
add esi, eax
test esi, esi
je 0x416b73
mov eax, edi
lea edx, [eax + 2]
jmp 0x416b60
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416b60
sub eax, edx
sar eax, 1
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x40]
lea eax, [esi + edx]
add eax, ebx
cmp eax, 0x4001
jae 0x41814d
mov eax, dword [esp + 0xd4]
inc eax
mov dword [esp + 0xd4], eax
cmp eax, 1
jle 0x416bd3
test esi, esi
je 0x416bd3
cmp dword [esp + 0x60], edi
jne 0x416bd3
mov eax, dword [esp + 0x38]
lea ecx, [esi + esi + 2]
push ecx
lea edx, [esp + 0x104]
push edx
lea ecx, [eax + ebx*2]
push ecx
call fcn.00490c80
add esp, 0xc
add ebx, esi
mov dword [esp + 0x40], ebx
cmp dword [esp + 0x4c], 0
je 0x4163f7
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
lea edx, [ebx + ebx + 2]
push edx
push eax
lea edx, [ecx + esi*2]
push edx
call fcn.00490c80
add esp, 0xc
add esi, ebx
mov dword [esp + 0x40], esi
jmp 0x4163f7
mov word [edi], bx
cmp word [esp + 0x5a8], 0
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x38]
je 0x416d6c
mov edi, dword [esi + 0x264]
mov eax, dword [esp + 0xc8]
mov dword [esi + 0x264], eax
cmp word [ebx], 0x7b
mov dword [esp + 0x64], edi
je 0x416c89
cmp byte [esp + 0x3d], 0
jne 0x416c89
cmp byte [esp + 0x3e], 0
jne 0x417f77
cmp dword [esi + 0x48], 0
je 0x416c6c
mov ecx, dword [0x4be40c]
cmp dword [ecx + 0xb4], 0
je 0x417f88
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x5c0]
push edx
mov ecx, esi
call fcn.00419db0
jmp 0x416cf5
cmp byte [esp + 0x3e], 0
je 0x416cb3
lea eax, [esp + 0x5a8]
push eax
push esi
call fcn.0041e360
test eax, eax
jne 0x416d03
lea ecx, [esp + 0x80]
call fcn.00414a00
jmp 0x418211
mov ecx, dword [0x4be40c]
cmp dword [ecx + 0xb4], 0
jne 0x417f99
lea edx, [esp + 0x105b8]
push edx
lea eax, [esp + 0x5ac]
push eax
push esi
call fcn.0041d9c0
test eax, eax
je 0x416ca2
cmp byte [esp + 0x3d], 0
je 0x416d03
push 0
push 0
push 0
push 0x71
push esi
call fcn.0041c130
test eax, eax
je 0x416ca2
mov dword [esi + 0x624], 0
xor ecx, ecx
mov word [esp + 0x5a8], cx
cmp byte [esp + 0x3e], cl
je 0x416d66
push ecx
push ecx
push ecx
push 0x71
push esi
call fcn.0041c130
test eax, eax
je 0x416ca2
cmp byte [esp + 0x3d], 0
jne 0x416d66
lea eax, [ebx + 2]
call fcn.00409190
cmp word [eax], 0
je 0x416fbf
mov ecx, eax
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x416d40
sub ecx, edi
sar ecx, 1
lea edx, [ecx + ecx + 2]
push edx
push eax
push ebx
mov dword [esp + 0x4c], ecx
call fcn.00489530
mov edi, dword [esp + 0x70]
add esp, 0xc
mov dword [esi + 0x264], edi
cmp word [ebx], 0x7d
jne 0x416e3b
cmp dword [esi + 0x48], 0
je 0x416e3b
mov eax, dword [0x4be40c]
cmp dword [eax + 0xb4], 0
jne 0x416e3b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x416dff
dec eax
mov dword [ecx + 0x48], eax
mov edi, dword [ecx + eax*4 + 0x4c]
call fcn.00469df0
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.0048a584
add esp, 8
test eax, eax
je 0x416dd4
xor ecx, ecx
mov word [eax], cx
jmp 0x416dd9
xor edx, edx
mov word [edi], dx
push 0
push 0
push 0
push 0x72
push esi
call fcn.0041c130
test eax, eax
je 0x416ca2
lea eax, [ebx + 2]
call fcn.00409190
mov ebx, eax
cmp word [ebx], 0x7d
je 0x416d92
cmp word [ebx], 0
je case.0x4176a1.14
mov eax, ebx
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x416e10
mov ecx, dword [esp + 0x38]
sub eax, edx
sar eax, 1
mov dword [esp + 0x40], eax
add eax, eax
push eax
push ebx
push ecx
call fcn.00489530
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x44]
add esp, 0xc
lea edx, [esp + 0x3d]
push edx
mov eax, ebx
call fcn.00416050
add esp, 4
test al, al
je 0x416e85
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 0x416e60
mov eax, dword [esi + 0x264]
mov dword [esp + 0xc8], eax
mov byte [esp + 0x3e], cl
jmp case.0x4176a1.14
mov ecx, dword [0x4be40c]
cmp dword [ecx + 0xb4], 0
jne 0x416ffc
lea edx, [esp + 0x3d]
push edx
mov eax, ebx
call fcn.00416110
add esp, 4
test eax, eax
je 0x416eda
lea edx, [esp + 0x5a8]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x416eb4
mov eax, dword [esi + 0x264]
mov dword [esp + 0xc8], eax
mov byte [esp + 0x3e], 1
jmp case.0x4176a1.14
cmp dword [esi + 0x48], 0
je 0x416ffc
mov ebx, dword [esp + 0x38]
mov esi, ebx
lea ebx, [ebx]
movzx eax, word [esi]
test eax, 0xffffff80
jne 0x416f0c
push 0x107
push eax
call fcn.00489d0e
add esp, 8
test eax, eax
jne 0x416f19
movzx eax, word [esi]
cmp eax, 0x5f
je 0x416f19
cmp eax, 0x2e
jne 0x416f1e
add esi, 2
jmp 0x416ef0
cmp esi, ebx
jbe 0x416f4c
mov eax, esi
call fcn.00409190
cmp word [eax], 0x3a
jne 0x416f4c
cmp word [eax + 2], 0x3d
jne 0x416f4c
mov ecx, dword [ebp + 8]
push 0
push ebx
push ecx
call fcn.0041e6f0
test eax, eax
je 0x416ca2
jmp case.0x4176a1.14
push 6
push str.Static
push ebx
call fcn.00489302
add esp, 0xc
test eax, eax
jne 0x416f87
movzx eax, word [ebx + 0xc]
cmp eax, 0x20
je 0x416f6e
cmp eax, 9
jne 0x416f87
mov edx, dword [ebp + 8]
push 1
add ebx, 0xe
push ebx
push edx
call fcn.0041e6f0
test eax, eax
je 0x416ca2
jmp case.0x4176a1.14
cmp word [ebx], 0x23
mov esi, dword [ebp + 8]
jne 0x417faa
mov edi, dword [esi + 0x264]
push ebx
push esi
call fcn.00418620
test eax, eax
je 0x416ca2
cmp eax, 3
jne 0x417faa
mov eax, dword [esp + 0xc4]
mov dword [esi + 0x260], eax
mov dword [esi + 0x264], edi
mov bl, byte [esp + 0x3c]
test bl, bl
je case.0x416ff1.4
mov eax, dword [esp + 0xc0]
inc eax
mov dword [esp + 0xc0], eax
dec eax
cmp eax, 9
ja case.0x416ff1.4
movzx eax, byte [eax + 0x4182d4]
jmp dword [eax*4 + 0x4182c0]
mov ebx, dword [esp + 0x38]
xor eax, eax
cmp word [ebx], 0x3a
mov dword [esp + 0x50], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x44], eax
jne 0x41709c
movzx ecx, word [ebx + 2]
lea eax, [ebx + 2]
test cx, cx
je 0x41709c
cmp ecx, 0x3a
je 0x417041
push 0x3a
push eax
mov dword [esp + 0x6c], eax
call fcn.00489891
add esp, 8
test eax, eax
je 0x417094
add eax, 2
mov dword [esp + 0x50], eax
jmp 0x41704f
cmp word [ebx + 4], 0
lea eax, [ebx + 4]
je 0x41709c
mov dword [esp + 0x50], eax
test eax, eax
je 0x41709c
mov ebx, dword [esp + 0x50]
movzx eax, word [ebx]
test ax, ax
je 0x417085
mov cx, word [0x4be404]
cmp ax, cx
je 0x417108
cmp ax, 0x3a
je 0x417108
movzx eax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x417066
cmp dword [esp + 0x44], 0
jne 0x4171e5
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x50], 0
push 0x4a044c
push ebx
call fcn.004898b8
mov edi, eax
add esp, 8
mov dword [esp + 0x44], edi
test edi, edi
je 0x417868
cmp edi, ebx
jne 0x4170ca
cmp word [edi + 4], 0x3a
jne 0x4170ca
add edi, 2
mov dword [esp + 0x44], edi
mov ecx, dword [esp + 0x38]
mov esi, edi
cmp edi, ecx
jbe 0x4170e8
movzx eax, word [esi]
cmp eax, 0x20
je 0x4170e1
cmp eax, 9
jne 0x4170e8
sub esi, 2
cmp esi, ecx
ja 0x4170d4
movzx ebx, word [esi]
xor edx, edx
mov word [esi], dx
mov eax, ecx
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x417103
cmp ecx, 9
jne 0x4171c4
add eax, 2
jmp 0x4170f2
movzx eax, word [ebx]
test ax, ax
je 0x417085
lea esi, [ebx + 2]
cmp eax, 0x3a
jne 0x417133
cmp word [esi], ax
jne 0x4171bc
mov dword [esp + 0x44], ebx
mov ebx, esi
add ebx, 2
jmp 0x417057
movzx eax, word [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x417145.99
movzx ecx, byte [eax + 0x418300]
jmp dword [ecx*4 + 0x4182e0]
mov edx, 7
jmp 0x417187
mov eax, 8
mov word [esi], ax
jmp case.0x417145.99
mov ecx, 0xc
mov word [esi], cx
jmp case.0x417145.99
mov edx, 0xa
jmp 0x417187
mov eax, 0xd
mov word [esi], ax
jmp case.0x417145.99
mov ecx, 9
mov word [esi], cx
jmp case.0x417145.99
mov edx, 0xb
mov word [esi], dx
mov eax, esi
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417190
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push esi
push ebx
call fcn.00489530
add esp, 0xc
cmp word [ebx], 0x3a
jne 0x4171bc
cmp word [esi], 0x3a
jne 0x4171bc
mov ebx, esi
add ebx, 2
jmp 0x417057
push 0
push 0
call fcn.0040b240
add esp, 8
test eax, eax
jne 0x4171da
mov dword [esp + 0x44], eax
mov edi, eax
mov word [esi], bx
test edi, edi
je 0x417868
mov eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x38]
jbe 0x417868
mov ecx, dword [0x4be40c]
cmp dword [ecx + 0xb4], 0
jne 0x417fb4
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
test eax, eax
je 0x417219
cmp byte [eax], 0x1a
je 0x418024
mov eax, dword [esp + 0x44]
xor edx, edx
mov word [eax], dx
add eax, 4
mov dword [esp + 0x44], eax
cmp dword [esp + 0x50], edx
jne 0x4176e4
mov edi, dword [esp + 0x44]
or eax, 0xffffffff
call fcn.00412820
mov edx, dword [esp + 0x38]
cmp word [edx], 0
je 0x417293
mov eax, edx
lea esi, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417250
sub eax, esi
sar eax, 1
lea eax, [edx + eax*2 - 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x417270
cmp ecx, 9
jne 0x417279
cmp eax, edx
je 0x417281
sub eax, 2
jmp 0x417263
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x417293
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x41728e
cmp ecx, 9
jne 0x417293
xor edx, edx
mov word [eax], dx
mov edi, dword [esp + 0x44]
cmp word [edi], 0
mov ebx, edi
mov dword [esp + 0x60], ebx
je 0x4176e1
mov esi, dword [esp + 0x38]
cmp word [esi], 0
je 0x4173ea
lea edi, [esi + 2]
xor bl, bl
cmp word [edi], 0
mov byte [esp + 0x35], 0
je case.0x4172fc.34
lea esp, [esp]
push 0x49f4cc
push edi
call fcn.00488ac9
add esp, 8
test eax, eax
je case.0x4172fc.34
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x4172fc.34
movzx eax, byte [eax + 0x418338]
jmp dword [eax*4 + 0x418318]
mov bl, 1
jmp case.0x4172fc.36
mov byte [esp + 0x35], 1
jmp case.0x4172fc.36
test bl, bl
jne 0x417328
cmp byte [esp + 0x35], bl
jne 0x41732f
or dword [esp + 0x70], 1
jmp case.0x4172fc.36
cmp byte [esp + 0x35], 0
je 0x417339
or byte [esp + 0x36], 4
mov byte [esp + 0x35], 0
test bl, bl
je case.0x4172fc.36
or byte [esp + 0x36], 8
jmp 0x4173d0
test bl, bl
jne 0x41735c
cmp byte [esp + 0x35], bl
jne 0x417363
or dword [esp + 0x70], 2
jmp case.0x4172fc.36
cmp byte [esp + 0x35], 0
je 0x41736d
or byte [esp + 0x36], 1
mov byte [esp + 0x35], 0
test bl, bl
je case.0x4172fc.36
or byte [esp + 0x36], 2
jmp 0x4173d0
test bl, bl
jne 0x417389
cmp byte [esp + 0x35], bl
jne 0x417390
or dword [esp + 0x70], 4
jmp case.0x4172fc.36
cmp byte [esp + 0x35], 0
je 0x41739a
or byte [esp + 0x36], 0x10
mov byte [esp + 0x35], 0
test bl, bl
je case.0x4172fc.36
or byte [esp + 0x36], 0x20
jmp 0x4173d0
test bl, bl
jne 0x4173b6
cmp byte [esp + 0x35], bl
jne 0x4173bd
or dword [esp + 0x70], 8
jmp case.0x4172fc.36
cmp byte [esp + 0x35], 0
je 0x4173c7
or byte [esp + 0x36], 0x40
mov byte [esp + 0x35], 0
test bl, bl
je case.0x4172fc.36
or byte [esp + 0x36], 0x80
xor bl, bl
mov esi, edi
cmp word [esi + 2], 0
lea edi, [esi + 2]
jne 0x4172d0
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x44]
push 0
mov dword [esp + 0x44], esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 1
mov ecx, eax
push 0
xor edx, edx
mov eax, esi
call fcn.00411b50
add esp, 8
mov byte [esp + 0x5c], al
test al, al
je 0x4176e1
cmp word [edi + 2], 0
je 0x417591
cmp word [edi], 0
jne 0x41742c
mov ebx, edi
jmp 0x41754f
mov esi, dword [esp + 0x44]
mov byte [esp + 0x35], 0
xor bl, bl
lea edi, [esi + 2]
push 0x49f4cc
push edi
call fcn.00488ac9
add esp, 8
test eax, eax
je case.0x417466.34
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x417466.34
movzx ecx, byte [eax + 0x4183b8]
jmp dword [ecx*4 + 0x418398]
mov bl, 1
jmp case.0x417466.36
mov byte [esp + 0x35], 1
jmp case.0x417466.36
test bl, bl
jne 0x417492
cmp byte [esp + 0x35], bl
jne 0x417499
or dword [esp + 0x68], 1
jmp case.0x417466.36
cmp byte [esp + 0x35], 0
je 0x4174a3
or byte [esp + 0x37], 4
mov byte [esp + 0x35], 0
test bl, bl
je case.0x417466.36
or byte [esp + 0x37], 8
jmp 0x41753a
test bl, bl
jne 0x4174c6
cmp byte [esp + 0x35], bl
jne 0x4174cd
or dword [esp + 0x68], 2
jmp case.0x417466.36
cmp byte [esp + 0x35], 0
je 0x4174d7
or byte [esp + 0x37], 1
mov byte [esp + 0x35], 0
test bl, bl
je case.0x417466.36
or byte [esp + 0x37], 2
jmp 0x41753a
test bl, bl
jne 0x4174f3
cmp byte [esp + 0x35], bl
jne 0x4174fa
or dword [esp + 0x68], 4
jmp case.0x417466.36
cmp byte [esp + 0x35], 0
je 0x417504
or byte [esp + 0x37], 0x10
mov byte [esp + 0x35], 0
test bl, bl
je case.0x417466.36
or byte [esp + 0x37], 0x20
jmp 0x41753a
test bl, bl
jne 0x417520
cmp byte [esp + 0x35], bl
jne 0x417527
or dword [esp + 0x68], 8
jmp case.0x417466.36
cmp byte [esp + 0x35], 0
je 0x417531
or byte [esp + 0x37], 0x40
mov byte [esp + 0x35], 0
test bl, bl
je case.0x417466.36
or byte [esp + 0x37], 0x80
xor bl, bl
mov esi, edi
cmp word [esi + 2], 0
jne 0x417437
mov ebx, esi
mov esi, dword [esp + 0x40]
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 1
mov ecx, eax
push 0
xor edx, edx
mov eax, ebx
call fcn.00411b50
add esp, 8
mov byte [esp + 0x3c], al
test al, al
je 0x4176e1
mov cl, al
mov al, byte [esp + 0x5c]
lea edx, [eax - 1]
cmp dl, 5
ja 0x417587
cmp al, 3
jne 0x41758d
add al, 0x66
cmp al, 5
ja 0x41759a
mov al, 1
jmp 0x41759c
or cl, 0xff
mov byte [esp + 0x3c], cl
jmp 0x41757b
xor al, al
lea edx, [ecx - 1]
cmp dl, 5
ja 0x4175a9
cmp cl, 3
jne 0x4175b1
add cl, 0x66
cmp cl, 5
ja 0x4175b8
mov byte [esp + 0x4b], 1
jmp 0x4175bd
mov byte [esp + 0x4b], 0
test al, al
jne 0x4175cc
mov byte [esp + 0x5f], 1
cmp byte [esp + 0x4b], al
jne 0x4175d1
mov byte [esp + 0x5f], 0
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4175d6
sub eax, edx
sar eax, 1
cmp eax, 1
jne 0x4175fd
movzx eax, word [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
mov eax, 0x4a064c
jne 0x417602
mov eax, 0x49c820
mov ecx, dword [esp + 0x38]
push ecx
push eax
push 0x4a0650
mov esi, 0x20
lea edi, [esp + 0x16c]
call fcn.0046fd90
add esp, 0xc
push 0x1f
lea edx, [esp + 0x124]
push ebx
push edx
call fcn.0048b674
mov esi, dword [esp + 0x50]
add esp, 0xc
push 7
lea ecx, [esp + 0xf4]
xor eax, eax
push esi
push ecx
mov word [esp + 0x16a], ax
call fcn.0048b674
sub ebx, esi
mov eax, ebx
xor edx, edx
sar eax, 1
add esp, 0xc
mov word [esp + 0xfe], dx
cmp eax, 8
jae 0x417674
xor ecx, ecx
mov word [esp + eax*2 + 0xf0], cx
mov dword [esp + 0xc0], edx
cmp word [esp + 0xf0], dx
jne case.0x4176a1.14
movzx eax, byte [esp + 0x3c]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x4176a1.14
movzx edx, byte [eax + 0x418428]
jmp dword [edx*4 + 0x418418]
mov eax, dword [esp + 0x44]
mov ebx, 0x49f80c
call fcn.00409140
test eax, eax
jne case.0x4176a1.19
jmp case.0x4176a1.14
lea eax, [esp + 0x120]
push str.Return
push eax
call fcn.00488ac9
add esp, 8
test eax, eax
jne case.0x4176a1.14
mov byte [esp + 0x3c], 0
mov edi, dword [ebp + 8]
cmp byte [edi + 0x268], 0
je 0x417713
xor esi, esi
push esi
push 0xff
push esi
push 0x66
push edi
mov byte [edi + 0x268], 0
call fcn.0041c130
test eax, eax
je 0x418038
mov dword [edi + 0x624], esi
mov eax, dword [esp + 0x38]
push 1
mov esi, edi
call fcn.00419cb0
test eax, eax
je 0x417a4c
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x50]
xor ebx, ebx
cmp word [ecx], bx
je 0x417786
test esi, esi
jne 0x417770
push esi
mov esi, ecx
call fcn.00409260
movzx ebx, ax
add esp, 4
test bx, bx
jne 0x41776c
push 0
push 0
push 0
push 0
push 0
push 0
mov edx, esi
push edx
mov ecx, edi
call fcn.00419db0
test eax, eax
je 0x416ca2
mov esi, dword [esp + 0x50]
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041c130
test eax, eax
je 0x416ca2
test esi, esi
je 0x4177cd
cmp word [esi], 0
je 0x418090
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x4177a1
mov eax, 0x49c820
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0x44]
push ecx
push edx
push eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
push ecx
mov edi, esi
call fcn.0040c540
add esp, 0x10
test eax, eax
je 0x416ca2
jmp case.0x4176a1.14
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x6f]
push edx
lea eax, [esp + 0xdc]
push eax
push ecx
call fcn.0040bb60
mov esi, eax
add esp, 0xc
test esi, esi
je 0x417842
test bx, bx
je 0x4177fb
mov word [esi + 2], bx
jmp case.0x4176a1.14
mov eax, esi
call fcn.0040b070
test eax, eax
jne 0x4180a1
mov edx, dword [esp + 0xd8]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x14]
push edx
call fcn.0040b120
test eax, eax
je 0x4180bc
cmp byte [esp + 0x6f], 0
jne 0x417839
cmp byte [0x4c264a], 0
je case.0x4176a1.14
mov byte [esi + 0x16], 1
jmp case.0x4176a1.14
mov ecx, dword [esp + 0xd8]
mov edx, dword [edi + 0x14]
push ecx
push 0
push ebx
push edx
xor bl, bl
call fcn.0040a9d0
add esp, 0x10
test eax, eax
je 0x416ca2
jmp case.0x4176a1.14
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
cmp word [eax + ebx*2 - 2], 0x3a
lea ecx, [eax + ebx*2]
mov dword [esp + 0x64], ecx
jne 0x417b56
cmp ebx, 1
je 0x4180cb
mov ecx, eax
movzx eax, word [eax]
test ax, ax
je 0x4178d6
mov dx, word [0x4be3fc]
mov si, word [0x4be404]
cmp ax, 0x20
je 0x417b56
cmp ax, 9
je 0x417b56
cmp ax, dx
je 0x417b56
cmp ax, si
je 0x417b56
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x4178a4
mov edi, dword [esp + 0x38]
cmp word [edi + ebx*2 - 4], 0x3a
jne 0x417957
cmp ebx, 2
jbe 0x417957
mov esi, dword [ebp + 8]
cmp byte [esi + 0x268], 0
je 0x41791d
push 0
push 0xff
push 0
push 0x66
push esi
mov byte [esi + 0x268], 0
call fcn.0041c130
test eax, eax
je 0x417a4c
mov dword [esi + 0x624], 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.0046fd90
fldz
add esp, 8
push 0
sub esp, 8
fstp qword [esp]
push 0
mov eax, edi
push 0x10000
push eax
call fcn.00474360
mov edi, dword [esp + 0x50]
add esp, 0x18
dec ebx
xor ecx, ecx
mov word [edi + ebx*2], cx
mov eax, ebx
cmp word [edi], cx
je 0x417a4c
cmp ebx, 0xffffffff
jne 0x417982
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417973
sub eax, edx
sar eax, 1
lea eax, [edi + eax*2 - 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x417993
cmp ecx, 9
jne 0x41799c
cmp eax, edi
je 0x4179a4
sub eax, 2
jmp 0x417986
xor edx, edx
mov word [eax + 2], dx
jmp 0x4179b6
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x4179b1
cmp ecx, 9
jne 0x4179b6
xor ecx, ecx
mov word [eax], cx
cmp word [edi], 0
je 0x417a4c
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0x10]
test esi, esi
je 0x4179e7
lea ebx, [ebx]
mov edx, dword [esi]
push edi
push edx
call fcn.00488ac9
add esp, 8
test eax, eax
je 0x417a37
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x4179d0
cmp word [edi], 0
je 0x417aa8
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4179f6
sub eax, edx
sar eax, 1
mov edi, eax
lea ebx, [edi + edi]
lea eax, [ebx + 2]
call fcn.0046d1e0
mov esi, eax
test esi, esi
je 0x417f29
test edi, edi
je 0x417a2f
mov eax, dword [esp + 0x38]
push ebx
push eax
push esi
call fcn.00490c80
add esp, 0xc
xor ecx, ecx
mov word [ebx + esi], cx
jmp 0x417aad
push edi
push str.Duplicate_label.
mov ecx, ebx
call fcn.0042f410
test eax, eax
jne case.0x4176a1.14
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x80], vtable.TextMem.0
test eax, eax
je 0x417a80
cmp byte [esp + 0xb8], 0
je 0x417a75
push eax
call fcn.0048a11f
add esp, 4
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xac]
test eax, eax
mov dword [esp + 0x80], vtable.TextStream.0
je 0x418211
push eax
call fcn.0048a11f
add esp, 4
jmp 0x418211
mov esi, 0x49c820
cmp dword [0x4c3f18], 0
jne 0x417ac4
call fcn.0046d250
mov dword [0x4c3f18], eax
test eax, eax
je 0x417b1a
mov ecx, dword [0x4c3f1c]
cmp dword [ecx + 8], 0x10
jae 0x417ae2
call fcn.0046d250
mov ecx, dword [0x4c3f1c]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x417b1a
mov eax, dword [ecx + 4]
add dword [ecx + 8], 0xfffffff0
lea edx, [eax + 0x10]
mov dword [ecx + 4], edx
xor ecx, ecx
mov dword [0x4c3f20], eax
cmp eax, ecx
je 0x417b1a
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 0x417b2c
mov dword [ebx + 0x10], eax
jmp 0x417b32
mov ecx, dword [ebp + 8]
push 0x49c820
push str.Out_of_memory.
jmp 0x417a3f
mov ecx, dword [ebx + 0x14]
mov dword [ecx + 0xc], eax
push str.OnClipboardChange
push esi
mov dword [ebx + 0x14], eax
call fcn.00488ac9
add esp, 8
test eax, eax
jne case.0x4176a1.14
mov dword [ebx + 0xa50], edi
jmp case.0x4176a1.14
mov esi, dword [esp + 0x38]
cmp word [esi], 0x23
mov edi, dword [ebp + 8]
jne 0x417b95
mov ebx, dword [edi + 0x264]
push esi
push edi
call fcn.00418620
test eax, eax
je 0x417a4c
cmp eax, 3
jne 0x417b95
mov edx, dword [esp + 0xc4]
mov dword [edi + 0x260], edx
mov dword [edi + 0x264], ebx
jmp case.0x4176a1.14
movzx eax, word [esi]
cmp eax, 0x7b
je 0x417cbe
cmp eax, 0x7d
je 0x417cbe
mov eax, dword [esp + 0x38]
mov ebx, 0x4a0804
call fcn.00409140
mov edi, eax
test edi, edi
jne 0x417bc2
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x38]
mov esi, edi
sub esi, ecx
sar esi, 1
push 0xffffffffffffffff
push esi
mov eax, str.Else
mov ebx, 1
call fcn.0046fe30
add esp, 8
test eax, eax
je 0x417c25
mov ecx, dword [esp + 0x38]
push 0xffffffffffffffff
push esi
mov eax, 0x49df70
call fcn.0046fe30
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x417c25
mov eax, dword [esp + 0x38]
mov ecx, dword [ebp + 8]
push 0
push 0
push 0
push 0
push 0
push 0
push eax
call fcn.00419db0
test eax, eax
je 0x416ca2
jmp case.0x4176a1.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.0041c130
test eax, eax
je 0x4180d6
mov dword [ebx + 0x624], esi
mov eax, edi
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x417c5e
cmp ecx, 9
jne 0x417c63
add eax, 2
jmp 0x417c51
mov dx, word [eax]
mov dword [esp + 0x38], eax
cmp dx, word [0x4be3fc]
jne 0x417c8c
lea ecx, [eax + 2]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x417c83
cmp eax, 9
jne 0x417c88
add ecx, 2
jmp 0x417c76
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x38]
cmp word [eax], si
je case.0x4176a1.14
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417ca0
sub eax, edx
sar eax, 1
mov dword [esp + 0x40], eax
mov dword [ebx + 0x624], esi
jmp 0x416ff8
cmp eax, 0x7b
push 0
setne cl
push 0
add cl, 0x71
movzx edx, cl
push 0
push edx
push edi
call fcn.0041c130
test eax, eax
je 0x417a4c
lea eax, [esi + 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x417cef
cmp ecx, 9
jne 0x417cf4
add eax, 2
jmp 0x417ce2
cmp word [eax], 0
mov dword [esp + 0x38], eax
je case.0x4176a1.14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417d05
sub eax, edx
sar eax, 1
mov dword [esp + 0x40], eax
mov dword [edi + 0x624], 0
jmp 0x416ff8
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x160]
push ecx
push str._s::
push edx
call fcn.00488ed3
add esp, 0xc
mov dword [esp + 0x40], eax
jmp 0x416ff8
mov esi, dword [esp + 0x38]
mov eax, 0x4a081c
mov edx, esi
sub edx, eax
jmp 0x417d60
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x417d60
cmp byte [esp + 0x4b], cl
mov edi, dword [ebp + 8]
push 0
setne cl
push 1
add cl, 0xbf
lea eax, [esp + 0x40]
movzx edx, cl
push eax
push edx
push edi
call fcn.0041c130
cmp byte [esp + 0x5f], 0
je 0x417dc7
lea eax, [esp + 0x120]
push eax
push str.if_not_GetKeyState___s__
push esi
call fcn.00488ed3
add esp, 0xc
mov dword [esp + 0x40], eax
mov dword [esp + 0xc0], 9
jmp 0x416ff8
mov esi, dword [esp + 0x38]
mov edi, dword [ebp + 8]
mov ecx, 0x49c820
cmp bl, 0x12
je 0x417ddb
cmp bl, 0xa3
jbe 0x417dfb
cmp bl, 0xa5
ja 0x417dfb
movzx eax, byte [esp + 0x5c]
sub eax, 0x11
je 0x417df6
sub eax, 0x91
je 0x417df6
dec eax
jne 0x417dfb
mov ecx, str.RCtrl_up
jmp 0x417dfb
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 + 0x624], 0
call fcn.00488ed3
add esp, 0x14
push 0
push 1
lea ecx, [esp + 0x40]
push ecx
push 0x40
push edi
call fcn.0041c130
test eax, eax
je 0x416ca2
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041c130
lea edx, [esp + 0x160]
push edx
push str._s_up::
push esi
call fcn.00488ed3
add esp, 0xc
mov dword [esp + 0x40], eax
mov dword [esp + 0xc0], 2
jmp 0x416ff8
mov esi, dword [esp + 0x38]
mov eax, 0x4a081c
mov edx, esi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x417e82
cmp byte [esp + 0x4b], cl
mov edi, dword [ebp + 8]
push 0
setne cl
push 1
add cl, 0xbf
lea eax, [esp + 0x40]
movzx edx, cl
push eax
push edx
push edi
call fcn.0041c130
lea eax, [esp + 0x120]
push eax
push str.Blind_s_Up
push esi
call fcn.00488ed3
add esp, 0xc
push 0
push 1
lea ecx, [esp + 0x40]
push ecx
push 0x40
push edi
call fcn.0041c130
push 0
push 0
push 0
push 0x66
push edi
call fcn.0041c130
mov byte [esp + 0x3c], 0
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x85b0]
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], edx
cmp eax, ecx
jne 0x417f19
lea edx, [esp + 0x124f8]
mov dword [esp + 0x54], edx
jmp 0x4163a0
lea eax, [esp + 0x85b0]
mov dword [esp + 0x54], eax
jmp 0x4163a0
mov ecx, dword [esp + 0x38]
push ecx
push str.Out_of_memory.
mov ecx, 0x4c3fc0
call fcn.0042f410
jmp 0x417a4c
push edi
push str.Continuation_section_too_long.
mov ecx, dword [ebp + 8]
call fcn.0042f410
lea ecx, [esp + 0x80]
mov esi, eax
call fcn.00414a00
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 0x4a0528
mov ecx, esi
jmp 0x417f4b
lea eax, [esp + 0x5a8]
push eax
push str.Expected_assignment_or_class_method_definition.
mov ecx, esi
jmp 0x417f4b
lea ecx, [esp + 0x5a8]
push ecx
push str.Functions_cannot_contain_functions.
mov ecx, esi
jmp 0x417f4b
push ebx
push str.Expected_assignment_or_class_method_definition.
mov ecx, esi
jmp 0x417f4b
mov edx, dword [esp + 0x38]
push edx
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, dword [ebp + 8]
call fcn.0042f410
mov esi, eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x80], vtable.TextMem.0
test eax, eax
je 0x417ffc
cmp byte [esp + 0xb8], 0
je 0x417ff1
push eax
call fcn.0048a11f
add esp, 4
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0xac]
mov dword [esp + 0x80], vtable.TextStream.0
test eax, eax
je 0x417f5e
push eax
call fcn.0048a11f
add esp, 4
jmp 0x417f5e
mov ecx, dword [esp + 0x38]
push ecx
mov dword [edi + 0x624], eax
push str.IfWin_should_be_IfWin.
mov ecx, edi
jmp 0x417fc1
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x80], vtable.TextMem.0
cmp eax, esi
je 0x418068
cmp byte [esp + 0xb8], 0
je 0x418061
push eax
call fcn.0048a11f
add esp, 4
mov dword [esp + 0xb0], esi
mov eax, dword [esp + 0xac]
mov dword [esp + 0x80], vtable.TextStream.0
cmp eax, esi
je 0x418211
push eax
call fcn.0048a11f
add esp, 4
jmp 0x418211
mov edx, dword [esp + 0x38]
push edx
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, edi
jmp 0x417f4b
mov eax, dword [esp + 0x38]
push eax
mov dword [edi + 0x624], 0
push str.Duplicate_hotkey.
mov ecx, edi
jmp 0x417f4b
mov ecx, dword [esp + 0x38]
push ecx
push str.Out_of_memory.
jmp 0x417f48
push eax
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x417fbe
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x80], vtable.TextMem.0
cmp eax, esi
je 0x418106
cmp byte [esp + 0xb8], 0
je 0x4180ff
push eax
call fcn.0048a11f
add esp, 4
mov dword [esp + 0xb0], esi
mov eax, dword [esp + 0xac]
cmp eax, esi
jmp 0x417a89
mov edx, dword [esp + 0x38]
mov ecx, dword [ebp + 8]
push edx
push 0x4a04c4
call fcn.0042f410
lea ecx, [esp + 0x80]
mov esi, eax
call fcn.00414a00
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 + 0x60]
push eax
jmp 0x417f43
cmp word [esp + 0x5a8], 0
je 0x4181c6
cmp byte [esp + 0x3e], 0
mov ecx, dword [esp + 0xc8]
mov esi, dword [edi + 0x264]
mov dword [edi + 0x264], ecx
je 0x41819d
cmp byte [esp + 0x3d], 0
mov eax, str.Missing___
jne 0x41818d
mov eax, 0x4a0528
lea edx, [esp + 0x5a8]
push edx
push eax
mov ecx, edi
jmp 0x417f4b
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x5c0]
push eax
mov ecx, edi
call fcn.00419db0
test eax, eax
je 0x416ca2
mov dword [edi + 0x264], esi
inc dword [edi + 0x264]
lea ecx, [esp + 0x80]
call fcn.00414a00
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.00474360
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