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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0xe0ac
call fcn.004c1c60
mov eax, dword [0x4da488]
push ebx
push esi
push edi
push dword [ebp + 8]
mov ebx, ecx
mov byte [esp + 0x164], 0
dec eax
mov dword [esp + 0x28], ebx
lea ecx, [esp + 0x60ac]
mov dword [esp + 0x78], eax
push 0
mov dword [ebx + 0x14c], eax
lea edi, [esp + 0xa0b8]
push ecx
mov eax, ecx
mov dword [esp + 0x1c], ecx
push eax
mov dword [esp + 0x28], edi
mov byte [esp + 0x1e], 0
mov byte [esp + 0x59], 0
mov byte [esp + 0x5e], 0
mov dword [esp + 0x7c], 0
call fcn.004310a0
push 2
push 0x4cb070
push dword [esp + 0x18]
mov esi, eax
mov dword [esp + 0x3c], eax
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcmp]
add esp, 0xc
test eax, eax
sete byte [esp + 0x2f]
test eax, eax
jne 0x42eb4e
mov eax, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x30], esi
mov byte [eax], 0
mov ecx, dword [esp + 0x10]
nop dword [eax]
nop word [eax + eax]
mov dword [esp + 0x8c], edi
cmp esi, 0xffffffff
je 0x430aea
mov eax, dword [esp + 0x6c]
push 0xc
inc eax
mov dword [ebx + 0x38c], 0
push str.CommentFlag
push ecx
mov dword [ebx + 0x150], eax
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
add esp, 0xc
test eax, eax
jne 0x42ebad
push dword [esp + 0x10]
mov ecx, ebx
call fcn.004313b0
test eax, eax
je 0x42fa54
mov byte [esp + 0x7c], 0
xor ebx, ebx
mov edx, dword [esp + 0x18]
push dword [ebp + 8]
inc dword [esp + 0x70]
push ebx
push ecx
push edx
call fcn.004310a0
mov edi, eax
mov dword [esp + 0x3c], edi
test edi, edi
je 0x42ecc0
cmp edi, 0xffffffff
je 0x42ecc0
test ebx, ebx
jne 0x42ecc0
mov ecx, dword [esp + 0x18]
push 2
push 0x4cb084
push ecx
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcmp]
mov edx, dword [esp + 0x24]
add esp, 0xc
test eax, eax
jne 0x42ec96
cmp byte [esp + 0x2f], al
jne 0x42ec1d
cmp byte [edx + 2], 0x3a
jne 0x42ec1d
cmp byte [edx + 3], 0x3a
je 0x42eca1
sub edi, 2
mov byte [esp + 0x2f], 0
lea eax, [edi + 1]
push eax
lea eax, [edx + 2]
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esp + 0x24]
add esp, 0xc
mov al, byte [edx]
test al, al
je 0x42ebb8
mov ecx, edx
cmp al, 0x20
je 0x42ec4e
cmp al, 9
jne 0x42ec54
mov al, byte [ecx + 1]
inc ecx
jmp 0x42ec46
mov eax, ecx
sub eax, edx
je 0x42ec87
cmp edi, 0xffffffff
jne 0x42ec73
mov edi, ecx
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x42ec64
sub edi, edx
mov edx, dword [esp + 0x18]
jmp 0x42ec75
sub edi, eax
lea eax, [edi + 1]
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esp + 0x24]
add esp, 0xc
cmp byte [edx], 0
mov dword [esp + 0x3c], edi
je 0x42ebb8
jmp 0x42eca1
cmp byte [esp + 0x2f], 0
jne 0x42ebb8
push 2
push 0x4cb070
push edx
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcmp]
add esp, 0xc
test eax, eax
jne 0x42ecc0
mov byte [esp + 0x2f], 1
jmp 0x42ebb4
cmp byte [esp + 0x2f], 0
je 0x42ecd5
cmp edi, 0xffffffff
je 0x42f3e8
jmp 0x42ebb4
test ebx, ebx
jne 0x42f165
mov edx, dword [esp + 0x18]
cmp edi, 0xffffffff
je 0x42eed4
cmp byte [edx], 0x28
jne 0x42eed4
mov al, byte [edx + 1]
lea esi, [edx + 1]
cmp al, 0x3a
je 0x42eed0
cmp byte [edi + edx - 1], 0x3a
je 0x42eed0
mov cl, byte [0x4d9a12]
mov ebx, 1
mov byte [esp + 0x58], cl
mov ecx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x78], 0
mov byte [esp + 0x57], bl
mov byte [esp + 0x59], 0
mov byte [esp + 0x5b], 0
mov byte [esp + 0x5a], bl
mov word [esp + 0x90], 0xa
mov dword [esp + 0x70], ecx
nop dword [eax]
cmp al, 0x20
je 0x42ed58
cmp al, 9
jne 0x42ed5e
mov al, byte [esi + 1]
inc esi
jmp 0x42ed50
test al, al
je 0x42eec2
mov edi, esi
test esi, esi
je 0x42ed94
mov dl, byte [esi]
test dl, dl
je 0x42ed94
mov ecx, 0x4c98e4
mov al, 0x20
nop dword [eax]
cmp dl, al
je 0x42edac
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42ed80
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x42ed72
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42eda0
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 0x42ee12
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.004adeb0
lea edx, [esp + 0x94]
add esp, 4
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x42ee00
sub edx, ecx
mov dword [esp + 0x70], edx
jmp 0x42ee9e
push 5
push 0x4cb0e0
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
add esp, 0xc
test eax, eax
jne 0x42ee32
cmp byte [esi + 5], 0x30
setne byte [esp + 0x58]
jmp 0x42ee9e
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 0x42ee52
cmp byte [esi + 5], 0x30
setne byte [esp + 0x57]
jmp 0x42ee9e
mov al, byte [esi]
test al, al
je 0x42ee9e
nop dword [eax + eax]
movsx eax, al
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x42ee72.38
movzx eax, byte [eax + 0x430bac]
jmp dword [eax*4 + 0x430b94]
mov byte [esp + 0x59], 1
jmp case.0x42ee72.38
mov byte [esp + 0x5b], 1
jmp case.0x42ee72.38
mov byte [esp + 0x5a], 0
jmp case.0x42ee72.38
mov dword [esp + 0x38], 2
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x42ee60
mov byte [edi], bl
mov esi, edi
cmp bl, 0x20
je 0x42eeac
cmp bl, 9
jne 0x42eeb2
mov bl, byte [esi + 1]
inc esi
jmp 0x42eea2
test bl, bl
jne 0x42ed66
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
mov byte [esp + 0x7c], 1
jmp 0x42ebb8
mov esi, dword [esp + 0x30]
xor ebx, ebx
mov dword [esp + 0x38], ebx
cmp edi, 0xffffffff
je 0x42f3e8
test edi, edi
je 0x42ebb8
mov ebx, dword [esp + 0x18]
cmp byte [edi + ebx - 1], 0x3a
jne 0x42eeff
cmp byte [ebx], 0x2c
jne 0x42f3e8
mov bl, byte [ebx]
movzx eax, bl
test eax, 0xffffff80
jne 0x42ef1e
push 2
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
test eax, eax
je 0x42ef1e
and bl, 0xdf
mov al, bl
cmp al, 0x41
je 0x42f124
cmp al, 0x4f
je 0x42f0a2
mov ebx, dword [esp + 0x18]
mov al, byte [ebx]
cmp al, 0x3a
je 0x42ef42
cmp al, 0x2b
je 0x42ef42
cmp al, 0x2d
jne 0x42ef4b
cmp byte [ebx + 1], al
je 0x42f3e8
movsx eax, al
push eax
push str.____:.___
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
add esp, 8
test eax, eax
je 0x42f3e8
push 0x4cb0ac
push ebx
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x42f028
cmp byte [ebx], 0x3a
jne 0x42efd8
mov al, byte [ebx + 1]
lea esi, [ebx + 1]
test al, al
je 0x42efcf
nop dword [eax]
cmp al, 0x3a
je 0x42efcf
movzx eax, al
test eax, 0xffffff80
jne 0x42efb1
push 0x107
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
test eax, eax
jne 0x42efc7
movsx eax, byte [esi]
push eax
push 0x4cb0b0
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
add esp, 8
test eax, eax
je 0x42efd8
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x42ef90
cmp byte [esi], 0x3a
je 0x42f3e8
cmp byte [ebx], 0x2c
jne 0x42f06b
lea esi, [ebx + 1]
mov al, byte [esi]
cmp al, 0x20
je 0x42efee
cmp al, 9
jne 0x42eff1
inc esi
jmp 0x42efe4
mov edi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbcmp]
push 2
push 0x4cb0ac
push esi
call edi
add esp, 0xc
test eax, eax
je 0x42f3e8
push 3
lea eax, [esi - 1]
push 0x4c98dc
push eax
call edi
add esp, 0xc
test eax, eax
je 0x42f3e8
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x3c]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x430927
cmp byte [ebx], 0x2c
je 0x42f048
mov eax, dword [esp + 0x10]
mov byte [esi + eax], 0x20
inc esi
lea eax, [edi + 1]
push eax
mov eax, dword [esp + 0x14]
add eax, esi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ebx, dword [esp + 0x44]
add esp, 0xc
add esi, edi
mov dword [esp + 0x30], esi
jmp 0x42ebb4
mov eax, ebx
cmp ebx, edi
jae 0x42f07b
cmp byte [eax], 0x22
je 0x42f083
inc eax
cmp eax, edi
jb 0x42f071
cmp eax, edi
je 0x42f3e8
mov al, byte [edi + 2]
lea ecx, [edi + 2]
test al, al
je 0x42f3e8
cmp al, 0x22
je 0x42f024
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f091
jmp 0x42f3e8
mov ecx, dword [esp + 0x18]
mov bl, byte [ecx + 1]
movzx eax, bl
test eax, 0xffffff80
je 0x42f0b7
xor edx, edx
jmp 0x42f0c5
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
and al, 0xdf
test edx, edx
movzx ecx, al
movzx eax, bl
cmove ecx, eax
cmp cl, 0x52
jne 0x42f3e8
mov ebx, dword [esp + 0x18]
mov al, byte [ebx + 2]
lea ecx, [ebx + 2]
cmp al, 0x20
je 0x42f0ff
cmp al, 9
je 0x42f0f7
cmp al, 0xa0
jne 0x42f3e8
cmp al, 0x20
je 0x42f0ff
cmp al, 9
jne 0x42f105
mov al, byte [ecx + 1]
inc ecx
jmp 0x42f0f7
movsx eax, al
push eax
push str.____:
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
add esp, 8
test eax, eax
jne 0x42f3e8
jmp 0x42f02c
mov ebx, dword [esp + 0x18]
push 3
push 0x4cb088
push ebx
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
add esp, 0xc
test eax, eax
jne 0x42f3e8
mov al, byte [ebx + 3]
lea ecx, [ebx + 3]
cmp al, 0x20
je 0x42f15f
cmp al, 9
je 0x42f157
cmp al, 0xa0
jne 0x42f3e8
cmp al, 0x20
je 0x42f15f
cmp al, 9
jne 0x42f105
mov al, byte [ecx + 1]
inc ecx
jmp 0x42f157
cmp edi, 0xffffffff
je 0x430acf
mov edx, dword [esp + 0x18]
cmp edi, 0xfffffffe
je 0x42ebb8
mov al, byte [edx]
cmp al, 0x29
jne 0x42f1d3
xor ebx, ebx
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x42f186
mov edi, dword [esp + 0x18]
sub edx, ecx
lea eax, [edi - 1]
add eax, edx
mov cl, byte [eax]
cmp cl, 0x20
je 0x42f1a4
cmp cl, 9
jne 0x42f1ac
cmp eax, edi
je 0x42f1ba
dec eax
dec edx
jmp 0x42f198
inc edi
mov byte [eax + 1], bl
dec edx
mov dword [esp + 0x3c], edx
jmp 0x42f368
cmp cl, 0x20
je 0x42f1c4
cmp cl, 9
jne 0x42f1c8
mov byte [eax], bl
xor edx, edx
inc edi
dec edx
mov dword [esp + 0x3c], edx
jmp 0x42f368
cmp byte [esp + 0x57], 0
mov edi, edx
je 0x42f22a
test al, al
jne 0x42f1e8
xor esi, esi
mov dword [esp + 0x3c], esi
jmp 0x42f22e
mov esi, dword [esp + 0x3c]
lea eax, [edx - 1]
add eax, esi
mov cl, byte [eax]
cmp cl, 0x20
je 0x42f1fd
cmp cl, 9
jne 0x42f205
cmp eax, edx
je 0x42f20f
dec eax
dec esi
jmp 0x42f1f1
mov byte [eax + 1], 0
mov dword [esp + 0x3c], esi
jmp 0x42f22e
cmp cl, 0x20
je 0x42f21f
cmp cl, 9
je 0x42f21f
mov dword [esp + 0x3c], esi
jmp 0x42f22e
xor esi, esi
mov byte [eax], 0
mov dword [esp + 0x3c], esi
jmp 0x42f22e
mov esi, dword [esp + 0x3c]
cmp byte [esp + 0x58], 0
je 0x42f286
mov al, byte [edx]
test al, al
jne 0x42f243
xor eax, eax
mov dword [esp + 0x3c], eax
jmp 0x42f286
mov ecx, edx
cmp al, 0x20
je 0x42f24d
cmp al, 9
jne 0x42f253
mov al, byte [ecx + 1]
inc ecx
jmp 0x42f245
mov eax, ecx
sub eax, edx
je 0x42f282
cmp esi, 0xffffffff
jne 0x42f272
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x42f263
sub esi, edx
mov edx, dword [esp + 0x18]
jmp 0x42f274
sub esi, eax
lea eax, [esi + 1]
push eax
push ecx
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov dword [esp + 0x3c], esi
xor esi, esi
cmp byte [esp + 0x59], 0
je 0x42f2c2
mov al, byte [0x4d82d5]
lea edx, [esp + 0x48]
mov ecx, dword [esp + 0x18]
push esi
push esi
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x58], al
mov byte [esp + 0x5c], al
mov byte [esp + 0x5d], al
lea eax, [esp + 0x5c]
push 1
push eax
call fcn.004ac590
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x5b], 0
je 0x42f304
mov al, byte [0x4d82d5]
lea edx, [esp + 0x48]
mov cl, byte [0x4d82d6]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x5c], al
lea eax, [esp + 0x5c]
mov byte [esp + 0x58], cl
mov byte [esp + 0x5d], cl
mov ecx, dword [esp + 0x28]
push 1
push eax
call fcn.004ac590
add esp, 0x18
add esi, eax
cmp byte [esp + 0x5a], 0
je 0x42f346
mov al, byte [0x4d82d5]
lea edx, [esp + 0x48]
mov cl, byte [0x4d82d7]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov byte [esp + 0x5c], al
lea eax, [esp + 0x5c]
mov byte [esp + 0x58], cl
mov byte [esp + 0x5d], cl
mov ecx, dword [esp + 0x28]
push 1
push eax
call fcn.004ac590
add esp, 0x18
add esi, eax
test esi, esi
je 0x42f360
mov edx, dword [esp + 0x18]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x42f351
sub edx, ecx
mov dword [esp + 0x3c], edx
jmp 0x42f364
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x70]
lea eax, [ecx + edx]
add eax, esi
cmp eax, 0x4001
jae 0x430ab7
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, 1
jle 0x42f3bd
test ecx, ecx
je 0x42f3bd
cmp edi, dword [esp + 0x18]
jne 0x42f3bd
lea eax, [ecx + 1]
push eax
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x18]
add eax, esi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x7c]
add esp, 0xc
mov edx, dword [esp + 0x3c]
add esi, ecx
mov dword [esp + 0x30], esi
test edx, edx
je 0x42ebb4
lea eax, [edx + 1]
push eax
mov eax, dword [esp + 0x14]
add eax, esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, dword [esp + 0x3c]
mov dword [esp + 0x30], esi
jmp 0x42ebb4
mov byte [edi], bl
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
test ebx, ebx
je 0x42fb85
cmp byte [esp + 0x160], 0
je 0x42f579
mov eax, dword [esp + 0x28]
mov esi, dword [edi + 0x150]
mov dword [edi + 0x150], eax
mov eax, dword [esp + 0x10]
cmp byte [eax], 0x7b
je 0x42f482
cmp byte [esp + 0xf], 0
jne 0x42f482
mov ebx, dword [esp + 0x50]
test ebx, ebx
jne 0x43096c
cmp dword [edi + 0x28], ebx
je 0x42f448
mov eax, dword [0x4d70f4]
cmp dword [eax + 0x94], ebx
je 0x43093f
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x178]
mov ecx, edi
push eax
call fcn.00433450
test eax, eax
je 0x42fa54
mov dword [edi + 0x38c], 0
mov byte [esp + 0x160], 0
jmp 0x42f573
mov ebx, dword [esp + 0x50]
mov eax, ebx
sub eax, 0
je 0x42f4cd
sub eax, 1
je 0x42f4ac
sub eax, 1
jne 0x42f519
lea eax, [esp + 0x160]
mov ecx, edi
push eax
call fcn.0043b8b0
jmp 0x42f4bb
lea eax, [esp + 0x160]
mov ecx, edi
push eax
call fcn.0043b170
test eax, eax
je 0x42fa54
mov byte [esp + 0x160], 0
jmp 0x42f525
mov eax, dword [0x4d70f4]
mov ecx, edi
cmp dword [eax + 0x94], 0
jne 0x430989
lea eax, [esp + 0x4168]
push eax
lea eax, [esp + 0x164]
push eax
call fcn.0043a5a0
test eax, eax
je 0x42fa54
cmp byte [esp + 0xf], 0
je 0x42f519
push 0
push 0
push 0
push 0x77
mov ecx, edi
call fcn.004359f0
jmp 0x42f463
mov byte [esp + 0x160], 0
test ebx, ebx
je 0x42f573
mov bl, byte [esp + 0xf]
test bl, bl
jne 0x42f573
mov ecx, dword [esp + 0x10]
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x20
je 0x42f531
cmp al, 9
je 0x42f531
test al, al
jne 0x42f550
mov edx, dword [esp + 0x20]
mov dword [edi + 0x150], esi
jmp 0x42fb8d
mov ebx, ecx
lea edx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x42f555
sub ebx, edx
mov dword [esp + 0x30], ebx
lea eax, [ebx + 1]
push eax
push ecx
push dword [esp + 0x18]
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov dword [edi + 0x150], esi
mov eax, dword [esp + 0x10]
mov dl, byte [eax]
cmp dl, 0x7d
jne 0x42f6ac
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x42f6ac
mov eax, dword [0x4d70f4]
cmp dword [eax + 0x94], 0
jne 0x42f6ac
cmp dword [edi + 0x144], 0
je 0x42f5df
mov eax, dword [edi + 0x148]
mov dword [edi + 0x144], 0
test eax, eax
je 0x42f669
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [edi + 0x148], 0
jmp 0x42f669
lea eax, [ecx - 1]
mov dword [edi + 0x28], eax
mov ebx, dword [edi + eax*4 + 0x2c]
mov esi, dword [ebx + 0x10]
sub esi, 1
js 0x42f644
mov edi, esi
shl edi, 4
mov eax, dword [ebx + 0xc]
cmp dword [eax + edi + 0xc], 1
jne 0x42f635
cmp esi, dword [ebx + 0x1c]
jl 0x42f612
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 0x42f635
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 0x42f5f6
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x28]
mov eax, dword [edi + eax*4 + 0x2c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea esi, [edi + 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 0x42f666
mov byte [eax], 0
jmp 0x42f669
mov byte [esi], 0
mov ebx, dword [esp + 0x10]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x42f66d
cmp al, 9
je 0x42f66d
mov dword [esp + 0x10], ebx
cmp byte [ebx], 0
je 0x42fb85
lea ecx, [ebx + 1]
nop dword [eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x42f690
sub ebx, ecx
mov dword [edi + 0x38c], 0
mov dword [esp + 0x30], ebx
jmp 0x42f3f0
cmp dword [edi + 0x144], 0
je 0x42f786
mov eax, dword [0x4d70f4]
cmp dword [eax + 0x94], 0
jne 0x42f786
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
push 3
push 0x4cb160
push dword [esp + 0x18]
call ebx
add esp, 0xc
test eax, eax
je 0x42f6fd
push 3
push 0x4cb164
push dword [esp + 0x18]
call ebx
add esp, 0xc
test eax, eax
jne 0x4309a4
mov ecx, dword [esp + 0x10]
lea esi, [ecx + 3]
mov al, byte [esi]
cmp al, 0x20
je 0x42f70e
cmp al, 9
jne 0x42f711
inc esi
jmp 0x42f704
test al, al
je 0x42f727
cmp al, 0x7b
jne 0x4309a8
cmp byte [esi + 1], 0
jne 0x4309a8
mov ecx, dword [edi + 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 0x42f736
lea eax, [esp + 0x160]
push 0x2e
push eax
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
mov edx, dword [esp + 0x28]
mov ecx, eax
mov eax, dword [esp + 0x18]
add esp, 8
mov dword [esp + 0x50], 0
mov al, byte [eax]
mov byte [ecx + 1], al
cmp byte [esi], 0x7b
mov ecx, dword [edi + 0x150]
sete bl
mov dword [esp + 0x28], ecx
mov byte [esp + 0xf], bl
jmp 0x42fb91
mov edi, dword [esp + 0x10]
mov dword [esp + 0x68], edi
test dl, dl
je 0x42f7b4
mov ecx, str.__t____:_______.___
mov al, 0x20
nop dword [eax]
cmp dl, al
je 0x42f808
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f7a0
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x42f792
mov eax, dword [0x4d70f4]
cmp dword [eax + 0x94], 0
jne 0x42fdf7
mov esi, dword [esp + 0x10]
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 0x42f9cc
mov al, byte [esi + 5]
cmp al, 0x20
je 0x42f7f4
cmp al, 9
jne 0x42f9cc
lea edi, [esi + 6]
mov al, byte [edi]
cmp al, 0x20
je 0x42f805
cmp al, 9
jne 0x42f912
inc edi
jmp 0x42f7f7
cmp byte [edi], 0x28
jne 0x42f7b4
mov esi, dword [esp + 0x10]
cmp edi, esi
je 0x42f7b4
mov ebx, edi
mov edx, 0x4caff0
sub ebx, esi
mov ecx, esi
push 0xffffffffffffffff
push ebx
call fcn.004abe80
add esp, 8
test eax, eax
je 0x42f7b4
push 0xffffffffffffffff
push ebx
mov ebx, dword [esp + 0x70]
mov edx, str.WHILE
mov ecx, ebx
call fcn.004abe80
add esp, 8
test eax, eax
je 0x42f7b4
cmp byte [edi + 1], 0x3a
je 0x42f7b4
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f860
sub ecx, edx
dec ecx
add ecx, edi
mov al, byte [ecx]
cmp al, 0x7b
sete byte [esp + 0xf]
jne 0x42f8cd
mov byte [ecx], 0
sub ecx, ebx
cmp byte [ebx], 0
je 0x42f8c7
cmp ecx, 0xffffffff
jne 0x42f899
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f890
sub ecx, edx
lea eax, [ebx - 1]
add eax, ecx
nop
mov dl, byte [eax]
cmp dl, 0x20
je 0x42f8ac
cmp dl, 9
jne 0x42f8b4
cmp eax, ebx
je 0x42f8ba
dec eax
dec ecx
jmp 0x42f8a0
mov byte [eax + 1], 0
jmp 0x42f8c9
cmp dl, 0x20
je 0x42f8c4
cmp dl, 9
jne 0x42f8c9
mov byte [eax], 0
xor ecx, ecx
mov al, byte [ebx + ecx - 1]
cmp al, 0x29
jne 0x42f7b4
mov esi, dword [esp + 0x10]
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 0x42f8e2
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov bl, byte [esp + 0xf]
mov dword [esp + 0x50], 0
mov ecx, dword [ecx + 0x150]
mov dword [esp + 0x28], ecx
jmp 0x42fb91
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 0x42f9cc
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f931
sub ecx, edx
dec ecx
add ecx, edi
cmp byte [ecx], 0x7b
sete bl
mov byte [esp + 0xf], bl
jne 0x42f996
mov byte [ecx], al
sub ecx, esi
cmp byte [esi], al
je 0x42f996
cmp ecx, 0xffffffff
jne 0x42f969
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42f960
sub ecx, edx
lea eax, [esi - 1]
add eax, ecx
nop
mov cl, byte [eax]
cmp cl, 0x20
je 0x42f97c
cmp cl, 9
jne 0x42f983
cmp eax, esi
je 0x42f989
dec eax
jmp 0x42f970
mov byte [eax + 1], 0
jmp 0x42f996
cmp cl, 0x20
je 0x42f993
cmp cl, 9
jne 0x42f996
mov byte [eax], 0
lea ecx, [esp + 0x160]
sub ecx, edi
nop
mov al, byte [edi]
lea edi, [edi + 1]
mov byte [edi + ecx - 1], al
test al, al
jne 0x42f9a0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x50], 1
mov ecx, dword [ecx + 0x150]
mov dword [esp + 0x28], ecx
jmp 0x42fb91
mov edi, dword [esp + 0x24]
cmp dword [edi + 0x28], 0
je 0x42fdf7
mov esi, dword [esp + 0x10]
nop
mov cl, byte [esi]
movzx eax, cl
test eax, 0xffffff80
jne 0x42fa01
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 0x42fa10
cmp cl, 0x5f
je 0x42fa10
cmp cl, 0x7f
ja 0x42fa10
cmp cl, 0x2e
jne 0x42fa13
inc esi
jmp 0x42f9e0
cmp esi, dword [esp + 0x10]
jbe 0x42fb1d
nop dword [eax]
cmp cl, 0x20
je 0x42fa2a
cmp cl, 9
jne 0x42fa30
mov cl, byte [esi + 1]
inc esi
jmp 0x42fa20
cmp cl, 0x3a
jne 0x42fa5f
cmp byte [esi + 1], 0x3d
jne 0x42fb1d
push 0
push dword [esp + 0x14]
mov ecx, edi
call fcn.0043baa0
test eax, eax
jne 0x42fb85
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test cl, cl
je 0x42fa7b
cmp cl, 0x5b
je 0x42fa7b
cmp cl, 0x7b
jne 0x42fb1d
cmp byte [esi + 1], 0
jne 0x42fb1d
mov ecx, dword [esp + 0x10]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42fa82
mov esi, dword [esp + 0x10]
sub ecx, edx
cmp byte [ecx + esi - 1], 0x7b
sete bl
mov byte [esp + 0xf], bl
jne 0x42fae8
dec ecx
cmp byte [esi], al
je 0x42fae8
cmp ecx, 0xffffffff
jne 0x42fab9
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42fab0
sub ecx, edx
mov eax, dword [esp + 0x10]
dec eax
add eax, ecx
mov cl, byte [eax]
cmp cl, 0x20
je 0x42facc
cmp cl, 9
jne 0x42fad5
cmp eax, dword [esp + 0x10]
je 0x42fadb
dec eax
jmp 0x42fac0
mov byte [eax + 1], 0
jmp 0x42fae8
cmp cl, 0x20
je 0x42fae5
cmp cl, 9
jne 0x42fae8
mov byte [eax], 0
mov esi, dword [esp + 0x10]
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 0x42faf5
mov ecx, dword [edi + 0x150]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x50], 2
jmp 0x42fb91
push 6
push str.Static
push dword [esp + 0x18]
call ebx
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x42fb4d
mov cl, byte [eax + 6]
cmp cl, 0x20
je 0x42fb42
cmp cl, 9
jne 0x42fb4d
push 1
add eax, 7
push eax
jmp 0x42fa45
cmp byte [eax], 0x23
jne 0x4309c2
mov esi, dword [edi + 0x150]
mov ecx, edi
push eax
call fcn.004313b0
test eax, eax
je 0x42fa54
cmp eax, 3
jne 0x4309be
mov eax, dword [esp + 0x74]
mov dword [edi + 0x150], esi
mov dword [edi + 0x14c], eax
mov edx, dword [esp + 0x20]
mov bl, byte [esp + 0xf]
mov ecx, dword [esp + 0x28]
mov bh, byte [esp + 0xe]
mov eax, edx
test bh, bh
je case.0x42fc62.4
mov esi, dword [esp + 0x64]
inc edx
mov dword [esp + 0x20], edx
mov edi, ecx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x28], ecx
mov ch, bl
mov cl, byte [esp + 0x17]
mov dword [esp + 0x50], edx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x40], edx
mov dh, cl
mov byte [esp + 0x17], cl
mov cl, byte [esp + 0x1d]
mov byte [esp + 0xf], bl
mov bl, cl
mov byte [esp + 0x1d], cl
mov cl, byte [esp + 0x1e]
mov byte [esp + 0x1e], cl
mov dl, cl
mov cl, byte [esp + 0x1f]
mov byte [esp + 0xe], bh
mov byte [esp + 0x45], ch
mov byte [esp + 0x46], dh
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0x47], dl
mov byte [esp + 0x1f], cl
mov byte [esp + 0x37], cl
cmp eax, 9
ja case.0x42fc62.4
mov esi, dword [esp + 0x38]
movzx eax, byte [eax + 0x430c00]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x40]
mov byte [esp + 0xf], ch
mov ch, bl
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x68]
mov byte [esp + 0x1d], ch
mov ch, dl
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x30]
mov byte [esp + 0xe], bh
mov dword [esp + 0x28], edi
mov byte [esp + 0x17], dh
mov byte [esp + 0x1e], ch
mov byte [esp + 0x1f], cl
mov dword [esp + 0x20], esi
jmp dword [eax*4 + 0x430bec]
mov eax, dword [esp + 0x10]
test dl, dl
mov cx, word [0x4c9674]
mov esi, dword [esp + 0x24]
push 0
mov word [eax], cx
mov eax, dword [esp + 0x14]
mov cl, byte [0x4c9676]
push 1
mov byte [eax + 2], cl
lea eax, [esp + 0x18]
push eax
setne al
mov ecx, esi
add al, 0xc5
movzx eax, al
push eax
call fcn.004359f0
cmp byte [esp + 0x37], 0
je 0x42fd1f
lea eax, [esp + 0xa0]
push eax
push str.if_not_GetKeyState___s__
push dword [esp + 0x18]
call fcn.00405ed0
mov dword [esp + 0x2c], 9
mov cl, byte [esp + 0x43]
mov ch, bl
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
mov al, byte [esp + 0x51]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x5c], eax
mov al, byte [esp + 0x52]
mov byte [esp + 0x29], ch
mov ch, byte [esp + 0x53]
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x74]
mov byte [esp + 0x1a], bh
mov dword [esp + 0x34], edi
mov dword [esp + 0x68], edx
mov dword [esp + 0x70], eax
mov byte [esp + 0x2a], ch
mov byte [esp + 0x2b], cl
jmp 0x42fdf4
mov esi, dword [esp + 0x24]
movzx eax, bh
mov ecx, 0x4c3c29
sub eax, 0x12
je 0x42fd38
sub eax, 0x92
je 0x42fd38
sub eax, 1
jne 0x42fd58
movzx eax, bl
sub eax, 0x11
je 0x42fd53
sub eax, 0x91
je 0x42fd53
sub eax, 1
jne 0x42fd58
mov ecx, str.RCtrl_up
jmp 0x42fd58
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 + 0x20]
call fcn.00405ed0
add esp, 0x14
lea eax, [esp + 0x10]
mov ecx, esi
push 0
push 1
push eax
push 0x41
call fcn.004359f0
test eax, eax
je 0x42fa54
push 0
push 0
push 0
push 0x67
mov ecx, esi
call fcn.004359f0
lea eax, [esp + 0xc0]
mov dword [esi + 0x38c], 0
push eax
push str._s_up::
push dword [esp + 0x18]
call fcn.00405ed0
mov dword [esp + 0x2c], 2
jmp 0x42fccc
lea eax, [esp + 0xc0]
push eax
push str._s::
push dword [esp + 0x18]
call fcn.00405ed0
mov dword [esp + 0x3c], eax
add esp, 0xc
mov esi, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], edi
cmp byte [esi], 0x3a
jne 0x42ffb0
mov al, byte [esi + 1]
test al, al
je 0x42ffb0
lea ecx, [esi + 1]
mov dword [esp + 0x5c], ecx
cmp al, 0x3a
je 0x42fe4e
push 0x3a
push ecx
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x42fe43
mov dword [esp + 0x38], edi
jmp 0x42ffb0
mov ecx, dword [esp + 0x5c]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x42fe64
mov eax, dword [esp + 0x10]
add eax, 2
cmp byte [eax], 0
je 0x42ffb0
mov ebx, eax
mov dword [esp + 0x38], eax
test ebx, ebx
je 0x42ffb0
mov ah, byte [0x4d9988]
mov esi, ecx
mov byte [esp + 0x17], ah
cmp ecx, ebx
jae 0x42fecb
nop dword [eax]
mov bl, byte [esi]
movzx eax, bl
test eax, 0xffffff80
je 0x42fe90
xor edx, edx
jmp 0x42fe9e
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
mov ebx, dword [esp + 0x38]
cmove ecx, eax
cmp cl, 0x58
je 0x42fec1
cmp esi, ebx
jb 0x42fe80
mov ah, byte [esp + 0x17]
jmp 0x42fecb
cmp byte [esi], 0x30
setne ah
mov byte [esp + 0x17], ah
mov esi, ebx
nop dword [eax]
mov al, byte [esi]
mov ebx, edi
test al, al
je 0x42fef5
mov dl, byte [0x4d82d5]
mov cl, al
mov al, cl
cmp cl, dl
je 0x42fef5
cmp cl, 0x3a
je 0x42fef5
mov al, byte [esi + 1]
inc esi
mov cl, al
test al, al
jne 0x42fee0
mov edx, esi
test al, al
je 0x42ffa4
mov cl, byte [esi + 1]
lea edi, [esi + 1]
cmp al, 0x3a
jne 0x42ff2e
cmp cl, al
jne 0x42ff1b
mov dword [esp + 0x40], esi
mov esi, edi
test ah, ah
jne 0x42ffa0
mov ah, byte [esp + 0x17]
cmp cl, 0x3a
mov edi, edx
cmovne edi, ebx
inc esi
mov dword [esp + 0x40], edi
jmp 0x42fed0
movsx eax, cl
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x42ff40.99
movzx eax, byte [eax + 0x430c2c]
jmp dword [eax*4 + 0x430c0c]
mov byte [edi], 7
jmp case.0x42ff40.99
mov byte [edi], 8
jmp case.0x42ff40.99
mov byte [edi], 0xc
jmp case.0x42ff40.99
mov byte [edi], 0xa
jmp case.0x42ff40.99
mov byte [edi], 0xd
jmp case.0x42ff40.99
mov byte [edi], 9
jmp case.0x42ff40.99
mov byte [edi], 0xb
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42ff70
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 0x42ff92
cmp byte [edi], 0x3a
cmove esi, edi
mov edi, dword [esp + 0x40]
inc esi
mov ah, byte [esp + 0x17]
jmp 0x42fed0
mov edi, dword [esp + 0x40]
test edi, edi
jne 0x430038
mov dword [esp + 0x38], edi
push 0x4cb0ac
push dword [esp + 0x14]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x43069c
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jne 0x42ffdb
cmp byte [edi + 2], 0x3a
jne 0x42ffdb
inc edi
mov esi, edi
cmp edi, ecx
jbe 0x42fff0
mov al, byte [esi]
cmp al, 0x20
je 0x42ffeb
cmp al, 9
jne 0x42fff0
dec esi
cmp esi, ecx
ja 0x42ffe1
mov bl, byte [esi]
mov byte [esi], 0
mov ecx, dword [esp + 0x10]
nop dword [eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x43000a
cmp al, 9
jne 0x43000d
inc ecx
jmp 0x430000
push 0
xor edx, edx
call fcn.00415950
add esp, 4
mov dword [esp + 0x64], eax
test eax, eax
je 0x43069a
cmp eax, 4
je 0x42fa54
mov byte [esi], bl
test edi, edi
je 0x43069c
mov ecx, dword [esp + 0x10]
cmp edi, ecx
jbe 0x4306a0
mov eax, dword [0x4d70f4]
cmp dword [eax + 0x94], 0
jne 0x430a87
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x354]
test eax, eax
je 0x43006d
cmp byte [eax], 0x1a
je 0x4309d8
mov ebx, dword [esp + 0x38]
mov byte [edi], 0
add edi, 2
mov dword [esp + 0x40], edi
test ebx, ebx
jne 0x430356
mov al, byte [edi]
test al, al
je 0x4300c7
mov edx, edi
nop dword [eax + eax]
cmp al, 0x20
je 0x430098
cmp al, 9
jne 0x43009e
mov al, byte [edx + 1]
inc edx
jmp 0x430090
mov eax, edx
sub eax, edi
je 0x4300c7
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4300b0
sub ecx, esi
lea eax, [ecx + 1]
push eax
push edx
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov ecx, dword [esp + 0x40]
cmp byte [ecx], 0
je 0x430352
mov al, byte [ecx + 1]
test al, al
je 0x43012d
mov edi, ecx
nop dword [eax]
cmp al, 0x20
je case.0x4300f6.34
movsx eax, byte [edi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x4300f6.34
movzx eax, byte [eax + 0x430c4c]
jmp dword [eax*4 + 0x430c44]
mov al, byte [edi + 2]
inc edi
test al, al
jne 0x4300e0
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ecx
push 0
xor edx, edx
mov ecx, edi
call fcn.0041d950
add esp, 0xc
mov byte [esp + 0xe], al
test al, al
je 0x430352
mov bh, al
jmp 0x430134
or bh, 0xff
mov byte [esp + 0xe], bh
mov esi, dword [esp + 0x10]
cmp byte [esi], 0
je case.0x43015d.34
mov al, byte [esi + 1]
lea ecx, [esi + 1]
test al, al
je case.0x43015d.34
cmp al, 0x20
je case.0x43015d.34
movsx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x43015d.34
movzx eax, byte [eax + 0x430cb4]
jmp dword [eax*4 + 0x430cac]
mov esi, ecx
mov al, byte [esi + 1]
lea ecx, [esi + 1]
test al, al
jne 0x430147
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ecx
push 0
xor edx, edx
mov ecx, esi
call fcn.0041d950
add esp, 0xc
mov byte [esp + 0x1d], al
push 0x4c98dc
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsstr]
add esp, 8
test eax, eax
mov al, byte [esp + 0x1d]
setne bl
mov cl, al
dec cl
cmp cl, 5
ja 0x4301b1
cmp al, 3
jne 0x4301b7
add al, 0x66
cmp al, 5
ja 0x4301bb
mov cl, 1
jmp 0x4301bd
xor cl, cl
mov al, bh
dec al
cmp al, 5
ja 0x4301ca
cmp bh, 3
jne 0x4301d2
mov al, bh
add al, 0x66
cmp al, 5
ja 0x4301d6
mov al, 1
jmp 0x4301d8
xor al, al
mov byte [esp + 0x1e], al
test cl, cl
jne 0x4301e9
mov byte [esp + 0x1f], 1
test al, al
jne 0x4301ee
mov byte [esp + 0x1f], 0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4301f3
sub ecx, edx
cmp ecx, 1
jne 0x430214
movzx eax, byte [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperA]
test eax, eax
mov eax, 0x4cb1dc
jne 0x430219
mov eax, 0x4c3c29
push dword [esp + 0x10]
test bl, bl
mov ecx, 0x4cafcc
push eax
mov eax, 0x4c3c29
cmove eax, ecx
push eax
push str._s_s_s
lea eax, [esp + 0xd0]
push 0x20
push eax
call fcn.004abdd0
push 0x1f
lea eax, [esp + 0xbc]
push edi
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov esi, dword [esp + 0x64]
lea eax, [esp + 0xa8]
add esp, 0x24
mov byte [esp + 0xbf], 0
push 7
push esi
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
sub edi, esi
mov byte [esp + 0x97], 0
add esp, 0xc
cmp edi, 8
jae 0x43028d
mov byte [esp + edi + 0x84], 0
xor edx, edx
mov dword [esp + 0x20], edx
cmp byte [esp + 0x84], dl
jne 0x4307c2
cmp bh, 0xd
jne 0x4302d0
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 0x430349
mov dword [esp + 0x20], 1
jmp case.0x42fc62.0
cmp bh, 0x13
jne 0x4307c2
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 0x4302f5
xor esi, esi
jmp 0x430306
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 0x430349
movzx ebx, al
test ebx, 0xffffff80
je 0x430329
xor eax, eax
jmp 0x430331
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 0x4307ba
mov ebx, dword [esp + 0x38]
mov byte [esp + 0xe], 0
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x24]
cmp byte [esi + 0x154], 0
je 0x43039b
push 0
push 0xff
push 0
push 0x67
mov ecx, esi
mov byte [esi + 0x154], 0
call fcn.004359f0
test eax, eax
je 0x42fa54
mov eax, dword [esi + 0x354]
mov dword [eax + 0xc], 1
mov dword [esi + 0x38c], 0
push 1
push dword [esp + 0x14]
mov ecx, esi
call fcn.00433250
test eax, eax
je 0x42fa54
test ebx, ebx
je 0x43049d
cmp byte [ebx], 0
je 0x430a11
cmp byte [esp + 0x17], 0
mov eax, 0x4c3c29
mov ecx, dword [esi + 0x364]
mov edx, dword [esp + 0x5c]
cmove eax, edi
push 0
push dword [esp + 0x80]
push eax
push ebx
push ecx
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0x364]
mov ecx, dword [ecx + 4]
call fcn.00416710
add esp, 0x14
test eax, eax
je 0x42fa54
mov al, byte [edi]
test al, al
je 0x4307ba
cmp byte [esp + 0x17], 0
je 0x430472
mov ecx, edi
cmp al, 0x20
je 0x43041c
cmp al, 9
jne 0x430422
mov al, byte [ecx + 1]
inc ecx
jmp 0x430414
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, esi
call fcn.00433450
test eax, eax
je 0x42fa54
mov eax, dword [esi + 0x354]
mov al, byte [eax]
cmp al, 9
jb 0x430452
cmp al, 0x20
jbe 0x4309f4
cmp al, 0x21
je 0x4309f4
cmp al, 0x69
jb 0x430466
cmp al, 0x6b
jbe 0x4309f4
cmp al, 0x71
jb 0x430472
cmp al, 0x73
jbe 0x4309f4
push 0
push 0
push 0
mov edi, esi
push 0x67
mov ecx, edi
call fcn.004359f0
test eax, eax
je 0x42fa54
mov eax, dword [edi + 0x354]
mov dword [eax + 0xc], 1
jmp 0x42fb85
xor esi, esi
cmp byte [edi], 0
je 0x43059a
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
push str.AltTab
push edi
call ebx
add esp, 8
test eax, eax
jne 0x4304c7
mov esi, 0x7ffe
jmp 0x430572
push str.ShiftAltTab
push edi
call ebx
add esp, 8
test eax, eax
jne 0x4304e0
mov esi, 0x7ffd
jmp 0x430572
push str.AltTabMenu
push edi
call ebx
add esp, 8
test eax, eax
jne 0x4304f6
mov esi, 0x7ffc
jmp 0x430572
push str.AltTabAndMenu
push edi
call ebx
add esp, 8
test eax, eax
jne 0x43050c
mov esi, 0x7ffb
jmp 0x430572
push str.AltTabMenuDismiss
push edi
call ebx
add esp, 8
test eax, eax
jne 0x430522
mov esi, 0x7ffa
jmp 0x430572
mov ebx, dword [esp + 0x24]
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push edi
mov ecx, ebx
call fcn.00433450
test eax, eax
je 0x42fa54
mov eax, dword [ebx + 0x354]
mov al, byte [eax]
cmp al, 9
jb 0x430552
cmp al, 0x20
jbe 0x430a2a
cmp al, 0x21
je 0x430a2a
cmp al, 0x69
jb 0x430566
cmp al, 0x6b
jbe 0x430a2a
cmp al, 0x71
jb 0x430572
cmp al, 0x73
jbe 0x430a2a
mov edi, dword [esp + 0x24]
mov ecx, edi
push 0
push 0
push 0
push 0x67
call fcn.004359f0
test eax, eax
je 0x42fa54
mov eax, dword [edi + 0x354]
mov dword [eax + 0xc], 1
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x63]
push eax
lea edx, [esp + 0x84]
call fcn.004160c0
mov edi, eax
add esp, 4
test edi, edi
je 0x430620
test si, si
je 0x4305c6
mov word [edi + 6], si
jmp 0x42fb85
mov eax, dword [edi + 0x20]
test eax, eax
je 0x4305e3
mov ecx, dword [0x4da2b4]
cmp dword [eax + 4], ecx
je 0x430a47
mov eax, dword [eax + 8]
test eax, eax
jne 0x4305d3
mov esi, dword [esp + 0x24]
mov ecx, edi
push dword [esp + 0x80]
push dword [esi + 0x364]
call fcn.00415840
test eax, eax
je 0x430a6e
cmp byte [esp + 0x63], 0
jne 0x430617
cmp byte [0x4d9a11], 0
je 0x4307ba
mov byte [edi + 0x14], 1
jmp 0x42fb85
mov edi, dword [esp + 0x24]
mov edx, esi
push 0
push dword [esp + 0x84]
mov ecx, dword [edi + 0x364]
push dword [ecx + 4]
call fcn.00414fa0
add esp, 0xc
test eax, eax
jne 0x4307ba
cmp dword [esp + 0x64], 3
jne 0x42fa54
cmp dword [edi + 0x638], eax
jne 0x4307ba
push dword [esp + 0x10]
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.004abdd0
push 0
push 0
xorps xmm3, xmm3
lea ecx, [esp + 0xf8]
mov edx, 0x10000
call fcn.004b2410
add esp, 0x18
jmp 0x42fb85
mov byte [esi], bl
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
cmp byte [esi + ecx - 1], 0x3a
jne 0x430768
cmp esi, 1
je 0x430a9f
mov al, byte [ecx]
mov edx, ecx
test al, al
je 0x4306f4
mov bl, byte [0x4d82d7]
mov ah, byte [0x4d82d5]
nop dword [eax]
cmp al, 0x20
je 0x430768
cmp al, 9
je 0x430768
cmp al, bl
je 0x430768
cmp al, ah
je 0x430768
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x4306d0
cmp byte [esi + ecx - 2], 0x3a
jne 0x430700
cmp esi, 2
ja 0x430768
mov byte [esi + ecx - 1], 0
push str.Default
push dword [esp + 0x14]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
mov edi, dword [esp + 0x2c]
add esp, 8
test eax, eax
jne 0x43074e
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x43074e
mov eax, dword [eax + 0x10]
test eax, eax
je 0x43074e
cmp byte [eax], 0x75
jne 0x43074e
push 0
push 0
push 0
push 0x76
mov ecx, edi
call fcn.004359f0
test eax, eax
je 0x42fa54
jmp 0x42fb85
push 0
push dword [esp + 0x14]
mov ecx, edi
call fcn.00433250
test eax, eax
je 0x42fa54
jmp 0x42fb85
cmp byte [ecx], 0x23
mov edi, dword [esp + 0x24]
jne 0x430794
mov esi, dword [edi + 0x150]
push ecx
mov ecx, edi
call fcn.004313b0
test eax, eax
je 0x42fa54
cmp eax, 3
je 0x42fb75
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x7b
je 0x4307cf
cmp al, 0x7d
je 0x4307cf
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, edi
call fcn.00433450
test eax, eax
je 0x42fa54
mov edx, dword [esp + 0x20]
mov bh, byte [esp + 0xe]
mov ecx, dword [esp + 0x28]
mov bl, byte [esp + 0xf]
jmp 0x42fb95
cmp al, 0x7b
mov ecx, edi
push 0
setne al
push 0
add al, 0x77
push 0
movzx eax, al
push eax
call fcn.004359f0
test eax, eax
je 0x42fa54
mov ebx, dword [esp + 0x10]
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x20
je 0x4307f3
cmp al, 9
je 0x4307f3
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], ebx
cmp byte [ebx], 0
je 0x42fb89
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x430813
sub ebx, ecx
mov dword [edi + 0x38c], 0
mov dword [esp + 0x30], ebx
jmp 0x42f3f0
mov eax, dword [esp + 0x10]
test dl, dl
mov cx, word [0x4c9674]
push 0
push 1
mov word [eax], cx
mov eax, dword [esp + 0x18]
mov cl, byte [0x4c9676]
mov byte [eax + 2], cl
lea eax, [esp + 0x18]
mov ecx, dword [esp + 0x2c]
push eax
setne al
add al, 0xc5
movzx eax, al
push eax
call fcn.004359f0
lea eax, [esp + 0xa0]
push eax
push str.Blind_s_Up
push dword [esp + 0x18]
call fcn.00405ed0
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x1c]
add esp, 0xc
push 0
push 1
push eax
push 0x41
call fcn.004359f0
mov ecx, dword [esp + 0x24]
push 0
push 0
push 0
push 0x67
call fcn.004359f0
mov al, byte [esp + 0x45]
mov ch, bl
mov cl, byte [esp + 0x37]
mov edx, dword [esp + 0x40]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x38]
mov dword [esp + 0x50], eax
mov al, byte [esp + 0x46]
mov byte [esp + 0x1d], ch
mov ch, byte [esp + 0x47]
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x68]
mov byte [esp + 0xe], 0
mov dword [esp + 0x28], edi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x64], eax
mov byte [esp + 0x1e], ch
mov byte [esp + 0x1f], cl
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x60a8]
cmp dword [esp + 0x8c], edx
lea edi, [esp + 0xa0b0]
mov esi, dword [esp + 0x3c]
mov eax, edx
mov ebx, dword [esp + 0x24]
cmovne edi, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x18], edi
jmp 0x42eb60
mov ecx, dword [esp + 0x24]
push ebx
push str.Continuation_section_too_long.
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [edi + 0x144], 0
lea eax, [esp + 0x160]
push eax
mov ecx, str.Not_a_valid_method__class_or_property_definition.
mov eax, 0x4cb120
cmove eax, ecx
mov ecx, edi
push eax
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x160]
mov ecx, edi
push eax
push 0x4cb120
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x160]
push eax
push str.Functions_cannot_contain_functions.
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x10]
push ecx
push str.Not_a_valid_property_getter_setter.
mov ecx, edi
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esp + 0x10]
push eax
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, edi
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
push str.IfWin_should_be_IfWin.
mov ecx, edx
mov dword [edx + 0x38c], eax
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov byte [edi - 2], 0x3a
mov ecx, esi
push dword [esp + 0x10]
push str.Invalid_single_line_hotkey_hotstring.
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x10]
mov ecx, esi
push str.This_hotstring_is_missing_its_abbreviation.
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov byte [edi - 2], 0x3a
mov ecx, ebx
push dword [esp + 0x10]
push str.Invalid_single_line_hotkey_hotstring.
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esp + 0x24]
mov ecx, eax
push dword [esp + 0x10]
push str.Duplicate_hotkey.
mov dword [eax + 0x38c], 0
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x10]
mov ecx, esi
push str.Out_of_memory.
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, dword [esp + 0x28]
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, dword [esp + 0x28]
push str.This_line_does_not_contain_a_recognized_action.
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x24]
push edi
push str.Continuation_section_too_long.
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
push 0x4cb0f0
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp byte [esp + 0x160], 0
je 0x430b58
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x28]
mov esi, dword [ebx + 0x150]
mov dword [ebx + 0x150], eax
lea eax, [esp + 0x160]
je 0x430b36
cmp byte [esp + 0xf], 0
mov ecx, 0x4cb120
push eax
mov eax, str.Missing___
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0
push 0
push 0
push 0
push 0
push 3
push eax
mov ecx, ebx
call fcn.00433450
test eax, eax
je 0x42fa54
mov dword [ebx + 0x150], esi
cmp dword [ebx + 0x28], 0
je 0x430b7e
cmp dword [esp + 0x74], 0
jne 0x430b7e
lea eax, [ebx + 0x40]
mov ecx, ebx
push eax
push str.Missing___
call fcn.0044da60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
inc dword [ebx + 0x150]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4