Function at 0x41cde0
Capabilities:
Get keyboard layout

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x6c
push 0xffffffffffffffff
push 0x4ace16
mov eax, dword fs:[0]
push eax
mov eax, 0x1a65c
mov dword fs:[0], esp
call fcn.004ab360
push ebx
push esi
push edi
mov edi, dword [ebp + 0x74]
mov ebx, ecx
mov dword [ebp + 0x64], ebx
test edi, edi
je 0x41ec23
cmp word [edi], 0
je 0x41ec23
mov eax, dword [0x4dd27c]
mov esi, dword [0x4dd294]
mov dword [ebp + 0x2c], eax
cmp eax, esi
jl 0x41ced5
cmp eax, 0xffff
jl 0x41ce64
push 0x4c602c
push str.Too_many_includes.
call fcn.004354a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x6c]
pop ebp
ret 0xc
test esi, esi
je 0x41ce79
add esi, esi
cmp esi, 0xffff
jle 0x41ce7e
mov esi, 0xffff
jmp 0x41ce7e
mov esi, 0x64
lea eax, [esi*4]
push eax
push dword [0x4dd280]
call fcn.00495d58
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x41cebf
push 0x4c602c
push str.Out_of_memory.
mov ecx, ebx
call fcn.004354a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x6c]
pop ebp
ret 0xc
mov eax, dword [0x4dd27c]
mov dword [0x4dd280], ecx
mov dword [0x4dd294], esi
mov dword [ebp + 0x2c], eax
jmp 0x41cedb
mov ecx, dword [0x4dd280]
test eax, eax
jne 0x41cf87
mov eax, dword [ebx + 0xac4]
mov dword [ecx], eax
xor eax, eax
lea ebx, [ebp - 0x12664]
mov word [ebp - 0xa660], ax
lea ecx, [ebp - 0x4c]
lea eax, [ebp - 0x1a668]
mov dword [ebp + 0x68], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x60], eax
call fcn.00403f80
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4c]
push dword [0x4db7a4]
push 0x30c
push edi
call fcn.00476110
test al, al
jne 0x41cff9
cmp byte [ebp + 0x7c], al
jne 0x41eb98
cmp dword [0x4dd27c], 0
mov ecx, str.Script
push edi
mov eax, str.Include
cmovle eax, ecx
push eax
push str._s_file___s__cannot_be_opened.
lea eax, [ebp - 0x71c]
push 0x204
push eax
call fcn.004782d0
mov ecx, dword [ebp + 0x64]
lea eax, [ebp - 0x71c]
add esp, 0x14
push 0x4c602c
push eax
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
lea eax, [ebp + 0x74]
push eax
lea eax, [ebp - 0x314]
push eax
push 0x104
push edi
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
cmp byte [ebp + 0x78], 0
jne 0x41ceeb
xor esi, esi
cmp dword [ebp + 0x2c], esi
jle 0x41ceeb
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
nop dword [eax]
lea eax, [ebp - 0x314]
push eax
mov eax, dword [0x4dd280]
push dword [eax + esi*4]
call ebx
test eax, eax
je 0x41cfe0
inc esi
cmp esi, dword [ebp + 0x2c]
jl 0x41cfc0
jmp 0x41ceeb
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x6c]
pop ebp
ret 0xc
mov esi, dword [ebp + 0x2c]
test esi, esi
jle 0x41d017
or edx, 0xffffffff
lea ecx, [ebp - 0x314]
call fcn.00475370
mov ecx, dword [0x4dd280]
mov dword [ecx + esi*4], eax
mov edi, dword [ebp + 0x64]
xor al, al
inc dword [0x4dd27c]
mov byte [ebp + 0x7b], al
xor eax, eax
mov word [ebp + 0x26], ax
mov word [ebp + 0x20], ax
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x4c]
push eax
push 0
push ecx
lea eax, [ebp - 0x12664]
mov dword [edi + 0x26c], esi
push eax
call fcn.0041ee50
push 2
mov esi, eax
mov dword [ebp + 0x54], eax
lea eax, [ebp - 0x12664]
push 0x4cb09c
push eax
call fcn.0049e48d
add esp, 0xc
test eax, eax
sete al
mov byte [ebp + 0x53], al
test al, al
je 0x41d080
xor eax, eax
xor esi, esi
mov word [ebp - 0x12664], ax
mov dword [ebp + 0x54], esi
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x18], eax
mov al, byte [ebp + 0x7b]
mov byte [ebp + 0x7f], al
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x40], eax
mov al, byte [ebp + 0x7b]
mov byte [ebp + 0x77], al
nop dword [eax + eax]
cmp esi, 0xffffffff
je 0x41eb0d
mov eax, dword [ebp + 0x10]
push 0xc
inc eax
mov dword [edi + 0x630], 0
push str.CommentFlag
push ebx
mov dword [edi + 0x270], eax
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x41d0e1
push ebx
mov ecx, edi
call fcn.0041f000
test eax, eax
je 0x41eb68
mov ecx, dword [ebp + 0x60]
xor ebx, ebx
mov byte [ebp], 0
nop word [eax + eax]
mov edi, dword [ebp + 0x68]
inc dword [ebp + 0x10]
lea eax, [ebp - 0x4c]
push eax
push ebx
push ecx
push ecx
call fcn.0041ee50
mov edx, eax
mov dword [ebp + 0x4c], edx
test edx, edx
je 0x41d1b8
cmp edx, 0xffffffff
je 0x41d1b8
test ebx, ebx
jne 0x41d1b8
push 2
push 0x4cb0c0
push dword [ebp + 0x60]
call fcn.0049e48d
mov ecx, dword [ebp + 0x60]
add esp, 0xc
test eax, eax
jne 0x41d18b
cmp byte [ebp + 0x53], al
jne 0x41d14c
cmp word [ecx + 4], 0x3a
jne 0x41d14c
cmp word [ecx + 6], 0x3a
je 0x41d195
mov eax, dword [ebp + 0x4c]
sub eax, 2
mov byte [ebp + 0x53], 0
mov dword [ebp + 0x4c], eax
lea eax, [eax*2 + 2]
push eax
lea eax, [ecx + 4]
push eax
push ecx
call fcn.00492730
mov edx, dword [ebp + 0x4c]
add esp, 0xc
mov ecx, dword [ebp + 0x60]
call fcn.00417d00
mov ecx, dword [ebp + 0x60]
mov dword [ebp + 0x4c], eax
cmp word [ecx], 0
je 0x41d0f3
jmp 0x41d195
cmp byte [ebp + 0x53], 0
jne 0x41d0f3
push 2
push 0x4cb09c
push ecx
call fcn.0049e48d
add esp, 0xc
test eax, eax
jne 0x41d1b5
mov ecx, dword [ebp + 0x60]
mov byte [ebp + 0x53], 1
jmp 0x41d0f3
mov edx, dword [ebp + 0x4c]
cmp byte [ebp + 0x53], 0
je 0x41d1cf
cmp edx, 0xffffffff
je 0x41d7dc
mov ecx, dword [ebp + 0x60]
jmp 0x41d0f3
test ebx, ebx
jne 0x41d626
mov ecx, dword [ebp + 0x60]
cmp edx, 0xffffffff
je 0x41d3d4
cmp word [ecx], 0x28
jne 0x41d3d4
cmp word [ecx + 2], 0x3a
lea esi, [ecx + 2]
je 0x41d3d1
cmp word [ecx + edx*2 - 2], 0x3a
je 0x41d3d1
mov al, byte [0x4db7d6]
mov ebx, 1
mov dword [ebp + 0x28], ebx
mov dword [ebp + 4], 0
mov byte [ebp + 0x4a], al
mov byte [ebp + 0x4b], bl
mov byte [ebp + 0x49], 0
mov byte [ebp + 0x48], 0
mov byte [ebp + 0x47], bl
mov dword [ebp - 0x88], 0xa
mov dword [ebp + 8], ebx
nop dword [eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x41d24d
cmp eax, 9
jne 0x41d252
add esi, 2
jmp 0x41d240
cmp word [esi], 0
je 0x41d3c5
nop dword [eax]
movzx eax, word [esi]
mov ebx, esi
test ax, ax
je 0x41d29d
nop word [eax + eax]
movzx edx, ax
mov ecx, 0x4c89b4
mov eax, 0x20
nop dword [eax]
cmp dx, ax
je 0x41d2b4
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x41d280
movzx eax, word [ebx + 2]
add ebx, 2
test ax, ax
jne 0x41d270
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41d2a2
sub ecx, edx
sar ecx, 1
lea ebx, [esi + ecx*2]
movzx edi, word [ebx]
xor eax, eax
push 4
push str.Join
push esi
mov word [ebx], ax
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x41d318
push 0xf
lea eax, [esi + 8]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0049ef24
xor eax, eax
lea ecx, [ebp - 0x88]
push 1
mov word [ebp - 0x6a], ax
call fcn.0047a660
lea edx, [ebp - 0x88]
add esp, 0x10
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x41d301
sub edx, ecx
sar edx, 1
mov dword [ebp + 8], edx
jmp 0x41d39e
push 5
push 0x4cb168
push esi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x41d337
cmp word [esi + 0xa], 0x30
setne byte [ebp + 0x4a]
jmp 0x41d39e
push 5
push str.RTrim
push esi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x41d356
cmp word [esi + 0xa], 0x30
setne byte [ebp + 0x4b]
jmp 0x41d39e
movzx eax, word [esi]
test ax, ax
je 0x41d39e
nop
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x41d372.38
movzx eax, byte [eax + 0x41ec54]
jmp dword [eax*4 + 0x41ec3c]
mov byte [ebp + 0x49], 1
jmp case.0x41d372.38
mov byte [ebp + 0x48], 1
jmp case.0x41d372.38
mov byte [ebp + 0x47], 0
jmp case.0x41d372.38
mov dword [ebp + 0x28], 2
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x41d360
mov word [ebx], di
mov esi, ebx
movzx eax, word [esi]
cmp eax, 0x20
je 0x41d3b0
cmp eax, 9
jne 0x41d3b5
add esi, 2
jmp 0x41d3a3
cmp word [esi], 0
jne 0x41d260
mov ebx, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x60]
mov esi, dword [ebp + 0x54]
mov byte [ebp], 1
jmp 0x41d0f0
mov esi, dword [ebp + 0x54]
xor ebx, ebx
cmp edx, 0xffffffff
je 0x41d7dc
test edx, edx
je 0x41d0f3
mov edi, dword [ebp + 0x60]
cmp word [edi + edx*2 - 2], 0x3a
jne 0x41d3fc
cmp word [edi], 0x2c
jne 0x41d7dc
movzx esi, word [edi]
test esi, 0xffffff80
jne 0x41d419
push 2
push esi
call fcn.00498ea3
add esp, 8
test eax, eax
je 0x41d419
and esi, 0xffffffdf
movzx eax, si
cmp eax, 0x41
je 0x41d609
cmp eax, 0x4f
je 0x41d5bf
movzx eax, word [edi]
cmp eax, 0x3a
je 0x41d440
cmp eax, 0x2b
je 0x41d440
cmp eax, 0x2d
jne 0x41d44a
cmp word [edi + 2], ax
je 0x41d7dc
push eax
push str.____:.___
call fcn.00492ca4
add esp, 8
test eax, eax
je 0x41d7dc
push 0x4cb108
push edi
call fcn.004930fb
mov edi, eax
add esp, 8
test edi, edi
je 0x41d570
mov ecx, dword [ebp + 0x60]
cmp word [ecx], 0x3a
jne 0x41d4d6
lea esi, [ecx + 2]
movzx ecx, word [esi]
test cx, cx
je 0x41d4c9
nop dword [eax]
cmp cx, 0x3a
je 0x41d7dc
mov edx, 0x107
call fcn.004053ca
test eax, eax
jne 0x41d4bd
movzx eax, word [esi]
push eax
push str.____t
call fcn.00492ca4
add esp, 8
test eax, eax
je 0x41d4d3
movzx ecx, word [esi + 2]
add esi, 2
test cx, cx
jne 0x41d490
cmp word [esi], 0x3a
je 0x41d7dc
mov ecx, dword [ebp + 0x60]
cmp word [ecx], 0x2c
jne 0x41d51e
mov edi, dword [ebp + 0x60]
lea ecx, [edi + 2]
call fcn.0040e490
push 2
mov esi, eax
push 0x4cb108
push esi
call fcn.0049e48d
add esp, 0xc
test eax, eax
je 0x41d7dc
push 3
lea eax, [esi - 2]
push 0x4c89a4
push eax
call fcn.0049e48d
add esp, 0xc
test eax, eax
je 0x41d7dc
jmp 0x41d573
mov eax, ecx
cmp ecx, edi
jae 0x41d531
cmp word [eax], 0x22
je 0x41d531
add eax, 2
cmp eax, edi
jb 0x41d524
cmp eax, edi
je 0x41d7dc
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
test ax, ax
je 0x41d7dc
nop dword [eax]
cmp ax, 0x22
je 0x41d567
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x41d550
jmp 0x41d7dc
cmp word [ecx], bx
je 0x41d7dc
mov edi, dword [ebp + 0x60]
mov esi, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x4c]
lea eax, [ecx + esi]
cmp eax, 0x4000
jae 0x41e9d6
cmp word [edi], 0x2c
mov edi, dword [ebp + 0x68]
je 0x41d59a
mov eax, 0x20
mov word [edi + esi*2], ax
inc esi
lea eax, [ecx*2 + 2]
push eax
push dword [ebp + 0x60]
lea eax, [edi + esi*2]
push eax
call fcn.004ab450
mov ecx, dword [ebp + 0x60]
add esp, 0xc
add esi, dword [ebp + 0x4c]
mov dword [ebp + 0x54], esi
jmp 0x41d0f3
mov cx, word [edi + 2]
call fcn.0040e460
cmp ax, 0x52
jne 0x41d7dc
lea ecx, [edi + 4]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x41d5e6
cmp eax, 9
jne 0x41d7dc
call fcn.0040e490
movzx eax, word [eax]
push eax
push str.____:
call fcn.00492ca4
add esp, 8
test eax, eax
jne 0x41d7dc
jmp 0x41d573
push 3
push 0x4cb0c8
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x41d7dc
lea ecx, [edi + 6]
jmp 0x41d5d5
cmp edx, 0xffffffff
je 0x41eaf8
mov ecx, dword [ebp + 0x60]
cmp edx, 0xfffffffe
je 0x41d0f3
mov eax, ecx
cmp word [eax], 0x29
jne 0x41d65b
or edx, 0xffffffff
lea edi, [eax + 2]
xor ebx, ebx
call fcn.00417d60
lea ecx, [eax - 1]
mov dword [ebp + 0x4c], ecx
jmp 0x41d76a
cmp byte [ebp + 0x4b], 0
mov edi, eax
je 0x41d672
mov ecx, eax
call fcn.00417d60
mov edx, eax
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x4c], edx
cmp byte [ebp + 0x4a], 0
je 0x41d682
mov ecx, eax
call fcn.00417d00
mov dword [ebp + 0x4c], eax
xor esi, esi
cmp byte [ebp + 0x49], 0
je 0x41d6bb
mov ax, word [0x4d9ba0]
lea edx, [ebp + 0x24]
mov ecx, dword [ebp + 0x60]
push esi
push esi
push 0x4001
push 0xffffffffffffffff
mov word [ebp + 0x24], ax
mov word [ebp + 0x1c], ax
mov word [ebp + 0x1e], ax
lea eax, [ebp + 0x1c]
push 1
push eax
call fcn.00478ae0
add esp, 0x18
mov esi, eax
cmp byte [ebp + 0x48], 0
je 0x41d6fc
mov dx, word [0x4d9ba4]
lea eax, [ebp + 0x1c]
mov cx, word [0x4d9ba0]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov word [ebp + 0x24], dx
mov word [ebp + 0x1c], cx
mov ecx, dword [ebp + 0x60]
mov word [ebp + 0x1e], dx
lea edx, [ebp + 0x24]
push 1
push eax
call fcn.00478ae0
add esp, 0x18
add esi, eax
cmp byte [ebp + 0x47], 0
je 0x41d73c
mov ax, word [0x4d9ba0]
lea edx, [ebp + 0x24]
mov cx, word [0x4d9ba8]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov word [ebp + 0x1c], ax
lea eax, [ebp + 0x1c]
mov word [ebp + 0x24], cx
mov word [ebp + 0x1e], cx
mov ecx, dword [ebp + 0x60]
push 1
push eax
call fcn.00478ae0
add esp, 0x18
add esi, eax
test esi, esi
je 0x41d767
mov edx, dword [ebp + 0x60]
mov esi, edx
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x41d750
sub esi, ecx
sar esi, 1
mov dword [ebp + 0x4c], esi
mov esi, dword [ebp + 0x54]
jmp 0x41d76d
mov esi, dword [ebp + 0x54]
mov edx, dword [ebp + 0x60]
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 8]
add eax, ecx
add eax, esi
cmp eax, 0x4001
jae 0x41e9d6
mov eax, dword [ebp + 4]
inc eax
mov dword [ebp + 4], eax
cmp eax, 1
jle 0x41d7ba
test ecx, ecx
je 0x41d7ba
cmp edi, edx
jne 0x41d7ba
lea eax, [ecx*2 + 2]
mov ecx, dword [ebp + 0x68]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ecx + esi*2]
push eax
call fcn.004ab450
add esp, 0xc
add esi, dword [ebp + 8]
mov dword [ebp + 0x54], esi
mov eax, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x60]
test eax, eax
je 0x41d0f0
lea eax, [eax*2 + 2]
push eax
push edi
mov edi, dword [ebp + 0x68]
jmp 0x41d5a5
mov word [ebx], di
mov edx, dword [ebp + 0x54]
mov edi, dword [ebp + 0x68]
mov ebx, dword [ebp + 0x64]
test edx, edx
je 0x41dd17
cmp word [ebp - 0xa660], 0
je 0x41d96e
mov esi, dword [ebx + 0x270]
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0x270], eax
cmp word [edi], 0x7b
je 0x41d857
cmp byte [ebp + 0x5f], 0
jne 0x41d857
cmp dword [ebp + 0x30], 0
jne 0x41ea15
cmp dword [ebx + 0x48], 0
je 0x41d838
mov eax, dword [0x4d89c0]
cmp dword [eax + 0xb4], 0
je 0x41e9eb
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [ebp - 0xa660]
mov ecx, ebx
push eax
call fcn.004204e0
jmp 0x41d8f6
mov eax, dword [ebp + 0x30]
sub eax, 0
je 0x41d8b2
sub eax, 1
je 0x41d891
sub eax, 1
jne 0x41d908
lea eax, [ebp - 0xa660]
mov ecx, ebx
push eax
call fcn.00426860
test eax, eax
je 0x41eb68
xor eax, eax
mov word [ebp - 0xa660], ax
jmp 0x41d916
lea eax, [ebp - 0xa660]
mov ecx, ebx
push eax
call fcn.00426360
test eax, eax
je 0x41eb68
xor eax, eax
mov word [ebp - 0xa660], ax
jmp 0x41d916
mov eax, dword [0x4d89c0]
mov ecx, ebx
cmp dword [eax + 0xb4], 0
jne 0x41ea2f
lea eax, [ebp - 0x265c]
push eax
lea eax, [ebp - 0xa660]
push eax
call fcn.00425a90
test eax, eax
je 0x41eb68
cmp byte [ebp + 0x5f], 0
je 0x41d908
push 0
push 0
push 0
push 0x73
mov ecx, ebx
call fcn.004225a0
test eax, eax
je 0x41eb68
mov dword [ebx + 0x630], 0
xor eax, eax
mov word [ebp - 0xa660], ax
cmp dword [ebp + 0x30], eax
je 0x41d968
cmp byte [ebp + 0x5f], 0
jne 0x41d968
lea ecx, [edi + 2]
nop
movzx eax, word [ecx]
cmp eax, 0x20
je 0x41d92d
cmp eax, 9
jne 0x41d932
add ecx, 2
jmp 0x41d920
cmp word [ecx], 0
je 0x41dd11
mov ebx, ecx
lea edx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x41d941
sub ebx, edx
sar ebx, 1
mov dword [ebp + 0x54], ebx
lea eax, [ebx*2 + 2]
push eax
push ecx
push edi
call fcn.00492730
mov ebx, dword [ebp + 0x64]
add esp, 0xc
mov dword [ebx + 0x270], esi
cmp word [edi], 0x7d
jne 0x41da51
mov ecx, dword [ebx + 0x48]
test ecx, ecx
je 0x41da51
mov eax, dword [0x4d89c0]
cmp dword [eax + 0xb4], 0
jne 0x41da51
cmp dword [ebx + 0x264], 0
je 0x41d9c7
mov eax, dword [ebx + 0x268]
mov dword [ebx + 0x264], 0
test eax, eax
je 0x41d9ff
push eax
call fcn.00495d53
add esp, 4
mov dword [ebx + 0x268], 0
jmp 0x41d9ff
dec ecx
mov dword [ebx + 0x48], ecx
mov ecx, dword [ebx + ecx*4 + 0x4c]
call fcn.00471570
mov eax, dword [ebx + 0x48]
mov eax, dword [ebx + eax*4 + 0x4c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea esi, [ebx + 0x60]
push 0x2e
push esi
call fcn.00492647
add esp, 8
test eax, eax
je 0x41d9fa
xor ecx, ecx
mov word [eax], cx
jmp 0x41d9ff
xor eax, eax
mov word [esi], ax
add edi, 2
mov dword [ebp + 0x68], edi
movzx eax, word [edi]
cmp eax, 0x20
je 0x41da12
cmp eax, 9
jne 0x41da17
add edi, 2
jmp 0x41da05
cmp word [edi], 0
mov dword [ebp + 0x68], edi
mov dword [ebp + 0x34], edi
je 0x41dd17
mov edx, edi
lea ecx, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x41da30
sub edx, ecx
mov dword [ebx + 0x630], 0
sar edx, 1
mov dword [ebp + 0x54], edx
jmp 0x41d7e5
cmp dword [ebx + 0x264], 0
je 0x41db25
mov eax, dword [0x4d89c0]
cmp dword [eax + 0xb4], 0
jne 0x41db25
push 3
push 0x4cb25c
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
je 0x41da9c
push 3
push 0x4cb264
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x41ea47
lea esi, [edi + 6]
nop
movzx eax, word [esi]
cmp eax, 0x20
je 0x41daad
cmp eax, 9
jne 0x41dab2
add esi, 2
jmp 0x41daa0
movzx eax, word [esi]
test ax, ax
je 0x41dace
cmp eax, 0x7b
jne 0x41ea47
cmp word [esi + 2], 0
jne 0x41ea47
mov ecx, dword [ebx + 0x268]
lea edx, [ebp - 0xa660]
sub edx, ecx
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x41dae0
lea eax, [ebp - 0xa660]
push 0x2e
push eax
call fcn.00492ca4
mov cx, word [edi]
add esp, 8
mov dword [ebp + 0x30], 0
mov word [eax + 2], cx
cmp word [esi], 0x7b
mov eax, dword [ebx + 0x270]
mov dword [ebp + 0x14], eax
sete byte [ebp + 0x5f]
jmp 0x41dd17
lea edx, [ebp + 0x5f]
mov ecx, edi
call fcn.0041cc80
test al, al
je 0x41db65
lea edx, [ebp - 0xa660]
mov ecx, edi
sub edx, edi
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x41db40
mov eax, dword [ebx + 0x270]
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x30], 0
jmp 0x41dd17
mov eax, dword [0x4d89c0]
cmp dword [eax + 0xb4], 0
jne 0x41de55
lea edx, [ebp + 0x5f]
mov ecx, edi
call fcn.0041cd40
mov ecx, eax
test ecx, ecx
je 0x41dbb5
lea edx, [ebp - 0xa660]
sub edx, ecx
nop
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x41db90
mov eax, dword [ebx + 0x270]
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x30], 1
jmp 0x41dd17
cmp dword [ebx + 0x48], 0
je 0x41de55
mov esi, edi
movzx eax, word [esi]
test eax, 0xffffff80
jne 0x41dbdd
push 0x107
push eax
call fcn.00498ea3
add esp, 8
test eax, eax
jne 0x41dbef
movzx eax, word [esi]
cmp eax, 0x5f
je 0x41dbef
cmp eax, 0x7f
ja 0x41dbef
cmp eax, 0x2e
jne 0x41dbf4
add esi, 2
jmp 0x41dbc1
cmp esi, edi
jbe 0x41dca6
nop dword [eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x41dc0d
cmp eax, 9
jne 0x41dc12
add esi, 2
jmp 0x41dc00
movzx eax, word [esi]
cmp eax, 0x3a
jne 0x41dc38
cmp word [esi + 2], 0x3d
jne 0x41dc38
push 0
push edi
mov ecx, ebx
call fcn.00426a10
test eax, eax
je 0x41eb68
jmp 0x41dd17
test ax, ax
je 0x41dc4e
cmp eax, 0x5b
je 0x41dc4e
cmp eax, 0x7b
jne 0x41dca6
cmp word [esi + 2], 0
jne 0x41dca6
mov edx, edi
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x41dc53
sub edx, ecx
sar edx, 1
cmp word [edi + edx*2 - 2], 0x7b
sete al
mov byte [ebp + 0x5f], al
test al, al
je 0x41dc7a
dec edx
mov ecx, edi
call fcn.00417d60
lea edx, [ebp - 0xa660]
mov ecx, edi
sub edx, edi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x41dc84
mov eax, dword [ebx + 0x270]
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x30], 2
jmp 0x41dd17
push 6
push str.Static
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x41dcdf
movzx eax, word [edi + 0xc]
cmp eax, 0x20
je 0x41dcc8
cmp eax, 9
jne 0x41dcdf
push 1
lea eax, [edi + 0xe]
mov ecx, ebx
push eax
call fcn.00426a10
test eax, eax
je 0x41eb68
jmp 0x41dd17
cmp word [edi], 0x23
jne 0x41ea5b
mov esi, dword [ebx + 0x270]
mov ecx, ebx
push edi
call fcn.0041f000
test eax, eax
je 0x41eb68
cmp eax, 3
jne 0x41ea5b
mov eax, dword [ebp + 0x2c]
mov dword [ebx + 0x26c], eax
mov dword [ebx + 0x270], esi
mov esi, dword [ebp + 0x58]
mov dl, byte [ebp + 0x7b]
mov eax, esi
test dl, dl
je case.0x41dd3b.3
inc esi
mov dword [ebp + 0x58], esi
cmp eax, 9
ja case.0x41dd3b.3
movzx eax, byte [eax + 0x41eca8]
jmp dword [eax*4 + 0x41ec94]
lea eax, [ebp - 0x10c]
push eax
push str._s::
push edi
call fcn.00404b00
jmp 0x41de4f
mov eax, dword [0x4cb51c]
mov ecx, ebx
cmp byte [ebp + 0x52], 0
mov dword [edi], eax
mov ax, word [0x4cb520]
mov word [edi + 4], ax
lea eax, [ebp + 0x34]
push 0
push 1
push eax
setne al
add al, 0xc1
movzx eax, al
push eax
call fcn.004225a0
cmp byte [ebp + 0x45], 0
je 0x41ddaa
lea eax, [ebp - 0xcc]
push eax
push str.if_not_GetKeyState___s__
push edi
call fcn.00404b00
mov dword [ebp + 0x58], 9
jmp 0x41de4f
mov dl, byte [ebp + 0x7b]
mov ecx, 0x4c602c
cmp dl, 0x12
je 0x41ddbf
mov al, dl
add al, 0x5c
cmp al, 1
ja 0x41dde0
movzx eax, byte [ebp + 0x46]
sub eax, 0x11
je 0x41dddb
sub eax, 0x91
je 0x41dddb
sub eax, 1
jne 0x41dde0
mov ecx, str.RCtrl_up
jmp 0x41dde0
mov ecx, str.LCtrl_up
lea eax, [ebp - 0xcc]
mov dword [ebx + 0x630], 0
push eax
lea eax, [ebp - 0x60]
push eax
push ecx
push str.Blind_s_s_s_DownR
push edi
call fcn.00404b00
add esp, 0x14
lea eax, [ebp + 0x34]
mov ecx, ebx
push 0
push 1
push eax
push 0x41
call fcn.004225a0
test eax, eax
je 0x41eb68
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.004225a0
lea eax, [ebp - 0x10c]
mov dword [ebx + 0x630], 0
push eax
push str._s_up::
push edi
call fcn.00404b00
mov dword [ebp + 0x58], 2
add esp, 0xc
mov dword [ebp + 0x54], eax
xor eax, eax
xor ebx, ebx
cmp word [edi], 0x3a
mov dword [ebp + 0x38], eax
mov dword [ebp + 0xc], eax
jne 0x41def3
movzx eax, word [edi + 2]
test ax, ax
je 0x41def3
cmp eax, 0x3a
je 0x41de9a
lea esi, [edi + 2]
push 0x3a
push esi
mov dword [ebp + 0xc], esi
call fcn.00492ca4
mov edi, eax
add esp, 8
test edi, edi
je 0x41deeb
add edi, 2
mov dword [ebp + 0x38], edi
jmp 0x41dea8
cmp word [edi + 4], bx
lea eax, [edi + 4]
je 0x41def3
mov edi, eax
mov dword [ebp + 0x38], eax
test edi, edi
je 0x41def0
mov esi, edi
nop
movzx eax, word [esi]
test ax, ax
je 0x41dee3
nop dword [eax + eax]
cmp ax, word [0x4d9ba0]
je 0x41df56
cmp ax, 0x3a
je 0x41df56
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x41dec0
test ebx, ebx
jne 0x41e031
xor eax, eax
mov dword [ebp + 0x38], eax
mov edi, dword [ebp + 0x68]
push 0x4cb108
push edi
call fcn.004930fb
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x41e790
cmp ebx, edi
jne 0x41df19
cmp word [ebx + 4], 0x3a
jne 0x41df19
add ebx, 2
mov esi, ebx
cmp ebx, edi
jbe 0x41df34
nop
movzx eax, word [esi]
cmp eax, 0x20
je 0x41df2d
cmp eax, 9
jne 0x41df34
sub esi, 2
cmp esi, edi
ja 0x41df20
movzx edi, word [esi]
xor eax, eax
mov ecx, dword [ebp + 0x68]
mov word [esi], ax
nop
movzx eax, word [ecx]
cmp eax, 0x20
je 0x41df51
cmp eax, 9
jne 0x41e006
add ecx, 2
jmp 0x41df40
movzx eax, word [esi]
test ax, ax
je 0x41dee3
lea edi, [esi + 2]
cmp eax, 0x3a
jne 0x41df7b
cmp word [edi], ax
jne 0x41dffe
mov ebx, esi
mov esi, edi
add esi, 2
jmp 0x41deb0
movzx eax, word [edi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x41df8d.99
movzx eax, byte [eax + 0x41ecd4]
jmp dword [eax*4 + 0x41ecb4]
mov eax, 7
jmp 0x41dfc3
mov eax, 8
jmp 0x41dfc3
mov eax, 0xc
jmp 0x41dfc3
mov eax, 0xa
jmp 0x41dfc3
mov eax, 0xd
jmp 0x41dfc3
mov eax, 9
jmp 0x41dfc3
mov eax, 0xb
mov word [edi], ax
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41dfd0
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edi
push esi
call fcn.00492730
add esp, 0xc
cmp word [esi], 0x3a
jne 0x41dffe
cmp word [edi], 0x3a
cmove esi, edi
add esi, 2
jmp 0x41deb0
push 0
xor edx, edx
call fcn.00410690
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
je 0x41e024
cmp eax, 4
je 0x41eb68
jmp 0x41e026
xor ebx, ebx
mov word [esi], di
test ebx, ebx
je 0x41e78d
mov edi, dword [ebp + 0x68]
cmp ebx, edi
jbe 0x41e790
mov eax, dword [0x4d89c0]
mov ecx, dword [ebp + 0x64]
cmp dword [eax + 0xb4], 0
jne 0x41ead1
mov eax, dword [ecx + 4]
test eax, eax
je 0x41e061
cmp byte [eax], 0x1a
je 0x41ea6f
mov edi, dword [ebp + 0x38]
xor eax, eax
mov word [ebx], ax
add ebx, 4
mov dword [ebp + 0x54], ebx
test edi, edi
jne 0x41e202
cmp word [ebx], ax
je 0x41e0c1
mov edx, ebx
nop
movzx eax, word [edx]
cmp eax, 0x20
je 0x41e08d
cmp eax, 9
jne 0x41e092
add edx, 2
jmp 0x41e080
mov eax, edx
sub eax, ebx
sar eax, 1
je 0x41e0c1
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41e0a0
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push ebx
call fcn.00492730
add esp, 0xc
cmp word [ebx], 0
mov dword [ebp + 0x28], ebx
je 0x41e202
movzx eax, word [ebx + 2]
test ax, ax
je 0x41e2dc
mov edi, dword [ebp + 0x18]
xor cl, cl
xor dl, dl
cmp ax, 0x20
je case.0x41e102.34
movzx eax, word [ebx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x41e102.34
movzx eax, byte [eax + 0x41ed0c]
jmp dword [eax*4 + 0x41ecec]
mov dl, 1
jmp case.0x41e102.36
mov cl, 1
jmp case.0x41e102.36
test dl, dl
jne 0x41e127
test cl, cl
jne 0x41e12b
or edi, 1
jmp case.0x41e102.36
test cl, cl
je 0x41e137
mov al, byte [ebp + 0x7f]
or al, 4
xor cl, cl
mov byte [ebp + 0x7f], al
jmp 0x41e13a
mov al, byte [ebp + 0x7f]
test dl, dl
je case.0x41e102.36
or al, 8
jmp 0x41e1bc
test dl, dl
jne 0x41e153
test cl, cl
jne 0x41e157
or edi, 2
jmp case.0x41e102.36
test cl, cl
je 0x41e163
mov al, byte [ebp + 0x7f]
or al, 1
xor cl, cl
mov byte [ebp + 0x7f], al
jmp 0x41e166
mov al, byte [ebp + 0x7f]
test dl, dl
je case.0x41e102.36
or al, 2
jmp 0x41e1bc
test dl, dl
jne 0x41e17b
test cl, cl
jne 0x41e17f
or edi, 4
jmp case.0x41e102.36
test cl, cl
je 0x41e18b
mov al, byte [ebp + 0x7f]
or al, 0x10
xor cl, cl
mov byte [ebp + 0x7f], al
jmp 0x41e18e
mov al, byte [ebp + 0x7f]
test dl, dl
je case.0x41e102.36
or al, 0x20
jmp 0x41e1bc
test dl, dl
jne 0x41e1a3
test cl, cl
jne 0x41e1a7
or edi, 8
jmp case.0x41e102.36
test cl, cl
je 0x41e1b3
mov al, byte [ebp + 0x7f]
or al, 0x40
xor cl, cl
mov byte [ebp + 0x7f], al
jmp 0x41e1b6
mov al, byte [ebp + 0x7f]
test dl, dl
je case.0x41e102.36
or al, 0x80
xor dl, dl
mov byte [ebp + 0x7f], al
movzx eax, word [ebx + 4]
add ebx, 2
test ax, ax
jne 0x41e0e2
push 0
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x28], ebx
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ecx
push 0
xor edx, edx
mov ecx, ebx
call fcn.00416d70
mov edi, dword [ebp + 0x38]
mov bh, al
add esp, 0xc
mov byte [ebp + 0x7b], bh
test bh, bh
jne 0x41e2e2
mov ebx, dword [ebp + 0x54]
mov esi, dword [ebp + 0x64]
cmp byte [esi + 0x274], 0
je 0x41e239
push 0
push 0xff
push 0
push 0x67
mov ecx, esi
mov byte [esi + 0x274], 0
call fcn.004225a0
test eax, eax
je 0x41eb68
mov dword [esi + 0x630], 0
mov esi, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x64]
push 1
push esi
call fcn.004203f0
test eax, eax
je 0x41eb68
test edi, edi
je 0x41e584
cmp word [edi], 0
je 0x41ea87
mov esi, dword [ebp + 0x64]
mov edx, 0x4c602c
mov eax, dword [ebp + 0xc]
test eax, eax
push 0
push dword [ebp]
mov ecx, dword [esi + 0x14]
cmovne edx, eax
push ebx
push edi
push ecx
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx + 4]
call fcn.00411620
add esp, 0x14
test eax, eax
je 0x41eb68
cmp word [ebx], 0
je 0x41e6bb
mov ecx, dword [0x4dc25c]
mov eax, dword [0x4dc260]
mov eax, dword [ecx + eax*4 - 4]
cmp byte [eax + 0x2d], 0
je 0x41e563
push 0
push 0
push 0
push 0
push 0
push 0
push ebx
mov ebx, esi
mov ecx, ebx
call fcn.004204e0
test eax, eax
je 0x41eb68
jmp 0x41e565
or bh, 0xff
mov byte [ebp + 0x7b], bh
mov eax, dword [ebp + 0x68]
mov esi, eax
cmp word [eax], 0
je 0x41e3e0
lea edi, [eax + 2]
xor cl, cl
movzx eax, word [edi]
xor dl, dl
test ax, ax
je 0x41e3dd
mov bh, byte [ebp + 0x77]
nop word [eax + eax]
cmp ax, 0x20
je case.0x41e330.34
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x41e330.34
movzx eax, byte [eax + 0x41ed8c]
jmp dword [eax*4 + 0x41ed6c]
mov dl, 1
jmp case.0x41e330.36
mov cl, 1
jmp case.0x41e330.36
test dl, dl
jne 0x41e353
test cl, cl
jne 0x41e357
or dword [ebp + 0x40], 1
jmp case.0x41e330.36
test cl, cl
je 0x41e35c
or bh, 4
xor cl, cl
test dl, dl
je case.0x41e330.36
or bh, 8
jmp 0x41e3c3
test dl, dl
jne 0x41e373
test cl, cl
jne 0x41e377
or dword [ebp + 0x40], 2
jmp case.0x41e330.36
test cl, cl
je 0x41e37c
or bh, 1
xor cl, cl
test dl, dl
je case.0x41e330.36
or bh, 2
jmp 0x41e3c3
test dl, dl
jne 0x41e393
test cl, cl
jne 0x41e397
or dword [ebp + 0x40], 4
jmp case.0x41e330.36
test cl, cl
je 0x41e39c
or bh, 0x10
xor cl, cl
test dl, dl
je case.0x41e330.36
or bh, 0x20
jmp 0x41e3c3
test dl, dl
jne 0x41e3b3
test cl, cl
jne 0x41e3b7
or dword [ebp + 0x40], 8
jmp case.0x41e330.36
test cl, cl
je 0x41e3bc
or bh, 0x40
xor cl, cl
test dl, dl
je case.0x41e330.36
or bh, 0x80
xor dl, dl
mov esi, edi
movzx eax, word [esi + 2]
lea edi, [esi + 2]
test ax, ax
jne 0x41e310
mov byte [ebp + 0x77], bh
mov bh, byte [ebp + 0x7b]
mov edi, dword [ebp + 0x38]
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ecx
push 0
xor edx, edx
mov ecx, esi
call fcn.00416d70
push 0x4c89a4
push esi
mov byte [ebp + 0x46], al
call fcn.004930fb
add esp, 0x14
test eax, eax
mov al, byte [ebp + 0x46]
setne bl
lea ecx, [eax - 1]
cmp cl, 5
ja 0x41e41a
cmp al, 3
jne 0x41e420
add al, 0x66
cmp al, 5
ja 0x41e424
mov cl, 1
jmp 0x41e426
xor cl, cl
mov al, bh
sub al, 1
cmp al, 5
ja 0x41e433
cmp bh, 3
jne 0x41e43b
mov al, bh
add al, 0x66
cmp al, 5
ja 0x41e43f
mov al, 1
jmp 0x41e441
xor al, al
mov byte [ebp + 0x52], al
test cl, cl
jne 0x41e450
mov byte [ebp + 0x45], 1
test al, al
jne 0x41e454
mov byte [ebp + 0x45], 0
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41e460
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x41e487
movzx eax, word [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
mov eax, 0x4cb354
jne 0x41e48c
mov eax, 0x4c602c
mov ecx, dword [ebp + 0x68]
test bl, bl
push ecx
push eax
mov ecx, 0x4caf98
mov eax, 0x4c602c
cmove eax, ecx
push eax
push 0x4cb358
lea eax, [ebp - 0x10c]
push 0x20
push eax
call fcn.004782d0
mov ebx, dword [ebp + 0x28]
lea eax, [ebp - 0xcc]
push 0x1f
push ebx
push eax
call fcn.0049ef24
mov esi, dword [ebp + 0x54]
xor eax, eax
push 7
mov word [ebp - 0x8e], ax
lea eax, [ebp - 0x60]
push esi
push eax
call fcn.0049ef24
sub ebx, esi
xor eax, eax
sar ebx, 1
add esp, 0x30
mov word [ebp - 0x52], ax
cmp ebx, 8
jae 0x41e4f5
mov word [ebp + ebx*2 - 0x60], ax
xor esi, esi
mov dword [ebp + 0x58], esi
cmp word [ebp - 0x60], si
jne 0x41e533
mov dl, byte [ebp + 0x7b]
movzx eax, dl
add eax, 0xfffffff3
cmp eax, 0x52
ja case.0x41e519.14
movzx eax, byte [eax + 0x41edfc]
jmp dword [eax*4 + 0x41edec]
mov ebx, dword [ebp + 0x54]
mov edx, 0x4c8e64
mov ecx, ebx
call fcn.004053e1
test eax, eax
jne 0x41e559
mov edi, dword [ebp + 0x68]
mov ebx, dword [ebp + 0x64]
jmp 0x41dd1a
lea eax, [ebp - 0xcc]
push str.Return
push eax
call fcn.0049466a
add esp, 8
test eax, eax
jne 0x41e533
mov ebx, dword [ebp + 0x54]
xor al, al
mov byte [ebp + 0x7b], al
jmp 0x41e202
mov ebx, esi
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.004225a0
test eax, eax
je 0x41eb68
mov edi, dword [ebp + 0x68]
jmp 0x41dd17
xor esi, esi
cmp word [ebx], si
je 0x41e640
push str.AltTab
push ebx
call fcn.0049466a
add esp, 8
test eax, eax
jne 0x41e5ab
mov esi, 0x3ffe
jmp 0x41e628
push str.ShiftAltTab
push ebx
call fcn.0049466a
add esp, 8
test eax, eax
jne 0x41e5c4
mov esi, 0x3ffd
jmp 0x41e628
push str.AltTabMenu
push ebx
call fcn.0049466a
add esp, 8
test eax, eax
jne 0x41e5dd
mov esi, 0x3ffc
jmp 0x41e628
push str.AltTabAndMenu
push ebx
call fcn.0049466a
add esp, 8
test eax, eax
jne 0x41e5f6
mov esi, 0x3ffb
jmp 0x41e628
push str.AltTabMenuDismiss
push ebx
call fcn.0049466a
add esp, 8
test eax, eax
jne 0x41e60f
mov esi, 0x3ffa
jmp 0x41e628
mov ecx, dword [ebp + 0x64]
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push ebx
call fcn.004204e0
test eax, eax
je 0x41eb68
mov ecx, dword [ebp + 0x64]
push 0
push 0
push 0
push 0x67
call fcn.004225a0
test eax, eax
je 0x41eb68
mov ebx, dword [ebp + 0x68]
lea eax, [ebp + 0x3f]
push eax
lea edx, [ebp - 0x10]
mov ecx, ebx
call fcn.00410ec0
mov edi, eax
add esp, 4
test edi, edi
je 0x41e6c5
test si, si
je 0x41e66e
mov word [edi + 6], si
mov edi, dword [ebp + 0x68]
mov ebx, dword [ebp + 0x64]
jmp 0x41dd17
mov eax, dword [edi + 0x20]
test eax, eax
je 0x41e690
mov ecx, dword [0x4dc0e0]
nop dword [eax + eax]
cmp dword [eax + 4], ecx
je 0x41ea9c
mov eax, dword [eax + 8]
test eax, eax
jne 0x41e680
mov esi, dword [ebp + 0x64]
mov ecx, edi
push dword [ebp - 0x10]
push dword [esi + 0x14]
call fcn.00410580
test eax, eax
je 0x41eabd
cmp byte [ebp + 0x3f], 0
jne 0x41e6b7
cmp byte [0x4db7d5], 0
je 0x41e6bb
mov byte [edi + 0x14], 1
mov edi, dword [ebp + 0x68]
mov ebx, esi
jmp 0x41dd17
mov eax, dword [ebp + 0x64]
mov ecx, 0x28
mov edi, dword [eax + 0x14]
mov ebx, dword [edi + 4]
call fcn.004753f0
mov dword [ebp - 0x64], eax
mov byte [ebp - 4], 1
test eax, eax
je 0x41e6f7
push 0
push dword [ebp - 0x10]
push ebx
push esi
push edi
push ecx
mov ecx, eax
call fcn.004100c0
mov ecx, eax
jmp 0x41e6f9
xor ecx, ecx
mov byte [ebp - 4], 0
mov dx, word [0x4dd210]
movzx eax, dx
mov dword [eax*4 + 0x4dc268], ecx
test ecx, ecx
je 0x41e73a
cmp byte [ecx + 0x1a], 0
jne 0x41e720
push ecx
call fcn.0040f0b0
jmp 0x41e73a
inc dx
movzx eax, dx
mov word [0x4dd210], dx
cmp dword [eax*4 + 0x4dc264], 0
jne 0x41e663
cmp dword [ebp - 0x14], 3
jne 0x41eb68
mov ebx, dword [ebp + 0x64]
cmp dword [ebx + 0xae0], 0
jne 0x41e57c
mov edi, dword [ebp + 0x68]
lea eax, [ebp - 0x71c]
push edi
push str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
push 0x204
push eax
call fcn.004782d0
push 0
push 0
xorps xmm3, xmm3
lea ecx, [ebp - 0x71c]
mov edx, 0x10000
call fcn.0047ce40
add esp, 0x18
jmp 0x41dd17
mov edi, dword [ebp + 0x68]
mov ebx, dword [ebp + 0x54]
cmp word [edi + ebx*2 - 2], 0x3a
jne 0x41e87f
cmp ebx, 1
je 0x41eae3
movzx eax, word [edi]
mov ecx, edi
test ax, ax
je 0x41e7f6
mov dx, word [0x4d9ba8]
nop dword [eax]
cmp ax, 0x20
je 0x41e87f
cmp ax, 9
je 0x41e87f
cmp ax, dx
je 0x41e87f
cmp ax, word [0x4d9ba0]
je 0x41e87f
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x41e7c0
cmp word [edi + ebx*2 - 4], 0x3a
jne 0x41e807
cmp ebx, 2
ja 0x41e87f
dec ebx
xor eax, eax
mov word [edi + ebx*2], ax
cmp word [edi], ax
je 0x41e865
cmp ebx, 0xffffffff
jne 0x41e82f
mov ebx, edi
lea ecx, [ebx + 2]
nop dword [eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x41e820
sub ebx, ecx
sar ebx, 1
lea eax, [ebx - 1]
lea eax, [edi + eax*2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x41e842
cmp ecx, 9
jne 0x41e84b
cmp eax, edi
je 0x41e853
sub eax, 2
jmp 0x41e835
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x41e865
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x41e860
cmp ecx, 9
jne 0x41e865
xor ecx, ecx
mov word [eax], cx
mov ebx, dword [ebp + 0x64]
mov ecx, ebx
push 0
push edi
call fcn.004203f0
test eax, eax
je 0x41eb68
jmp 0x41dd17
cmp word [edi], 0x23
mov ebx, dword [ebp + 0x64]
jne 0x41e8a7
mov esi, dword [ebx + 0x270]
mov ecx, ebx
push edi
call fcn.0041f000
test eax, eax
je 0x41eb68
cmp eax, 3
je 0x41dd08
movzx eax, word [edi]
cmp eax, 0x7b
je 0x41e8d5
cmp eax, 0x7d
je 0x41e8d5
push 0
push 0
push 0
push 0
push 0
push 0
push edi
mov ecx, ebx
call fcn.004204e0
test eax, eax
je 0x41eb68
jmp 0x41dd17
cmp eax, 0x7b
mov ecx, ebx
push 0
setne al
push 0
add al, 0x73
push 0
movzx eax, al
push eax
call fcn.004225a0
test eax, eax
je 0x41eb68
add edi, 2
mov dword [ebp + 0x68], edi
nop dword [eax]
movzx eax, word [edi]
cmp eax, 0x20
je 0x41e90d
cmp eax, 9
jne 0x41e912
add edi, 2
jmp 0x41e900
cmp word [edi], 0
mov dword [ebp + 0x68], edi
mov dword [ebp + 0x34], edi
je 0x41dd17
mov edx, edi
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x41e927
jmp 0x41da3b
mov edi, dword [ebp + 0x68]
mov ebx, dword [ebp + 0x64]
jmp 0x41dd1d
mov eax, dword [0x4cb51c]
mov ecx, ebx
cmp byte [ebp + 0x52], 0
mov dword [edi], eax
mov ax, word [0x4cb520]
mov word [edi + 4], ax
lea eax, [ebp + 0x34]
push 0
push 1
push eax
setne al
add al, 0xc1
movzx eax, al
push eax
call fcn.004225a0
lea eax, [ebp - 0xcc]
push eax
push str.Blind_s_Up
push edi
call fcn.00404b00
add esp, 0xc
lea eax, [ebp + 0x34]
mov ecx, ebx
push 0
push 1
push eax
push 0x41
call fcn.004225a0
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.004225a0
xor al, al
mov byte [ebp + 0x7b], al
mov ebx, dword [ebp + 0x60]
lea edi, [ebp - 0x12664]
mov esi, dword [ebp + 0x4c]
lea eax, [ebp - 0x1a668]
cmp ebx, edi
mov dword [ebp + 0x68], ebx
mov edx, edi
mov dword [ebp + 0x34], ebx
mov edi, dword [ebp + 0x64]
cmovne eax, edx
mov dword [ebp + 0x54], esi
mov dword [ebp + 0x60], eax
jmp 0x41d0a0
mov ecx, dword [ebp + 0x64]
push edi
push str.Continuation_section_too_long.
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
cmp dword [ebx + 0x264], 0
lea eax, [ebp - 0xa660]
push eax
mov ecx, str.Not_a_valid_method__class_or_property_definition.
mov eax, 0x4cb1e0
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
lea eax, [ebp - 0xa660]
mov ecx, ebx
push eax
push 0x4cb1e0
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
lea eax, [ebp - 0xa660]
push eax
push str.Functions_cannot_contain_functions.
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
push edi
push str.Not_a_valid_property_getter_setter.
mov ecx, ebx
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
push edi
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, ebx
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
push edi
push str.IfWin_should_be_IfWin.
mov dword [ecx + 0x630], eax
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
mov ecx, dword [ebp + 0x64]
push esi
push str.This_hotstring_is_missing_its_abbreviation.
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
mov eax, dword [ebp + 0x64]
mov ecx, eax
push ebx
push str.Duplicate_hotkey.
mov dword [eax + 0x630], 0
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
push ebx
push str.Out_of_memory.
mov ecx, esi
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
push edi
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
mov ecx, dword [ebp + 0x64]
push edi
push str.This_line_does_not_contain_a_recognized_action.
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
mov ecx, dword [ebp + 0x64]
push edi
push 0x4cb180
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
cmp word [ebp - 0xa660], 0
je 0x41eb72
cmp dword [ebp + 0x30], 0
mov eax, dword [ebp + 0x14]
mov esi, dword [edi + 0x270]
mov dword [edi + 0x270], eax
lea eax, [ebp - 0xa660]
je 0x41eb50
cmp byte [ebp + 0x5f], 0
mov ecx, 0x4cb1e0
push eax
mov eax, str.Missing___
cmove eax, ecx
mov ecx, edi
push eax
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
push 0
push 0
push 0
push 0
push 0
push 3
push eax
mov ecx, edi
call fcn.004204e0
test eax, eax
jne 0x41eb6c
xor esi, esi
jmp 0x41eb9d
mov dword [edi + 0x270], esi
cmp dword [edi + 0x48], 0
je 0x41eb92
cmp dword [ebp + 0x2c], 0
jne 0x41eb92
lea eax, [edi + 0x60]
mov ecx, edi
push eax
push str.Missing___
call fcn.004354a0
mov esi, eax
jmp 0x41eb9d
inc dword [edi + 0x270]
mov esi, 1
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x4c], vtable.TextFile.0
test eax, eax
je 0x41ebcb
cmp dword [ebp - 0x20], 0
jne 0x41ebcb
push eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
call fcn.00476b50
mov dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x24], ax
cmp ecx, 0xffffffff
je 0x41ebf6
mov eax, dword [ebp - 0x48]
and eax, 0x10000003
cmp eax, 0x10000000
je 0x41ebef
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], vtable.TextStream.0
test eax, eax
je 0x41ec0d
push eax
call fcn.00495d53
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x6c]
pop ebp
ret 0xc
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
lea esp, [ebp + 0x6c]
pop ebp
ret 0xc