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

Disassembly:
mov eax, 0x1a180
call fcn.004bdab0
mov eax, dword [0x4eb040]
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.00426f90
push 2
push 0x4d7310
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 + 0x39]
test eax, eax
jne 0x424ce7
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 0x426cde
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 0x424d3e
push dword [esp + 0x18]
mov ecx, ebp
call fcn.004272f0
test eax, eax
je 0x426c94
mov edx, dword [esp + 0x20]
xor ebp, ebp
mov byte [esp + 0x7c], 0
jmp 0x424d56
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.00426f90
mov esi, eax
mov dword [esp + 0x4c], esi
test esi, esi
je 0x424e22
cmp esi, 0xffffffff
je 0x424e22
test ebp, ebp
jne 0x424e22
push 2
push 0x4d7334
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 0x424df4
cmp byte [esp + 0x39], al
jne 0x424db8
cmp word [edx + 4], 0x3a
jne 0x424db8
cmp word [edx + 6], 0x3a
je 0x424dff
lea eax, [esi*2 - 2]
mov byte [esp + 0x39], 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.00421800
mov edx, dword [esp + 0x20]
mov esi, eax
mov dword [esp + 0x4c], esi
cmp word [edx], 0
je 0x424d56
jmp 0x424dff
cmp byte [esp + 0x39], 0
jne 0x424d56
push 2
push 0x4d7310
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x424e22
mov edx, dword [esp + 0x20]
mov byte [esp + 0x39], 1
jmp 0x424d56
cmp byte [esp + 0x39], 0
je 0x424e3b
cmp esi, 0xffffffff
je 0x42554f
mov edx, dword [esp + 0x20]
jmp 0x424d56
test ebp, ebp
jne 0x425348
mov edx, dword [esp + 0x20]
cmp esi, 0xffffffff
je 0x425074
cmp word [edx], 0x28
jne 0x425074
movzx eax, word [edx + 2]
lea esi, [edx + 2]
mov ecx, eax
cmp eax, 0x3a
je 0x425070
mov eax, dword [esp + 0x4c]
cmp word [edx + eax*2 - 2], 0x3a
je 0x425070
mov al, byte [0x4e9886]
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 0x424ec4
cmp eax, 9
jne 0x424ecd
movzx eax, word [esi + 2]
add esi, 2
jmp 0x424eb7
test ax, ax
je 0x425066
mov ebx, esi
test esi, esi
je 0x424f21
movzx eax, word [esi]
test ax, ax
je 0x424f21
mov edi, eax
nop word [eax + eax]
mov ecx, 0x4d5394
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x424f38
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x424f00
movzx eax, word [ebx + 2]
add ebx, 2
mov edi, eax
test ax, ax
jne 0x424ef0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424f26
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 0x424fa9
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.004a3d30
lea edx, [esp + 0x9c]
add esp, 4
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x424f91
sub edx, ecx
sar edx, 1
mov dword [esp + 0x70], edx
jmp 0x425036
push 5
push 0x4d73dc
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x424fca
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x44]
jmp 0x425036
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 0x424feb
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x43]
jmp 0x425036
movzx eax, word [esi]
test ax, ax
je 0x425036
mov ecx, eax
movzx eax, cx
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x425007.38
movzx eax, byte [eax + 0x426dac]
jmp dword [eax*4 + 0x426d94]
mov byte [esp + 0x45], 1
jmp case.0x425007.38
mov byte [esp + 0x46], 1
jmp case.0x425007.38
mov byte [esp + 0x47], 0
jmp case.0x425007.38
mov ebp, 2
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x424ff5
mov word [ebx], di
mov esi, ebx
mov eax, edi
nop dword [eax]
cmp ax, 0x20
je 0x42504c
cmp ax, 9
jne 0x425055
movzx eax, word [esi + 2]
add esi, 2
jmp 0x425040
test ax, ax
jne 0x424ed6
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
mov byte [esp + 0x7c], 1
jmp 0x424d50
mov esi, dword [esp + 0x4c]
xor ebp, ebp
cmp esi, 0xffffffff
je 0x42554f
test esi, esi
je 0x424d56
cmp word [edx + esi*2 - 2], 0x3a
jne 0x425099
cmp word [edx], 0x2c
jne 0x42554f
movzx esi, word [edx]
test esi, 0xffffff80
je 0x4250a8
xor ecx, ecx
jmp 0x4250b6
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 0x425301
cmp eax, 0x4f
je 0x42527d
movzx eax, word [edx]
cmp eax, 0x3a
je 0x4250e4
cmp eax, 0x2b
je 0x4250e4
cmp eax, 0x2d
jne 0x4250ee
cmp word [edx + 2], ax
je 0x42554f
push eax
push str.____:.___
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
je 0x42554f
mov esi, dword [esp + 0x20]
push 0x4d737c
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x4251d9
cmp word [esi], 0x3a
jne 0x42518b
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x42517d
mov ecx, eax
cmp cx, 0x3a
je 0x42517d
movzx eax, cx
test eax, 0xffffff80
jne 0x425159
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 0x42516f
movzx eax, word [esi]
push eax
push 0x4d7384
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
je 0x425187
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x425136
cmp word [esi], 0x3a
je 0x42554f
mov esi, dword [esp + 0x20]
cmp word [esi], 0x2c
jne 0x425231
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x425195
cmp eax, 9
je 0x425195
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
push 2
push 0x4d737c
push esi
call edi
add esp, 0xc
test eax, eax
je 0x42554f
push 3
lea eax, [esi - 2]
push 0x4d5384
push eax
call edi
add esp, 0xc
test eax, eax
je 0x42554f
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x4c]
lea eax, [esi + ebx]
cmp eax, 0x4000
jae 0x426b04
cmp word [edi], 0x2c
je 0x425203
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 0x424d56
mov eax, esi
cmp esi, edi
jae 0x425244
cmp word [eax], 0x22
je 0x42524c
add eax, 2
cmp eax, edi
jb 0x425237
cmp eax, edi
je 0x42554f
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
test ax, ax
je 0x42554f
mov edx, eax
nop
cmp dx, 0x22
je 0x4251d9
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x425260
jmp 0x42554f
movzx eax, word [edx + 2]
mov esi, eax
test eax, 0xffffff80
je 0x42528e
xor edx, edx
jmp 0x425298
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 0x42554f
mov edi, dword [esp + 0x20]
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
cmp eax, 0x20
je 0x4252d0
cmp eax, 9
jne 0x42554f
nop dword [eax]
cmp ax, 0x20
je 0x4252dc
cmp ax, 9
jne 0x4252e5
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x4252d0
push eax
push str.____:
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
jne 0x42554f
jmp 0x4251dd
push 3
push 0x4d733c
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42554f
mov edi, dword [esp + 0x20]
movzx eax, word [edi + 6]
lea ecx, [edi + 6]
cmp eax, 0x20
je 0x425333
cmp eax, 9
jne 0x42554f
cmp ax, 0x20
je 0x42533f
cmp ax, 9
jne 0x4252e5
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x425333
cmp esi, 0xffffffff
je 0x426cbf
mov edx, dword [esp + 0x20]
cmp esi, 0xfffffffe
je 0x424d56
cmp word [edx], 0x29
jne 0x4253c5
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 0x425370
sub esi, ecx
lea eax, [edx - 2]
sar esi, 1
lea eax, [eax + esi*2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x425392
cmp ecx, 9
jne 0x42539c
cmp eax, edx
je 0x4253ab
sub eax, 2
dec esi
jmp 0x425385
xor ecx, ecx
lea edi, [edx + 2]
mov word [eax + 2], cx
dec esi
jmp 0x4254e5
cmp ecx, 0x20
je 0x4253b5
cmp ecx, 9
jne 0x4253bc
xor ecx, ecx
xor esi, esi
mov word [eax], cx
lea edi, [edx + 2]
dec esi
jmp 0x4254e5
cmp byte [esp + 0x43], 0
mov edi, edx
je 0x4253df
mov ecx, dword [esp + 0x20]
mov edx, esi
call fcn.00421870
mov esi, eax
mov dword [esp + 0x4c], esi
cmp byte [esp + 0x44], 0
je 0x4253f5
mov ecx, dword [esp + 0x20]
mov edx, esi
call fcn.00421800
mov dword [esp + 0x4c], eax
xor esi, esi
cmp byte [esp + 0x45], 0
je 0x425435
mov ax, word [0x4e8270]
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.004a2310
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x46], 0
je 0x42547c
mov ax, word [0x4e8270]
lea edx, [esp + 0x5c]
mov cx, word [0x4e8274]
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.004a2310
add esp, 0x18
add esi, eax
cmp byte [esp + 0x47], 0
je 0x4254c3
mov ax, word [0x4e8270]
lea edx, [esp + 0x5c]
mov cx, word [0x4e8278]
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.004a2310
add esp, 0x18
add esi, eax
mov edx, dword [esp + 0x20]
test esi, esi
je 0x4254e1
mov esi, edx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4254d0
sub esi, ecx
sar esi, 1
jmp 0x4254e5
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x70]
lea eax, [ecx + esi]
add eax, ebx
cmp eax, 0x4001
jae 0x426b04
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, 1
jle 0x425537
test ecx, ecx
je 0x425537
cmp edi, edx
jne 0x425537
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 0x424d50
jmp 0x425203
mov word [ebx], di
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x28]
test ebx, ebx
je 0x425d04
cmp word [esp + 0x2178], 0
je 0x42570e
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 0x4255eb
test bl, bl
jne 0x4255eb
cmp dword [esp + 0x34], 0
jne 0x426b51
cmp dword [edi + 0x28], 0
je 0x4255af
mov eax, dword [0x4e7024]
cmp dword [eax + 0xb4], 0
je 0x426b20
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x2190]
mov ecx, edi
push eax
call fcn.004289b0
test eax, eax
je 0x426c94
xor eax, eax
mov dword [edi + 0x64c], 0
mov word [esp + 0x2178], ax
jmp 0x425708
mov ebp, dword [esp + 0x34]
mov eax, ebp
sub eax, 0
je 0x425638
sub eax, 1
je 0x425615
sub eax, 1
jne 0x42569a
lea eax, [esp + 0x2178]
mov ecx, edi
push eax
call fcn.0042e310
jmp 0x425624
lea eax, [esp + 0x2178]
mov ecx, edi
push eax
call fcn.0042dc00
test eax, eax
je 0x426c94
xor eax, eax
mov word [esp + 0x2178], ax
jmp 0x4256a8
mov eax, dword [0x4e7024]
mov ecx, edi
cmp dword [eax + 0xb4], 0
jne 0x426b72
lea eax, [esp + 0x238]
push eax
lea eax, [esp + 0x217c]
push eax
call fcn.0042d0e0
test eax, eax
je 0x426c94
test bl, bl
je 0x42569a
push 0
push 0
push 0
push 0x77
mov ecx, edi
call fcn.0042b0f0
test eax, eax
je 0x426c94
xor eax, eax
mov dword [edi + 0x64c], 0
mov word [esp + 0x2178], ax
jmp 0x425708
xor eax, eax
mov word [esp + 0x2178], ax
test ebp, ebp
je 0x425708
test bl, bl
jne 0x425708
mov ecx, dword [esp + 0x18]
movzx eax, word [ecx + 2]
add ecx, 2
cmp eax, 0x20
je 0x4256b0
cmp eax, 9
je 0x4256b0
test ax, ax
jne 0x4256d5
mov edx, dword [esp + 0x2c]
mov dword [edi + 0x250], esi
jmp 0x425d10
mov ebx, ecx
lea edx, [ebx + 2]
nop word [eax + eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x4256e0
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 0x425852
mov edx, dword [edi + 0x28]
test edx, edx
je 0x425852
mov eax, dword [0x4e7024]
cmp dword [eax + 0xb4], 0
jne 0x425852
cmp dword [edi + 0x244], 0
je 0x425775
mov eax, dword [edi + 0x248]
mov dword [edi + 0x244], 0
test eax, eax
je 0x425807
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 0x425807
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 0x4257de
mov edi, esi
shl edi, 4
nop dword [eax]
mov eax, dword [ebx + 0xc]
cmp dword [edi + eax + 0xc], 1
jne 0x4257cf
cmp esi, dword [ebx + 0x1c]
jl 0x4257ac
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 0x4257cf
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 0x425790
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 0x425802
xor ecx, ecx
mov word [eax], cx
jmp 0x425807
xor eax, eax
mov word [esi], ax
mov ebx, dword [esp + 0x18]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x42580b
cmp eax, 9
je 0x42580b
mov dword [esp + 0x18], ebx
cmp word [ebx], 0
je 0x425d04
lea ecx, [ebx + 2]
nop dword [eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x425830
sub ebx, ecx
mov dword [edi + 0x64c], 0
sar ebx, 1
mov dword [esp + 0x3c], ebx
jmp 0x425553
cmp dword [edi + 0x244], 0
je 0x425944
mov eax, dword [0x4e7024]
cmp dword [eax + 0xb4], 0
jne 0x425944
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
push 3
push 0x4d74d4
push dword [esp + 0x20]
call ebx
add esp, 0xc
test eax, eax
je 0x4258a3
push 3
push 0x4d74dc
push dword [esp + 0x20]
call ebx
add esp, 0xc
test eax, eax
jne 0x426b91
mov ecx, dword [esp + 0x18]
lea esi, [ecx + 6]
nop word [eax + eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x4258bd
cmp eax, 9
jne 0x4258c2
add esi, 2
jmp 0x4258b0
test ax, ax
je 0x4258db
cmp eax, 0x7b
jne 0x426b95
cmp word [esi + 2], 0
jne 0x426b95
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 0x4258f0
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 0x425d14
mov ebp, dword [esp + 0x18]
test cx, cx
je 0x425a7a
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 0x425996
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x425970
movzx eax, word [ebx + 2]
add ebx, 2
mov esi, eax
test ax, ax
jne 0x425960
jmp 0x425a7a
cmp word [ebx], 0x28
jne 0x425a7a
mov esi, dword [esp + 0x18]
cmp ebx, esi
je 0x425a7a
mov edi, ebx
mov edx, 0x4d72a8
sub edi, esi
mov ecx, esi
sar edi, 1
push 0xffffffffffffffff
push edi
call fcn.004a1bc0
add esp, 8
test eax, eax
je 0x425a76
push 0xffffffffffffffff
push edi
mov edx, str.WHILE
mov ecx, ebp
call fcn.004a1bc0
add esp, 8
test eax, eax
je 0x425a76
cmp word [ebx + 2], 0x3a
je 0x425a76
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4259f6
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 0x425a30
xor eax, eax
mov ecx, ebp
mov word [edx], ax
sub edx, ebp
sar edx, 1
call fcn.00421870
movzx ecx, word [ebp + eax*2 - 2]
cmp cx, 0x29
jne 0x425a70
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 0x425a43
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 0x425d14
mov edi, dword [esp + 0x28]
jmp 0x425a7e
mov edi, dword [esp + 0x28]
mov bl, byte [esp + 0x17]
mov eax, dword [0x4e7024]
cmp dword [eax + 0xb4], 0
jne 0x425fa9
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 0x425b64
movzx eax, word [esi + 0xa]
cmp eax, 0x20
je 0x425ac1
cmp eax, 9
jne 0x425b64
lea edi, [esi + 0xc]
movzx eax, word [edi]
cmp eax, 0x20
je 0x425ad1
cmp eax, 9
jne 0x425ad6
add edi, 2
jmp 0x425ac4
push eax
push str.__t____:_______.___
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
jne 0x425b60
mov ecx, edi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425af0
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 0x425b25
xor eax, eax
mov ecx, esi
mov word [edx], ax
sub edx, esi
sar edx, 1
call fcn.00421870
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 0x425b30
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 0x425d14
mov edi, dword [esp + 0x28]
cmp dword [edi + 0x28], 0
je 0x425fa9
mov esi, dword [esp + 0x18]
movzx eax, word [esi]
mov ecx, eax
test ecx, 0xffffff80
je 0x425b81
jmp 0x425b97
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 0x425ba9
cmp cx, 0x5f
je 0x425ba9
cmp cx, 0x7f
ja 0x425ba9
cmp cx, 0x2e
jne 0x425bae
add esi, 2
jmp 0x425b72
cmp esi, dword [esp + 0x18]
jbe 0x425c8c
movzx eax, cx
nop dword [eax + eax]
cmp ax, 0x20
je 0x425bcc
cmp ax, 9
jne 0x425bd5
movzx eax, word [esi + 2]
add esi, 2
jmp 0x425bc0
cmp ax, 0x3a
jne 0x425c04
cmp word [esi + 2], 0x3d
jne 0x425c8c
push 0
push dword [esp + 0x1c]
mov ecx, edi
call fcn.0042e510
test eax, eax
je 0x426c94
mov edx, dword [esp + 0x2c]
jmp 0x425d0c
test ax, ax
je 0x425c1c
cmp ax, 0x5b
je 0x425c1c
cmp ax, 0x7b
jne 0x425c8c
cmp word [esi + 2], 0
jne 0x425c8c
mov edx, dword [esp + 0x18]
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x425c23
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 0x425c4f
dec edx
mov ecx, esi
call fcn.00421870
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 0x425c60
mov ecx, dword [edi + 0x250]
mov ebp, 2
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ebp
jmp 0x425d14
push 6
push str.Static
push dword [esp + 0x20]
call ebp
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x18]
jne 0x425cbd
movzx ecx, word [eax + 0xc]
cmp ecx, 0x20
je 0x425cb2
cmp ecx, 9
jne 0x425cbd
push 1
add eax, 0xe
push eax
jmp 0x425bec
cmp word [eax], 0x23
jne 0x426bb3
mov esi, dword [edi + 0x250]
mov ecx, edi
push eax
call fcn.004272f0
test eax, eax
je 0x426c94
cmp eax, 3
jne 0x426baf
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x2c]
mov dword [edi + 0x24c], eax
mov dword [edi + 0x250], esi
jmp 0x425d0c
test eax, eax
je 0x426c94
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.0x425dd9.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 + 0x41], ch
mov dword [esp + 0x34], ebp
mov byte [esp + 0x42], dh
mov dword [esp + 0x58], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0x3a], dl
mov byte [esp + 0x27], cl
mov byte [esp + 0x3b], cl
cmp eax, 9
ja case.0x425dd9.4
mov esi, dword [esp + 0x48]
movzx eax, byte [eax + 0x426e00]
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 + 0x426dec]
mov eax, dword [esp + 0x18]
test dl, dl
mov ecx, dword [0x4d4ed8]
mov esi, dword [esp + 0x28]
push 0
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov cx, word [0x4d4edc]
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.0042b0f0
cmp byte [esp + 0x3b], 0
je 0x425e8e
lea eax, [esp + 0xb8]
push eax
push str.if_not_GetKeyState___s__
push dword [esp + 0x20]
call fcn.00405960
mov cl, byte [esp + 0x4e]
mov ch, bl
mov edx, dword [esp + 0x54]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x4d]
mov byte [esp + 0x2b], cl
mov cl, byte [esp + 0x47]
mov byte [esp + 0x31], ch
mov ch, byte [esp + 0x46]
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 0x425fa6
mov esi, dword [esp + 0x28]
movzx eax, bh
mov ecx, 0x4bfba0
sub eax, 0x12
je 0x425ea7
sub eax, 0x92
je 0x425ea7
sub eax, 1
jne 0x425ec7
movzx eax, bl
sub eax, 0x11
je 0x425ec2
sub eax, 0x91
je 0x425ec2
sub eax, 1
jne 0x425ec7
mov ecx, str.RCtrl_up
jmp 0x425ec7
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.00405960
add esp, 0x14
lea eax, [esp + 0x18]
mov ecx, esi
push 0
push 1
push eax
push 0x41
call fcn.0042b0f0
test eax, eax
je 0x426c94
push 0
push 0
push 0
push 0x67
mov ecx, esi
call fcn.0042b0f0
lea eax, [esp + 0xf8]
mov dword [esi + 0x64c], 0
push eax
push str._s_up::
push dword [esp + 0x20]
call fcn.00405960
mov cl, byte [esp + 0x47]
mov ch, bl
mov edx, dword [esp + 0x54]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x4d]
mov byte [esp + 0x23], al
mov al, byte [esp + 0x4e]
mov byte [esp + 0x31], ch
mov ch, byte [esp + 0x46]
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 0x425fa6
lea eax, [esp + 0xf8]
push eax
push str._s::
push dword [esp + 0x20]
call fcn.00405960
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 0x426182
movzx eax, word [esi + 2]
test ax, ax
je 0x426182
lea ecx, [esi + 2]
mov dword [esp + 0x50], ecx
cmp eax, 0x3a
je 0x426002
push 0x3a
push ecx
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x425ff5
mov dword [esp + 0x48], ebp
jmp 0x426182
mov ecx, dword [esp + 0x50]
add ebx, 2
mov dword [esp + 0x48], ebx
jmp 0x426018
mov eax, dword [esp + 0x18]
add eax, 4
cmp word [eax], bp
je 0x426182
mov ebx, eax
mov dword [esp + 0x48], eax
test ebx, ebx
je 0x426182
mov al, byte [0x4e9804]
mov esi, ecx
mov byte [esp + 0x1f], al
cmp ecx, ebx
jae 0x426077
nop
movzx eax, word [esi]
mov edi, eax
test eax, 0xffffff80
je 0x426040
xor edx, edx
jmp 0x42604e
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 0x42606e
cmp esi, ebx
jb 0x426030
jmp 0x426077
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 0x4260b5
mov ecx, eax
nop
movzx edx, cx
cmp cx, word [0x4e8270]
je 0x4260b5
movzx edx, cx
cmp cx, 0x3a
je 0x4260b5
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x426090
mov ecx, esi
test dx, dx
je 0x426176
movzx eax, word [esi + 2]
lea edi, [esi + 2]
cmp dx, 0x3a
jne 0x4260ee
cmp eax, 0x3a
jne 0x4260e1
cmp byte [esp + 0x1f], 0
mov ebp, esi
mov esi, edi
jne 0x426176
cmp eax, 0x3a
mov ebp, ecx
cmovne ebp, ebx
add esi, 2
jmp 0x426080
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4260fd.99
movzx eax, byte [eax + 0x426e2c]
jmp dword [eax*4 + 0x426e0c]
mov eax, 7
jmp 0x426133
mov eax, 8
jmp 0x426133
mov eax, 0xc
jmp 0x426133
mov eax, 0xa
jmp 0x426133
mov eax, 0xd
jmp 0x426133
mov eax, 9
jmp 0x426133
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 0x426140
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 0x42616e
cmp word [edi], 0x3a
cmove esi, edi
add esi, 2
jmp 0x426080
test ebp, ebp
jne 0x426216
mov dword [esp + 0x48], ebp
push 0x4d737c
push dword [esp + 0x1c]
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x42687f
mov ecx, dword [esp + 0x18]
cmp ebp, ecx
jne 0x4261b0
cmp word [ebp + 4], 0x3a
jne 0x4261b0
add ebp, 2
mov esi, ebp
cmp ebp, ecx
jbe 0x4261ca
movzx eax, word [esi]
cmp eax, 0x20
je 0x4261c3
cmp eax, 9
jne 0x4261ca
sub esi, 2
cmp esi, ecx
ja 0x4261b6
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 0x4261e5
cmp eax, 9
jne 0x4261ea
add ecx, 2
jmp 0x4261d8
push 0
xor edx, edx
call fcn.0040e470
add esp, 4
mov dword [esp + 0x58], eax
test eax, eax
je 0x42687c
cmp eax, 4
je 0x426c94
mov word [esi], di
test ebp, ebp
je 0x42687f
mov edx, dword [esp + 0x18]
cmp ebp, edx
jbe 0x426883
mov eax, dword [0x4e7024]
cmp dword [eax + 0xb4], 0
jne 0x426c78
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 0x614]
test eax, eax
je 0x42624b
cmp byte [eax], 0x1a
je 0x426bcd
mov ebx, dword [esp + 0x48]
xor eax, eax
mov word [ebp], ax
add ebp, 4
test ebx, ebx
jne 0x426524
movzx eax, word [ebp]
test ax, ax
je 0x4262b4
mov edx, ebp
nop dword [eax + eax]
cmp ax, 0x20
je 0x42627c
cmp ax, 9
jne 0x426285
movzx eax, word [edx + 2]
add edx, 2
jmp 0x426270
mov eax, edx
sub eax, ebp
cmp eax, 2
jb 0x4262b4
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426293
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 edi, ebp
je 0x426520
cmp word [ebp + 2], 0
je 0x426300
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
push 0
xor edx, edx
mov ecx, ebp
mov esi, eax
call fcn.0040e5b0
add esp, 4
mov edi, eax
xor edx, edx
push esi
push ecx
push 0
mov ecx, edi
call fcn.004162a0
add esp, 0xc
mov byte [esp + 0x16], al
test al, al
je 0x426520
jmp 0x426305
mov byte [esp + 0x16], 0xff
push 0
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
mov ecx, dword [esp + 0x18]
xor edx, edx
push 0
mov esi, eax
call fcn.0040e5b0
add esp, 4
mov ebx, eax
xor edx, edx
push esi
push ecx
push 0
mov ecx, ebx
call fcn.004162a0
add esp, 0xc
mov byte [esp + 0x25], al
push 0x4d5384
push ebx
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
add esp, 8
test eax, eax
mov al, byte [esp + 0x25]
setne byte [esp + 0x3a]
mov cl, al
dec cl
cmp cl, 5
ja 0x42635c
cmp al, 3
jne 0x426362
add al, 0x66
cmp al, 5
ja 0x426366
mov cl, 1
jmp 0x426368
xor cl, cl
mov dl, byte [esp + 0x16]
mov al, dl
dec al
cmp al, 5
ja 0x426379
cmp dl, 3
jne 0x426381
mov al, dl
add al, 0x66
cmp al, 5
ja 0x426385
mov al, 1
jmp 0x426387
xor al, al
mov byte [esp + 0x26], al
test cl, cl
jne 0x426398
mov byte [esp + 0x27], 1
test al, al
jne 0x42639d
mov byte [esp + 0x27], 0
mov esi, dword [esp + 0x18]
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4263a6
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x4263cd
movzx eax, word [ebx]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
mov eax, 0x4d75cc
jne 0x4263d2
mov eax, 0x4bfba0
cmp byte [esp + 0x3a], 0
mov ecx, 0x4d7250
push esi
push eax
mov eax, 0x4bfba0
cmove eax, ecx
push eax
push 0x4d75d0
lea eax, [esp + 0x108]
push 0x20
push eax
call fcn.004a1b10
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
lea eax, [esp + 0xd0]
push 0x1f
push edi
push eax
call ebx
add esp, 0x24
xor eax, eax
mov word [esp + 0xf6], ax
lea eax, [esp + 0x88]
push 7
push ebp
push eax
call ebx
sub edi, ebp
xor eax, eax
sar edi, 1
add esp, 0xc
mov word [esp + 0x96], ax
cmp edi, 8
jae 0x426446
mov word [esp + edi*2 + 0x88], ax
xor edx, edx
mov dword [esp + 0x2c], edx
cmp word [esp + 0x88], dx
jne 0x426852
mov bh, byte [esp + 0x16]
cmp bh, 0xd
jne 0x42648e
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 0x426517
mov dword [esp + 0x2c], 1
jmp case.0x425dd9.0
cmp bh, 0x13
jne 0x426856
mov ax, word [esp + 0xb8]
movzx esi, ax
test esi, 0xffffff80
je 0x4264ae
xor edi, edi
jmp 0x4264c4
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 0x426517
movzx esi, ax
test esi, 0xffffff80
je 0x4264ed
xor eax, eax
jmp 0x4264f9
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 0x426867
mov ebx, dword [esp + 0x48]
mov byte [esp + 0x16], 0
mov edi, dword [esp + 0x28]
cmp byte [edi + 0x254], 0
je 0x426565
push 0
push 0xff
push 0
push 0x67
mov ecx, edi
mov byte [edi + 0x254], 0
call fcn.0042b0f0
test eax, eax
je 0x426c94
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.00428860
test eax, eax
je 0x426c94
test ebx, ebx
je 0x42666e
cmp word [ebx], 0
je 0x426c13
mov edx, dword [edi + 0x624]
mov eax, 0x4bfba0
cmp byte [esp + 0x1f], 0
push 0
push dword [esp + 0x80]
mov ecx, dword [edx + 4]
cmove eax, ebp
push eax
push ebx
push ecx
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x64]
call fcn.0040f240
add esp, 0x14
test eax, eax
je 0x426c94
movzx eax, word [ebp]
test ax, ax
je 0x42684e
cmp byte [esp + 0x1f], 0
je 0x426645
mov ecx, ebp
nop dword [eax]
cmp ax, 0x20
je 0x4265ec
cmp ax, 9
jne 0x4265f5
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x4265e0
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, edi
call fcn.004289b0
test eax, eax
je 0x426c94
mov eax, dword [edi + 0x614]
mov al, byte [eax]
cmp al, 9
jb 0x426625
cmp al, 0x20
jbe 0x426bed
cmp al, 0x21
je 0x426bed
cmp al, 0x69
jb 0x426639
cmp al, 0x6b
jbe 0x426bed
cmp al, 0x71
jb 0x426645
cmp al, 0x73
jbe 0x426bed
push 0
push 0
push 0
push 0x67
mov ecx, edi
call fcn.0042b0f0
test eax, eax
je 0x426c94
mov eax, dword [edi + 0x614]
mov dword [eax + 0xc], 1
jmp 0x425d04
xor esi, esi
cmp word [ebp], si
je 0x426764
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 0x426699
mov esi, 0x7ffe
jmp 0x426740
push str.ShiftAltTab
push ebp
call ebx
add esp, 8
test eax, eax
jne 0x4266b2
mov esi, 0x7ffd
jmp 0x426740
push str.AltTabMenu
push ebp
call ebx
add esp, 8
test eax, eax
jne 0x4266c8
mov esi, 0x7ffc
jmp 0x426740
push str.AltTabAndMenu
push ebp
call ebx
add esp, 8
test eax, eax
jne 0x4266de
mov esi, 0x7ffb
jmp 0x426740
push str.AltTabMenuDismiss
push ebp
call ebx
add esp, 8
test eax, eax
jne 0x4266f4
mov esi, 0x7ffa
jmp 0x426740
xor esi, esi
mov ecx, edi
push esi
push esi
push esi
push esi
push esi
push esi
push ebp
call fcn.004289b0
test eax, eax
je 0x426c94
mov eax, dword [edi + 0x614]
mov al, byte [eax]
cmp al, 9
jb 0x426720
cmp al, 0x20
jbe 0x426bed
cmp al, 0x21
je 0x426bed
cmp al, 0x69
jb 0x426734
cmp al, 0x6b
jbe 0x426bed
cmp al, 0x71
jb 0x426740
cmp al, 0x73
jbe 0x426bed
push 0
push 0
push 0
push 0x67
mov ecx, edi
call fcn.0042b0f0
test eax, eax
je 0x426c94
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.0040ec50
mov edi, eax
add esp, 4
test edi, edi
je 0x4267e9
test si, si
je 0x426790
mov word [edi + 6], si
jmp 0x425d04
mov eax, dword [edi + 0x20]
test eax, eax
je 0x4267b0
mov ecx, dword [0x4ea1b8]
nop dword [eax]
cmp dword [eax + 4], ecx
je 0x426c30
mov eax, dword [eax + 8]
test eax, eax
jne 0x4267a0
mov ebx, dword [esp + 0x28]
mov ecx, edi
push dword [esp + 0x80]
push dword [ebx + 0x624]
call fcn.0040e360
test eax, eax
je 0x426c5b
cmp byte [esp + 0x57], 0
jne 0x4267e0
cmp byte [0x4e9883], 0
je 0x42684e
mov byte [edi + 0x14], 1
jmp 0x425d04
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.0040db60
add esp, 0xc
test eax, eax
jne 0x42684e
cmp dword [esp + 0x58], 3
jne 0x426c94
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.004a1b10
push 0
push 0
xorps xmm3, xmm3
lea ecx, [esp + 0x150]
mov edx, 0x10000
call fcn.004a7f40
add esp, 0x18
mov edx, dword [esp + 0x2c]
mov bh, byte [esp + 0x16]
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov bl, byte [esp + 0x17]
jmp 0x425d18
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov bl, byte [esp + 0x17]
jmp 0x425d18
mov word [esi], bx
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
cmp word [edx + ebx*2 - 2], 0x3a
jne 0x42694b
cmp ebx, 1
je 0x426ca3
movzx eax, word [edx]
mov esi, edx
test ax, ax
je 0x4268e4
mov di, word [0x4e8278]
mov ecx, eax
nop
cmp cx, 0x20
je 0x42694b
cmp cx, 9
je 0x42694b
cmp cx, di
je 0x42694b
cmp cx, word [0x4e8270]
je 0x42694b
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x4268b0
cmp word [edx + ebx*2 - 4], 0x3a
jne 0x4268f1
cmp ebx, 2
ja 0x42694b
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 0x426939
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x426939
mov eax, dword [eax + 0x10]
test eax, eax
je 0x426939
cmp byte [eax], 0x75
jne 0x426939
push 0
push 0
push 0
push 0x76
mov ecx, edi
call fcn.0042b0f0
jmp 0x425cfc
push 0
push dword [esp + 0x1c]
mov ecx, edi
call fcn.00428860
jmp 0x425cfc
cmp word [edx], 0x23
mov edi, dword [esp + 0x28]
jne 0x426989
mov esi, dword [edi + 0x250]
mov ecx, edi
push edx
call fcn.004272f0
test eax, eax
je 0x426c94
cmp eax, 3
jne 0x426985
mov eax, dword [esp + 0x74]
mov dword [edi + 0x24c], eax
mov dword [edi + 0x250], esi
jmp 0x425d04
mov edx, dword [esp + 0x18]
movzx eax, word [edx]
cmp eax, 0x7b
je 0x4269af
cmp eax, 0x7d
je 0x4269af
push 0
push 0
push 0
push 0
push 0
push 0
push edx
mov ecx, edi
call fcn.004289b0
jmp 0x425cfc
cmp eax, 0x7b
mov ecx, edi
push 0
setne al
push 0
add al, 0x77
push 0
movzx eax, al
push eax
call fcn.0042b0f0
test eax, eax
je 0x426c94
mov ebx, dword [esp + 0x18]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x4269d4
cmp eax, 9
je 0x4269d4
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], ebx
cmp word [ebx], 0
je 0x425d08
lea ecx, [ebx + 2]
nop word [eax + eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x426a00
jmp 0x42583b
mov eax, dword [esp + 0x18]
test dl, dl
mov ecx, dword [0x4d4ed8]
push 0
push 1
mov dword [eax], ecx
mov eax, dword [esp + 0x20]
mov cx, word [0x4d4edc]
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.0042b0f0
lea eax, [esp + 0xb8]
push eax
push str.Blind_s_Up
push dword [esp + 0x20]
call fcn.00405960
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x24]
add esp, 0xc
push 0
push 1
push eax
push 0x41
call fcn.0042b0f0
mov ecx, dword [esp + 0x28]
push 0
push 0
push 0
push 0x67
call fcn.0042b0f0
mov al, byte [esp + 0x41]
mov ch, bl
mov cl, byte [esp + 0x3b]
mov edx, dword [esp + 0x48]
mov byte [esp + 0x17], al
mov al, byte [esp + 0x42]
mov byte [esp + 0x25], ch
mov ch, byte [esp + 0x3a]
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 0x424ceb
mov ecx, dword [esp + 0x28]
push edi
push str.Continuation_section_too_long.
call fcn.0043ec50
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, 0x4d7458
cmove eax, ecx
mov ecx, edi
push eax
call fcn.0043ec50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
lea eax, [esp + 0x2178]
mov ecx, edi
push eax
push 0x4d7458
call fcn.0043ec50
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.0043ec50
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.0043ec50
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.0043ec50
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.0043ec50
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.0043ec50
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.0043ec50
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.0043ec50
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.0043ec50
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.0043ec50
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.0043ec50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
push dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
push 0x4d73f4
call fcn.0043ec50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a180
ret 4
cmp word [esp + 0x2178], 0
je 0x426d51
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 0x426d2f
cmp byte [esp + 0x17], 0
mov ecx, 0x4d7458
push eax
mov eax, str.Missing___
cmove eax, ecx
mov ecx, ebp
push eax
call fcn.0043ec50
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.004289b0
test eax, eax
je 0x426c94
mov dword [ebp + 0x250], esi
cmp dword [ebp + 0x28], 0
je 0x426d7b
cmp dword [esp + 0x74], 0
jne 0x426d7b
lea eax, [ebp + 0x40]
mov ecx, ebp
push eax
push str.Missing___
call fcn.0043ec50
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