Function at 0x424780
Capabilities:
Enumerate pe sections
Get keyboard layout
Resolve function by parsing pe exports

Disassembly:
mov eax, 0xe0a8
call fcn.004b4520
mov eax, dword [0x4cbf18]
push ebx
push ebp
push esi
push edi
push dword [esp + 0xe0bc]
mov ebp, ecx
mov byte [esp + 0x164], 0
dec eax
mov dword [esp + 0x3c], ebp
lea ecx, [esp + 0x60ac]
mov dword [esp + 0x78], eax
push 0
mov dword [ebp + 0x14c], eax
lea esi, [esp + 0xa0b8]
push ecx
mov eax, ecx
mov dword [esp + 0x20], ecx
push eax
mov dword [esp + 0x30], esi
mov byte [esp + 0x23], 0
mov byte [esp + 0x5d], 0
mov byte [esp + 0x62], 0
mov dword [esp + 0x7c], 0xffffffff
call fcn.00426d60
push 2
push 0x4bc950
push dword [esp + 0x1c]
mov ebx, eax
mov dword [esp + 0x28], eax
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcmp]
add esp, 0xc
test eax, eax
sete byte [esp + 0x3f]
test eax, eax
jne 0x42481d
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov byte [eax], 0
mov ecx, dword [esp + 0x14]
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
mov dword [esp + 0x8c], esi
cmp ebx, 0xffffffff
je 0x4267a9
mov eax, dword [esp + 0x6c]
push 0xc
inc eax
mov dword [ebp + 0x38c], 0
push str.CommentFlag
push ecx
mov dword [ebp + 0x150], eax
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
add esp, 0xc
test eax, eax
jne 0x424874
push dword [esp + 0x14]
mov ecx, ebp
call fcn.00427070
test eax, eax
je 0x4256b5
mov edx, dword [esp + 0x20]
xor ebp, ebp
mov byte [esp + 0x7c], 0
jmp 0x424887
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
push dword [esp + 0xe0bc]
inc dword [esp + 0x70]
push ebp
push ecx
push edx
call fcn.00426d60
mov esi, eax
mov dword [esp + 0x48], esi
test esi, esi
je 0x424996
cmp esi, 0xffffffff
je 0x424996
test ebp, ebp
jne 0x424996
push 2
push 0x4bc964
push dword [esp + 0x28]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcmp]
mov edx, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
jne 0x424968
cmp byte [esp + 0x3f], al
jne 0x4248ef
cmp byte [edx + 2], 0x3a
jne 0x4248ef
cmp byte [edx + 3], 0x3a
je 0x424973
sub esi, 2
mov byte [esp + 0x3f], 0
lea eax, [esi + 1]
push eax
lea eax, [edx + 2]
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov al, byte [edx]
test al, al
je 0x424887
mov ecx, edx
cmp al, 0x20
je 0x424920
cmp al, 9
jne 0x424926
mov al, byte [ecx + 1]
inc ecx
jmp 0x424918
mov eax, ecx
sub eax, edx
je 0x424959
cmp esi, 0xffffffff
jne 0x424945
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x424936
sub esi, edx
mov edx, dword [esp + 0x20]
jmp 0x424947
sub esi, eax
lea eax, [esi + 1]
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esp + 0x2c]
add esp, 0xc
cmp byte [edx], 0
mov dword [esp + 0x48], esi
je 0x424887
jmp 0x424973
cmp byte [esp + 0x3f], 0
jne 0x424887
push 2
push 0x4bc950
push edx
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcmp]
add esp, 0xc
test eax, eax
jne 0x424996
mov edx, dword [esp + 0x20]
mov byte [esp + 0x3f], 1
jmp 0x424887
cmp byte [esp + 0x3f], 0
je 0x4249af
cmp esi, 0xffffffff
je 0x424cdd
mov edx, dword [esp + 0x20]
jmp 0x424887
test ebp, ebp
jne 0x424ebd
mov edx, dword [esp + 0x20]
cmp esi, 0xffffffff
je 0x424b9e
cmp byte [edx], 0x28
jne 0x424b9e
mov al, byte [edx + 1]
lea esi, [edx + 1]
cmp al, 0x3a
je 0x424b9a
mov ecx, dword [esp + 0x48]
cmp byte [ecx + edx - 1], 0x3a
je 0x424b9a
mov cl, byte [0x4ca7e8]
mov ebp, 1
mov byte [esp + 0x58], cl
mov ecx, ebp
mov dword [esp + 0x78], 0
mov byte [esp + 0x57], 1
mov byte [esp + 0x5b], 0
mov byte [esp + 0x5a], 0
mov byte [esp + 0x59], 1
mov word [esp + 0x90], 0xa
mov dword [esp + 0x70], ecx
cmp al, 0x20
je 0x424a2d
cmp al, 9
jne 0x424a33
mov al, byte [esi + 1]
inc esi
jmp 0x424a25
test al, al
je 0x424b90
nop dword [eax + eax]
mov edi, esi
test esi, esi
je 0x424a6b
mov dl, byte [esi]
test dl, dl
je 0x424a6b
nop dword [eax]
mov ecx, 0x4bb7f4
mov al, 0x20
cmp dl, al
je 0x424a7c
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x424a57
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x424a50
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424a70
sub ecx, edx
lea edi, [ecx + esi]
mov bl, byte [edi]
push 4
push str.Join
push esi
mov byte [edi], 0
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
add esp, 0xc
test eax, eax
jne 0x424ae2
push 0xf
lea eax, [esi + 4]
push eax
lea eax, [esp + 0x98]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov byte [esp + 0x9f], 0
lea ecx, [esp + 0x90]
push 1
call fcn.004a0840
lea edx, [esp + 0x94]
add esp, 4
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x424ad0
sub edx, ecx
mov dword [esp + 0x70], edx
jmp 0x424b6b
push 5
push 0x4bc9c0
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
add esp, 0xc
test eax, eax
jne 0x424b02
cmp byte [esi + 5], 0x30
setne byte [esp + 0x58]
jmp 0x424b6b
push 5
push str.RTrim
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
add esp, 0xc
test eax, eax
jne 0x424b22
cmp byte [esi + 5], 0x30
setne byte [esp + 0x57]
jmp 0x424b6b
mov al, byte [esi]
test al, al
je 0x424b6b
nop dword [eax + eax]
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x424b42.38
movzx eax, byte [eax + 0x426878]
jmp dword [eax*4 + 0x426860]
mov byte [esp + 0x5b], 1
jmp case.0x424b42.38
mov byte [esp + 0x5a], 1
jmp case.0x424b42.38
mov byte [esp + 0x59], 0
jmp case.0x424b42.38
mov ebp, 2
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x424b30
mov byte [edi], bl
mov esi, edi
nop
cmp bl, 0x20
je 0x424b7a
cmp bl, 9
jne 0x424b80
mov bl, byte [esi + 1]
inc esi
jmp 0x424b70
test bl, bl
jne 0x424a40
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov byte [esp + 0x7c], 1
jmp 0x424881
mov esi, dword [esp + 0x48]
xor ebp, ebp
cmp esi, 0xffffffff
je 0x424cdd
test esi, esi
je 0x424887
cmp byte [esi + edx - 1], 0x3a
mov esi, dword [esp + 0x20]
jne 0x424bc5
cmp byte [esi], 0x2c
jne 0x424cdd
mov bl, byte [esi]
movzx eax, bl
test eax, 0xffffff80
jne 0x424be0
push 2
push eax
call edi
add esp, 8
test eax, eax
je 0x424be0
and bl, 0xdf
mov al, bl
cmp al, 0x41
je 0x424e13
cmp al, 0x4f
je 0x424dbc
mov al, byte [esi]
cmp al, 0x3a
je 0x424c00
cmp al, 0x2b
je 0x424c00
cmp al, 0x2d
jne 0x424c09
cmp byte [esi + 1], al
je 0x424cd9
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
movsx eax, al
push eax
push str.____:.___
call edi
add esp, 8
test eax, eax
je 0x42510f
push 0x4bc98c
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x424e6c
cmp byte [esi], 0x3a
jne 0x424c95
mov al, byte [esi + 1]
inc esi
test al, al
je 0x424c8c
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
cmp al, 0x3a
je 0x424c8c
movzx eax, al
test eax, 0xffffff80
jne 0x424c6e
push 0x107
push eax
call ebx
add esp, 8
test eax, eax
jne 0x424c84
movsx eax, byte [esi]
push eax
push 0x4bc990
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
add esp, 8
test eax, eax
je 0x424c91
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x424c51
cmp byte [esi], 0x3a
je 0x424cd9
mov esi, dword [esp + 0x20]
cmp byte [esi], 0x2c
jne 0x424d81
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x424c9e
cmp al, 9
je 0x424c9e
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcmp]
push 2
push 0x4bc98c
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x424cd9
push 3
lea eax, [esi - 1]
push 0x4bb7ec
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x424e6c
mov ebx, dword [esp + 0x1c]
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
mov ebp, dword [esp + 0x38]
test ebx, ebx
je 0x4257e6
cmp byte [esp + 0x160], 0
je 0x425204
mov eax, dword [esp + 0x34]
mov esi, dword [ebp + 0x150]
mov dword [ebp + 0x150], eax
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x7b
je 0x425118
cmp byte [esp + 0x1b], 0
jne 0x425118
mov ebx, dword [esp + 0x30]
test ebx, ebx
jne 0x4265f7
cmp dword [ebp + 0x28], ebx
je 0x424d47
mov eax, dword [0x4c8024]
cmp dword [eax + 0x94], ebx
je 0x4265c6
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x178]
mov ecx, ebp
push eax
call fcn.00428c40
test eax, eax
je 0x4256b5
mov dword [ebp + 0x38c], 0
mov byte [esp + 0x160], 0
jmp 0x4251fe
mov eax, esi
cmp esi, edi
jae 0x424d91
cmp byte [eax], 0x22
je 0x424d99
inc eax
cmp eax, edi
jb 0x424d87
cmp eax, edi
je 0x424cd9
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x424cd9
cmp al, 0x22
je 0x424e6c
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x424da7
jmp 0x424cd9
mov bl, byte [esi + 1]
movzx eax, bl
test eax, 0xffffff80
je 0x424dcd
xor edx, edx
jmp 0x424dd7
push 2
push eax
call edi
add esp, 8
mov edx, eax
mov al, bl
and al, 0xdf
test edx, edx
movzx ecx, al
movzx eax, bl
cmove ecx, eax
cmp cl, 0x52
jne 0x424cd9
mov al, byte [esi + 2]
lea ecx, [esi + 2]
cmp al, 0x20
je 0x424e0d
cmp al, 9
je 0x424e05
cmp al, 0xa0
jne 0x424cd9
cmp al, 0x20
je 0x424e0d
cmp al, 9
jne 0x424e50
mov al, byte [ecx + 1]
inc ecx
jmp 0x424e05
push 3
push 0x4bc968
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
add esp, 0xc
test eax, eax
jne 0x424cd9
mov al, byte [esi + 3]
lea ecx, [esi + 3]
cmp al, 0x20
je 0x424e4a
cmp al, 9
je 0x424e42
cmp al, 0xa0
jne 0x424cd9
cmp al, 0x20
je 0x424e4a
cmp al, 9
jne 0x424e50
mov al, byte [ecx + 1]
inc ecx
jmp 0x424e42
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
movsx eax, al
push eax
push str.____:
call edi
add esp, 8
test eax, eax
jne 0x42510f
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x48]
lea eax, [esi + ebx]
cmp eax, 0x4000
jae 0x4265a7
mov ecx, dword [esp + 0x20]
cmp byte [ecx], 0x2c
je 0x424e94
mov eax, dword [esp + 0x14]
mov byte [ebx + eax], 0x20
inc ebx
lea eax, [esi + 1]
push eax
push ecx
mov eax, dword [esp + 0x1c]
add eax, ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 0xc
mov edx, dword [esp + 0x20]
add ebx, esi
mov dword [esp + 0x1c], ebx
jmp 0x424887
cmp esi, 0xffffffff
je 0x42678a
mov edx, dword [esp + 0x20]
cmp esi, 0xfffffffe
je 0x424887
mov al, byte [edx]
cmp al, 0x29
jne 0x424f29
mov esi, edx
xor ebp, ebp
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x424ee0
sub esi, ecx
lea eax, [edx - 1]
add eax, esi
nop
mov cl, byte [eax]
cmp cl, 0x20
je 0x424efc
cmp cl, 9
jne 0x424f04
cmp eax, edx
je 0x424f11
dec eax
dec esi
jmp 0x424ef0
mov byte [eax + 1], 0
lea edi, [edx + 1]
dec esi
jmp 0x4250a3
cmp cl, 0x20
je 0x424f1b
cmp cl, 9
jne 0x424f20
mov byte [eax], 0
xor esi, esi
lea edi, [edx + 1]
dec esi
jmp 0x4250a3
cmp byte [esp + 0x57], 0
mov edi, edx
je 0x424f6d
test al, al
je 0x424f67
lea eax, [edx - 1]
add eax, esi
nop dword [eax + eax]
mov cl, byte [eax]
cmp cl, 0x20
je 0x424f4c
cmp cl, 9
jne 0x424f54
cmp eax, edx
je 0x424f5a
dec eax
dec esi
jmp 0x424f40
mov byte [eax + 1], 0
jmp 0x424f69
cmp cl, 0x20
je 0x424f64
cmp cl, 9
jne 0x424f69
mov byte [eax], 0
xor esi, esi
mov dword [esp + 0x48], esi
cmp byte [esp + 0x58], 0
je 0x424fc7
mov al, byte [edx]
test al, al
jne 0x424f84
mov dword [esp + 0x48], 0
jmp 0x424fc7
mov ecx, edx
cmp al, 0x20
je 0x424f8e
cmp al, 9
jne 0x424f94
mov al, byte [ecx + 1]
inc ecx
jmp 0x424f86
mov eax, ecx
sub eax, edx
je 0x424fc3
cmp esi, 0xffffffff
jne 0x424fb3
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x424fa4
sub esi, edx
mov edx, dword [esp + 0x20]
jmp 0x424fb5
sub esi, eax
lea eax, [esi + 1]
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov dword [esp + 0x48], esi
xor esi, esi
cmp byte [esp + 0x5b], 0
je 0x425003
mov al, byte [0x4c9205]
lea edx, [esp + 0x4c]
mov ecx, dword [esp + 0x20]
push esi
push esi
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x5c], al
mov byte [esp + 0x60], al
mov byte [esp + 0x61], al
lea eax, [esp + 0x60]
push 1
push eax
call fcn.0049ef20
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x5a], 0
je 0x425045
mov al, byte [0x4c9205]
lea edx, [esp + 0x4c]
mov cl, byte [0x4c9206]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x60], al
lea eax, [esp + 0x60]
mov byte [esp + 0x5c], cl
mov byte [esp + 0x61], cl
mov ecx, dword [esp + 0x30]
push 1
push eax
call fcn.0049ef20
add esp, 0x18
add esi, eax
cmp byte [esp + 0x59], 0
je 0x425087
mov al, byte [0x4c9205]
lea edx, [esp + 0x4c]
mov cl, byte [0x4c9207]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x60], al
lea eax, [esp + 0x60]
mov byte [esp + 0x5c], cl
mov byte [esp + 0x61], cl
mov ecx, dword [esp + 0x30]
push 1
push eax
call fcn.0049ef20
add esp, 0x18
add esi, eax
mov edx, dword [esp + 0x20]
test esi, esi
je 0x42509f
mov esi, edx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x425094
sub esi, ecx
jmp 0x4250a3
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x70]
lea eax, [ecx + esi]
add eax, ebx
cmp eax, 0x4001
jae 0x42676e
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, 1
jle 0x4250f2
test ecx, ecx
je 0x4250f2
cmp edi, edx
jne 0x4250f2
lea eax, [ecx + 1]
push eax
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x1c]
add eax, ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x7c]
add esp, 0xc
add ebx, ecx
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0x20]
test esi, esi
je 0x424881
lea eax, [esi + 1]
push eax
push edi
jmp 0x424e99
mov byte [edi], bl
jmp 0x424cd9
mov ebx, dword [esp + 0x1c]
jmp 0x424ce3
mov ebx, dword [esp + 0x30]
mov eax, ebx
sub eax, 0
je 0x42515f
sub eax, 1
je 0x42513e
sub eax, 1
jne 0x4251ab
lea eax, [esp + 0x160]
mov ecx, ebp
push eax
call fcn.0042e220
jmp 0x42514d
lea eax, [esp + 0x160]
mov ecx, ebp
push eax
call fcn.0042dcd0
test eax, eax
je 0x4256b5
mov byte [esp + 0x160], 0
jmp 0x4251b7
mov eax, dword [0x4c8024]
mov ecx, ebp
cmp dword [eax + 0x94], 0
jne 0x426618
lea eax, [esp + 0x4168]
push eax
lea eax, [esp + 0x164]
push eax
call fcn.0042d0d0
test eax, eax
je 0x4256b5
cmp byte [esp + 0x1b], 0
je 0x4251ab
push 0
push 0
push 0
push 0x77
mov ecx, ebp
call fcn.0042b1e0
jmp 0x424d62
mov byte [esp + 0x160], 0
test ebx, ebx
je 0x4251fe
cmp byte [esp + 0x1b], 0
jne 0x4251fe
mov ecx, dword [esp + 0x14]
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x20
je 0x4251c2
cmp al, 9
je 0x4251c2
test al, al
je 0x4257e0
mov ebx, ecx
lea edx, [ebx + 1]
nop dword [eax + eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x4251e0
sub ebx, edx
mov dword [esp + 0x1c], ebx
lea eax, [ebx + 1]
push eax
push ecx
push dword [esp + 0x1c]
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov dword [ebp + 0x150], esi
mov eax, dword [esp + 0x14]
mov dl, byte [eax]
cmp dl, 0x7d
jne 0x425332
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x425332
mov eax, dword [0x4c8024]
cmp dword [eax + 0x94], 0
jne 0x425332
cmp dword [ebp + 0x144], 0
je 0x42526a
mov eax, dword [ebp + 0x148]
mov dword [ebp + 0x144], 0
test eax, eax
je 0x4252f0
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebp + 0x148], 0
jmp 0x4252f0
lea eax, [ecx - 1]
mov dword [ebp + 0x28], eax
mov ebx, dword [ebp + eax*4 + 0x2c]
mov esi, dword [ebx + 0x10]
sub esi, 1
js 0x4252cb
mov edi, esi
shl edi, 4
mov eax, dword [ebx + 0xc]
cmp dword [eax + edi + 0xc], 1
jne 0x4252c0
cmp esi, dword [ebx + 0x1c]
jl 0x42529d
push dword [eax + edi + 8]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov edx, dword [ebx + 0x10]
dec edx
mov dword [ebx + 0x10], edx
cmp esi, edx
jge 0x4252c0
mov ecx, dword [ebx + 0xc]
sub edx, esi
add ecx, edi
shl edx, 4
push edx
lea eax, [ecx + 0x10]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
sub edi, 0x10
sub esi, 1
jns 0x425281
mov eax, dword [ebp + 0x28]
mov eax, dword [ebp + eax*4 + 0x2c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea esi, [ebp + 0x40]
push 0x2e
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsrchr]
add esp, 8
test eax, eax
je 0x4252ed
mov byte [eax], 0
jmp 0x4252f0
mov byte [esi], 0
mov ebx, dword [esp + 0x14]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x4252f4
cmp al, 9
je 0x4252f4
mov dword [esp + 0x14], ebx
cmp byte [ebx], 0
je 0x4257e6
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x425310
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
sub ebx, ecx
mov dword [esp + 0x1c], ebx
mov dword [ebp + 0x38c], 0
jmp 0x424ce7
cmp dword [ebp + 0x144], 0
je 0x42540a
mov eax, dword [0x4c8024]
cmp dword [eax + 0x94], 0
jne 0x42540a
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
push 3
push 0x4bca40
push dword [esp + 0x1c]
call ebx
add esp, 0xc
test eax, eax
je 0x425383
push 3
push 0x4bca44
push dword [esp + 0x1c]
call ebx
add esp, 0xc
test eax, eax
jne 0x426637
mov ecx, dword [esp + 0x14]
lea esi, [ecx + 3]
nop word [eax + eax]
mov al, byte [esi]
cmp al, 0x20
je 0x42539a
cmp al, 9
jne 0x42539d
inc esi
jmp 0x425390
test al, al
je 0x4253b3
cmp al, 0x7b
jne 0x42663b
cmp byte [esi + 1], 0
jne 0x42663b
mov ecx, dword [ebp + 0x148]
lea edx, [esp + 0x160]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [ecx + edx - 1], al
test al, al
jne 0x4253c2
lea eax, [esp + 0x160]
push 0x2e
push eax
call edi
mov edx, dword [esp + 0x30]
mov ecx, eax
mov eax, dword [esp + 0x1c]
add esp, 8
mov al, byte [eax]
mov byte [ecx + 1], al
cmp byte [esi], 0x7b
mov ecx, dword [ebp + 0x150]
sete byte [esp + 0x1b]
mov dword [esp + 0x34], ecx
xor ebp, ebp
mov dword [esp + 0x30], ebp
jmp 0x4257f2
mov ebp, dword [esp + 0x14]
test dl, dl
je 0x425434
mov edi, ebp
mov ecx, str.__t____:_______.___
mov al, 0x20
nop dword [eax + eax]
cmp dl, al
je 0x425488
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x425420
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x425414
mov eax, dword [0x4c8024]
cmp dword [eax + 0x94], 0
jne 0x425a4c
mov esi, dword [esp + 0x14]
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
push 5
push str.Class
push esi
call ebx
add esp, 0xc
test eax, eax
jne 0x425632
mov al, byte [esi + 5]
cmp al, 0x20
je 0x425474
cmp al, 9
jne 0x425632
lea edi, [esi + 6]
mov al, byte [edi]
cmp al, 0x20
je 0x425485
cmp al, 9
jne 0x42557e
inc edi
jmp 0x425477
cmp byte [edi], 0x28
jne 0x425434
mov esi, dword [esp + 0x14]
cmp edi, esi
je 0x425434
mov ebx, edi
mov edx, 0x4bc918
sub ebx, esi
mov ecx, esi
push 0xffffffffffffffff
push ebx
call fcn.0049e810
add esp, 8
test eax, eax
je 0x425434
push 0xffffffffffffffff
push ebx
mov edx, str.WHILE
mov ecx, ebp
call fcn.0049e810
add esp, 8
test eax, eax
je 0x425434
cmp byte [edi + 1], 0x3a
je 0x425434
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4254d8
sub ecx, edx
dec ecx
add ecx, edi
mov al, byte [ecx]
cmp al, 0x7b
sete byte [esp + 0x1b]
jne 0x42553f
mov byte [ecx], 0
sub ecx, ebp
cmp byte [ebp], 0
je 0x425539
cmp ecx, 0xffffffff
jne 0x42550d
mov ecx, ebp
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x425504
sub ecx, edx
lea eax, [ebp - 1]
add eax, ecx
mov dl, byte [eax]
cmp dl, 0x20
je 0x42551e
cmp dl, 9
jne 0x425526
cmp eax, ebp
je 0x42552c
dec eax
dec ecx
jmp 0x425512
mov byte [eax + 1], 0
jmp 0x42553b
cmp dl, 0x20
je 0x425536
cmp dl, 9
jne 0x42553b
mov byte [eax], 0
xor ecx, ecx
mov al, byte [ecx + ebp - 1]
cmp al, 0x29
jne 0x425434
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x160]
sub ecx, esi
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x425554
mov ecx, dword [esp + 0x38]
xor ebp, ebp
mov edx, dword [esp + 0x28]
mov dword [esp + 0x30], ebp
mov ecx, dword [ecx + 0x150]
mov dword [esp + 0x34], ecx
jmp 0x4257f2
movsx eax, al
push eax
push str.__t____:_______.___
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
add esp, 8
test eax, eax
jne 0x425632
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4255a0
sub ecx, edx
dec ecx
add ecx, edi
cmp byte [ecx], 0x7b
sete byte [esp + 0x1b]
jne 0x4255fc
mov byte [ecx], al
sub ecx, esi
cmp byte [esi], al
je 0x4255fc
cmp ecx, 0xffffffff
jne 0x4255d1
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4255c8
sub ecx, edx
lea eax, [esi - 1]
add eax, ecx
mov cl, byte [eax]
cmp cl, 0x20
je 0x4255e2
cmp cl, 9
jne 0x4255e9
cmp eax, esi
je 0x4255ef
dec eax
jmp 0x4255d6
mov byte [eax + 1], 0
jmp 0x4255fc
cmp cl, 0x20
je 0x4255f9
cmp cl, 9
jne 0x4255fc
mov byte [eax], 0
lea ecx, [esp + 0x160]
sub ecx, edi
mov al, byte [edi]
lea edi, [edi + 1]
mov byte [edi + ecx - 1], al
test al, al
jne 0x425605
mov ecx, dword [esp + 0x38]
mov ebp, 1
mov edx, dword [esp + 0x28]
mov dword [esp + 0x30], ebp
mov ecx, dword [ecx + 0x150]
mov dword [esp + 0x34], ecx
jmp 0x4257f2
mov ebp, dword [esp + 0x38]
cmp dword [ebp + 0x28], 0
je 0x425a4c
mov esi, dword [esp + 0x14]
mov cl, byte [esi]
movzx eax, cl
test eax, 0xffffff80
jne 0x425665
push 0x107
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
mov cl, byte [esi]
add esp, 8
test eax, eax
jne 0x425674
cmp cl, 0x5f
je 0x425674
cmp cl, 0x7f
ja 0x425674
cmp cl, 0x2e
jne 0x425677
inc esi
jmp 0x425644
cmp esi, dword [esp + 0x14]
jbe 0x42577e
cmp cl, 0x20
je 0x42568b
cmp cl, 9
jne 0x425691
mov cl, byte [esi + 1]
inc esi
jmp 0x425681
cmp cl, 0x3a
jne 0x4256c4
cmp byte [esi + 1], 0x3d
jne 0x42577e
push 0
push dword [esp + 0x18]
mov ecx, ebp
call fcn.0042e3c0
test eax, eax
jne 0x4257e6
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
test cl, cl
je 0x4256e0
cmp cl, 0x5b
je 0x4256e0
cmp cl, 0x7b
jne 0x42577e
cmp byte [esi + 1], 0
jne 0x42577e
mov ecx, dword [esp + 0x14]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4256e7
mov esi, dword [esp + 0x14]
sub ecx, edx
cmp byte [ecx + esi - 1], 0x7b
sete byte [esp + 0x1b]
jne 0x425748
dec ecx
cmp byte [esi], al
je 0x425748
cmp ecx, 0xffffffff
jne 0x425719
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x425710
sub ecx, edx
mov eax, dword [esp + 0x14]
dec eax
add eax, ecx
mov cl, byte [eax]
cmp cl, 0x20
je 0x42572c
cmp cl, 9
jne 0x425735
cmp eax, dword [esp + 0x14]
je 0x42573b
dec eax
jmp 0x425720
mov byte [eax + 1], 0
jmp 0x425748
cmp cl, 0x20
je 0x425745
cmp cl, 9
jne 0x425748
mov byte [eax], 0
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x160]
sub ecx, esi
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [esi + ecx - 1], al
test al, al
jne 0x425755
mov ecx, dword [ebp + 0x150]
mov ebp, 2
mov edx, dword [esp + 0x28]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], ebp
jmp 0x4257f2
push 6
push str.Static
push dword [esp + 0x1c]
call ebx
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x14]
jne 0x4257ae
mov cl, byte [eax + 6]
cmp cl, 0x20
je 0x4257a3
cmp cl, 9
jne 0x4257ae
push 1
add eax, 7
push eax
jmp 0x4256a6
cmp byte [eax], 0x23
jne 0x426659
mov esi, dword [ebp + 0x150]
mov ecx, ebp
push eax
call fcn.00427070
test eax, eax
je 0x4256b5
cmp eax, 3
jne 0x426655
mov eax, dword [esp + 0x74]
mov dword [ebp + 0x14c], eax
mov dword [ebp + 0x150], esi
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov bh, byte [esp + 0x13]
mov bl, byte [esp + 0x12]
mov eax, edx
test bh, bh
je case.0x4258bb.4
mov esi, dword [esp + 0x64]
inc edx
mov dword [esp + 0x34], ecx
mov edi, ecx
mov cl, byte [esp + 0x1b]
mov dword [esp + 0x28], edx
mov ch, cl
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x5c]
mov byte [esp + 0x1b], cl
mov cl, byte [esp + 0x2f]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x44], edx
mov dh, bl
mov byte [esp + 0x12], bl
mov bl, cl
mov byte [esp + 0x2f], cl
mov cl, byte [esp + 0x26]
mov byte [esp + 0x26], cl
mov dl, cl
mov cl, byte [esp + 0x27]
mov byte [esp + 0x13], bh
mov byte [esp + 0x42], ch
mov dword [esp + 0x30], ebp
mov byte [esp + 0x43], dh
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0x40], dl
mov byte [esp + 0x27], cl
mov byte [esp + 0x41], cl
cmp eax, 9
ja case.0x4258bb.4
mov esi, dword [esp + 0x44]
movzx eax, byte [eax + 0x4268cc]
mov byte [esp + 0x1b], ch
mov ch, bl
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x68]
mov byte [esp + 0x2f], ch
mov ch, dl
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x1c]
mov byte [esp + 0x13], bh
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebp
mov byte [esp + 0x12], dh
mov byte [esp + 0x26], ch
mov byte [esp + 0x27], cl
mov dword [esp + 0x28], esi
jmp dword [eax*4 + 0x4268b8]
mov eax, dword [esp + 0x14]
test dl, dl
mov cx, word [0x4bb588]
mov esi, dword [esp + 0x38]
push 0
mov word [eax], cx
mov eax, dword [esp + 0x18]
mov cl, byte [0x4bb58a]
push 1
mov byte [eax + 2], cl
lea eax, [esp + 0x1c]
push eax
setne al
mov ecx, esi
add al, 0xc5
movzx eax, al
push eax
call fcn.0042b1e0
cmp byte [esp + 0x41], 0
je 0x425974
lea eax, [esp + 0xa0]
push eax
push str.if_not_GetKeyState___s__
push dword [esp + 0x1c]
call fcn.004053e0
mov dword [esp + 0x34], 9
mov edx, dword [esp + 0x50]
mov ch, bl
mov cl, byte [esp + 0x4d]
mov dword [esp + 0x28], eax
mov al, byte [esp + 0x4e]
mov dword [esp + 0x68], edx
mov dh, byte [esp + 0x4f]
mov byte [esp + 0x3b], ch
mov ch, byte [esp + 0x4c]
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x74]
mov byte [esp + 0x1f], bh
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebp
mov byte [esp + 0x1e], dh
mov dword [esp + 0x70], eax
mov byte [esp + 0x32], ch
mov byte [esp + 0x33], cl
jmp 0x425a49
mov esi, dword [esp + 0x38]
movzx eax, bh
mov ecx, 0x4b6ba9
sub eax, 0x12
je 0x42598d
sub eax, 0x92
je 0x42598d
sub eax, 1
jne 0x4259ad
movzx eax, bl
sub eax, 0x11
je 0x4259a8
sub eax, 0x91
je 0x4259a8
sub eax, 1
jne 0x4259ad
mov ecx, str.RCtrl_up
jmp 0x4259ad
mov ecx, str.LCtrl_up
lea eax, [esp + 0xa0]
mov dword [esi + 0x38c], 0
push eax
lea eax, [esp + 0x88]
push eax
push ecx
push str.Blind_s_s_s_DownR
push dword [esp + 0x24]
call fcn.004053e0
add esp, 0x14
lea eax, [esp + 0x14]
mov ecx, esi
push 0
push 1
push eax
push 0x41
call fcn.0042b1e0
test eax, eax
je 0x4256b5
push 0
push 0
push 0
push 0x67
mov ecx, esi
call fcn.0042b1e0
lea eax, [esp + 0xc0]
mov dword [esi + 0x38c], 0
push eax
push str._s_up::
push dword [esp + 0x1c]
call fcn.004053e0
mov dword [esp + 0x34], 2
jmp 0x425925
lea eax, [esp + 0xc0]
push eax
push str._s::
push dword [esp + 0x1c]
call fcn.004053e0
mov dword [esp + 0x28], eax
add esp, 0xc
mov esi, dword [esp + 0x14]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x44], edi
cmp byte [esi], 0x3a
jne 0x425be1
mov al, byte [esi + 1]
test al, al
je 0x425be1
lea ecx, [esi + 1]
mov dword [esp + 0x5c], ecx
cmp al, 0x3a
je 0x425a98
push 0x3a
push ecx
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
mov edi, eax
add esp, 8
test edi, edi
je 0x425bdb
mov ecx, dword [esp + 0x5c]
inc edi
mov dword [esp + 0x44], edi
jmp 0x425aae
mov eax, dword [esp + 0x14]
add eax, 2
cmp byte [eax], 0
je 0x425be1
mov edi, eax
mov dword [esp + 0x44], eax
test edi, edi
je 0x425be1
mov ah, byte [0x4ca764]
mov esi, ecx
mov byte [esp + 0x12], ah
cmp ecx, edi
jae 0x425b0d
mov bl, byte [esi]
movzx eax, bl
test eax, 0xffffff80
je 0x425ad6
xor edx, edx
jmp 0x425ae4
push 2
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
mov edx, eax
mov al, bl
inc esi
and al, 0xdf
test edx, edx
movzx ecx, al
movzx eax, bl
cmove ecx, eax
cmp cl, 0x58
je 0x425b03
cmp esi, edi
jb 0x425ac6
mov ah, byte [esp + 0x12]
jmp 0x425b0d
cmp byte [esi], 0x30
setne ah
mov byte [esp + 0x12], ah
mov esi, edi
nop
mov al, byte [esi]
mov ebx, ebp
test al, al
je 0x425b35
mov dl, byte [0x4c9205]
mov cl, al
mov al, cl
cmp cl, dl
je 0x425b35
cmp cl, 0x3a
je 0x425b35
mov al, byte [esi + 1]
inc esi
mov cl, al
test al, al
jne 0x425b20
mov edx, esi
test al, al
je 0x425bd3
mov cl, byte [esi + 1]
lea edi, [esi + 1]
cmp al, 0x3a
jne 0x425b68
cmp cl, al
jne 0x425b59
mov ebp, esi
mov esi, edi
test ah, ah
jne 0x425bd3
mov ah, byte [esp + 0x12]
cmp cl, 0x3a
mov ebp, edx
cmovne ebp, ebx
inc esi
jmp 0x425b10
movsx eax, cl
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x425b7a.99
movzx eax, byte [eax + 0x4268f8]
jmp dword [eax*4 + 0x4268d8]
mov byte [edi], 7
jmp case.0x425b7a.99
mov byte [edi], 8
jmp case.0x425b7a.99
mov byte [edi], 0xc
jmp case.0x425b7a.99
mov byte [edi], 0xa
jmp case.0x425b7a.99
mov byte [edi], 0xd
jmp case.0x425b7a.99
mov byte [edi], 9
jmp case.0x425b7a.99
mov byte [edi], 0xb
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x425ba7
sub ecx, edx
lea eax, [ecx + 1]
push eax
push edi
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
cmp byte [esi], 0x3a
jne 0x425bc9
cmp byte [edi], 0x3a
cmove esi, edi
mov ah, byte [esp + 0x12]
inc esi
jmp 0x425b10
test ebp, ebp
jne 0x425c6a
xor edi, edi
mov dword [esp + 0x44], edi
push 0x4bc98c
push dword [esp + 0x18]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x42633c
mov ecx, dword [esp + 0x14]
cmp ebp, ecx
jne 0x425c0c
cmp byte [ebp + 2], 0x3a
jne 0x425c0c
inc ebp
mov esi, ebp
cmp ebp, ecx
jbe 0x425c21
mov al, byte [esi]
cmp al, 0x20
je 0x425c1c
cmp al, 9
jne 0x425c21
dec esi
cmp esi, ecx
ja 0x425c12
mov bl, byte [esi]
mov byte [esi], 0
mov ecx, dword [esp + 0x14]
nop word [eax + eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x425c3a
cmp al, 9
jne 0x425c3d
inc ecx
jmp 0x425c30
push 0
xor edx, edx
call fcn.0040ddd0
add esp, 4
mov dword [esp + 0x64], eax
test eax, eax
je 0x42633a
cmp eax, 4
je 0x4256b5
mov byte [esi], bl
test ebp, ebp
je 0x42633c
jmp 0x425c6e
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
cmp ebp, ecx
jbe 0x426340
mov eax, dword [0x4c8024]
cmp dword [eax + 0x94], 0
jne 0x426736
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x354]
test eax, eax
je 0x425ca3
cmp byte [eax], 0x1a
je 0x426673
mov byte [ebp], 0
add ebp, 2
test edi, edi
jne 0x425fa4
mov al, byte [ebp]
test al, al
je 0x425cf7
mov edx, ebp
nop dword [eax + eax]
cmp al, 0x20
je 0x425cc8
cmp al, 9
jne 0x425cce
mov al, byte [edx + 1]
inc edx
jmp 0x425cc0
mov eax, edx
sub eax, ebp
je 0x425cf7
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x425ce0
sub ecx, esi
lea eax, [ecx + 1]
push eax
push edx
push ebp
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
cmp byte [ebp], 0
mov edi, ebp
je 0x425fa0
cmp byte [ebp + 1], 0
je 0x425d65
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
cmp byte [ebp], 0
mov ecx, eax
je case.0x425d36.34
mov al, byte [ebp + 1]
test al, al
je case.0x425d36.34
cmp al, 0x20
je case.0x425d36.34
movsx eax, byte [edi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x425d36.34
movzx eax, byte [eax + 0x426918]
jmp dword [eax*4 + 0x426910]
mov al, byte [edi + 2]
inc edi
test al, al
jne 0x425d20
push ecx
push ecx
push 0
xor edx, edx
mov ecx, edi
call fcn.00415d30
mov bh, al
add esp, 0xc
mov byte [esp + 0x13], bh
test bh, bh
je 0x425f9a
jmp 0x425d6c
or bh, 0xff
mov byte [esp + 0x13], bh
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
mov esi, dword [esp + 0x14]
mov edx, eax
cmp byte [esi], 0
je case.0x425da6.34
mov al, byte [esi + 1]
lea ecx, [esi + 1]
test al, al
je case.0x425da6.34
nop dword [eax]
cmp al, 0x20
je case.0x425da6.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x425da6.34
movzx eax, byte [eax + 0x426980]
jmp dword [eax*4 + 0x426978]
mov esi, ecx
mov al, byte [esi + 1]
lea ecx, [esi + 1]
test al, al
jne 0x425d90
push edx
push ecx
push 0
xor edx, edx
mov ecx, esi
call fcn.00415d30
add esp, 0xc
mov bl, al
mov byte [esp + 0x2f], bl
push 0x4bb7ec
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
add esp, 8
mov cl, bl
test eax, eax
setne byte [esp + 0x40]
dec cl
cmp cl, 5
ja 0x425df3
cmp bl, 3
jne 0x425dfb
mov al, bl
add al, 0x66
cmp al, 5
ja 0x425dff
mov cl, 1
jmp 0x425e01
xor cl, cl
mov al, bh
dec al
cmp al, 5
ja 0x425e0e
cmp bh, 3
jne 0x425e16
mov al, bh
add al, 0x66
cmp al, 5
ja 0x425e1a
mov al, 1
jmp 0x425e1c
xor al, al
mov byte [esp + 0x26], al
test cl, cl
jne 0x425e2d
mov byte [esp + 0x27], 1
test al, al
jne 0x425e32
mov byte [esp + 0x27], 0
mov ebx, dword [esp + 0x14]
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x425e40
sub ecx, edx
cmp ecx, 1
jne 0x425e61
movzx eax, byte [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x4bcabc
jne 0x425e66
mov eax, 0x4b6ba9
cmp byte [esp + 0x40], 0
mov ecx, 0x4bc8e8
push ebx
push eax
mov eax, 0x4b6ba9
cmove eax, ecx
push eax
push str._s_s_s
lea eax, [esp + 0xd0]
push 0x20
push eax
call fcn.0049e760
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
lea eax, [esp + 0xb8]
push 0x1f
push edi
push eax
call ebx
add esp, 0x24
mov byte [esp + 0xbf], 0
lea eax, [esp + 0x84]
push 7
push ebp
push eax
call ebx
sub edi, ebp
mov byte [esp + 0x97], 0
add esp, 0xc
cmp edi, 8
jae 0x425ed4
mov byte [esp + edi + 0x84], 0
mov bh, byte [esp + 0x13]
xor edx, edx
mov dword [esp + 0x28], edx
cmp byte [esp + 0x84], dl
jne 0x4262ff
cmp bh, 0xd
jne 0x425f1b
lea eax, [esp + 0xa0]
push str.Return
push eax
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
add esp, 8
test eax, eax
je 0x425f94
mov dword [esp + 0x28], 1
jmp case.0x4258bb.0
cmp bh, 0x13
jne 0x4262ff
mov al, byte [esp + 0xa0]
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
movzx ebx, al
test ebx, 0xffffff80
je 0x425f40
xor esi, esi
jmp 0x425f51
push 2
push ebx
call edi
mov esi, eax
add esp, 8
mov al, byte [esp + 0xa0]
mov cl, bl
and cl, 0xdf
test esi, esi
movzx edx, cl
mov ecx, ebx
cmove edx, ecx
cmp dl, 0x50
je 0x425f94
movzx ebx, al
test ebx, 0xffffff80
je 0x425f74
xor eax, eax
jmp 0x425f7c
push 2
push ebx
call edi
add esp, 8
mov cl, bl
and cl, 0xdf
test eax, eax
movzx edx, cl
mov ecx, ebx
cmove edx, ecx
cmp dl, 0x42
jne 0x426310
xor bh, bh
mov byte [esp + 0x13], bh
mov edi, dword [esp + 0x44]
jmp 0x425fa8
mov edi, dword [esp + 0x44]
mov bh, byte [esp + 0x13]
mov esi, dword [esp + 0x38]
cmp byte [esi + 0x154], 0
je 0x425fed
push 0
push 0xff
push 0
push 0x67
mov ecx, esi
mov byte [esi + 0x154], 0
call fcn.0042b1e0
test eax, eax
je 0x4256b5
mov eax, dword [esi + 0x354]
mov dword [eax + 0xc], 1
mov dword [esi + 0x38c], 0
push 1
push dword [esp + 0x18]
mov ecx, esi
call fcn.00428a40
test eax, eax
je 0x4256b5
test edi, edi
je 0x4260f5
cmp byte [edi], 0
je 0x4266b4
mov bl, byte [esp + 0x12]
mov eax, 0x4b6ba9
mov edx, dword [esi + 0x364]
test bl, bl
push 0
push dword [esp + 0x80]
cmove eax, ebp
mov ecx, dword [edx + 4]
push eax
push edi
push ecx
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x70]
call fcn.0040ead0
add esp, 0x14
test eax, eax
je 0x4256b5
mov al, byte [ebp]
test al, al
je 0x426329
test bl, bl
je 0x4260be
mov ecx, ebp
nop
cmp al, 0x20
je 0x426068
cmp al, 9
jne 0x42606e
mov al, byte [ecx + 1]
inc ecx
jmp 0x426060
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, esi
call fcn.00428c40
test eax, eax
je 0x4256b5
mov eax, dword [esi + 0x354]
mov al, byte [eax]
cmp al, 9
jb 0x42609e
cmp al, 0x20
jbe 0x426693
cmp al, 0x21
je 0x426693
cmp al, 0x69
jb 0x4260b2
cmp al, 0x6b
jbe 0x426693
cmp al, 0x71
jb 0x4260be
cmp al, 0x73
jbe 0x426693
push 0
push 0
push 0
mov ebp, esi
push 0x67
mov ecx, ebp
call fcn.0042b1e0
test eax, eax
je 0x4256b5
mov eax, dword [ebp + 0x354]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0xc], 1
jmp 0x4257fa
xor esi, esi
cmp byte [ebp], 0
je 0x4261f8
mov esi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
push str.AltTab
push ebp
call esi
add esp, 8
test eax, eax
jne 0x426120
mov esi, 0x7ffe
jmp 0x4261ce
push str.ShiftAltTab
push ebp
call esi
add esp, 8
test eax, eax
jne 0x426139
mov esi, 0x7ffd
jmp 0x4261ce
push str.AltTabMenu
push ebp
call esi
add esp, 8
test eax, eax
jne 0x426152
mov esi, 0x7ffc
jmp 0x4261ce
push str.AltTabAndMenu
push ebp
call esi
add esp, 8
test eax, eax
jne 0x426168
mov esi, 0x7ffb
jmp 0x4261ce
push str.AltTabMenuDismiss
push ebp
call esi
add esp, 8
test eax, eax
jne 0x42617e
mov esi, 0x7ffa
jmp 0x4261ce
mov edi, dword [esp + 0x38]
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push ebp
mov ecx, edi
call fcn.00428c40
test eax, eax
je 0x4256b5
mov eax, dword [edi + 0x354]
mov al, byte [eax]
cmp al, 9
jb 0x4261ae
cmp al, 0x20
jbe 0x4266d1
cmp al, 0x21
je 0x4266d1
cmp al, 0x69
jb 0x4261c2
cmp al, 0x6b
jbe 0x4266d1
cmp al, 0x71
jb 0x4261ce
cmp al, 0x73
jbe 0x4266d1
mov ebp, dword [esp + 0x38]
mov ecx, ebp
push 0
push 0
push 0
push 0x67
call fcn.0042b1e0
test eax, eax
je 0x4256b5
mov eax, dword [ebp + 0x354]
mov dword [eax + 0xc], 1
jmp 0x4261fc
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x63]
push eax
lea edx, [esp + 0x84]
call fcn.0040e540
mov edi, eax
add esp, 4
test edi, edi
je 0x42629a
test si, si
je 0x426238
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov word [edi + 6], si
jmp 0x4257f6
mov eax, dword [edi + 0x20]
test eax, eax
je 0x426255
mov ecx, dword [0x4cb088]
cmp dword [eax + 4], ecx
je 0x4266f2
mov eax, dword [eax + 8]
test eax, eax
jne 0x426245
push dword [esp + 0x80]
mov ecx, edi
push dword [ebp + 0x364]
call fcn.0040dcc0
test eax, eax
je 0x426719
cmp byte [esp + 0x63], 0
jne 0x426285
cmp byte [0x4ca7e7], 0
je 0x4262fb
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov byte [edi + 0x14], 1
jmp 0x4257f6
mov ecx, dword [ebp + 0x364]
mov edx, esi
push 0
push dword [esp + 0x84]
push dword [ecx + 4]
call fcn.0040d420
add esp, 0xc
test eax, eax
jne 0x4262fb
cmp dword [esp + 0x64], 3
jne 0x4256b5
push dword [esp + 0x14]
lea eax, [esp + 0xe4]
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.0049e760
push 0
push 0
xorps xmm3, xmm3
lea ecx, [esp + 0xf8]
mov edx, 0x10000
call fcn.004a4cd0
add esp, 0x18
mov edx, dword [esp + 0x28]
mov bl, byte [esp + 0x12]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
jmp 0x4257fa
mov bh, byte [esp + 0x13]
mov edx, dword [esp + 0x28]
mov bl, byte [esp + 0x12]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
jmp 0x4257fa
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
jmp 0x4257fa
mov byte [esi], bl
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
cmp byte [esi + ecx - 1], 0x3a
jne 0x42640c
cmp esi, 1
je 0x426752
mov al, byte [ecx]
mov edx, ecx
test al, al
je 0x426398
mov bl, byte [0x4c9207]
mov ah, byte [0x4c9205]
nop dword [eax]
cmp al, 0x20
je 0x42640c
cmp al, 9
je 0x42640c
cmp al, bl
je 0x42640c
cmp al, ah
je 0x42640c
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x426370
cmp byte [esi + ecx - 2], 0x3a
jne 0x4263a4
cmp esi, 2
ja 0x42640c
mov byte [esi + ecx - 1], 0
push str.Default
push dword [esp + 0x18]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
mov ebp, dword [esp + 0x40]
add esp, 8
test eax, eax
jne 0x4263f2
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x4263f2
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4263f2
cmp byte [eax], 0x75
jne 0x4263f2
push 0
push 0
push 0
push 0x76
mov ecx, ebp
call fcn.0042b1e0
test eax, eax
je 0x4256b5
jmp 0x4257e6
push 0
push dword [esp + 0x18]
mov ecx, ebp
call fcn.00428a40
test eax, eax
je 0x4256b5
jmp 0x4257e6
cmp byte [ecx], 0x23
mov ebp, dword [esp + 0x38]
jne 0x426438
mov esi, dword [ebp + 0x150]
push ecx
mov ecx, ebp
call fcn.00427070
test eax, eax
je 0x4256b5
cmp eax, 3
je 0x4257d6
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x7b
je 0x426463
cmp al, 0x7d
je 0x426463
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, ebp
call fcn.00428c40
test eax, eax
je 0x4256b5
jmp 0x4257e6
cmp al, 0x7b
mov ecx, ebp
push 0
setne al
push 0
add al, 0x77
push 0
movzx eax, al
push eax
call fcn.0042b1e0
test eax, eax
je 0x4256b5
mov ebx, dword [esp + 0x14]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x426487
cmp al, 9
je 0x426487
mov edx, dword [esp + 0x28]
mov dword [esp + 0x14], ebx
cmp byte [ebx], 0
je 0x4257ea
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x4264a7
jmp 0x425317
mov eax, dword [esp + 0x14]
test dl, dl
mov cx, word [0x4bb588]
push 0
push 1
mov word [eax], cx
mov eax, dword [esp + 0x1c]
mov cl, byte [0x4bb58a]
mov byte [eax + 2], cl
lea eax, [esp + 0x1c]
mov ecx, dword [esp + 0x40]
push eax
setne al
add al, 0xc5
movzx eax, al
push eax
call fcn.0042b1e0
lea eax, [esp + 0xa0]
push eax
push str.Blind_s_Up
push dword [esp + 0x1c]
call fcn.004053e0
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x20]
add esp, 0xc
push 0
push 1
push eax
push 0x41
call fcn.0042b1e0
mov ecx, dword [esp + 0x38]
push 0
push 0
push 0
push 0x67
call fcn.0042b1e0
mov al, byte [esp + 0x42]
mov ch, bl
mov edx, dword [esp + 0x44]
mov cl, byte [esp + 0x41]
mov dword [esp + 0x5c], edx
mov dh, byte [esp + 0x43]
mov byte [esp + 0x2f], ch
mov ch, byte [esp + 0x40]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x68]
mov byte [esp + 0x13], 0
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebp
mov byte [esp + 0x12], dh
mov dword [esp + 0x64], eax
mov byte [esp + 0x26], ch
mov byte [esp + 0x27], cl
mov dword [esp + 0x28], esi
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x60a8]
cmp dword [esp + 0x8c], edx
lea esi, [esp + 0xa0b0]
mov ebx, dword [esp + 0x48]
mov eax, edx
mov ebp, dword [esp + 0x38]
cmovne esi, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
jmp 0x424821
push dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
push str.Continuation_section_too_long.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
cmp dword [ebp + 0x144], 0
lea eax, [esp + 0x160]
push eax
mov ecx, str.Not_a_valid_method__class_or_property_definition.
mov eax, 0x4bca00
cmove eax, ecx
mov ecx, ebp
push eax
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
lea eax, [esp + 0x160]
mov ecx, ebp
push eax
push 0x4bca00
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
lea eax, [esp + 0x160]
push eax
push str.Functions_cannot_contain_functions.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
mov ecx, dword [esp + 0x14]
push ecx
push str.Not_a_valid_property_getter_setter.
mov ecx, ebp
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
mov eax, dword [esp + 0x14]
push eax
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, ebp
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
push ecx
push str.IfWin_should_be_IfWin.
mov ecx, edx
mov dword [edx + 0x38c], eax
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
mov byte [ebp - 2], 0x3a
mov ecx, esi
push dword [esp + 0x14]
push str.Invalid_single_line_hotkey_hotstring.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
push dword [esp + 0x14]
mov ecx, esi
push str.This_hotstring_is_missing_its_abbreviation.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
mov byte [ebp - 2], 0x3a
mov ecx, edi
push dword [esp + 0x14]
push str.Invalid_single_line_hotkey_hotstring.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
push dword [esp + 0x14]
mov ecx, ebp
mov dword [ebp + 0x38c], 0
push str.Duplicate_hotkey.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
push dword [esp + 0x14]
mov ecx, ebp
push str.Out_of_memory.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
push ecx
mov ecx, dword [esp + 0x3c]
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
push ecx
mov ecx, dword [esp + 0x3c]
push str.This_line_does_not_contain_a_recognized_action.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
mov ecx, dword [esp + 0x38]
push edi
push str.Continuation_section_too_long.
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
push dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
push 0x4bc9d0
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
cmp byte [esp + 0x160], 0
je 0x42681b
cmp dword [esp + 0x30], 0
mov eax, dword [esp + 0x34]
mov esi, dword [ebp + 0x150]
mov dword [ebp + 0x150], eax
lea eax, [esp + 0x160]
je 0x4267f9
cmp byte [esp + 0x1b], 0
mov ecx, 0x4bca00
push eax
mov eax, str.Missing___
cmove eax, ecx
mov ecx, ebp
push eax
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
push 0
push 0
push 0
push 0
push 0
push 3
push eax
mov ecx, ebp
call fcn.00428c40
test eax, eax
je 0x4256b5
mov dword [ebp + 0x150], esi
cmp dword [ebp + 0x28], 0
je 0x426845
cmp dword [esp + 0x74], 0
jne 0x426845
lea eax, [ebp + 0x40]
mov ecx, ebp
push eax
push str.Missing___
call fcn.0043ee10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4
inc dword [ebp + 0x150]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe0a8
ret 4