Function at 0x424c70
Capabilities:
Get keyboard layout
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x1a180
call fcn.004bd970
mov eax, dword [0x4eb078]
push ebx
push ebp
mov ebp, ecx
mov byte [esp + 0xe], 0
push esi
xor ecx, ecx
mov dword [esp + 0x24], ebp
push edi
push dword [esp + 0x1a194]
mov word [esp + 0x217c], cx
lea esi, [esp + 0x1218c]
lea ecx, [esp + 0xa184]
mov dword [esp + 0x24], esi
dec eax
mov dword [esp + 0x1c], ecx
xor ecx, ecx
mov dword [esp + 0x78], eax
push ecx
mov dword [ebp + 0x24c], eax
lea eax, [esp + 0xa188]
push ecx
push eax
mov word [esp + 0x6e], cx
mov word [esp + 0x74], cx
mov dword [esp + 0x7c], 0xffffffff
call fcn.00426fa0
push 2
push 0x4d7300
push dword [esp + 0x20]
mov ebx, eax
mov dword [esp + 0x48], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
sete byte [esp + 0x3a]
test eax, eax
jne 0x424d17
mov eax, dword [esp + 0x18]
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x3c], ebx
mov word [eax], cx
mov ecx, dword [esp + 0x18]
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
mov dword [esp + 0x84], esi
cmp ebx, 0xffffffff
je 0x426cee
mov eax, dword [esp + 0x6c]
push 0xc
inc eax
mov dword [ebp + 0x64c], 0
push str.CommentFlag
push ecx
mov dword [ebp + 0x250], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x424d6e
push dword [esp + 0x18]
mov ecx, ebp
call fcn.004272c0
test eax, eax
je 0x426ca4
mov edx, dword [esp + 0x20]
xor ebp, ebp
mov byte [esp + 0x7c], 0
jmp 0x424d86
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
push dword [esp + 0x1a194]
inc dword [esp + 0x70]
push ebp
push ecx
push edx
call fcn.00426fa0
mov esi, eax
mov dword [esp + 0x4c], esi
test esi, esi
je 0x424e52
cmp esi, 0xffffffff
je 0x424e52
test ebp, ebp
jne 0x424e52
push 2
push 0x4d7324
push dword [esp + 0x28]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
mov edx, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
jne 0x424e24
cmp byte [esp + 0x3a], al
jne 0x424de8
cmp word [edx + 4], 0x3a
jne 0x424de8
cmp word [edx + 6], 0x3a
je 0x424e2f
lea eax, [esi*2 - 2]
mov byte [esp + 0x3a], 0
push eax
lea eax, [edx + 4]
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [esp + 0x2c]
lea edx, [esi - 2]
add esp, 0xc
call fcn.00421850
mov edx, dword [esp + 0x20]
mov esi, eax
mov dword [esp + 0x4c], esi
cmp word [edx], 0
je 0x424d86
jmp 0x424e2f
cmp byte [esp + 0x3a], 0
jne 0x424d86
push 2
push 0x4d7300
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x424e52
mov edx, dword [esp + 0x20]
mov byte [esp + 0x3a], 1
jmp 0x424d86
cmp byte [esp + 0x3a], 0
je 0x424e6b
cmp esi, 0xffffffff
je 0x42557f
mov edx, dword [esp + 0x20]
jmp 0x424d86
test ebp, ebp
jne 0x425378
mov edx, dword [esp + 0x20]
cmp esi, 0xffffffff
je 0x4250a4
cmp word [edx], 0x28
jne 0x4250a4
movzx eax, word [edx + 2]
lea esi, [edx + 2]
mov ecx, eax
cmp eax, 0x3a
je 0x4250a0
mov eax, dword [esp + 0x4c]
cmp word [edx + eax*2 - 2], 0x3a
je 0x4250a0
mov al, byte [0x4e98a6]
mov ebp, 1
mov byte [esp + 0x44], al
mov eax, ecx
mov dword [esp + 0x78], 0
mov byte [esp + 0x43], 1
mov byte [esp + 0x45], 0
mov byte [esp + 0x46], 0
mov byte [esp + 0x47], 1
mov dword [esp + 0x98], 0xa
mov dword [esp + 0x70], ebp
movzx eax, ax
cmp eax, 0x20
je 0x424ef4
cmp eax, 9
jne 0x424efd
movzx eax, word [esi + 2]
add esi, 2
jmp 0x424ee7
test ax, ax
je 0x425096
mov ebx, esi
test esi, esi
je 0x424f51
movzx eax, word [esi]
test ax, ax
je 0x424f51
mov edi, eax
nop word [eax + eax]
mov ecx, 0x4d5384
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x424f68
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x424f30
movzx eax, word [ebx + 2]
add ebx, 2
mov edi, eax
test ax, ax
jne 0x424f20
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424f56
sub ecx, edx
sar ecx, 1
lea ebx, [esi + ecx*2]
movzx edi, word [ebx]
xor eax, eax
push 4
push str.Join
push esi
mov word [ebx], ax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x424fd9
push 0xf
lea eax, [esi + 8]
push eax
lea eax, [esp + 0xa0]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0xc
lea ecx, [esp + 0x98]
xor eax, eax
mov word [esp + 0xb6], ax
push 1
call fcn.004a3bd0
lea edx, [esp + 0x9c]
add esp, 4
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x424fc1
sub edx, ecx
sar edx, 1
mov dword [esp + 0x70], edx
jmp 0x425066
push 5
push 0x4d73cc
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x424ffa
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x44]
jmp 0x425066
push 5
push str.RTrim
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42501b
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x43]
jmp 0x425066
movzx eax, word [esi]
test ax, ax
je 0x425066
mov ecx, eax
movzx eax, cx
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x425037.38
movzx eax, byte [eax + 0x426dbc]
jmp dword [eax*4 + 0x426da4]
mov byte [esp + 0x45], 1
jmp case.0x425037.38
mov byte [esp + 0x46], 1
jmp case.0x425037.38
mov byte [esp + 0x47], 0
jmp case.0x425037.38
mov ebp, 2
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x425025
mov word [ebx], di
mov esi, ebx
mov eax, edi
nop dword [eax]
cmp ax, 0x20
je 0x42507c
cmp ax, 9
jne 0x425085
movzx eax, word [esi + 2]
add esi, 2
jmp 0x425070
test ax, ax
jne 0x424f06
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
mov byte [esp + 0x7c], 1
jmp 0x424d80
mov esi, dword [esp + 0x4c]
xor ebp, ebp
cmp esi, 0xffffffff
je 0x42557f
test esi, esi
je 0x424d86
cmp word [edx + esi*2 - 2], 0x3a
jne 0x4250c9
cmp word [edx], 0x2c
jne 0x42557f
movzx esi, word [edx]
test esi, 0xffffff80
je 0x4250d8
xor ecx, ecx
jmp 0x4250e6
push 2
push esi
call edi
mov edx, dword [esp + 0x28]
add esp, 8
mov ecx, eax
mov eax, esi
and eax, 0xffffffdf
test ecx, ecx
cmove eax, esi
cmp eax, 0x41
je 0x425331
cmp eax, 0x4f
je 0x4252ad
movzx eax, word [edx]
cmp eax, 0x3a
je 0x425114
cmp eax, 0x2b
je 0x425114
cmp eax, 0x2d
jne 0x42511e
cmp word [edx + 2], ax
je 0x42557f
push eax
push str.____:.___
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
je 0x42557f
mov esi, dword [esp + 0x20]
push 0x4d736c
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x425209
cmp word [esi], 0x3a
jne 0x4251bb
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x4251ad
mov ecx, eax
cmp cx, 0x3a
je 0x4251ad
movzx eax, cx
test eax, 0xffffff80
jne 0x425189
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 0x42519f
movzx eax, word [esi]
push eax
push str.____t
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
je 0x4251b7
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x425166
cmp word [esi], 0x3a
je 0x42557f
mov esi, dword [esp + 0x20]
cmp word [esi], 0x2c
jne 0x425261
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x4251c5
cmp eax, 9
je 0x4251c5
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
push 2
push 0x4d736c
push esi
call edi
add esp, 0xc
test eax, eax
je 0x42557f
push 3
lea eax, [esi - 2]
push 0x4d5374
push eax
call edi
add esp, 0xc
test eax, eax
je 0x42557f
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x4c]
lea eax, [esi + ebx]
cmp eax, 0x4000
jae 0x426b14
cmp word [edi], 0x2c
je 0x425233
mov eax, dword [esp + 0x18]
mov ecx, 0x20
mov word [eax + ebx*2], cx
inc ebx
lea eax, [esi*2 + 2]
push eax
mov eax, dword [esp + 0x1c]
push edi
lea eax, [eax + ebx*2]
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 + 0x3c], ebx
jmp 0x424d86
mov eax, esi
cmp esi, edi
jae 0x425274
cmp word [eax], 0x22
je 0x42527c
add eax, 2
cmp eax, edi
jb 0x425267
cmp eax, edi
je 0x42557f
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
test ax, ax
je 0x42557f
mov edx, eax
nop
cmp dx, 0x22
je 0x425209
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x425290
jmp 0x42557f
movzx eax, word [edx + 2]
mov esi, eax
test eax, 0xffffff80
je 0x4252be
xor edx, edx
jmp 0x4252c8
push 2
push eax
call edi
add esp, 8
mov edx, eax
mov eax, esi
and eax, 0xffdf
test edx, edx
movzx ecx, ax
mov eax, esi
cmove ecx, eax
cmp cx, 0x52
jne 0x42557f
mov edi, dword [esp + 0x20]
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
cmp eax, 0x20
je 0x425300
cmp eax, 9
jne 0x42557f
nop dword [eax]
cmp ax, 0x20
je 0x42530c
cmp ax, 9
jne 0x425315
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x425300
push eax
push str.____:
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
jne 0x42557f
jmp 0x42520d
push 3
push 0x4d732c
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42557f
mov edi, dword [esp + 0x20]
movzx eax, word [edi + 6]
lea ecx, [edi + 6]
cmp eax, 0x20
je 0x425363
cmp eax, 9
jne 0x42557f
cmp ax, 0x20
je 0x42536f
cmp ax, 9
jne 0x425315
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x425363
cmp esi, 0xffffffff
je 0x426ccf
mov edx, dword [esp + 0x20]
cmp esi, 0xfffffffe
je 0x424d86
cmp word [edx], 0x29
jne 0x4253f5
mov esi, edx
xor ebp, ebp
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4253a0
sub esi, ecx
lea eax, [edx - 2]
sar esi, 1
lea eax, [eax + esi*2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x4253c2
cmp ecx, 9
jne 0x4253cc
cmp eax, edx
je 0x4253db
sub eax, 2
dec esi
jmp 0x4253b5
xor ecx, ecx
lea edi, [edx + 2]
mov word [eax + 2], cx
dec esi
jmp 0x425515
cmp ecx, 0x20
je 0x4253e5
cmp ecx, 9
jne 0x4253ec
xor ecx, ecx
xor esi, esi
mov word [eax], cx
lea edi, [edx + 2]
dec esi
jmp 0x425515
cmp byte [esp + 0x43], 0
mov edi, edx
je 0x42540f
mov ecx, dword [esp + 0x20]
mov edx, esi
call fcn.004218c0
mov esi, eax
mov dword [esp + 0x4c], esi
cmp byte [esp + 0x44], 0
je 0x425425
mov ecx, dword [esp + 0x20]
mov edx, esi
call fcn.00421850
mov dword [esp + 0x4c], eax
xor esi, esi
cmp byte [esp + 0x45], 0
je 0x425465
mov ax, word [0x4e8294]
lea edx, [esp + 0x5c]
mov ecx, dword [esp + 0x20]
push esi
push esi
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x6c], ax
mov word [esp + 0x70], ax
mov word [esp + 0x72], ax
lea eax, [esp + 0x70]
push 1
push eax
call fcn.004a21b0
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x46], 0
je 0x4254ac
mov ax, word [0x4e8294]
lea edx, [esp + 0x5c]
mov cx, word [0x4e8298]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x70], ax
lea eax, [esp + 0x70]
mov word [esp + 0x6c], cx
mov word [esp + 0x72], cx
mov ecx, dword [esp + 0x30]
push 1
push eax
call fcn.004a21b0
add esp, 0x18
add esi, eax
cmp byte [esp + 0x47], 0
je 0x4254f3
mov ax, word [0x4e8294]
lea edx, [esp + 0x5c]
mov cx, word [0x4e829c]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x70], ax
lea eax, [esp + 0x70]
mov word [esp + 0x6c], cx
mov word [esp + 0x72], cx
mov ecx, dword [esp + 0x30]
push 1
push eax
call fcn.004a21b0
add esp, 0x18
add esi, eax
mov edx, dword [esp + 0x20]
test esi, esi
je 0x425511
mov esi, edx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x425500
sub esi, ecx
sar esi, 1
jmp 0x425515
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x70]
lea eax, [ecx + esi]
add eax, ebx
cmp eax, 0x4001
jae 0x426b14
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, 1
jle 0x425567
test ecx, ecx
je 0x425567
cmp edi, edx
jne 0x425567
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x20]
lea eax, [eax + ebx*2]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, dword [esp + 0x70]
mov dword [esp + 0x3c], ebx
mov edx, dword [esp + 0x20]
test esi, esi
je 0x424d80
jmp 0x425233
mov word [ebx], di
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x28]
test ebx, ebx
je 0x425d34
cmp word [esp + 0x2178], 0
je 0x42573e
mov eax, dword [esp + 0x30]
mov esi, dword [edi + 0x250]
mov bl, byte [esp + 0x17]
mov dword [edi + 0x250], eax
mov eax, dword [esp + 0x18]
cmp word [eax], 0x7b
je 0x42561b
test bl, bl
jne 0x42561b
cmp dword [esp + 0x34], 0
jne 0x426b61
cmp dword [edi + 0x28], 0
je 0x4255df
mov eax, dword [0x4e7024]
cmp dword [eax + 0xb4], 0
je 0x426b30
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x2190]
mov ecx, edi
push eax
call fcn.00428980
test eax, eax
je 0x426ca4
xor eax, eax
mov dword [edi + 0x64c], 0
mov word [esp + 0x2178], ax
jmp 0x425738
mov ebp, dword [esp + 0x34]
mov eax, ebp
sub eax, 0
je 0x425668
sub eax, 1
je 0x425645
sub eax, 1
jne 0x4256ca
lea eax, [esp + 0x2178]
mov ecx, edi
push eax
call fcn.0042e2d0
jmp 0x425654
lea eax, [esp + 0x2178]
mov ecx, edi
push eax
call fcn.0042dbc0
test eax, eax
je 0x426ca4
xor eax, eax
mov word [esp + 0x2178], ax
jmp 0x4256d8
mov eax, dword [0x4e7024]
mov ecx, edi
cmp dword [eax + 0xb4], 0
jne 0x426b82
lea eax, [esp + 0x238]
push eax
lea eax, [esp + 0x217c]
push eax
call fcn.0042d0a0
test eax, eax
je 0x426ca4
test bl, bl
je 0x4256ca
push 0
push 0
push 0
push 0x77
mov ecx, edi
call fcn.0042b0c0
test eax, eax
je 0x426ca4
xor eax, eax
mov dword [edi + 0x64c], 0
mov word [esp + 0x2178], ax
jmp 0x425738
xor eax, eax
mov word [esp + 0x2178], ax
test ebp, ebp
je 0x425738
test bl, bl
jne 0x425738
mov ecx, dword [esp + 0x18]
movzx eax, word [ecx + 2]
add ecx, 2
cmp eax, 0x20
je 0x4256e0
cmp eax, 9
je 0x4256e0
test ax, ax
jne 0x425705
mov edx, dword [esp + 0x2c]
mov dword [edi + 0x250], esi
jmp 0x425d40
mov ebx, ecx
lea edx, [ebx + 2]
nop word [eax + eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x425710
sub ebx, edx
sar ebx, 1
mov dword [esp + 0x3c], ebx
lea eax, [ebx*2 + 2]
push eax
push ecx
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov dword [edi + 0x250], esi
mov eax, dword [esp + 0x18]
movzx ecx, word [eax]
cmp ecx, 0x7d
jne 0x425882
mov edx, dword [edi + 0x28]
test edx, edx
je 0x425882
mov eax, dword [0x4e7024]
cmp dword [eax + 0xb4], 0
jne 0x425882
cmp dword [edi + 0x244], 0
je 0x4257a5
mov eax, dword [edi + 0x248]
mov dword [edi + 0x244], 0
test eax, eax
je 0x425837
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [edi + 0x248], 0
jmp 0x425837
lea eax, [edx - 1]
mov dword [edi + 0x28], eax
mov ebx, dword [edi + eax*4 + 0x2c]
mov esi, dword [ebx + 0x10]
sub esi, 1
js 0x42580e
mov edi, esi
shl edi, 4
nop dword [eax]
mov eax, dword [ebx + 0xc]
cmp dword [edi + eax + 0xc], 1
jne 0x4257ff
cmp esi, dword [ebx + 0x1c]
jl 0x4257dc
push dword [edi + eax + 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 0x4257ff
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 0x4257c0
mov edi, dword [esp + 0x28]
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.VCRUNTIME140.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x425832
xor ecx, ecx
mov word [eax], cx
jmp 0x425837
xor eax, eax
mov word [esi], ax
mov ebx, dword [esp + 0x18]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x42583b
cmp eax, 9
je 0x42583b
mov dword [esp + 0x18], ebx
cmp word [ebx], 0
je 0x425d34
lea ecx, [ebx + 2]
nop dword [eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x425860
sub ebx, ecx
mov dword [edi + 0x64c], 0
sar ebx, 1
mov dword [esp + 0x3c], ebx
jmp 0x425583
cmp dword [edi + 0x244], 0
je 0x425974
mov eax, dword [0x4e7024]
cmp dword [eax + 0xb4], 0
jne 0x425974
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
push 3
push 0x4d74c4
push dword [esp + 0x20]
call ebx
add esp, 0xc
test eax, eax
je 0x4258d3
push 3
push 0x4d74cc
push dword [esp + 0x20]
call ebx
add esp, 0xc
test eax, eax
jne 0x426ba1
mov ecx, dword [esp + 0x18]
lea esi, [ecx + 6]
nop word [eax + eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x4258ed
cmp eax, 9
jne 0x4258f2
add esi, 2
jmp 0x4258e0
test ax, ax
je 0x42590b
cmp eax, 0x7b
jne 0x426ba5
cmp word [esi + 2], 0
jne 0x426ba5
mov ecx, dword [edi + 0x248]
lea edx, [esp + 0x2178]
sub edx, ecx
nop word [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x425920
lea eax, [esp + 0x2178]
push 0x2e
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov edx, dword [esp + 0x34]
mov ecx, eax
mov eax, dword [esp + 0x20]
add esp, 8
mov ax, word [eax]
mov word [ecx + 2], ax
cmp word [esi], 0x7b
mov ecx, dword [edi + 0x250]
sete bl
mov dword [esp + 0x30], ecx
xor ebp, ebp
mov byte [esp + 0x17], bl
mov dword [esp + 0x34], ebp
jmp 0x425d44
mov ebp, dword [esp + 0x18]
test cx, cx
je 0x425aaa
mov esi, ecx
mov ebx, ebp
nop word [eax + eax]
mov ecx, str.__t____:_______.___
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x4259c6
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x4259a0
movzx eax, word [ebx + 2]
add ebx, 2
mov esi, eax
test ax, ax
jne 0x425990
jmp 0x425aaa
cmp word [ebx], 0x28
jne 0x425aaa
mov esi, dword [esp + 0x18]
cmp ebx, esi
je 0x425aaa
mov edi, ebx
mov edx, 0x4d7298
sub edi, esi
mov ecx, esi
sar edi, 1
push 0xffffffffffffffff
push edi
call fcn.004a1a60
add esp, 8
test eax, eax
je 0x425aa6
push 0xffffffffffffffff
push edi
mov edx, str.WHILE
mov ecx, ebp
call fcn.004a1a60
add esp, 8
test eax, eax
je 0x425aa6
cmp word [ebx + 2], 0x3a
je 0x425aa6
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425a26
sub ecx, edx
sar ecx, 1
dec ecx
movzx eax, word [ebx + ecx*2]
lea edx, [ebx + ecx*2]
cmp eax, 0x7b
mov ecx, eax
sete bl
mov byte [esp + 0x17], bl
jne 0x425a60
xor eax, eax
mov ecx, ebp
mov word [edx], ax
sub edx, ebp
sar edx, 1
call fcn.004218c0
movzx ecx, word [ebp + eax*2 - 2]
cmp cx, 0x29
jne 0x425aa0
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x2178]
sub ecx, esi
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x425a73
mov ecx, dword [esp + 0x28]
xor ebp, ebp
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x34], ebp
mov ecx, dword [ecx + 0x250]
mov dword [esp + 0x30], ecx
jmp 0x425d44
mov edi, dword [esp + 0x28]
jmp 0x425aae
mov edi, dword [esp + 0x28]
mov bl, byte [esp + 0x17]
mov eax, dword [0x4e7024]
cmp dword [eax + 0xb4], 0
jne 0x425fd9
mov esi, dword [esp + 0x18]
mov ebp, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
push 5
push str.Class
push esi
call ebp
add esp, 0xc
test eax, eax
jne 0x425b94
movzx eax, word [esi + 0xa]
cmp eax, 0x20
je 0x425af1
cmp eax, 9
jne 0x425b94
lea edi, [esi + 0xc]
movzx eax, word [edi]
cmp eax, 0x20
je 0x425b01
cmp eax, 9
jne 0x425b06
add edi, 2
jmp 0x425af4
push eax
push str.__t____:_______.___
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
jne 0x425b90
mov ecx, edi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425b20
sub ecx, edx
sar ecx, 1
lea edx, [ecx - 1]
movzx eax, word [edi + edx*2]
lea edx, [edi + edx*2]
cmp eax, 0x7b
sete bl
mov byte [esp + 0x17], bl
jne 0x425b55
xor eax, eax
mov ecx, esi
mov word [edx], ax
sub edx, esi
sar edx, 1
call fcn.004218c0
lea ecx, [esp + 0x2178]
sub ecx, edi
nop
movzx eax, word [edi]
lea edi, [edi + 2]
mov word [edi + ecx - 2], ax
test ax, ax
jne 0x425b60
mov ecx, dword [esp + 0x28]
mov ebp, 1
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x34], ebp
mov ecx, dword [ecx + 0x250]
mov dword [esp + 0x30], ecx
jmp 0x425d44
mov edi, dword [esp + 0x28]
cmp dword [edi + 0x28], 0
je 0x425fd9
mov esi, dword [esp + 0x18]
movzx eax, word [esi]
mov ecx, eax
test ecx, 0xffffff80
je 0x425bb1
jmp 0x425bc7
push 0x107
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
movzx ecx, word [esi]
add esp, 8
test eax, eax
jne 0x425bd9
cmp cx, 0x5f
je 0x425bd9
cmp cx, 0x7f
ja 0x425bd9
cmp cx, 0x2e
jne 0x425bde
add esi, 2
jmp 0x425ba2
cmp esi, dword [esp + 0x18]
jbe 0x425cbc
movzx eax, cx
nop dword [eax + eax]
cmp ax, 0x20
je 0x425bfc
cmp ax, 9
jne 0x425c05
movzx eax, word [esi + 2]
add esi, 2
jmp 0x425bf0
cmp ax, 0x3a
jne 0x425c34
cmp word [esi + 2], 0x3d
jne 0x425cbc
push 0
push dword [esp + 0x1c]
mov ecx, edi
call fcn.0042e4d0
test eax, eax
je 0x426ca4
mov edx, dword [esp + 0x2c]
jmp 0x425d3c
test ax, ax
je 0x425c4c
cmp ax, 0x5b
je 0x425c4c
cmp ax, 0x7b
jne 0x425cbc
cmp word [esi + 2], 0
jne 0x425cbc
mov edx, dword [esp + 0x18]
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x425c53
mov esi, dword [esp + 0x18]
sub edx, ecx
sar edx, 1
movzx eax, word [esi + edx*2 - 2]
cmp eax, 0x7b
sete bl
mov byte [esp + 0x17], bl
jne 0x425c7f
dec edx
mov ecx, esi
call fcn.004218c0
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x2178]
sub ecx, esi
nop dword [eax]
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x425c90
mov ecx, dword [edi + 0x250]
mov ebp, 2
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ebp
jmp 0x425d44
push 6
push str.Static
push dword [esp + 0x20]
call ebp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x18]
jne 0x425ced
movzx ecx, word [eax + 0xc]
cmp ecx, 0x20
je 0x425ce2
cmp ecx, 9
jne 0x425ced
push 1
add eax, 0xe
push eax
jmp 0x425c1c
cmp word [eax], 0x23
jne 0x426bc3
mov esi, dword [edi + 0x250]
mov ecx, edi
push eax
call fcn.004272c0
test eax, eax
je 0x426ca4
cmp eax, 3
jne 0x426bbf
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x2c]
mov dword [edi + 0x24c], eax
mov dword [edi + 0x250], esi
jmp 0x425d3c
test eax, eax
je 0x426ca4
mov edx, dword [esp + 0x2c]
mov bl, byte [esp + 0x17]
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov bh, byte [esp + 0x16]
mov eax, edx
test bh, bh
je case.0x425e09.4
mov esi, dword [esp + 0x58]
inc edx
mov dword [esp + 0x30], ecx
mov edi, ecx
mov cl, byte [esp + 0x1f]
mov ch, bl
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x50], edx
mov dword [esp + 0x48], edx
mov dh, cl
mov byte [esp + 0x1f], cl
mov cl, byte [esp + 0x25]
mov byte [esp + 0x17], bl
mov bl, cl
mov byte [esp + 0x25], cl
mov cl, byte [esp + 0x26]
mov byte [esp + 0x26], cl
mov dl, cl
mov cl, byte [esp + 0x27]
mov byte [esp + 0x16], bh
mov byte [esp + 0x40], ch
mov dword [esp + 0x34], ebp
mov byte [esp + 0x41], dh
mov dword [esp + 0x58], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0x42], dl
mov byte [esp + 0x27], cl
mov byte [esp + 0x3b], cl
cmp eax, 9
ja case.0x425e09.4
mov esi, dword [esp + 0x48]
movzx eax, byte [eax + 0x426e10]
mov byte [esp + 0x17], ch
mov ch, bl
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x68]
mov byte [esp + 0x25], ch
mov ch, dl
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x3c]
mov byte [esp + 0x16], bh
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebp
mov byte [esp + 0x1f], dh
mov byte [esp + 0x26], ch
mov byte [esp + 0x27], cl
mov dword [esp + 0x2c], esi
jmp dword [eax*4 + 0x426dfc]
mov eax, dword [esp + 0x18]
test dl, dl
mov ecx, dword [0x4d4ec8]
mov esi, dword [esp + 0x28]
push 0
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov cx, word [0x4d4ecc]
push 1
mov word [eax + 4], cx
lea eax, [esp + 0x20]
push eax
setne al
mov ecx, esi
add al, 0xc5
movzx eax, al
push eax
call fcn.0042b0c0
cmp byte [esp + 0x3b], 0
je 0x425ebe
lea eax, [esp + 0xb8]
push eax
push str.if_not_GetKeyState___s__
push dword [esp + 0x20]
call fcn.00405900
mov cl, byte [esp + 0x4d]
mov ch, bl
mov edx, dword [esp + 0x54]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x4c]
mov byte [esp + 0x2b], cl
mov cl, byte [esp + 0x47]
mov byte [esp + 0x31], ch
mov ch, byte [esp + 0x4e]
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x74]
mov dword [esp + 0x38], 9
mov byte [esp + 0x22], bh
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x5c], edx
mov dword [esp + 0x64], eax
mov byte [esp + 0x32], ch
mov byte [esp + 0x33], cl
jmp 0x425fd6
mov esi, dword [esp + 0x28]
movzx eax, bh
mov ecx, 0x4bfb90
sub eax, 0x12
je 0x425ed7
sub eax, 0x92
je 0x425ed7
sub eax, 1
jne 0x425ef7
movzx eax, bl
sub eax, 0x11
je 0x425ef2
sub eax, 0x91
je 0x425ef2
sub eax, 1
jne 0x425ef7
mov ecx, str.RCtrl_up
jmp 0x425ef7
mov ecx, str.LCtrl_up
lea eax, [esp + 0xb8]
mov dword [esi + 0x64c], 0
push eax
lea eax, [esp + 0x8c]
push eax
push ecx
push str.Blind_s_s_s_DownR
push dword [esp + 0x28]
call fcn.00405900
add esp, 0x14
lea eax, [esp + 0x18]
mov ecx, esi
push 0
push 1
push eax
push 0x41
call fcn.0042b0c0
test eax, eax
je 0x426ca4
push 0
push 0
push 0
push 0x67
mov ecx, esi
call fcn.0042b0c0
lea eax, [esp + 0xf8]
mov dword [esi + 0x64c], 0
push eax
push str._s_up::
push dword [esp + 0x20]
call fcn.00405900
mov cl, byte [esp + 0x47]
mov ch, bl
mov edx, dword [esp + 0x54]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x4c]
mov byte [esp + 0x23], al
mov al, byte [esp + 0x4d]
mov byte [esp + 0x31], ch
mov ch, byte [esp + 0x4e]
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0x74]
mov dword [esp + 0x38], 2
mov byte [esp + 0x22], bh
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x5c], edx
mov dword [esp + 0x64], eax
mov byte [esp + 0x32], ch
mov byte [esp + 0x33], cl
jmp 0x425fd6
lea eax, [esp + 0xf8]
push eax
push str._s::
push dword [esp + 0x20]
call fcn.00405900
mov dword [esp + 0x48], eax
add esp, 0xc
mov esi, dword [esp + 0x18]
xor ebp, ebp
mov dword [esp + 0x48], 0
cmp word [esi], 0x3a
jne 0x4261b2
movzx eax, word [esi + 2]
test ax, ax
je 0x4261b2
lea ecx, [esi + 2]
mov dword [esp + 0x50], ecx
cmp eax, 0x3a
je 0x426032
push 0x3a
push ecx
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x426025
mov dword [esp + 0x48], ebp
jmp 0x4261b2
mov ecx, dword [esp + 0x50]
add ebx, 2
mov dword [esp + 0x48], ebx
jmp 0x426048
mov eax, dword [esp + 0x18]
add eax, 4
cmp word [eax], bp
je 0x4261b2
mov ebx, eax
mov dword [esp + 0x48], eax
test ebx, ebx
je 0x4261b2
mov al, byte [0x4e9824]
mov esi, ecx
mov byte [esp + 0x1f], al
cmp ecx, ebx
jae 0x4260a7
nop
movzx eax, word [esi]
mov edi, eax
test eax, 0xffffff80
je 0x426070
xor edx, edx
jmp 0x42607e
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 eax, edi
add esi, 2
and eax, 0xffdf
test edx, edx
movzx ecx, ax
mov eax, edi
cmove ecx, eax
cmp cx, 0x58
je 0x42609e
cmp esi, ebx
jb 0x426060
jmp 0x4260a7
cmp word [esi], 0x30
setne byte [esp + 0x1f]
mov esi, ebx
nop dword [eax]
movzx eax, word [esi]
mov ebx, ebp
mov edx, eax
test ax, ax
je 0x4260e5
mov ecx, eax
nop
movzx edx, cx
cmp cx, word [0x4e8294]
je 0x4260e5
movzx edx, cx
cmp cx, 0x3a
je 0x4260e5
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x4260c0
mov ecx, esi
test dx, dx
je 0x4261a6
movzx eax, word [esi + 2]
lea edi, [esi + 2]
cmp dx, 0x3a
jne 0x42611e
cmp eax, 0x3a
jne 0x426111
cmp byte [esp + 0x1f], 0
mov ebp, esi
mov esi, edi
jne 0x4261a6
cmp eax, 0x3a
mov ebp, ecx
cmovne ebp, ebx
add esi, 2
jmp 0x4260b0
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x42612d.99
movzx eax, byte [eax + 0x426e3c]
jmp dword [eax*4 + 0x426e1c]
mov eax, 7
jmp 0x426163
mov eax, 8
jmp 0x426163
mov eax, 0xc
jmp 0x426163
mov eax, 0xa
jmp 0x426163
mov eax, 0xd
jmp 0x426163
mov eax, 9
jmp 0x426163
mov eax, 0xb
mov word [edi], ax
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426170
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edi
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
cmp word [esi], 0x3a
jne 0x42619e
cmp word [edi], 0x3a
cmove esi, edi
add esi, 2
jmp 0x4260b0
test ebp, ebp
jne 0x426246
mov dword [esp + 0x48], ebp
push 0x4d736c
push dword [esp + 0x1c]
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x42688f
mov ecx, dword [esp + 0x18]
cmp ebp, ecx
jne 0x4261e0
cmp word [ebp + 4], 0x3a
jne 0x4261e0
add ebp, 2
mov esi, ebp
cmp ebp, ecx
jbe 0x4261fa
movzx eax, word [esi]
cmp eax, 0x20
je 0x4261f3
cmp eax, 9
jne 0x4261fa
sub esi, 2
cmp esi, ecx
ja 0x4261e6
movzx edi, word [esi]
xor eax, eax
mov word [esi], ax
mov ebx, edi
mov ecx, dword [esp + 0x18]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x426215
cmp eax, 9
jne 0x42621a
add ecx, 2
jmp 0x426208
push 0
xor edx, edx
call fcn.0040e3d0
add esp, 4
mov dword [esp + 0x58], eax
test eax, eax
je 0x42688c
cmp eax, 4
je 0x426ca4
mov word [esi], di
test ebp, ebp
je 0x42688f
mov edx, dword [esp + 0x18]
cmp ebp, edx
jbe 0x426893
mov eax, dword [0x4e7024]
cmp dword [eax + 0xb4], 0
jne 0x426c88
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 0x614]
test eax, eax
je 0x42627b
cmp byte [eax], 0x1a
je 0x426bdd
mov ebx, dword [esp + 0x48]
xor eax, eax
mov word [ebp], ax
add ebp, 4
test ebx, ebx
jne 0x42654a
movzx eax, word [ebp]
test ax, ax
je 0x4262e4
mov edx, ebp
nop dword [eax + eax]
cmp ax, 0x20
je 0x4262ac
cmp ax, 9
jne 0x4262b5
movzx eax, word [edx + 2]
add edx, 2
jmp 0x4262a0
mov eax, edx
sub eax, ebp
cmp eax, 2
jb 0x4262e4
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4262c3
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push ebp
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
cmp word [ebp], 0
mov esi, ebp
je 0x42654a
cmp word [ebp + 2], 0
je 0x426330
push 0
xor edx, edx
mov ecx, ebp
call fcn.0040e510
add esp, 4
mov esi, eax
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ecx
push 0
xor edx, edx
mov ecx, esi
call fcn.00416200
add esp, 0xc
mov byte [esp + 0x16], al
test al, al
je 0x42654a
mov bh, al
jmp 0x426337
or bh, 0xff
mov byte [esp + 0x16], bh
mov ecx, dword [esp + 0x18]
xor edx, edx
push 0
call fcn.0040e510
add esp, 4
mov edi, eax
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push eax
push ecx
push 0
xor edx, edx
mov ecx, edi
call fcn.00416200
add esp, 0xc
mov byte [esp + 0x25], al
push 0x4d5374
push edi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
add esp, 8
test eax, eax
mov al, byte [esp + 0x25]
setne bl
mov cl, al
dec cl
cmp cl, 5
ja 0x42638a
cmp al, 3
jne 0x426390
add al, 0x66
cmp al, 5
ja 0x426394
mov cl, 1
jmp 0x426396
xor cl, cl
mov al, bh
dec al
cmp al, 5
ja 0x4263a3
cmp bh, 3
jne 0x4263ab
mov al, bh
add al, 0x66
cmp al, 5
ja 0x4263af
mov al, 1
jmp 0x4263b1
xor al, al
mov byte [esp + 0x26], al
test cl, cl
jne 0x4263c2
mov byte [esp + 0x27], 1
test al, al
jne 0x4263c7
mov byte [esp + 0x27], 0
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4263d0
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x4263f7
movzx eax, word [edi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
mov eax, 0x4d75bc
jne 0x4263fc
mov eax, 0x4bfb90
push dword [esp + 0x18]
test bl, bl
mov ecx, 0x4d7240
push eax
mov eax, 0x4bfb90
cmove eax, ecx
push eax
push 0x4d75c0
lea eax, [esp + 0x108]
push 0x20
push eax
call fcn.004a19b0
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
lea eax, [esp + 0xd0]
push 0x1f
push esi
push eax
call edi
add esp, 0x24
xor eax, eax
mov word [esp + 0xf6], ax
lea eax, [esp + 0x88]
push 7
push ebp
push eax
call edi
sub esi, ebp
xor eax, eax
sar esi, 1
add esp, 0xc
mov word [esp + 0x96], ax
cmp esi, 8
jae 0x426470
mov word [esp + esi*2 + 0x88], ax
xor edx, edx
mov dword [esp + 0x2c], edx
cmp word [esp + 0x88], dx
jne 0x42687b
cmp bh, 0xd
jne 0x4264b4
lea eax, [esp + 0xb8]
push str.Return
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x42653d
mov dword [esp + 0x2c], 1
jmp case.0x425e09.0
cmp bh, 0x13
jne 0x42687b
mov ax, word [esp + 0xb8]
movzx esi, ax
test esi, 0xffffff80
je 0x4264d4
xor edi, edi
jmp 0x4264ea
push 2
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
mov edi, eax
add esp, 8
mov ax, word [esp + 0xb8]
mov edx, esi
mov ecx, esi
and ecx, 0xffdf
test edi, edi
movzx esi, cx
mov ecx, edx
cmove esi, ecx
cmp si, 0x50
je 0x42653d
movzx esi, ax
test esi, 0xffffff80
je 0x426513
xor eax, eax
jmp 0x42651f
push 2
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
mov edx, esi
mov ecx, esi
and ecx, 0xffdf
test eax, eax
movzx esi, cx
mov ecx, edx
cmove esi, ecx
cmp si, 0x42
jne 0x426877
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x28]
mov byte [esp + 0x16], 0
cmp byte [edi + 0x254], 0
je 0x42658b
push 0
push 0xff
push 0
push 0x67
mov ecx, edi
mov byte [edi + 0x254], 0
call fcn.0042b0c0
test eax, eax
je 0x426ca4
mov eax, dword [edi + 0x614]
mov dword [eax + 0xc], 1
mov dword [edi + 0x64c], 0
push 1
push dword [esp + 0x1c]
mov ecx, edi
call fcn.00428830
test eax, eax
je 0x426ca4
test ebx, ebx
je 0x426696
cmp word [ebx], 0
je 0x426c23
cmp byte [esp + 0x1f], 0
mov eax, 0x4bfb90
mov ecx, dword [edi + 0x624]
mov edx, dword [esp + 0x50]
cmove eax, ebp
push 0
push dword [esp + 0x80]
push eax
push ebx
push ecx
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edi + 0x624]
mov ecx, dword [ecx + 4]
call fcn.0040f190
add esp, 0x14
test eax, eax
je 0x426ca4
movzx eax, word [ebp]
test ax, ax
je 0x426873
cmp byte [esp + 0x1f], 0
je 0x42666d
mov ecx, ebp
cmp ax, 0x20
je 0x426614
cmp ax, 9
jne 0x42661d
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x426608
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, edi
call fcn.00428980
test eax, eax
je 0x426ca4
mov eax, dword [edi + 0x614]
mov al, byte [eax]
cmp al, 9
jb 0x42664d
cmp al, 0x20
jbe 0x426bfd
cmp al, 0x21
je 0x426bfd
cmp al, 0x69
jb 0x426661
cmp al, 0x6b
jbe 0x426bfd
cmp al, 0x71
jb 0x42666d
cmp al, 0x73
jbe 0x426bfd
push 0
push 0
push 0
push 0x67
mov ecx, edi
call fcn.0042b0c0
test eax, eax
je 0x426ca4
mov eax, dword [edi + 0x614]
mov dword [eax + 0xc], 1
jmp 0x425d34
xor esi, esi
cmp word [ebp], si
je 0x42678c
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
push str.AltTab
push ebp
call ebx
add esp, 8
test eax, eax
jne 0x4266c1
mov esi, 0x7ffe
jmp 0x426768
push str.ShiftAltTab
push ebp
call ebx
add esp, 8
test eax, eax
jne 0x4266da
mov esi, 0x7ffd
jmp 0x426768
push str.AltTabMenu
push ebp
call ebx
add esp, 8
test eax, eax
jne 0x4266f0
mov esi, 0x7ffc
jmp 0x426768
push str.AltTabAndMenu
push ebp
call ebx
add esp, 8
test eax, eax
jne 0x426706
mov esi, 0x7ffb
jmp 0x426768
push str.AltTabMenuDismiss
push ebp
call ebx
add esp, 8
test eax, eax
jne 0x42671c
mov esi, 0x7ffa
jmp 0x426768
xor esi, esi
mov ecx, edi
push esi
push esi
push esi
push esi
push esi
push esi
push ebp
call fcn.00428980
test eax, eax
je 0x426ca4
mov eax, dword [edi + 0x614]
mov al, byte [eax]
cmp al, 9
jb 0x426748
cmp al, 0x20
jbe 0x426bfd
cmp al, 0x21
je 0x426bfd
cmp al, 0x69
jb 0x42675c
cmp al, 0x6b
jbe 0x426bfd
cmp al, 0x71
jb 0x426768
cmp al, 0x73
jbe 0x426bfd
push 0
push 0
push 0
push 0x67
mov ecx, edi
call fcn.0042b0c0
test eax, eax
je 0x426ca4
mov eax, dword [edi + 0x614]
mov dword [eax + 0xc], 1
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x57]
push eax
lea edx, [esp + 0x84]
call fcn.0040ebb0
mov edi, eax
add esp, 4
test edi, edi
je 0x42680e
test si, si
je 0x4267b8
mov word [edi + 6], si
jmp 0x425d34
mov eax, dword [edi + 0x20]
test eax, eax
je 0x4267d5
mov ecx, dword [0x4ea1fc]
cmp dword [eax + 4], ecx
je 0x426c40
mov eax, dword [eax + 8]
test eax, eax
jne 0x4267c5
mov ebx, dword [esp + 0x28]
mov ecx, edi
push dword [esp + 0x80]
push dword [ebx + 0x624]
call fcn.0040e2c0
test eax, eax
je 0x426c6b
cmp byte [esp + 0x57], 0
jne 0x426805
cmp byte [0x4e98a3], 0
je 0x426873
mov byte [edi + 0x14], 1
jmp 0x425d34
mov ecx, dword [esp + 0x28]
mov edx, esi
push 0
push dword [esp + 0x84]
mov ecx, dword [ecx + 0x624]
push dword [ecx + 4]
call fcn.0040dac0
add esp, 0xc
test eax, eax
jne 0x426873
cmp dword [esp + 0x58], 3
jne 0x426ca4
push dword [esp + 0x18]
lea eax, [esp + 0x13c]
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.004a19b0
push 0
push 0
xorps xmm3, xmm3
lea ecx, [esp + 0x150]
mov edx, 0x10000
call fcn.004a7e00
add esp, 0x18
mov bh, byte [esp + 0x16]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov bl, byte [esp + 0x17]
jmp 0x425d48
mov word [esi], bx
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
cmp word [edx + ebx*2 - 2], 0x3a
jne 0x42695b
cmp ebx, 1
je 0x426cb3
movzx eax, word [edx]
mov esi, edx
test ax, ax
je 0x4268f4
mov di, word [0x4e829c]
mov ecx, eax
nop
cmp cx, 0x20
je 0x42695b
cmp cx, 9
je 0x42695b
cmp cx, di
je 0x42695b
cmp cx, word [0x4e8294]
je 0x42695b
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x4268c0
cmp word [edx + ebx*2 - 4], 0x3a
jne 0x426901
cmp ebx, 2
ja 0x42695b
xor eax, eax
mov word [edx + ebx*2 - 2], ax
push str.Default
push dword [esp + 0x1c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
mov edi, dword [esp + 0x30]
add esp, 8
test eax, eax
jne 0x426949
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x426949
mov eax, dword [eax + 0x10]
test eax, eax
je 0x426949
cmp byte [eax], 0x75
jne 0x426949
push 0
push 0
push 0
push 0x76
mov ecx, edi
call fcn.0042b0c0
jmp 0x425d2c
push 0
push dword [esp + 0x1c]
mov ecx, edi
call fcn.00428830
jmp 0x425d2c
cmp word [edx], 0x23
mov edi, dword [esp + 0x28]
jne 0x426999
mov esi, dword [edi + 0x250]
mov ecx, edi
push edx
call fcn.004272c0
test eax, eax
je 0x426ca4
cmp eax, 3
jne 0x426995
mov eax, dword [esp + 0x74]
mov dword [edi + 0x24c], eax
mov dword [edi + 0x250], esi
jmp 0x425d34
mov edx, dword [esp + 0x18]
movzx eax, word [edx]
cmp eax, 0x7b
je 0x4269bf
cmp eax, 0x7d
je 0x4269bf
push 0
push 0
push 0
push 0
push 0
push 0
push edx
mov ecx, edi
call fcn.00428980
jmp 0x425d2c
cmp eax, 0x7b
mov ecx, edi
push 0
setne al
push 0
add al, 0x77
push 0
movzx eax, al
push eax
call fcn.0042b0c0
test eax, eax
je 0x426ca4
mov ebx, dword [esp + 0x18]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x4269e4
cmp eax, 9
je 0x4269e4
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], ebx
cmp word [ebx], 0
je 0x425d38
lea ecx, [ebx + 2]
nop word [eax + eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x426a10
jmp 0x42586b
mov eax, dword [esp + 0x18]
test dl, dl
mov ecx, dword [0x4d4ec8]
push 0
push 1
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
mov cx, word [0x4d4ecc]
mov word [eax + 4], cx
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x30]
push eax
setne al
add al, 0xc5
movzx eax, al
push eax
call fcn.0042b0c0
lea eax, [esp + 0xb8]
push eax
push str.Blind_s_Up
push dword [esp + 0x20]
call fcn.00405900
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x24]
add esp, 0xc
push 0
push 1
push eax
push 0x41
call fcn.0042b0c0
mov ecx, dword [esp + 0x28]
push 0
push 0
push 0
push 0x67
call fcn.0042b0c0
mov al, byte [esp + 0x40]
mov ch, bl
mov cl, byte [esp + 0x3b]
mov edx, dword [esp + 0x48]
mov byte [esp + 0x17], al
mov al, byte [esp + 0x41]
mov byte [esp + 0x25], ch
mov ch, byte [esp + 0x42]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x68]
mov byte [esp + 0x16], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], eax
mov byte [esp + 0x26], ch
mov byte [esp + 0x27], cl
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0xa180]
cmp dword [esp + 0x84], edx
lea esi, [esp + 0x12188]
mov ebx, dword [esp + 0x4c]
mov eax, edx
mov ebp, dword [esp + 0x28]
cmovne esi, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x20], esi
jmp 0x424d1b
mov ecx, dword [esp + 0x28]
push edi
push str.Continuation_section_too_long.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
cmp dword [edi + 0x244], 0
lea eax, [esp + 0x2178]
push eax
mov ecx, str.Not_a_valid_method__class_or_property_definition.
mov eax, 0x4d7448
cmove eax, ecx
mov ecx, edi
push eax
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
lea eax, [esp + 0x2178]
mov ecx, edi
push eax
push 0x4d7448
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
lea eax, [esp + 0x2178]
push eax
push str.Functions_cannot_contain_functions.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
mov ecx, dword [esp + 0x18]
push ecx
push str.Not_a_valid_property_getter_setter.
mov ecx, edi
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
mov eax, dword [esp + 0x18]
push eax
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, edi
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
push edx
push str.IfWin_should_be_IfWin.
mov ecx, edi
mov dword [edi + 0x64c], eax
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
mov eax, 0x3a
mov ecx, edi
mov word [ebp - 4], ax
push dword [esp + 0x18]
push str.Invalid_single_line_hotkey_hotstring.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
push dword [esp + 0x18]
mov ecx, edi
push str.This_hotstring_is_missing_its_abbreviation.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
mov eax, dword [esp + 0x28]
mov ecx, eax
push dword [esp + 0x18]
push str.Duplicate_hotkey.
mov dword [eax + 0x64c], 0
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
push dword [esp + 0x18]
mov ecx, ebx
push str.Out_of_memory.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
mov ecx, dword [esp + 0x28]
push edx
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
mov ecx, dword [esp + 0x28]
push edx
push str.This_line_does_not_contain_a_recognized_action.
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
push dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
push 0x4d73e4
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
cmp word [esp + 0x2178], 0
je 0x426d61
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x30]
mov esi, dword [ebp + 0x250]
mov dword [ebp + 0x250], eax
lea eax, [esp + 0x2178]
je 0x426d3f
cmp byte [esp + 0x17], 0
mov ecx, 0x4d7448
push eax
mov eax, str.Missing___
cmove eax, ecx
mov ecx, ebp
push eax
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
push 0
push 0
push 0
push 0
push 0
push 3
push eax
mov ecx, ebp
call fcn.00428980
test eax, eax
je 0x426ca4
mov dword [ebp + 0x250], esi
cmp dword [ebp + 0x28], 0
je 0x426d8b
cmp dword [esp + 0x74], 0
jne 0x426d8b
lea eax, [ebp + 0x40]
mov ecx, ebp
push eax
push str.Missing___
call fcn.0043eb10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
inc dword [ebp + 0x250]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4