Function at 0x416ff0
Capabilities:
Extract resource via kernel32 functions
Get keyboard layout
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x49e7fb
mov eax, dword fs:[0]
push eax
mov eax, 0x1a4e4
mov dword fs:[0], esp
call fcn.004996b0
push ebx
push ebp
mov ebp, dword [esp + 0x1a4fc]
mov ebx, ecx
push esi
push edi
test ebx, ebx
je 0x419331
cmp word [ebx], 0
je 0x419331
mov eax, dword [0x4c9654]
mov dword [esp + 0xac], eax
test eax, eax
jne 0x417049
mov eax, dword [ebp + 0xac4]
mov dword [0x4c84d0], eax
mov edi, dword [sym.imp.KERNEL32.dll_FindResourceW]
lea eax, [esp + 0x124e4]
push 0xa
mov dword [esp + 0x3c], eax
xor eax, eax
push str._AUTOHOTKEY_SCRIPT_
xor ecx, ecx
lea edx, [esp + 0x85a4]
push eax
mov word [esp + 0x5a0], cx
mov dword [esp + 0x24], edx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov byte [esp + 0xe4], al
call edi
mov esi, eax
test esi, esi
jne 0x4170aa
push 0xa
push str._AHK_WITH_ICON_
push eax
call edi
mov esi, eax
test esi, esi
je 0x419317
push esi
xor edi, edi
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0xd4], eax
cmp eax, edi
je 0x419317
push esi
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
je 0x419317
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [esp + 0xd0], eax
cmp eax, edi
je 0x419317
lea esi, [esp + 0x3c]
call fcn.00415800
push 0xc
mov eax, 0xfde9
lea edx, [esp + 0xd4]
mov ecx, esi
mov dword [esp + 0x1a500], edi
call fcn.00472470
mov eax, dword [esp + 0xac]
inc dword [0x4c9654]
xor edx, edx
xor ecx, ecx
mov word [esp + 0x9c], dx
mov dword [ebp + 0x26c], eax
mov eax, esi
lea edx, [esp + 0x859c]
mov byte [esp + 0x1d], 0
mov word [esp + 0x96], cx
mov dword [esp + 0xb4], 0xffffffff
call fcn.004195a0
push 2
lea ecx, [esp + 0x85a0]
push 0x4a63d0
push ecx
mov dword [esp + 0x2c], eax
call fcn.0048fbe1
add esp, 0xc
test eax, eax
sete al
mov byte [esp + 0x1f], al
test al, al
je 0x417190
xor edx, edx
mov word [esp + 0x859c], dx
mov dword [esp + 0x20], edi
lea esp, [esp]
cmp dword [esp + 0x20], 0xffffffff
je 0x41926f
mov eax, dword [esp + 0xb4]
mov esi, dword [esp + 0x18]
push 0xc
inc eax
push str.CommentFlag
xor edi, edi
push esi
mov dword [ebp + 0x270], eax
mov dword [ebp + 0x630], edi
call fcn.0048e707
add esp, 0xc
test eax, eax
jne 0x4171d8
push esi
push ebp
call fcn.00419780
test eax, eax
je 0x417a8c
mov byte [esp + 0xbc], 0
mov dword [esp + 0x2c], edi
mov ebx, dword [esp + 0x38]
inc dword [esp + 0xb4]
mov esi, dword [esp + 0x2c]
test ebx, ebx
je 0x41727f
lea eax, [esp + 0x3c]
mov ecx, esi
mov edx, ebx
call fcn.004195a0
mov ebp, eax
mov dword [esp + 0xb0], ebp
test ebp, ebp
je 0x417289
cmp ebp, 0xffffffff
je 0x417289
test esi, esi
jne 0x417289
push 2
push 0x4a63f4
push ebx
call fcn.0048fbe1
add esp, 0xc
test eax, eax
jne 0x41729e
cmp byte [esp + 0x1f], al
jne 0x417249
mov eax, 0x3a
cmp word [ebx + 4], ax
jne 0x417249
cmp word [ebx + 6], ax
je 0x4172a9
lea ecx, [ebp + ebp - 2]
push ecx
lea edx, [ebx + 4]
push edx
push ebx
mov byte [esp + 0x2b], 0
call fcn.0048e930
add esp, 0xc
lea eax, [ebp - 2]
mov edi, ebx
call fcn.004139e0
cmp word [ebx], 0
mov ebp, eax
mov dword [esp + 0xb0], ebp
je 0x4171e4
jmp 0x4172a9
or ebp, 0xffffffff
mov dword [esp + 0xb0], ebp
cmp byte [esp + 0x1f], 0
je 0x4172c7
cmp ebp, 0xffffffff
jne 0x4171e4
jmp 0x4179c0
cmp byte [esp + 0x1f], 0
jne 0x4171e4
push 2
push 0x4a63d0
push ebx
call fcn.0048fbe1
add esp, 0xc
test eax, eax
jne 0x417289
mov byte [esp + 0x1f], 1
jmp 0x4171e4
test esi, esi
jne 0x4177c1
cmp ebp, 0xffffffff
je 0x41741f
cmp word [ebx], 0x28
jne 0x41741f
cmp word [ebx + 2], 0x3a
lea eax, [ebx + 2]
je 0x41741f
cmp word [ebx + ebp*2 - 2], 0x3a
je 0x41741f
mov cl, byte [0x4c8d36]
mov edx, 0xa
mov dword [esp + 0x2c], 1
mov dword [esp + 0xc0], esi
mov byte [esp + 0x32], cl
mov byte [esp + 0x36], 1
mov byte [esp + 0x34], 0
mov byte [esp + 0x37], 0
mov byte [esp + 0x31], 1
mov dword [esp + 0xec], edx
mov dword [esp + 0xc4], 1
call fcn.00409570
mov esi, eax
cmp word [esi], 0
je 0x4177b4
mov ebx, 0x4a4704
mov eax, esi
call fcn.00409520
mov ebp, eax
test ebp, ebp
jne 0x417382
mov eax, esi
lea edx, [eax + 2]
jmp 0x417370
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417370
sub eax, edx
sar eax, 1
lea ebp, [esi + eax*2]
movzx edi, word [ebp]
push 4
xor edx, edx
push str.Join
push esi
mov dword [esp + 0x30], edi
mov word [ebp], dx
call fcn.0048e707
add esp, 0xc
test eax, eax
jne 0x417705
push 0xf
add esi, 8
lea eax, [esp + 0xf0]
push esi
push eax
call fcn.00490bb4
movzx ebx, word [0x4c4940]
add esp, 0xc
xor ecx, ecx
mov word [esp + 0x10a], cx
lea ecx, [esp + 0xec]
movzx eax, word [ecx]
test ax, ax
je 0x4173f5
mov edi, edi
cmp ax, bx
je 0x417668
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x4173e0
lea eax, [esp + 0xec]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417400
mov edi, dword [esp + 0x24]
sub eax, edx
sar eax, 1
mov dword [esp + 0xc4], eax
jmp 0x417792
mov dword [esp + 0x2c], 0
cmp ebp, 0xffffffff
je 0x4179c0
test ebp, ebp
je 0x4171e4
cmp word [ebx + ebp*2 - 2], 0x3a
jne 0x41744a
cmp word [ebx], 0x2c
jne 0x4179c0
mov ax, word [ebx]
call fcn.004094f0
movzx eax, ax
cmp eax, 0x41
je 0x4175d6
cmp eax, 0x4f
je 0x4175a3
movzx eax, word [ebx]
cmp eax, 0x3a
je 0x417479
cmp eax, 0x2b
je 0x417479
cmp eax, 0x2d
jne 0x417483
cmp word [ebx + 2], ax
je 0x4179c0
push eax
push str.____:.___
call fcn.0048eccb
add esp, 8
test eax, eax
je 0x4179c0
push 0x4a643c
push ebx
call fcn.0048ecf2
mov edi, eax
add esp, 8
test edi, edi
je 0x417621
cmp word [ebx], 0x3a
jne 0x417506
movzx eax, word [ebx + 2]
lea esi, [ebx + 2]
test ax, ax
je 0x4174fc
cmp ax, 0x3a
je 0x4179c0
mov ecx, 0x107
call fcn.004094d0
test eax, eax
jne 0x4174f0
movzx eax, word [esi]
push eax
push str.____t
call fcn.0048eccb
add esp, 8
test eax, eax
je 0x417506
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x4174c3
cmp word [esi], 0x3a
je 0x4179c0
cmp word [ebx], 0x2c
jne 0x41754e
lea eax, [ebx + 2]
call fcn.00409570
push 2
mov esi, eax
push 0x4a643c
push esi
call fcn.0048fbe1
add esp, 0xc
test eax, eax
je 0x4179c0
push 3
push 0x4a46f4
add esi, 0xfffffffe
push esi
call fcn.0048fbe1
add esp, 0xc
test eax, eax
je 0x4179c0
jmp 0x417621
mov eax, ebx
cmp ebx, edi
jae 0x417561
cmp word [eax], 0x22
je 0x417561
add eax, 2
cmp eax, edi
jb 0x417554
cmp eax, edi
je 0x4179c0
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
test ax, ax
je 0x4179c0
lea esp, [esp]
cmp ax, 0x22
je 0x417597
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x417580
jmp 0x4179c0
cmp word [ecx], 0
je 0x4179c0
jmp 0x417621
mov ax, word [ebx + 2]
call fcn.004094f0
cmp ax, 0x52
jne 0x4179c0
movzx ecx, word [ebx + 4]
lea eax, [ebx + 4]
cmp ecx, 0x20
je 0x4175cb
cmp ecx, 9
jne 0x4179c0
call fcn.00409570
movzx ecx, word [eax]
push ecx
jmp 0x41760c
push 3
push 0x4a63fc
push ebx
call fcn.0048e707
add esp, 0xc
test eax, eax
jne 0x4179c0
movzx ecx, word [ebx + 6]
lea eax, [ebx + 6]
cmp ecx, 0x20
je 0x417603
cmp ecx, 9
jne 0x4179c0
call fcn.00409570
movzx edx, word [eax]
push edx
push str.____:
call fcn.0048eccb
add esp, 8
test eax, eax
jne 0x4179c0
mov esi, dword [esp + 0x20]
lea eax, [esi + ebp]
cmp eax, 0x4000
jae 0x419077
cmp word [ebx], 0x2c
je 0x417647
mov edx, dword [esp + 0x18]
mov ecx, 0x20
mov word [edx + esi*2], cx
inc esi
mov ecx, dword [esp + 0x18]
lea eax, [ebp + ebp + 2]
push eax
lea edx, [ecx + esi*2]
push ebx
push edx
call fcn.00496240
add esp, 0xc
add esi, ebp
mov dword [esp + 0x20], esi
jmp 0x4171e4
cmp word [ecx], 0
je 0x4173f5
movzx eax, word [ecx + 2]
lea esi, [ecx + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x417688.99
movzx edx, byte [eax + 0x419374]
jmp dword [edx*4 + 0x419350]
mov eax, 7
mov word [esi], ax
jmp case.0x417688.99
mov edx, 8
jmp 0x4176d1
mov eax, 0xc
mov word [esi], ax
jmp case.0x417688.99
mov edx, 0xa
jmp 0x4176d1
mov eax, 0xd
mov word [esi], ax
jmp case.0x417688.99
mov edx, 9
jmp 0x4176d1
mov eax, 0xb
mov word [esi], ax
jmp case.0x417688.99
mov edx, 0x20
mov word [esi], dx
mov eax, esi
lea edi, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4176e0
sub eax, edi
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push esi
push ecx
call fcn.0048e930
add esp, 0xc
mov ecx, esi
jmp 0x4173d6
push 5
push 0x4a649c
push esi
call fcn.0048e707
add esp, 0xc
test eax, eax
jne 0x417725
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x32]
jmp 0x417792
push 5
push str.RTrim
push esi
call fcn.0048e707
add esp, 0xc
test eax, eax
jne 0x417745
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x36]
jmp 0x417792
movzx eax, word [esi]
test ax, ax
je 0x417792
lea ecx, [ecx]
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x417762.38
movzx ecx, byte [eax + 0x4193a4]
jmp dword [ecx*4 + 0x41938c]
mov byte [esp + 0x34], 1
jmp case.0x417762.38
mov byte [esp + 0x37], 1
jmp case.0x417762.38
mov byte [esp + 0x31], 0
jmp case.0x417762.38
mov dword [esp + 0x2c], 2
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x417750
mov word [ebp], di
mov esi, ebp
movzx eax, word [esi]
cmp eax, 0x20
je 0x4177a5
cmp eax, 9
jne 0x4177aa
add esi, 2
jmp 0x417798
cmp word [esi], 0
jne 0x417351
mov byte [esp + 0xbc], 1
jmp 0x4171e4
cmp ebp, 0xffffffff
je 0x419247
cmp ebp, 0xfffffffe
je 0x4171e4
cmp word [ebx], 0x29
jne 0x4177fa
mov esi, dword [esp + 0x38]
or eax, 0xffffffff
mov dword [esp + 0x2c], 0
lea ebx, [esi + 2]
call fcn.00413ac0
lea ebp, [eax - 1]
mov edi, esi
jmp 0x417936
cmp byte [esp + 0x36], 0
mov edi, dword [esp + 0x38]
mov ebx, edi
je 0x417812
mov eax, ebp
mov esi, edi
call fcn.00413ac0
mov ebp, eax
cmp byte [esp + 0x32], 0
je 0x417826
mov edi, dword [esp + 0x38]
mov eax, ebp
call fcn.004139e0
mov ebp, eax
xor esi, esi
cmp byte [esp + 0x34], 0
je 0x417874
mov ax, word [0x4c4940]
push esi
push 0x4001
push 0xffffffffffffffff
push 1
mov word [esp + 0xa4], ax
mov word [esp + 0xa8], ax
mov word [esp + 0xaa], ax
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0xa8]
push eax
push edi
xor eax, eax
call fcn.00475120
add esp, 0x1c
mov esi, eax
cmp byte [esp + 0x37], 0
je 0x4178c8
mov ax, word [0x4c493c]
mov cx, word [0x4c4940]
push 0
push 0x4001
push 0xffffffffffffffff
push 1
mov word [esp + 0xa4], ax
mov word [esp + 0xaa], ax
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0xa8]
push eax
push edi
xor eax, eax
mov word [esp + 0xb4], cx
call fcn.00475120
add esp, 0x1c
add esi, eax
cmp byte [esp + 0x31], 0
je 0x41791c
mov ax, word [0x4c4938]
mov cx, word [0x4c4940]
push 0
push 0x4001
push 0xffffffffffffffff
push 1
mov word [esp + 0xa4], ax
mov word [esp + 0xaa], ax
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0xa8]
push eax
push edi
xor eax, eax
mov word [esp + 0xb4], cx
call fcn.00475120
add esp, 0x1c
add esi, eax
test esi, esi
je 0x417936
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417925
sub eax, edx
sar eax, 1
mov ebp, eax
mov esi, dword [esp + 0xc4]
mov eax, dword [esp + 0x20]
lea ecx, [esi + ebp]
add ecx, eax
cmp ecx, 0x4001
jae 0x419077
mov ecx, dword [esp + 0xc0]
inc ecx
mov dword [esp + 0xc0], ecx
cmp ecx, 1
jle 0x41798f
test esi, esi
je 0x41798f
cmp ebx, edi
jne 0x41798f
lea edx, [esi + esi + 2]
push edx
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xf0]
push ecx
lea eax, [edx + eax*2]
push eax
call fcn.00496240
add esp, 0xc
add dword [esp + 0x20], esi
test ebp, ebp
je 0x4171e4
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
lea ecx, [ebp + ebp + 2]
push ecx
lea eax, [edx + esi*2]
push ebx
push eax
call fcn.00496240
add esp, 0xc
add esi, ebp
mov dword [esp + 0x20], esi
jmp 0x4171e4
mov word [ebp], di
mov ebx, dword [esp + 0x1a504]
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x18]
test eax, eax
je case.0x418635.14
cmp word [esp + 0x594], 0
je 0x417b50
mov ecx, dword [esp + 0xa0]
mov edi, dword [ebx + 0x270]
mov dword [ebx + 0x270], ecx
cmp word [esi], 0x7b
je 0x417a4c
cmp byte [esp + 0x1e], 0
jne 0x417a4c
test ebp, ebp
jne 0x41909b
cmp dword [ebx + 0x48], ebp
je 0x417a2c
mov edx, dword [0x4c4a14]
cmp dword [edx + 0xb4], ebp
je 0x4190ac
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x5ac]
push eax
mov ecx, ebx
call fcn.0041af30
jmp 0x417adc
mov eax, ebp
sub eax, 0
je 0x417a9a
dec eax
je 0x417a7a
dec eax
jne 0x417aea
mov ebx, dword [esp + 0x1a504]
lea esi, [esp + 0x594]
call fcn.0041fc20
test eax, eax
je 0x417a8c
mov esi, dword [esp + 0x18]
jmp 0x417aea
lea ecx, [esp + 0x594]
push ecx
push ebx
call fcn.0041f760
test eax, eax
jne 0x417aea
lea ecx, [esp + 0x3c]
call fcn.00415860
jmp 0x419331
mov edx, dword [0x4c4a14]
cmp dword [edx + 0xb4], 0
jne 0x4190cc
lea eax, [esp + 0x105a4]
push eax
lea ecx, [esp + 0x598]
push ecx
push ebx
call fcn.0041ece0
test eax, eax
je 0x417a8c
cmp byte [esp + 0x1e], 0
je 0x417aea
push 0
push 0
push 0
push 0x73
push ebx
call fcn.0041d4b0
test eax, eax
je 0x417a8c
mov dword [ebx + 0x630], 0
xor edx, edx
mov word [esp + 0x594], dx
test ebp, ebp
je 0x417b4a
cmp byte [esp + 0x1e], dl
jne 0x417b4a
lea eax, [esi + 2]
call fcn.00409570
cmp word [eax], 0
jne 0x417b17
mov dword [ebx + 0x270], edi
jmp case.0x418635.14
mov ecx, eax
lea esi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x417b20
mov edx, dword [esp + 0x18]
sub ecx, esi
sar ecx, 1
mov dword [esp + 0x20], ecx
lea ecx, [ecx + ecx + 2]
push ecx
push eax
push edx
call fcn.0048e930
mov esi, dword [esp + 0x24]
add esp, 0xc
mov dword [ebx + 0x270], edi
cmp word [esi], 0x7d
jne 0x417c32
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x417c32
mov ecx, dword [0x4c4a14]
cmp dword [ecx + 0xb4], 0
jne 0x417c32
cmp dword [ebx + 0x264], 0
je 0x417baa
mov eax, dword [ebx + 0x268]
mov dword [ebx + 0x264], 0
test eax, eax
je 0x417be4
push eax
call fcn.0048ec91
add esp, 4
mov dword [ebx + 0x268], 0
jmp 0x417be4
dec eax
mov dword [ebx + 0x48], eax
mov edi, dword [ebx + eax*4 + 0x4c]
call fcn.0046e030
mov edx, dword [ebx + 0x48]
mov eax, dword [ebx + edx*4 + 0x4c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea esi, [ebx + 0x60]
push 0x2e
push esi
call fcn.0048fc1a
add esp, 8
test eax, eax
je 0x417bdf
xor ecx, ecx
mov word [eax], cx
jmp 0x417be4
xor edx, edx
mov word [esi], dx
mov eax, dword [esp + 0x18]
movzx ecx, word [eax + 2]
add eax, 2
cmp ecx, 0x20
je 0x417be8
cmp ecx, 9
je 0x417be8
cmp word [eax], 0
mov dword [esp + 0x18], eax
je case.0x418635.14
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417c10
sub eax, edx
sar eax, 1
mov dword [esp + 0x20], eax
mov dword [ebx + 0x630], 0
jmp 0x4179d2
cmp dword [ebx + 0x264], 0
je 0x417d0f
mov eax, dword [0x4c4a14]
cmp dword [eax + 0xb4], 0
jne 0x417d0f
push 3
push 0x4a6594
push esi
call fcn.0048e707
add esp, 0xc
test eax, eax
je 0x417c7d
push 3
push 0x4a659c
push esi
call fcn.0048e707
add esp, 0xc
test eax, eax
jne 0x4190dd
mov edi, dword [esp + 0x18]
lea esi, [edi + 6]
movzx eax, word [esi]
cmp eax, 0x20
je 0x417c91
cmp eax, 9
jne 0x417c96
add esi, 2
jmp 0x417c84
movzx eax, word [esi]
test ax, ax
je 0x417cb2
cmp eax, 0x7b
jne 0x4190e1
cmp word [esi + 2], 0
jne 0x4190e1
mov eax, dword [ebx + 0x268]
lea edx, [esp + 0x594]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x417cc1
lea ecx, [esp + 0x594]
push 0x2e
push ecx
call fcn.0048eccb
mov dx, word [edi]
mov word [eax + 2], dx
mov eax, dword [ebx + 0x270]
add esp, 8
cmp word [esi], 0x7b
mov dword [esp + 0xa0], eax
sete byte [esp + 0x1e]
mov dword [esp + 0x90], 0
jmp case.0x418635.14
lea ecx, [esp + 0x1e]
push ecx
mov eax, esi
call fcn.00416e90
add esp, 4
test al, al
je 0x417d5c
lea edx, [esp + 0x594]
mov eax, esi
sub edx, esi
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x417d30
mov edx, dword [ebx + 0x270]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x90], 0
jmp case.0x418635.14
mov eax, dword [0x4c4a14]
cmp dword [eax + 0xb4], 0
jne 0x417f30
lea ecx, [esp + 0x1e]
push ecx
mov eax, esi
call fcn.00416f50
add esp, 4
test eax, eax
je 0x417dbc
lea edx, [esp + 0x594]
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x417d90
mov edx, dword [ebx + 0x270]
mov dword [esp + 0xa0], edx
mov dword [esp + 0x90], 1
jmp case.0x418635.14
cmp dword [ebx + 0x48], 0
je 0x417f30
mov edi, dword [esp + 0x18]
mov esi, edi
lea esp, [esp]
movzx eax, word [esi]
test eax, 0xffffff80
jne 0x417dec
push 0x107
push eax
call fcn.0048f13e
add esp, 8
test eax, eax
jne 0x417dfe
movzx eax, word [esi]
cmp eax, 0x5f
je 0x417dfe
cmp eax, 0x7f
ja 0x417dfe
cmp eax, 0x2e
jne 0x417e03
add esi, 2
jmp 0x417dd0
cmp esi, edi
jbe 0x417eb1
mov eax, esi
call fcn.00409570
movzx ecx, word [eax]
cmp ecx, 0x3a
jne 0x417e37
cmp word [eax + 2], 0x3d
jne 0x417e37
push 0
push edi
push ebx
call fcn.0041fdb0
test eax, eax
je 0x417a8c
jmp case.0x418635.14
test cx, cx
je 0x417e4d
cmp ecx, 0x5b
je 0x417e4d
cmp ecx, 0x7b
jne 0x417eb1
cmp word [eax + 2], 0
jne 0x417eb1
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x417e52
sub eax, edx
sar eax, 1
cmp word [edi + eax*2 - 2], 0x7b
sete cl
mov byte [esp + 0x1e], cl
test cl, cl
je 0x417e7a
dec eax
mov esi, edi
call fcn.00413ac0
lea edx, [esp + 0x594]
mov eax, edi
sub edx, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x417e85
mov eax, dword [ebx + 0x270]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x90], 2
jmp case.0x418635.14
push 6
push str.Static
push edi
call fcn.0048e707
add esp, 0xc
test eax, eax
jne 0x417eec
movzx eax, word [edi + 0xc]
cmp eax, 0x20
je 0x417ed3
cmp eax, 9
jne 0x417eec
push 1
add edi, 0xe
push edi
push ebx
call fcn.0041fdb0
test eax, eax
je 0x417a8c
jmp case.0x418635.14
cmp word [edi], 0x23
jne 0x4190eb
mov esi, dword [ebx + 0x270]
push edi
push ebx
call fcn.00419780
test eax, eax
je 0x417a8c
cmp eax, 3
jne 0x4190eb
mov ecx, dword [esp + 0xac]
mov dword [ebx + 0x26c], ecx
mov dword [ebx + 0x270], esi
jmp case.0x418635.14
mov esi, dword [esp + 0x18]
xor eax, eax
cmp word [esi], 0x3a
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
jne 0x418036
movzx ecx, word [esi + 2]
test cx, cx
je 0x418036
lea edi, [esi + 2]
mov dword [esp + 0xcc], edi
cmp ecx, 0x3a
je 0x417f7e
push 0x3a
push edi
call fcn.0048eccb
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x41802e
add ebp, 2
mov dword [esp + 0x2c], ebp
jmp 0x417f92
cmp word [esi + 4], 0
lea eax, [esi + 4]
je 0x418036
mov ebp, eax
mov dword [esp + 0x2c], eax
test ebp, ebp
je 0x418036
mov bl, byte [0x4c8d35]
mov byte [esp + 0x30], bl
cmp edi, ebp
jae 0x417fea
jmp 0x417fb0
movzx esi, word [edi]
test esi, 0xffffff80
jne 0x417fcd
push 2
push esi
call fcn.0048f13e
add esp, 8
test eax, eax
je 0x417fcd
and esi, 0xffffffdf
cmp si, 0x58
je 0x417fdc
add edi, 2
cmp edi, ebp
jb 0x417fb0
jmp 0x417fea
cmp word [edi + 2], 0x30
setne byte [esp + 0x30]
mov bl, byte [esp + 0x30]
mov edi, ebp
lea esp, [esp]
movzx eax, word [edi]
test ax, ax
je 0x41801f
mov cx, word [0x4c4940]
nop
cmp ax, cx
je 0x4180a6
cmp ax, 0x3a
je 0x4180a6
movzx eax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x418000
cmp dword [esp + 0x24], 0
jne 0x4181dc
mov esi, dword [esp + 0x18]
mov dword [esp + 0x2c], 0
push 0x4a643c
push esi
call fcn.0048ecf2
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x418962
mov ecx, dword [esp + 0x18]
cmp eax, ecx
jne 0x418066
cmp word [eax + 4], 0x3a
jne 0x418066
add eax, 2
mov dword [esp + 0x24], eax
mov esi, eax
cmp eax, ecx
jbe 0x418084
lea esp, [esp]
movzx eax, word [esi]
cmp eax, 0x20
je 0x41807d
cmp eax, 9
jne 0x418084
sub esi, 2
cmp esi, ecx
ja 0x418070
movzx edi, word [esi]
xor edx, edx
mov word [esi], dx
lea esp, [esp]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x4180a1
cmp eax, 9
jne 0x418169
add ecx, 2
jmp 0x418090
movzx eax, word [edi]
test ax, ax
je 0x41801f
lea esi, [edi + 2]
cmp eax, 0x3a
jne 0x4180d9
cmp word [esi], ax
jne 0x418161
mov dword [esp + 0x24], edi
mov edi, esi
test bl, bl
jne 0x41801f
add edi, 2
jmp 0x417ff0
movzx eax, word [esi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4180eb.99
movzx edx, byte [eax + 0x419404]
jmp dword [edx*4 + 0x4193e4]
mov eax, 7
jmp 0x41812d
mov ecx, 8
mov word [esi], cx
jmp case.0x4180eb.99
mov edx, 0xc
mov word [esi], dx
jmp case.0x4180eb.99
mov eax, 0xa
jmp 0x41812d
mov ecx, 0xd
mov word [esi], cx
jmp case.0x4180eb.99
mov edx, 9
mov word [esi], dx
jmp case.0x4180eb.99
mov eax, 0xb
mov word [esi], ax
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x418135
sub eax, edx
sar eax, 1
lea ecx, [eax + eax + 2]
push ecx
push esi
push edi
call fcn.0048e930
add esp, 0xc
cmp word [edi], 0x3a
jne 0x418161
cmp word [esi], 0x3a
jne 0x418161
mov edi, esi
add edi, 2
jmp 0x417ff0
push 0
push ecx
xor ebx, ebx
call fcn.0040ba70
add esp, 8
mov dword [esp + 0xc8], eax
cmp eax, ebx
je 0x4181cb
cmp eax, 4
jne 0x4181cf
mov eax, dword [esp + 0x70]
mov dword [esp + 0x3c], vtable.TextMem.0
cmp eax, ebx
je 0x4181a9
cmp byte [esp + 0x78], bl
je 0x4181a5
push eax
call fcn.0048ec91
add esp, 4
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x3c], vtable.TextStream.0
cmp eax, ebx
je 0x419331
push eax
call fcn.0048ec91
add esp, 4
jmp 0x419331
mov dword [esp + 0x24], ebx
mov word [esi], di
cmp dword [esp + 0x24], ebx
je 0x418962
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x24], ebx
jbe 0x418966
mov eax, dword [0x4c4a14]
cmp dword [eax + 0xb4], 0
jne 0x4190f5
mov ebp, dword [esp + 0x1a504]
mov eax, dword [ebp + 4]
test eax, eax
je 0x418213
cmp byte [eax], 0x1a
je 0x419155
mov edi, dword [esp + 0x24]
xor ecx, ecx
mov word [edi], cx
add edi, 4
mov dword [esp + 0x24], edi
cmp dword [esp + 0x2c], ecx
jne 0x418680
cmp word [edi], cx
je 0x418271
mov edx, edi
movzx eax, word [edx]
cmp eax, 0x20
je 0x418241
cmp eax, 9
jne 0x418246
add edx, 2
jmp 0x418234
mov eax, edx
sub eax, edi
sar eax, 1
je 0x418271
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x418253
sub eax, esi
sar eax, 1
lea ecx, [eax + eax + 2]
push ecx
push edx
push edi
call fcn.0048e930
add esp, 0xc
mov eax, dword [esp + 0x24]
cmp word [eax], 0
mov ebp, eax
je 0x418675
movzx edi, word [eax + 2]
test di, di
je 0x4183f7
mov esi, eax
lea ebx, [eax + 2]
xor dl, dl
mov eax, edi
mov edi, dword [esp + 0xa8]
xor cl, cl
cmp ax, 0x20
je case.0x4182c0.34
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x4182c0.34
movzx eax, byte [eax + 0x41943c]
jmp dword [eax*4 + 0x41941c]
mov cl, 1
jmp case.0x4182c0.36
mov dl, 1
jmp case.0x4182c0.36
test cl, cl
jne 0x4182e5
test dl, dl
jne 0x4182e9
or edi, 1
jmp case.0x4182c0.36
test dl, dl
je 0x4182f0
or byte [esp + 0x17], 4
xor dl, dl
test cl, cl
je case.0x4182c0.36
or byte [esp + 0x17], 8
jmp 0x418362
test cl, cl
jne 0x418308
test dl, dl
jne 0x41830c
or edi, 2
jmp case.0x4182c0.36
test dl, dl
je 0x418313
or byte [esp + 0x17], 1
xor dl, dl
test cl, cl
je case.0x4182c0.36
or byte [esp + 0x17], 2
jmp 0x418362
test cl, cl
jne 0x41832b
test dl, dl
jne 0x41832f
or edi, 4
jmp case.0x4182c0.36
test dl, dl
je 0x418336
or byte [esp + 0x17], 0x10
xor dl, dl
test cl, cl
je case.0x4182c0.36
or byte [esp + 0x17], 0x20
jmp 0x418362
test cl, cl
jne 0x41834e
test dl, dl
jne 0x418352
or edi, 8
jmp case.0x4182c0.36
test dl, dl
je 0x418359
or byte [esp + 0x17], 0x40
xor dl, dl
test cl, cl
je case.0x4182c0.36
or byte [esp + 0x17], 0x80
xor cl, cl
mov esi, ebx
movzx eax, word [esi + 2]
lea ebx, [esi + 2]
test ax, ax
jne 0x4182a0
push 0
mov dword [esp + 0xac], edi
mov ebp, esi
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
xor ecx, ecx
mov eax, esi
call fcn.00412b20
add esp, 8
mov byte [esp + 0x1d], al
test al, al
je 0x418675
mov bl, al
mov eax, dword [esp + 0x18]
cmp word [eax], 0
je 0x4184cb
movzx esi, word [eax + 2]
xor bl, bl
xor dl, dl
test si, si
je case.0x4183f0.34
lea edi, [eax + 2]
mov ecx, esi
jmp 0x4183d0
cmp cx, 0x20
je case.0x4183f0.34
movzx ecx, word [eax]
add ecx, 0xffffffdf
cmp ecx, 0x5d
ja case.0x4183f0.34
movzx ecx, byte [ecx + 0x4194bc]
jmp dword [ecx*4 + 0x41949c]
or bl, 0xff
mov byte [esp + 0x1d], bl
jmp 0x4183a4
mov dl, 1
jmp case.0x4183f0.36
mov bl, 1
jmp case.0x4183f0.36
test dl, dl
jne 0x418423
test bl, bl
jne 0x418427
or dword [esp + 0x8c], 1
jmp case.0x4183f0.36
test bl, bl
je 0x41842e
or byte [esp + 0x16], 4
xor bl, bl
test dl, dl
je case.0x4183f0.36
or byte [esp + 0x16], 8
jmp 0x4184b3
test dl, dl
jne 0x41844f
test bl, bl
jne 0x418453
or dword [esp + 0x8c], 2
jmp case.0x4183f0.36
test bl, bl
je 0x41845a
or byte [esp + 0x16], 1
xor bl, bl
test dl, dl
je case.0x4183f0.36
or byte [esp + 0x16], 2
jmp 0x4184b3
test dl, dl
jne 0x418477
test bl, bl
jne 0x41847b
or dword [esp + 0x8c], 4
jmp case.0x4183f0.36
test bl, bl
je 0x418482
or byte [esp + 0x16], 0x10
xor bl, bl
test dl, dl
je case.0x4183f0.36
or byte [esp + 0x16], 0x20
jmp 0x4184b3
test dl, dl
jne 0x41849f
test bl, bl
jne 0x4184a3
or dword [esp + 0x8c], 8
jmp case.0x4183f0.36
test bl, bl
je 0x4184aa
or byte [esp + 0x16], 0x40
xor bl, bl
test dl, dl
je case.0x4183f0.36
or byte [esp + 0x16], 0x80
xor dl, dl
mov eax, edi
movzx ecx, word [eax + 2]
lea edi, [eax + 2]
test cx, cx
jne 0x4183d0
mov bl, byte [esp + 0x1d]
push 0
mov esi, eax
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push 0
xor ecx, ecx
mov eax, esi
call fcn.00412b20
push 0x4a46f4
push esi
mov byte [esp + 0x45], al
call fcn.0048ecf2
add esp, 0x10
test eax, eax
mov al, byte [esp + 0x35]
setne byte [esp + 0x8a]
lea edx, [eax - 1]
cmp dl, 5
ja 0x41850d
cmp al, 3
jne 0x418513
add al, 0x66
cmp al, 5
ja 0x418517
mov al, 1
jmp 0x418519
xor al, al
lea ecx, [ebx - 1]
cmp cl, 5
ja 0x418526
cmp bl, 3
jne 0x41852e
add bl, 0x66
cmp bl, 5
ja 0x418535
mov byte [esp + 0x2b], 1
jmp 0x41853a
mov byte [esp + 0x2b], 0
test al, al
jne 0x418549
mov byte [esp + 0x33], 1
cmp byte [esp + 0x2b], al
jne 0x41854e
mov byte [esp + 0x33], 0
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x418553
sub eax, edx
sar eax, 1
cmp eax, 1
jne 0x41857a
movzx edx, word [esi]
push edx
call dword [sym.imp.USER32.dll_IsCharUpperW]
mov ecx, 0x4a668c
test eax, eax
jne 0x41857f
mov ecx, 0x4a1868
cmp byte [esp + 0x8a], 0
mov eax, 0x4a1868
jne 0x418593
mov eax, 0x4a62c8
mov edx, dword [esp + 0x18]
push edx
push ecx
push eax
push 0x4a6690
mov esi, 0x20
lea edi, [esp + 0x15c]
call fcn.00474930
push 0x1f
lea eax, [esp + 0x120]
push ebp
push eax
call fcn.00490bb4
mov esi, dword [esp + 0x40]
add esp, 0x1c
push 7
lea edx, [esp + 0xe0]
xor ecx, ecx
push esi
push edx
mov word [esp + 0x156], cx
call fcn.00490bb4
xor eax, eax
sub ebp, esi
mov word [esp + 0xf6], ax
mov eax, ebp
sar eax, 1
add esp, 0xc
cmp eax, 8
jae 0x418603
xor ecx, ecx
mov word [esp + eax*2 + 0xdc], cx
cmp word [esp + 0xdc], 0
mov dword [esp + 0xa4], 0
jne case.0x418635.14
movzx eax, byte [esp + 0x1d]
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x418635.14
movzx edx, byte [eax + 0x41952c]
jmp dword [edx*4 + 0x41951c]
mov eax, dword [esp + 0x24]
mov ebx, 0x4a4bbc
call fcn.00409520
test eax, eax
jne case.0x418635.19
jmp case.0x418635.14
lea eax, [esp + 0x10c]
push str.Return
push eax
call fcn.0048deb9
add esp, 8
test eax, eax
jne case.0x418635.14
mov byte [esp + 0x1d], 0
mov ebp, dword [esp + 0x1a504]
mov edi, dword [esp + 0x24]
cmp byte [ebp + 0x274], 0
je 0x4186af
xor esi, esi
push esi
push 0xff
push esi
push 0x67
push ebp
mov byte [ebp + 0x274], 0
call fcn.0041d4b0
test eax, eax
je 0x419169
mov dword [ebp + 0x630], esi
mov ebx, dword [esp + 0x18]
push 1
mov eax, ebx
mov esi, ebp
call fcn.0041adf0
test eax, eax
je 0x41876f
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4187b9
cmp word [eax], 0
je 0x4191af
mov bl, byte [esp + 0x30]
mov eax, 0x4a1868
test bl, bl
jne 0x4186eb
mov eax, edi
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xcc]
mov edi, dword [esp + 0x2c]
push 0
push ecx
push eax
push edx
push ecx
mov ecx, dword [ebp + 0x14]
mov eax, esp
mov dword [eax], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 4]
mov dword [esp + 0x34], esp
push eax
call fcn.0040cc50
add esp, 0x18
test eax, eax
je 0x41876f
mov ecx, dword [esp + 0x24]
cmp word [ecx], 0
je case.0x418635.14
test bl, bl
je 0x418752
push 0
push 0
push 0
push 0
push 0
mov edx, ecx
mov ecx, dword [esp + 0x1a518]
push 0
push edx
call fcn.0041af30
test eax, eax
je 0x41876f
mov eax, dword [esp + 0x1a504]
push 0
push 0
push 0
push 0x67
push eax
call fcn.0041d4b0
test eax, eax
jne case.0x418635.14
mov eax, dword [esp + 0x70]
mov dword [esp + 0x3c], vtable.TextMem.0
test eax, eax
je 0x418797
cmp byte [esp + 0x78], 0
je 0x41878f
push eax
call fcn.0048ec91
add esp, 4
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x6c]
test eax, eax
mov dword [esp + 0x3c], vtable.TextStream.0
je 0x419331
push eax
call fcn.0048ec91
add esp, 4
jmp 0x419331
xor esi, esi
cmp word [edi], si
je 0x418872
push str.AltTab
push edi
call fcn.0048deb9
add esp, 8
test eax, eax
jne 0x4187e0
mov esi, 0x7ffe
jmp 0x41885c
push str.ShiftAltTab
push edi
call fcn.0048deb9
add esp, 8
test eax, eax
jne 0x4187f9
mov esi, 0x7ffd
jmp 0x41885c
push str.AltTabMenu
push edi
call fcn.0048deb9
add esp, 8
test eax, eax
jne 0x418812
mov esi, 0x7ffc
jmp 0x41885c
push str.AltTabAndMenu
push edi
call fcn.0048deb9
add esp, 8
test eax, eax
jne 0x41882b
mov esi, 0x7ffb
jmp 0x41885c
push str.AltTabMenuDismiss
push edi
call fcn.0048deb9
add esp, 8
test eax, eax
jne 0x418844
mov esi, 0x7ffa
jmp 0x41885c
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push edi
mov ecx, ebp
call fcn.0041af30
test eax, eax
je 0x4191bc
push 0
push 0
push 0
push 0x67
push ebp
call fcn.0041d4b0
test eax, eax
je 0x41876f
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x8b]
push ecx
lea edx, [esp + 0xbc]
push edx
push ebx
call fcn.0040c1d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4188f8
test si, si
je 0x4188a3
mov word [edi + 6], si
jmp case.0x418635.14
mov eax, dword [edi + 0x20]
test eax, eax
je 0x4188c0
mov ecx, dword [0x4c86b0]
cmp dword [eax + 4], ecx
je 0x4191e9
mov eax, dword [eax + 8]
test eax, eax
jne 0x4188b0
mov eax, dword [esp + 0xb8]
push eax
mov eax, dword [ebp + 0x14]
call fcn.0040b950
test eax, eax
je 0x419200
cmp byte [esp + 0x8b], 0
jne 0x4188ef
cmp byte [0x4c8d37], 0
je case.0x418635.14
mov byte [edi + 0x14], 1
jmp case.0x418635.14
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0xb8]
mov edx, dword [eax + 4]
push ecx
push edx
push esi
push eax
xor bl, bl
call fcn.0040b220
add esp, 0x10
test eax, eax
jne case.0x418635.14
cmp dword [esp + 0xc8], 3
jne 0x41876f
mov eax, dword [esp + 0x18]
push eax
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 + 0x194]
call fcn.00474930
fldz
fstp qword [esp]
mov ecx, edi
push 0
push 0
push 0x10000
push ecx
call fcn.00479350
add esp, 0x18
jmp case.0x418635.14
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov edi, 0x3a
cmp word [ebx + esi*2 - 2], di
jne 0x418d59
cmp esi, 1
je 0x41920d
movzx eax, word [ebx]
mov ecx, ebx
test ax, ax
je 0x4189cd
mov dx, word [0x4c4938]
mov bp, word [0x4c4940]
cmp ax, 0x20
je 0x418d59
cmp ax, 9
je 0x418d59
cmp ax, dx
je 0x418d59
cmp ax, bp
je 0x418d59
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x41899b
cmp word [ebx + esi*2 - 4], di
jne 0x4189dd
cmp esi, 2
ja 0x418d59
dec esi
xor edx, edx
mov word [ebx + esi*2], dx
mov eax, esi
cmp word [ebx], dx
je 0x41876f
cmp esi, 0xffffffff
jne 0x418a0f
mov eax, ebx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x418a00
sub eax, edx
sar eax, 1
lea eax, [ebx + eax*2 - 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x418a20
cmp ecx, 9
jne 0x418a29
cmp eax, ebx
je 0x418a31
sub eax, 2
jmp 0x418a13
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x418a43
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x418a3e
cmp ecx, 9
jne 0x418a43
xor edx, edx
mov word [eax], dx
cmp word [ebx], 0
je 0x41876f
mov edi, dword [esp + 0x1a504]
mov esi, dword [edi + 0x10]
test esi, esi
je 0x418a7c
jmp 0x418a60
mov eax, dword [esi + 4]
push ebx
push eax
call fcn.0048deb9
add esp, 8
test eax, eax
je 0x418b02
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x418a60
cmp word [ebx], 0
je 0x418bfc
mov eax, ebx
lea edx, [eax + 2]
jmp 0x418a90
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x418a90
sub eax, edx
sar eax, 1
lea ebp, [eax + eax]
lea ebx, [ebp + 2]
lea ecx, [ebx - 1]
mov dword [esp + 0x2c], eax
cmp ecx, 0xffff
ja 0x418b3a
xor edi, edi
cmp dword [0x4c9670], edi
jne 0x418b53
push 0x10
call fcn.0048fc97
mov esi, eax
add esp, 4
cmp esi, edi
je 0x418af8
push 0x10000
mov dword [esi + 0xc], edi
call fcn.0048df44
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
cmp eax, edi
jne 0x418b1c
push esi
call fcn.0048fbd6
add esp, 4
mov esi, dword [0x4c9674]
xor eax, eax
jmp 0x418b31
push ebx
push str.Duplicate_label.
mov ecx, edi
call fcn.0042e960
test eax, eax
je 0x41876f
jmp case.0x418635.14
inc dword [0x4c967c]
mov dword [esi + 8], 0x10000
mov dword [0x4c9674], esi
mov eax, esi
mov dword [0x4c9670], eax
cmp eax, edi
jne 0x418b59
mov edx, dword [esp + 0x18]
push edx
push str.Out_of_memory.
mov ecx, 0x4c9718
call fcn.0042e960
jmp 0x41876f
mov esi, dword [0x4c9674]
cmp ebx, dword [esi + 8]
jbe 0x418bb6
push 0x10
call fcn.0048fc97
mov esi, eax
add esp, 4
cmp esi, edi
je 0x418b90
push 0x10000
mov dword [esi + 0xc], edi
call fcn.0048df44
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
cmp eax, edi
jne 0x418b9a
push esi
call fcn.0048fbd6
add esp, 4
mov esi, dword [0x4c9674]
xor eax, eax
jmp 0x418baf
inc dword [0x4c967c]
mov dword [esi + 8], 0x10000
mov dword [0x4c9674], esi
mov eax, esi
mov dword [esi + 0xc], eax
cmp eax, edi
je 0x418b3a
mov edi, dword [esi + 4]
mov eax, ebx
and eax, 3
mov dword [0x4c9678], edi
je 0x418bcb
sub ebx, eax
add ebx, 4
mov eax, ebx
sub dword [esi + 8], eax
lea edx, [edi + eax]
mov dword [esi + 4], edx
test edi, edi
je 0x418b3a
cmp dword [esp + 0x2c], 0
je 0x418bf4
mov eax, dword [esp + 0x18]
push ebp
push eax
push edi
call fcn.00496240
add esp, 0xc
xor ecx, ecx
mov word [edi + ebp], cx
jmp 0x418c07
mov esi, dword [0x4c9674]
mov edi, 0x4a1868
cmp dword [0x4c9670], 0
jne 0x418c72
push 0x10
call fcn.0048fc97
mov esi, eax
add esp, 4
test esi, esi
je 0x418c46
push 0x10000
mov dword [esi + 0xc], 0
call fcn.0048df44
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
test eax, eax
jne 0x418c50
push esi
call fcn.0048fbd6
add esp, 4
mov esi, dword [0x4c9674]
xor eax, eax
jmp 0x418c65
inc dword [0x4c967c]
mov dword [esi + 8], 0x10000
mov dword [0x4c9674], esi
mov eax, esi
mov dword [0x4c9670], eax
test eax, eax
je 0x418d43
cmp dword [esi + 8], 0x14
jae 0x418cd4
push 0x10
call fcn.0048fc97
mov esi, eax
add esp, 4
test esi, esi
je 0x418cae
push 0x10000
mov dword [esi + 0xc], 0
call fcn.0048df44
add esp, 4
mov dword [esi + 4], eax
mov dword [esi], eax
test eax, eax
jne 0x418cb8
push esi
call fcn.0048fbd6
add esp, 4
mov esi, dword [0x4c9674]
xor eax, eax
jmp 0x418ccd
inc dword [0x4c967c]
mov dword [esi + 8], 0x10000
mov dword [0x4c9674], esi
mov eax, esi
mov dword [esi + 0xc], eax
test eax, eax
je 0x418d43
mov eax, dword [esi + 4]
add dword [esi + 8], 0xffffffec
lea edx, [eax + 0x14]
mov dword [0x4c9678], eax
mov dword [esi + 4], edx
test eax, eax
je 0x418d43
mov ecx, dword [esp + 0x1a504]
xor edx, edx
mov dword [eax], vtable.Label.0
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov ebx, dword [ecx + 0x14]
mov dword [eax + 0xc], ebx
mov esi, eax
cmp dword [ecx + 0x10], edx
je 0x418d15
mov ecx, dword [ecx + 0x14]
mov ebx, dword [esp + 0x1a504]
push str.OnClipboardChange
mov dword [ecx + 0x10], eax
push edi
mov dword [ebx + 0x14], eax
call fcn.0048deb9
add esp, 8
test eax, eax
jne case.0x418635.14
mov dword [ebx + 0xa88], esi
jmp case.0x418635.14
mov ecx, dword [esp + 0x1a504]
push 0x4a1868
push str.Out_of_memory.
jmp 0x418b0a
cmp word [ebx], 0x23
mov edi, dword [esp + 0x1a504]
jne 0x418d95
mov esi, dword [edi + 0x270]
push ebx
push edi
call fcn.00419780
test eax, eax
je 0x41876f
cmp eax, 3
jne 0x418d95
mov edx, dword [esp + 0xac]
mov dword [edi + 0x26c], edx
mov dword [edi + 0x270], esi
jmp case.0x418635.14
movzx eax, word [ebx]
cmp eax, 0x7b
je 0x418dc0
cmp eax, 0x7d
je 0x418dc0
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
mov ecx, edi
call fcn.0041af30
test eax, eax
je 0x41876f
jmp case.0x418635.14
cmp eax, 0x7b
push 0
setne al
push 0
add al, 0x73
movzx ecx, al
push 0
push ecx
push edi
call fcn.0041d4b0
test eax, eax
je 0x41876f
lea eax, [ebx + 2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x418df0
cmp ecx, 9
jne 0x418df5
add eax, 2
jmp 0x418de3
cmp word [eax], 0
mov dword [esp + 0x18], eax
jne 0x418f8c
mov bl, byte [esp + 0x1d]
test bl, bl
je case.0x418e2f.4
mov eax, dword [esp + 0xa4]
inc eax
mov dword [esp + 0xa4], eax
dec eax
cmp eax, 9
ja case.0x418e2f.4
movzx edx, byte [eax + 0x419594]
jmp dword [edx*4 + 0x419580]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x14c]
push eax
push str._s::
push ecx
call fcn.0048e2c3
add esp, 0xc
mov dword [esp + 0x20], eax
jmp 0x417f2c
mov edi, dword [esp + 0x18]
mov eax, 0x4a4228
mov edx, edi
sub edx, eax
xor ebp, ebp
jmp 0x418e70
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bp
jne 0x418e70
cmp byte [esp + 0x2b], 0
mov esi, dword [esp + 0x1a504]
push ebp
setne al
push 1
add al, 0xc1
lea edx, [esp + 0x20]
movzx ecx, al
push edx
push ecx
push esi
call fcn.0041d4b0
cmp byte [esp + 0x33], 0
je 0x418ee0
lea edx, [esp + 0x10c]
push edx
push str.if_not_GetKeyState___s__
push edi
call fcn.0048e2c3
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa4], 9
jmp 0x417f2c
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1a504]
xor ebp, ebp
mov ecx, 0x4a1868
cmp bl, 0x12
je 0x418ef4
cmp bl, 0xa3
jbe 0x418f14
cmp bl, 0xa5
ja 0x418f14
movzx eax, byte [esp + 0x35]
sub eax, 0x11
je 0x418f0f
sub eax, 0x91
je 0x418f0f
dec eax
jne 0x418f14
mov ecx, str.RCtrl_up
jmp 0x418f14
mov ecx, str.LCtrl_up
lea eax, [esp + 0x10c]
push eax
lea edx, [esp + 0xe0]
push edx
push ecx
push str.Blind_s_s_s_DownR
push edi
mov dword [esi + 0x630], ebp
call fcn.0048e2c3
add esp, 0x14
push ebp
push 1
lea eax, [esp + 0x20]
push eax
push 0x41
push esi
call fcn.0041d4b0
test eax, eax
je 0x419218
push ebp
push ebp
push ebp
push 0x67
push esi
call fcn.0041d4b0
lea ecx, [esp + 0x14c]
push ecx
push str._s_up::
push edi
mov dword [esi + 0x630], ebp
call fcn.0048e2c3
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0xa4], 2
jmp 0x417f2c
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x418f90
mov ebx, dword [esp + 0x1a504]
sub eax, edx
sar eax, 1
mov dword [esp + 0x20], eax
mov dword [ebx + 0x630], 0
jmp 0x4179cb
mov edi, dword [esp + 0x18]
mov eax, 0x4a4228
mov edx, edi
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x418fc6
cmp byte [esp + 0x2b], cl
mov esi, dword [esp + 0x1a504]
push 0
setne al
push 1
add al, 0xc1
lea edx, [esp + 0x20]
movzx ecx, al
push edx
push ecx
push esi
call fcn.0041d4b0
lea edx, [esp + 0x10c]
push edx
push str.Blind_s_Up
push edi
call fcn.0048e2c3
add esp, 0xc
push 0
push 1
lea eax, [esp + 0x20]
push eax
push 0x41
push esi
call fcn.0041d4b0
push 0
push 0
push 0
push 0x67
push esi
call fcn.0041d4b0
mov byte [esp + 0x1d], 0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x1a504]
lea edx, [esp + 0x859c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
cmp eax, edx
jne 0x419067
lea eax, [esp + 0x124e4]
mov dword [esp + 0x38], eax
jmp 0x417190
lea ecx, [esp + 0x859c]
mov dword [esp + 0x38], ecx
jmp 0x417190
mov ecx, dword [esp + 0x1a504]
push ebx
push str.Continuation_section_too_long.
call fcn.0042e960
lea ecx, [esp + 0x3c]
mov esi, eax
call fcn.00415860
mov eax, esi
jmp 0x419333
lea eax, [esp + 0x594]
push eax
push 0x4a6518
mov ecx, ebx
jmp 0x419084
cmp dword [ebx + 0x264], 0
mov eax, 0x4a6518
jne 0x4190bf
mov eax, str.Not_a_valid_method__class_or_property_definition.
lea ecx, [esp + 0x594]
push ecx
push eax
mov ecx, ebx
jmp 0x419084
lea edx, [esp + 0x594]
push edx
push str.Functions_cannot_contain_functions.
mov ecx, ebx
jmp 0x419084
mov edi, dword [esp + 0x18]
push edi
push str.Not_a_valid_property_getter_setter.
mov ecx, ebx
jmp 0x419084
push edi
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, ebx
jmp 0x419084
push ebx
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov ecx, dword [esp + 0x1a50c]
call fcn.0042e960
mov esi, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x3c], vtable.TextMem.0
test eax, eax
je 0x419131
cmp byte [esp + 0x78], 0
je 0x419129
push eax
call fcn.0048ec91
add esp, 4
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x3c], vtable.TextStream.0
test eax, eax
je 0x419094
push eax
call fcn.0048ec91
add esp, 4
mov eax, esi
jmp 0x419333
mov ecx, dword [esp + 0x18]
push ecx
mov dword [ebp + 0x630], eax
push str.IfWin_should_be_IfWin.
mov ecx, ebp
jmp 0x419102
mov eax, dword [esp + 0x70]
mov dword [esp + 0x3c], vtable.TextMem.0
cmp eax, esi
je 0x41918d
cmp byte [esp + 0x78], 0
je 0x419189
push eax
call fcn.0048ec91
add esp, 4
mov dword [esp + 0x70], esi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x3c], vtable.TextStream.0
cmp eax, esi
je 0x419331
push eax
call fcn.0048ec91
add esp, 4
jmp 0x419331
push ebx
push str.This_hotstring_is_missing_its_abbreviation.
mov ecx, ebp
jmp 0x419102
mov eax, dword [esp + 0x70]
mov dword [esp + 0x3c], vtable.TextMem.0
test eax, eax
je 0x418797
cmp byte [esp + 0x78], 0
je 0x4191e0
push eax
call fcn.0048ec91
add esp, 4
mov dword [esp + 0x70], esi
jmp 0x418797
push ebx
mov dword [ebp + 0x630], 0
push str.Duplicate_hotkey.
mov ecx, ebp
jmp 0x419102
push ebx
push str.Out_of_memory.
mov ecx, ebp
jmp 0x419102
push ebx
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x4190fb
mov eax, dword [esp + 0x70]
mov dword [esp + 0x3c], vtable.TextMem.0
cmp eax, ebp
je 0x41923c
cmp byte [esp + 0x78], 0
je 0x419238
push eax
call fcn.0048ec91
add esp, 4
mov dword [esp + 0x70], ebp
mov eax, dword [esp + 0x6c]
cmp eax, ebp
jmp 0x41879d
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1a504]
push edx
push 0x4a64b4
call fcn.0042e960
lea ecx, [esp + 0x3c]
mov esi, eax
call fcn.00415860
mov eax, esi
jmp 0x419333
cmp word [esp + 0x594], 0
je 0x4192e1
cmp dword [esp + 0x90], 0
mov eax, dword [esp + 0xa0]
mov esi, dword [ebp + 0x270]
mov dword [ebp + 0x270], eax
je 0x4192b8
cmp byte [esp + 0x1e], 0
mov eax, str.Missing___
jne 0x4192a8
mov eax, 0x4a6518
lea ecx, [esp + 0x594]
push ecx
push eax
mov ecx, ebp
jmp 0x419084
push 0
push 0
push 0
push 0
push 0
push 3
lea edx, [esp + 0x5ac]
push edx
mov ecx, ebp
call fcn.0041af30
test eax, eax
je 0x417a8c
mov dword [ebp + 0x270], esi
cmp dword [ebp + 0x48], 0
je 0x419301
cmp dword [esp + 0xac], 0
jne 0x419301
lea eax, [ebp + 0x60]
push eax
push str.Missing___
mov ecx, ebp
jmp 0x419084
inc dword [ebp + 0x270]
lea ecx, [esp + 0x3c]
call fcn.00415860
mov eax, 1
jmp 0x419333
fldz
sub esp, 8
fstp qword [esp]
push 0
push ebx
push 0
push str.Could_not_extract_script_from_EXE.
call fcn.00479350
add esp, 0x18
xor eax, eax
mov ecx, dword [esp + 0x1a4f4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1a4f0
ret 4