Function at 0x43b200
Capabilities:
Get keyboard layout

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b6cd5
mov eax, dword fs:[0]
push eax
mov eax, 0x8118
mov dword fs:[0], esp
call fcn.004b5860
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x14], edi
cmp dword [edi + 0x44], 0
jne 0x43b23a
cmp dword [edi + 0x54], 0
mov byte [ebp - 0x3d], 0
je 0x43b23e
mov byte [ebp - 0x3d], 1
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0x1000
mov dword [ebp - 0x1c], 3
mov dword [ebp - 4], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0x1000
mov dword [ebp - 0x5c], 3
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 1
push 0x2000
push 0
mov dword [edi + 0x278], eax
mov dword [ebp - 0x58], 0
call fcn.0049f248
add esp, 8
test eax, eax
je 0x43c853
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0x1000
test esi, esi
je 0x43b2cb
add esi, esi
jmp 0x43b2ce
mov esi, dword [ebp - 0x60]
lea eax, [esi + esi]
push eax
push dword [ebp - 0x6c]
call fcn.0049f248
add esp, 8
test eax, eax
je 0x43c853
mov dword [ebp - 0x6c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x64], esi
mov word [eax], cx
cmp dword [ebp - 0x28], 0xffffffff
je 0x43c7a3
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
mov al, byte [ebp - 0x15]
mov byte [ebp - 0xd], al
mov dword [ebp - 0x50], edx
nop
mov eax, dword [ebp - 0x58]
mov ecx, edi
mov dword [edi + 0x27c], eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x58]
mov dword [edi + 0x640], 0
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 8]
call fcn.0043d180
test eax, eax
je 0x43c814
cmp dword [ebp - 0x28], 0
je 0x43bd82
lea eax, [edi + 0x54]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x2c]
xor esi, esi
xor ebx, ebx
cmp word [eax], 0x3a
jne 0x43b470
movzx edx, word [eax + 2]
test dx, dx
je 0x43b470
lea edi, [eax + 2]
mov dword [ebp - 0x34], edi
cmp edx, 0x3a
je 0x43b39e
push 0x3a
push edi
call fcn.0049ccaf
mov esi, eax
add esp, 8
mov eax, dword [ebp - 0x2c]
test esi, esi
je 0x43b46e
add esi, 2
mov dword [ebp - 0x30], esi
jmp 0x43b3b0
cmp word [eax + 4], bx
lea ecx, [eax + 4]
je 0x43b470
mov esi, ecx
mov dword [ebp - 0x30], ecx
test esi, esi
je 0x43b470
mov al, byte [0x4e8c01]
mov byte [ebp - 0xd], al
cmp edi, esi
jae 0x43b400
movzx eax, word [edi]
add edi, 2
mov edx, eax
mov esi, eax
and eax, 0xffdf
add edx, 0xffffff9f
movzx ecx, ax
cmp dx, 0x19
mov eax, esi
mov esi, dword [ebp - 0x30]
cmova ecx, eax
cmp cx, 0x58
je 0x43b3f1
cmp edi, esi
jb 0x43b3c4
jmp 0x43b400
cmp word [edi], 0x30
setne byte [ebp - 0xd]
nop dword [eax]
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x43b432
mov ecx, eax
nop dword [eax]
movzx edx, cx
cmp cx, 0x60
je 0x43b437
movzx edx, cx
cmp cx, 0x3a
je 0x43b432
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x43b410
test dx, dx
je 0x43b463
lea edi, [esi + 2]
cmp dx, 0x3a
jne 0x43b4d7
test ebx, ebx
jne 0x43b551
cmp word [edi], dx
jne 0x43b551
cmp byte [ebp - 0xd], 0
mov ebx, esi
mov esi, edi
je 0x43b551
test ebx, ebx
jne 0x43b58b
mov eax, dword [ebp - 0x2c]
xor esi, esi
push 0x4d6fc8
push eax
mov dword [ebp - 0x30], esi
call fcn.0049d69e
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x43b594
mov ecx, dword [ebp - 0x2c]
cmp ebx, ecx
jne 0x43b49c
cmp word [ebx + 4], 0x3a
jne 0x43b49c
add ebx, 2
mov esi, ebx
cmp ebx, ecx
jbe 0x43b4b6
movzx eax, word [esi]
cmp eax, 0x20
je 0x43b4af
cmp eax, 9
jne 0x43b4b6
sub esi, 2
cmp esi, ecx
ja 0x43b4a2
movzx edi, word [esi]
xor eax, eax
mov word [esi], ax
mov ecx, dword [ebp - 0x2c]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x43b4d2
cmp eax, 9
jne 0x43b559
add ecx, 2
jmp 0x43b4c1
movzx eax, word [edi]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x43b4e9.99
movzx eax, byte [eax + 0x43c8bc]
jmp dword [eax*4 + 0x43c898]
mov eax, 7
jmp 0x43b526
mov eax, 8
jmp 0x43b526
mov eax, 0xc
jmp 0x43b526
mov eax, 0xa
jmp 0x43b526
mov eax, 0xd
jmp 0x43b526
mov eax, 9
jmp 0x43b526
mov eax, 0xb
jmp 0x43b526
mov eax, 0x20
mov word [edi], ax
mov ecx, edi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43b530
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edi
push esi
call fcn.0049cd60
add esp, 0xc
add esi, 2
jmp 0x43b400
push 0
xor edx, edx
call fcn.004156a0
add esp, 4
mov dword [ebp - 0x50], eax
test eax, eax
je 0x43c814
xor ecx, ecx
mov word [esi], di
cmp eax, 4
cmove ebx, ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x34], ecx
mov cl, byte [ebp - 0xd]
mov byte [ebp - 0xd], cl
test ebx, ebx
je 0x43b594
cmp ebx, dword [ebp - 0x2c]
ja 0x43b83e
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x14]
cmp word [ecx + eax*2 - 2], 0x3a
jne 0x43b5f7
cmp dword [ebx + 0x54], 0
lea eax, [ebx + 0x54]
mov dword [ebp - 0x44], eax
je 0x43b5bc
mov eax, dword [0x4e4798]
cmp dword [eax + 0x18], 0
je 0x43b5f7
mov esi, dword [ebp - 0x2c]
nop
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x43b5db
push eax
call fcn.004a36e0
add esp, 4
test eax, eax
jne 0x43b5db
cmp word [esi], 0x5f
jne 0x43b5e0
add esi, 2
jmp 0x43b5c0
mov edi, dword [ebp - 0x2c]
mov eax, esi
sub eax, edi
sar eax, 1
inc eax
cmp eax, dword [ebp - 0x28]
jne 0x43b5f7
cmp esi, edi
ja 0x43c198
mov edi, dword [ebp - 0x2c]
cmp word [edi], 0x23
jne 0x43b680
push 6
push str.HotIf
push edi
call fcn.0049f2a2
add esp, 0xc
test eax, eax
jne 0x43b64b
mov eax, dword [ebp - 0x2c]
movzx ecx, word [eax + 0xc]
cmp ecx, 0x20
je 0x43b629
cmp ecx, 9
jne 0x43b64e
lea eax, [ebp - 0x70]
mov ecx, ebx
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 8]
call fcn.0043ca90
test eax, eax
je 0x43c814
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x14]
mov ecx, edi
push eax
mov esi, dword [edi + 0x27c]
call fcn.0043dcf0
test eax, eax
je 0x43c814
cmp eax, 3
jne 0x43b683
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x278], eax
mov dword [edi + 0x27c], esi
jmp 0x43bd82
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x43b697
cmp ecx, 0x7d
jne 0x43c318
mov edx, dword [edi + 0x54]
lea ebx, [edi + 0x54]
test edx, edx
je 0x43b7bf
mov eax, dword [0x4e4798]
cmp dword [eax + 0x18], 0
jne 0x43b7bf
cmp ecx, 0x7b
je 0x43c796
cmp dword [edi + 0x270], 0
je 0x43b6f6
mov eax, dword [edi + 0x274]
mov dword [edi + 0x270], 0
test eax, eax
je 0x43b7e2
push eax
call fcn.0049f222
add esp, 4
mov dword [edi + 0x274], 0
jmp 0x43b7e2
lea eax, [edx - 1]
mov dword [ebx], eax
mov ebx, dword [edi + eax*4 + 0x58]
lea eax, [ebp - 0x3c]
push eax
push str.Prototype
mov ecx, ebx
call fcn.00478a90
test eax, eax
je 0x43b720
cmp dword [eax + 8], 5
jne 0x43b720
mov ecx, dword [eax]
mov dword [ebp - 0x38], ecx
jmp 0x43b727
mov dword [ebp - 0x38], 0
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 4]
test esi, esi
je 0x43b756
lea edi, [esi + esi*2]
shl edi, 3
lea edi, [edi - 0x18]
dec esi
cmp dword [edi + eax + 0x10], 3
jne 0x43b74f
push ecx
push esi
lea ecx, [ebx + 0x10]
call fcn.0044de80
mov eax, dword [ebx + 0x10]
test esi, esi
jne 0x43b737
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebx + 0x10]
mov esi, dword [eax + 4]
test esi, esi
je 0x43b78f
lea edi, [esi + esi*2]
shl edi, 3
nop dword [eax]
lea edi, [edi - 0x18]
dec esi
cmp dword [edi + eax + 0x10], 3
jne 0x43b788
push ecx
push esi
lea ecx, [ebx + 0x10]
call fcn.0044de80
mov eax, dword [ebx + 0x10]
test esi, esi
jne 0x43b770
mov edi, dword [ebp - 0x14]
mov eax, dword [edi + 0x54]
lea ebx, [edi + 0x54]
mov eax, dword [edi + eax*4 + 0x58]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea esi, [edi + 0x6c]
push 0x2e
push esi
call fcn.0049cc0e
add esp, 8
test eax, eax
je 0x43b7b8
xor ecx, ecx
mov word [eax], cx
jmp 0x43b7e2
xor eax, eax
mov word [esi], ax
jmp 0x43b7e2
push 0
cmp ecx, 0x7b
mov ecx, edi
push 0
setne al
push 0
add al, 3
push 0
movzx eax, al
push eax
call fcn.00440290
test eax, eax
je 0x43c814
mov ecx, dword [ebp - 0x2c]
movzx eax, word [ecx + 2]
add ecx, 2
cmp eax, 0x20
je 0x43b7e5
cmp eax, 9
je 0x43b7e5
test ax, ax
je 0x43bd85
mov edi, dword [ebp - 0x2c]
mov eax, ecx
mov edx, dword [ebp - 0x28]
sub eax, edi
sar eax, 1
sub edx, eax
mov dword [ebp - 0x28], edx
lea eax, [edx*2 + 2]
push eax
push ecx
push edi
call fcn.0049cd60
mov edi, dword [ebp - 0x14]
add esp, 0xc
cmp dword [ebp - 0x28], 0
mov dword [edi + 0x640], 0
jne 0x43b355
jmp 0x43bd82
mov eax, dword [0x4e4798]
mov esi, dword [ebp - 0x14]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x43b856
cmp eax, dword [esi + 0x1c]
jne 0x43c72f
cmp dword [esi + 0x54], 0
jne 0x43c72f
xor eax, eax
mov word [ebx], ax
add ebx, 4
mov dword [ebp - 0x44], ebx
mov ecx, ebx
nop dword [eax]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x43b87d
cmp eax, 9
jne 0x43b882
add ecx, 2
jmp 0x43b870
cmp eax, 0x7b
jne 0x43b893
cmp word [ecx + 2], 0
jne 0x43b893
lea edx, [eax - 0x7a]
jmp 0x43b895
xor dl, dl
mov edi, dword [ebp - 0x30]
mov ah, byte [ebp - 0xd]
mov dword [ebp - 0x38], edx
test edi, edi
je 0x43b8aa
test ah, ah
je 0x43bfa9
mov ebx, ecx
mov dword [ebp - 0x44], ebx
test edi, edi
jne 0x43bfa9
cmp word [ecx], 0x60
mov dword [ebp - 0x44], ecx
jne 0x43b8ce
cmp word [ecx + 2], 0x7b
lea eax, [ecx + 2]
cmove ebx, eax
mov dword [ebp - 0x44], ebx
mov edi, ebx
test dl, dl
jne 0x43bdb1
cmp word [ebx], 0
je 0x43bdb1
movzx eax, word [ebx + 2]
mov ecx, eax
test ax, ax
je 0x43b940
nop dword [eax]
cmp ax, 0x20
je case.0x43b908.34
movzx eax, word [edi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x43b908.34
movzx eax, byte [eax + 0x43c8dc]
jmp dword [eax*4 + 0x43c8d4]
movzx eax, word [edi + 4]
add edi, 2
test ax, ax
jne 0x43b8f0
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ecx
push 0
xor edx, edx
mov ecx, edi
call fcn.0041cc50
add esp, 0xc
mov byte [ebp - 0x16], al
test al, al
je 0x43be0f
jmp 0x43b944
mov byte [ebp - 0x16], 0xff
mov esi, dword [ebp - 0x2c]
cmp word [esi], 0
je case.0x43b970.34
cmp word [esi + 2], 0
je case.0x43b970.34
movzx eax, word [esi + 2]
cmp ax, 0x20
je case.0x43b970.34
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x43b970.34
movzx eax, byte [eax + 0x43c944]
jmp dword [eax*4 + 0x43c93c]
movzx eax, word [esi + 4]
add esi, 2
test ax, ax
jne 0x43b958
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ecx
push 0
xor edx, edx
mov ecx, esi
call fcn.0041cc50
add esp, 0xc
mov bl, al
mov byte [ebp - 0x3e], bl
push 0x4d4094
push esi
call fcn.0049d69e
add esp, 8
test eax, eax
setne bh
lea ecx, [ebx - 1]
cmp cl, 5
ja 0x43b9c0
cmp bl, 3
jne 0x43b9c8
mov al, bl
add al, 0x66
cmp al, 5
ja 0x43b9cc
mov cl, 1
jmp 0x43b9ce
xor cl, cl
mov dl, byte [ebp - 0x16]
mov al, dl
dec al
cmp al, 5
ja 0x43b9de
cmp dl, 3
jne 0x43b9e6
mov al, dl
add al, 0x66
cmp al, 5
ja 0x43b9ea
mov bl, 1
jmp 0x43b9ec
xor bl, bl
test cl, cl
jne 0x43b9f8
mov byte [ebp - 0x15], 1
test bl, bl
jne 0x43b9fc
mov byte [ebp - 0x15], 0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ba01
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x43ba28
movzx eax, word [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
mov eax, 0x4d7050
jne 0x43ba2d
mov eax, 0x4cee20
push dword [ebp - 0x2c]
test bh, bh
mov ecx, 0x4d2a58
push eax
mov eax, 0x4cee20
cmove eax, ecx
push eax
push 0x4d58a0
lea eax, [ebp - 0x118]
push 0x20
push eax
call fcn.00480f70
movzx eax, word [edi]
add esp, 0x18
cmp eax, 0x22
je 0x43ba81
cmp eax, 0x60
je 0x43ba81
push 0x1f
lea eax, [ebp - 0xd8]
push edi
push eax
call fcn.004aa8c4
add esp, 0xc
xor eax, eax
mov word [ebp - 0x9a], ax
jmp 0x43ba9d
mov word [ebp - 0xd6], ax
mov ecx, 0x60
xor eax, eax
mov word [ebp - 0xd8], cx
mov word [ebp - 0xd4], ax
mov esi, dword [ebp - 0x44]
lea eax, [ebp - 0x88]
push 7
push esi
push eax
call fcn.004aa8c4
sub edi, esi
xor eax, eax
sar edi, 1
add esp, 0xc
mov word [ebp - 0x7a], ax
cmp edi, 8
jae 0x43bac9
mov word [ebp + edi*2 - 0x88], ax
cmp word [ebp - 0x88], 0
jne 0x43baf5
cmp byte [ebp - 0x16], 0x13
jne 0x43baf5
lea eax, [ebp - 0xd8]
push str.Pause
push eax
call fcn.0049f121
add esp, 8
test eax, eax
je 0x43be0c
mov esi, dword [ebp - 0x14]
mov ecx, esi
cmp dword [esi + 0x1c], 0
jne 0x43c6de
call fcn.0044f650
test eax, eax
je 0x43c814
lea eax, [ebp - 0x17]
push eax
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x118]
call fcn.00415f20
mov ecx, dword [esi + 0x1c]
add esp, 4
push dword [ebp - 0x48]
test eax, eax
je 0x43bb3a
push ecx
mov ecx, eax
call fcn.004155b0
jmp 0x43bb4b
lea eax, [ebp - 0x118]
xor edx, edx
push eax
call fcn.00414c90
add esp, 8
test eax, eax
je 0x43c814
test bl, bl
mov ecx, str.SetKeyDelay
mov eax, str.SetMouseDelay
cmove eax, ecx
push eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x8120]
push str._s__1__
push eax
call fcn.00406720
add esp, 0xc
lea ebx, [ebp - 0x8120]
cmp byte [ebp - 0x15], 0
lea ebx, [ebx + eax*2]
je 0x43bba1
lea eax, [ebp - 0xd8]
push eax
push str._GetKeyState___s__
push ebx
call fcn.00406720
add esp, 0xc
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x34]
lea edi, [ebp - 0x94]
mov edx, dword [ebp - 0x50]
mov esi, str._
mov dword [ebp - 0x34], eax
mov ecx, 0x21
mov al, byte [ebp - 0xd]
mov byte [ebp - 0xd], al
mov dword [ebp - 0x50], edx
push ecx
lea eax, [ebp - 0x118]
push eax
call fcn.0049ccaf
add esp, 8
test eax, eax
je 0x43bbe7
cmp word [eax + 2], 0
je 0x43bbe7
mov ax, word [esi]
mov word [edi], ax
add edi, 2
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x43bbc3
xor eax, eax
mov ecx, 0x4cee20
mov word [edi], ax
movzx eax, byte [ebp - 0x16]
sub eax, 0x12
je 0x43bc14
sub eax, 0x92
je 0x43bc14
sub eax, 1
jne 0x43bc35
movzx eax, byte [ebp - 0x3e]
sub eax, 0x11
je 0x43bc30
sub eax, 0x91
je 0x43bc30
sub eax, 1
jne 0x43bc35
mov ecx, str.RCtrl_up
jmp 0x43bc35
mov ecx, str.LCtrl_up
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x88]
push eax
push ecx
lea eax, [ebp - 0x94]
push eax
push str.Send__Blind_s_s_s_s_DownR__
push ebx
call fcn.00406720
mov edi, dword [ebp - 0x14]
add esp, 0x18
mov ecx, edi
push 0
push 0
push 0
push 0
push 3
call fcn.00440290
test eax, eax
je 0x43c814
push 0
push 0
push 0
lea eax, [ebp - 0x8120]
mov ecx, edi
push eax
call fcn.0043ed30
test eax, eax
je 0x43c814
push 0
push 0
push 0
push 0
push 4
mov ecx, edi
call fcn.00440290
test eax, eax
je 0x43c814
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x8120]
push str._s_up
push eax
call fcn.00406720
add esp, 0xc
mov ecx, edi
call fcn.0044f650
test eax, eax
je 0x43c814
lea eax, [ebp - 0x17]
push eax
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x8120]
call fcn.00415f20
mov ecx, dword [edi + 0x1c]
add esp, 4
push dword [ebp - 0x48]
test eax, eax
je 0x43bcfd
push ecx
mov ecx, eax
call fcn.004155b0
jmp 0x43bd0e
lea eax, [ebp - 0x8120]
xor edx, edx
push eax
call fcn.00414c90
add esp, 8
test eax, eax
je 0x43c814
lea eax, [ebp - 0xd8]
push eax
push dword [ebp - 0x3c]
lea eax, [ebp - 0x8120]
push str._s__1__Send__Blind_s_Up___n
push eax
call fcn.00406720
add esp, 0x10
mov ecx, edi
push 0
push 0
push 0
push 0
push 3
call fcn.00440290
test eax, eax
je 0x43c814
push 0
push 0
push 0
lea eax, [ebp - 0x8120]
push eax
mov ecx, edi
call fcn.0043ed30
test eax, eax
je 0x43c814
push 0
push 0
push 0
push 0
push 4
mov ecx, edi
call fcn.00440290
test eax, eax
je 0x43c814
lea ebx, [edi + 0x54]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x43b310
jmp 0x43c7a6
test ebx, ebx
jne 0x43be0f
xor edi, edi
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x17]
push eax
lea edx, [ebp - 0x48]
mov dword [ebp - 0x54], edi
call fcn.00415f20
mov esi, eax
add esp, 4
test esi, esi
je 0x43bf0d
test di, di
je 0x43bea5
mov word [esi + 6], di
mov edi, dword [ebp - 0x30]
cmp word [ebx], 0
je 0x43c188
cmp byte [ebp - 0x38], 0
je 0x43c0fb
mov edi, dword [ebp - 0x14]
push 0
push 0
push 0
push 0
push 3
jmp 0x43bd73
mov ebx, dword [ebp - 0x44]
cmp word [ebx], 0
je 0x43bdb5
push str.AltTab
push ebx
call fcn.0049f121
add esp, 8
test eax, eax
jne 0x43be2e
mov edi, 0x7ffe
jmp 0x43bdb7
push str.ShiftAltTab
push ebx
call fcn.0049f121
add esp, 8
test eax, eax
jne 0x43be4a
mov edi, 0x7ffd
jmp 0x43bdb7
push str.AltTabMenu
push ebx
call fcn.0049f121
add esp, 8
test eax, eax
jne 0x43be66
mov edi, 0x7ffc
jmp 0x43bdb7
push str.AltTabAndMenu
push ebx
call fcn.0049f121
add esp, 8
test eax, eax
jne 0x43be82
mov edi, 0x7ffb
jmp 0x43bdb7
push str.AltTabMenuDismiss
push ebx
call fcn.0049f121
add esp, 8
neg eax
sbb edi, edi
and edi, 0xffff8006
add edi, 0x7ffa
jmp 0x43bdb7
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x43bec4
mov eax, dword [0x4e4798]
mov eax, dword [eax + 0x58]
cmp dword [ecx + 8], eax
je 0x43c6ed
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x43beb4
mov edi, dword [ebp - 0x14]
cmp dword [edi + 0x1c], 0
jne 0x43bedc
mov ecx, edi
call fcn.0044f650
test eax, eax
je 0x43c814
push dword [ebp - 0x48]
mov ecx, esi
push dword [edi + 0x1c]
call fcn.004155b0
test eax, eax
je 0x43c707
cmp byte [ebp - 0x17], 0
jne 0x43bf04
cmp byte [0x4e8c39], 0
je 0x43bde3
mov byte [esi + 0x14], 1
jmp 0x43bde3
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x1c]
test di, di
je 0x43bf2d
test eax, eax
je 0x43bf40
push 0x4cee20
push str.Hotkey_or_hotstring_is_missing_its_opening_brace.
mov ecx, esi
jmp 0x43c85f
test eax, eax
jne 0x43bf40
mov ecx, esi
call fcn.0044f650
test eax, eax
je 0x43c814
push dword [ebp - 0x48]
mov ecx, dword [esi + 0x1c]
mov edx, edi
push dword [ebp - 0x2c]
call fcn.00414c90
add esp, 8
test eax, eax
jne 0x43bde3
cmp dword [ebp - 0x50], 3
jne 0x43c814
cmp byte [esi + 0x6d4], al
jne 0x43bde3
push dword [ebp - 0x2c]
lea eax, [ebp - 0x220]
push str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
push 0x80
push eax
call fcn.00480f70
push 0
push 0
xorps xmm3, xmm3
lea ecx, [ebp - 0x220]
mov edx, 0x10000
call fcn.00486ab0
add esp, 0x18
jmp 0x43bde3
cmp word [edi], 0
je 0x43c720
test ah, ah
je 0x43c003
cmp word [ebx], 0
je 0x43c70f
test dl, dl
jne 0x43c70f
mov edi, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1c], 0
lea esi, [eax + 0x1c]
jne 0x43bfea
mov ecx, eax
call fcn.0044f650
test eax, eax
je 0x43c814
cmp byte [ebp - 0xd], 0
jne 0x43c0bb
test bl, bl
jne 0x43c0bb
mov eax, edi
jmp 0x43c0c0
test dl, dl
je 0x43c058
cmp byte [0x4e8ce6], 0
mov esi, dword [ebp - 0x34]
setne bl
cmp esi, edi
jae 0x43c04b
movzx eax, word [esi]
mov ecx, eax
add eax, 0xffffff9f
mov edx, ecx
and edx, 0xffffffdf
cmp ax, 0x19
cmova edx, ecx
sub edx, 0x52
je 0x43c036
sub edx, 2
jne 0x43c03e
cmp word [esi + 2], 0x30
setne bl
add esi, 2
cmp esi, edi
jb 0x43c018
mov edx, dword [ebp - 0x38]
mov ah, byte [ebp - 0xd]
xor ecx, ecx
movzx edx, dl
test bl, bl
cmovne edx, ecx
mov dword [ebp - 0x38], edx
mov edi, dword [ebp - 0x44]
mov al, dl
cmp word [edi], 0
je 0x43bfcc
mov ecx, dword [ebp - 0x30]
mov bl, al
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x34], ecx
mov byte [ebp - 0xd], ah
mov dword [ebp - 0x50], edx
test al, al
jne 0x43bfcf
test ah, ah
jne 0x43bfcf
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x1c], 0
lea esi, [eax + 0x1c]
je 0x43bffc
dec dword [eax + 0x27c]
mov ecx, eax
push 0x4cee20
push str.Hotkey_or_hotstring_is_missing_its_opening_brace.
jmp 0x43c85f
mov eax, 0x4cee20
mov ecx, dword [esi]
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
push 0
push dword [ebp - 0x70]
push eax
push edi
push ecx
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp - 0x2c]
call fcn.004164c0
add esp, 0x14
test eax, eax
je 0x43c814
cmp dword [esi], 0
mov ebx, dword [ebp - 0x78]
je 0x43c190
mov ebx, dword [ebp - 0x44]
jmp 0x43bde6
test edi, edi
je 0x43c105
movzx eax, byte [ebp - 0xd]
jmp 0x43c10e
xor eax, eax
cmp word [ebp - 0x54], ax
sete al
test eax, eax
je 0x43c188
mov edx, dword [ebp - 0x2c]
mov ecx, ebx
mov eax, dword [ebp - 0x28]
sub ecx, edx
sar ecx, 1
sub eax, ecx
mov dword [ebp - 0x28], eax
add eax, eax
push eax
push ebx
push edx
call fcn.0049cd60
mov ecx, dword [ebp - 0x28]
add esp, 0xc
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov edi, dword [ebp - 0x14]
mov word [eax + ecx*2], dx
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 8]
call fcn.0043ca90
test eax, eax
je 0x43c814
push 0
push 0
push 0
push 0
push 3
mov ecx, edi
call fcn.00440290
test eax, eax
je 0x43c814
push 0
push 0
push 0
push dword [ebp - 0x2c]
jmp 0x43bd5a
mov edi, dword [ebp - 0x14]
jmp 0x43bd82
mov edi, dword [ebp - 0x14]
jmp 0x43bd85
mov edx, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
dec edx
mov dword [ebp - 0x28], edx
push 0x4d4570
mov word [eax + edx*2], cx
push dword [ebp - 0x2c]
call fcn.0049f121
add esp, 8
mov edi, ebx
test eax, eax
jne 0x43c1f2
mov eax, dword [edi + 0x44]
test eax, eax
je 0x43c1f2
mov eax, dword [eax + 0x10]
test eax, eax
je 0x43c1f2
cmp byte [eax], 0x1a
jne 0x43c1f2
push 0
push 0
push 0
push 0
push 0x1b
mov ecx, edi
call fcn.00440290
test eax, eax
je 0x43c814
mov ebx, dword [ebp - 0x44]
jmp 0x43bd85
cmp dword [edi + 0x1c], 0
jne 0x43c73e
mov edi, dword [ebp - 0x2c]
cmp word [edi], 0
je 0x43c814
mov eax, dword [0x4e4798]
lea esi, [ebx + 8]
mov eax, dword [eax + 0x18]
test eax, eax
lea ecx, [eax + 0x34]
mov edx, ecx
cmove edx, esi
mov dword [ebp - 0x78], edx
je 0x43c22a
mov esi, dword [ecx]
add eax, 0x38
jmp 0x43c22f
mov esi, dword [esi]
lea eax, [ebx + 0xc]
mov dword [ebp - 0x38], eax
test esi, esi
je 0x43c24c
push edi
push dword [esi]
call fcn.0049f121
add esp, 8
test eax, eax
je 0x43c298
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x43c236
cmp word [edi], 0
je 0x43c2b7
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x43c257
sub esi, ecx
sar esi, 1
lea eax, [esi + esi]
lea ecx, [eax + 2]
mov dword [ebp - 0x3c], eax
call fcn.0047ddc0
mov ebx, eax
test ebx, ebx
je 0x43c891
test esi, esi
mov esi, dword [ebp - 0x3c]
je 0x43c290
push esi
push edi
push ebx
call fcn.0049cd60
add esp, 0xc
xor eax, eax
mov word [esi + ebx], ax
jmp 0x43c2bc
push edi
mov edi, ebx
push str.Duplicate_label.
mov ecx, edi
call fcn.0040d800
test eax, eax
je 0x43c814
mov ebx, dword [ebp - 0x44]
jmp 0x43bd85
mov ebx, 0x4cee20
mov ecx, 0x10
call fcn.0047ddc0
mov ecx, eax
test ecx, ecx
je 0x43c891
mov edx, dword [ebp - 0x38]
mov dword [ecx + 8], 0
mov dword [ecx], ebx
mov dword [ecx + 4], 0
mov dword [ecx + 0xc], 0
mov eax, dword [edx]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x78]
cmp dword [eax], 0
jne 0x43c306
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x44]
mov dword [eax], ecx
mov dword [edx], ecx
jmp 0x43bd85
mov eax, dword [edx]
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x44]
mov dword [eax + 0xc], ecx
mov dword [edx], ecx
jmp 0x43bd85
mov edi, dword [ebp - 0x2c]
push 5
push str.Class
push edi
call fcn.0049f2a2
add esp, 0xc
test eax, eax
jne 0x43c40a
movzx eax, word [edi + 0xa]
cmp eax, 0x20
je 0x43c345
cmp eax, 9
jne 0x43c40a
add edi, 0xc
movzx eax, word [edi]
cmp eax, 0x20
je 0x43c355
cmp eax, 9
jne 0x43c35a
add edi, 2
jmp 0x43c348
push eax
push str.__t_____:________n._
call fcn.0049ccaf
add esp, 8
test eax, eax
jne 0x43c40a
mov eax, dword [0x4e4798]
cmp dword [eax + 0x18], 0
jne 0x43c75b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
cmp word [eax + edx*2 - 2], 0x7b
jne 0x43c3a5
dec edx
mov ecx, eax
call fcn.00438440
push edi
mov edi, dword [ebp - 0x14]
mov ecx, edi
call fcn.004422c0
jmp 0x43bd7a
mov edx, dword [ebp - 0x6c]
cmp word [edx], 0x7b
jne 0x43c74d
lea esi, [edx + 2]
mov eax, esi
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43c3c4
cmp ecx, 9
jne 0x43c3c9
add eax, 2
jmp 0x43c3b7
mov ecx, dword [ebp - 0x68]
sub eax, edx
sar eax, 1
sub ecx, eax
mov dword [ebp - 0x68], ecx
je 0x43c3f5
lea eax, [ecx + ecx]
push eax
push esi
push edx
call fcn.0049cd60
add esp, 0xc
push edi
mov edi, dword [ebp - 0x14]
mov ecx, edi
call fcn.004422c0
jmp 0x43bd7a
push edi
mov edi, dword [ebp - 0x14]
xor eax, eax
mov ecx, edi
mov word [edx], ax
call fcn.004422c0
jmp 0x43bd7a
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 8]
call fcn.0043ca90
test eax, eax
je 0x43c814
cmp dword [edi + 0x270], 0
mov eax, dword [0x4e4798]
je 0x43c4eb
cmp dword [eax + 0x18], 0
jne 0x43c4eb
push 3
push 0x4d73c4
push dword [ebp - 0x2c]
call fcn.0049f2a2
add esp, 0xc
test eax, eax
je 0x43c47b
push 3
push 0x4d73cc
push dword [ebp - 0x2c]
call fcn.0049f2a2
add esp, 0xc
test eax, eax
jne 0x43c76b
mov edx, dword [ebp - 0x2c]
lea esi, [edx + 6]
movzx ecx, word [esi]
cmp ecx, 0x20
je 0x43c48e
cmp ecx, 9
jne 0x43c493
add esi, 2
jmp 0x43c481
test cx, cx
jne 0x43c4a1
mov eax, dword [ebp - 0x6c]
cmp word [eax], 0x7b
je 0x43c4c1
cmp ecx, 0x7b
jne 0x43c4ad
cmp word [esi + 2], 0
jmp 0x43c4bb
cmp ecx, 0x3d
jne 0x43c76e
cmp word [esi + 2], 0x3e
jne 0x43c76e
push 0x2e
push dword [edi + 0x274]
call fcn.0049ccaf
mov ecx, dword [ebp - 0x2c]
add esp, 8
mov cx, word [ecx]
mov word [eax + 2], cx
mov ecx, edi
push esi
push dword [ebp - 0x2c]
call fcn.00442e20
jmp 0x43bd7a
cmp dword [edi + 0x54], 0
lea ebx, [edi + 0x54]
je 0x43c69d
cmp dword [eax + 0x18], 0
jne 0x43c69d
mov edi, dword [ebp - 0x2c]
push 6
push 0x4d2c80
push edi
mov byte [ebp - 0x74], 0
call fcn.0049f2a2
add esp, 0xc
test eax, eax
jne 0x43c563
movzx eax, word [edi + 0xc]
cmp eax, 0x20
je 0x43c52b
cmp eax, 9
jne 0x43c563
add edi, 0xe
nop
movzx eax, word [edi]
cmp eax, 0x20
je 0x43c53d
cmp eax, 9
jne 0x43c542
add edi, 2
jmp 0x43c530
cmp eax, 0x7f
ja 0x43c55f
push eax
call fcn.004a36e0
add esp, 4
test eax, eax
jne 0x43c55f
cmp word [edi], 0x5f
je 0x43c55f
mov edi, dword [ebp - 0x2c]
jmp 0x43c563
mov byte [ebp - 0x74], 1
mov edx, dword [ebp - 0x6c]
mov ecx, edi
call fcn.0043a970
test al, al
je 0x43c58e
push 0
push dword [ebp - 0x74]
push edi
mov edi, dword [ebp - 0x14]
mov ecx, edi
call fcn.00441790
test eax, eax
je 0x43c814
jmp 0x43bd85
mov esi, edi
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x43c5b2
push eax
call fcn.004a36e0
add esp, 4
test eax, eax
jne 0x43c5b2
movzx eax, word [esi]
cmp eax, 0x5f
je 0x43c5b2
cmp eax, 0x2e
jne 0x43c5b7
add esi, 2
jmp 0x43c590
cmp esi, edi
jbe 0x43c786
nop
cmp ax, 0x20
je 0x43c5cc
cmp ax, 9
jne 0x43c5d5
movzx eax, word [esi + 2]
add esi, 2
jmp 0x43c5c0
cmp ax, 0x3a
jne 0x43c601
cmp word [esi + 2], 0x3d
jne 0x43c786
push dword [ebp - 0x74]
push edi
mov edi, dword [ebp - 0x14]
mov ecx, edi
call fcn.00442f30
test eax, eax
je 0x43c814
jmp 0x43bd85
test ax, ax
je 0x43c627
cmp ax, 0x5b
je 0x43c627
cmp ax, 0x7b
je 0x43c627
cmp ax, 0x3d
jne 0x43c786
cmp word [esi + 2], 0x3e
jne 0x43c786
lea eax, [ebp - 0x49]
push eax
push dword [ebp - 0x74]
push edi
mov edi, dword [ebp - 0x14]
mov ecx, edi
call fcn.00442ae0
test eax, eax
je 0x43c814
cmp byte [ebp - 0x49], 0
jne 0x43bd85
mov edx, dword [ebp - 0x6c]
cmp word [edx], 0x7b
jne 0x43c779
lea esi, [edx + 2]
mov eax, esi
nop dword [eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43c66d
cmp ecx, 9
jne 0x43c672
add eax, 2
jmp 0x43c660
mov ecx, dword [ebp - 0x68]
sub eax, edx
sar eax, 1
sub ecx, eax
mov dword [ebp - 0x68], ecx
je 0x43c693
lea eax, [ecx + ecx]
push eax
push esi
push edx
call fcn.0049cd60
add esp, 0xc
jmp 0x43bd85
xor eax, eax
mov word [edx], ax
jmp 0x43bd85
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x2c]
call fcn.0043a970
mov ecx, edi
push 0
push 0
test al, al
je 0x43c6c7
push dword [ebp - 0x2c]
call fcn.00441790
test eax, eax
je 0x43c814
jmp 0x43bd85
push 0
push dword [ebp - 0x2c]
call fcn.0043ed30
test eax, eax
je 0x43c814
jmp 0x43bd85
push 0x4cee20
push str.Hotkey_or_hotstring_is_missing_its_opening_brace.
jmp 0x43c85f
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x2c]
push str.Duplicate_hotkey.
mov dword [ecx + 0x640], 0
jmp 0x43c85f
push dword [ebp - 0x2c]
jmp 0x43c858
push 0x4cee20
push str.Expected_single_line_action.
mov ecx, esi
jmp 0x43c85f
push dword [ebp - 0x2c]
mov ecx, esi
push str.This_hotstring_is_missing_its_abbreviation.
jmp 0x43c85f
push dword [ebp - 0x2c]
mov ecx, esi
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions_or_classes.
jmp 0x43c85f
push 0x4cee20
push str.Hotkey_or_hotstring_is_missing_its_opening_brace.
jmp 0x43c85d
mov ecx, dword [ebp - 0x14]
push eax
push 0x4d73ac
jmp 0x43c85f
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
push str.Functions_cannot_contain_classes.
jmp 0x43c85f
mov edx, dword [ebp - 0x2c]
push edx
push str.Not_a_valid_property_getter_setter.
jmp 0x43c85d
push dword [ebp - 0x2c]
push str.This_line_does_not_contain_a_recognized_action.
jmp 0x43c85d
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x14]
push str.Not_a_valid_method__class_or_property_definition.
jmp 0x43c85f
push dword [ebp - 0x2c]
push str.Unexpected___
jmp 0x43c85d
lea ebx, [edi + 0x54]
cmp byte [ebp - 0x3d], 0
jne 0x43c82e
mov eax, dword [edi + 0x44]
test eax, eax
jne 0x43c7cd
cmp dword [ebx], eax
je 0x43c82e
lea eax, [edi + 0x6c]
push eax
push str.Missing___
jmp 0x43c85d
cmp byte [0x4ea51c], 0
mov ecx, 0x4e9e50
je 0x43c7f4
push 0
push eax
push 0
push 0x4cee20
push str.Missing___
call fcn.0040ca20
jmp 0x43c864
cmp byte [0x4ea51f], 0
je 0x43c818
push dword [eax + 4]
movzx eax, word [eax + 2]
push eax
push 0x4cee20
push str.Missing___
call fcn.0040c920
xor esi, esi
jmp 0x43c866
push 0
push eax
push 0x4cee20
push 0
push str.Missing___
call fcn.0040d600
jmp 0x43c864
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x43c83c
call fcn.0040db00
jmp 0x43c864
cmp dword [edi + 0x1c], 0
jne 0x43c73e
inc dword [edi + 0x27c]
mov esi, 1
jmp 0x43c866
push 0x4cee20
push str.Out_of_memory.
mov ecx, edi
call fcn.0040d800
mov esi, eax
push dword [ebp - 0x6c]
call fcn.0049f222
add esp, 4
push dword [ebp - 0x2c]
call fcn.0049f222
mov ecx, dword [ebp - 0xc]
add esp, 4
mov eax, esi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
call fcn.0040dd40
nop
invalid