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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1a17c
call fcn.004b79a0
push ebx
xor eax, eax
mov ebx, ecx
mov ecx, dword [0x4e6578]
mov word [esp + 0x2168], ax
dec ecx
push esi
push edi
push dword [ebp + 8]
lea eax, [esp + 0xa17c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], eax
lea edi, [esp + 0x12184]
xor al, al
mov dword [esp + 0x68], ecx
mov byte [esp + 0x13], al
xor eax, eax
push eax
mov word [esp + 0x52], ax
mov word [esp + 0x5c], ax
mov dword [esp + 0x64], eax
lea eax, [esp + 0xa180]
push ecx
push eax
mov dword [esp + 0x34], edi
mov dword [ebx + 0x24c], ecx
call fcn.0042f3d0
push 2
push 0x4d30a0
push dword [esp + 0x18]
mov esi, eax
mov dword [esp + 0x38], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
sete byte [esp + 0x23]
test eax, eax
jne 0x42d246
mov eax, dword [esp + 0x10]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x2c], esi
mov word [eax], cx
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
mov dword [esp + 0x7c], edi
cmp esi, 0xffffffff
je 0x42f136
mov eax, dword [esp + 0x5c]
push 0xc
inc eax
mov dword [ebx + 0x64c], 0
push str.CommentFlag
push ecx
mov dword [ebx + 0x250], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42d29a
push dword [esp + 0x10]
mov ecx, ebx
call fcn.0042f690
test eax, eax
je 0x42f0e0
mov byte [esp + 0x6c], 0
xor ebx, ebx
jmp 0x42d2b4
mov dword [esp + 0x2c], esi
nop word [eax + eax]
mov edi, dword [esp + 0x24]
push dword [ebp + 8]
inc dword [esp + 0x60]
push ebx
push ecx
push edi
call fcn.0042f3d0
mov edx, eax
mov dword [esp + 0x3c], edx
test edx, edx
je 0x42d379
cmp edx, 0xffffffff
je 0x42d379
test ebx, ebx
jne 0x42d379
push 2
push 0x4d30c4
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x42d34b
cmp byte [esp + 0x23], al
jne 0x42d30b
cmp word [edi + 4], 0x3a
jne 0x42d30b
cmp word [edi + 6], 0x3a
je 0x42d356
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x23], 0
lea eax, [edi*2 - 2]
push eax
lea eax, [ecx + 4]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
lea edx, [edi - 2]
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.004276d0
cmp word [edi], 0
mov dword [esp + 0x3c], eax
je 0x42d2b4
jmp 0x42d356
cmp byte [esp + 0x23], 0
jne 0x42d2b4
push 2
push 0x4d30a0
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x42d375
mov byte [esp + 0x23], 1
jmp 0x42d2b4
mov edx, dword [esp + 0x3c]
cmp byte [esp + 0x23], 0
je 0x42d38e
cmp edx, 0xffffffff
jne 0x42d2b4
jmp 0x42da92
test ebx, ebx
jne 0x42d86d
cmp edx, 0xffffffff
je 0x42d5c4
cmp word [edi], 0x28
jne 0x42d5c4
movzx eax, word [edi + 2]
add edi, 2
mov ecx, eax
cmp eax, 0x3a
je 0x42d5c0
mov eax, dword [esp + 0x24]
cmp word [eax + edx*2 - 2], 0x3a
je 0x42d5c0
mov al, byte [0x4e5a72]
mov ebx, 1
mov byte [esp + 0x41], al
mov eax, ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x68], 0
mov byte [esp + 0x40], bl
mov byte [esp + 0x42], 0
mov byte [esp + 0x43], 0
mov byte [esp + 0x44], bl
mov dword [esp + 0x90], 0xa
mov dword [esp + 0x60], ebx
movzx eax, ax
cmp eax, 0x20
je 0x42d415
cmp eax, 9
jne 0x42d41e
movzx eax, word [edi + 2]
add edi, 2
jmp 0x42d408
test ax, ax
je 0x42d5b6
mov ebx, edi
test edi, edi
je 0x42d471
movzx eax, word [edi]
test ax, ax
je 0x42d471
mov esi, eax
nop word [eax + eax]
mov ecx, 0x4d05d4
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x42d488
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42d450
movzx eax, word [ebx + 2]
add ebx, 2
mov esi, eax
test ax, ax
jne 0x42d440
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42d476
sub ecx, edx
sar ecx, 1
lea ebx, [edi + ecx*2]
movzx esi, word [ebx]
xor eax, eax
push 4
push str.Join
push edi
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 0x42d4f9
push 0xf
lea eax, [edi + 8]
push eax
lea eax, [esp + 0x98]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0xc
lea ecx, [esp + 0x90]
xor eax, eax
mov word [esp + 0xae], ax
push 1
call fcn.0049e940
lea edx, [esp + 0x94]
add esp, 4
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x42d4e1
sub edx, ecx
sar edx, 1
mov dword [esp + 0x60], edx
jmp 0x42d589
push 5
push 0x4d316c
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42d51a
cmp word [edi + 0xa], 0x30
setne byte [esp + 0x41]
jmp 0x42d589
push 5
push str.RTrim
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42d53b
cmp word [edi + 0xa], 0x30
setne byte [esp + 0x40]
jmp 0x42d589
movzx eax, word [edi]
test ax, ax
je 0x42d589
mov ecx, eax
movzx eax, cx
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x42d557.38
movzx eax, byte [eax + 0x42f1f8]
jmp dword [eax*4 + 0x42f1e0]
mov byte [esp + 0x42], 1
jmp case.0x42d557.38
mov byte [esp + 0x43], 1
jmp case.0x42d557.38
mov byte [esp + 0x44], 0
jmp case.0x42d557.38
mov dword [esp + 0x38], 2
movzx eax, word [edi + 2]
add edi, 2
mov ecx, eax
test ax, ax
jne 0x42d545
mov word [ebx], si
mov edi, ebx
mov eax, esi
cmp ax, 0x20
je 0x42d59c
cmp ax, 9
jne 0x42d5a5
movzx eax, word [edi + 2]
add edi, 2
jmp 0x42d590
test ax, ax
jne 0x42d427
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
mov byte [esp + 0x6c], 1
jmp 0x42d2b0
mov edi, dword [esp + 0x24]
xor ebx, ebx
cmp edx, 0xffffffff
je 0x42da92
test edx, edx
je 0x42d2b4
cmp word [edi + edx*2 - 2], 0x3a
jne 0x42d5e9
cmp word [edi], 0x2c
jne 0x42da92
movzx esi, word [edi]
test esi, 0xffffff80
je 0x42d5f8
xor ecx, ecx
jmp 0x42d606
push 2
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
mov ecx, eax
mov eax, esi
and eax, 0xffffffdf
test ecx, ecx
cmove eax, esi
cmp eax, 0x41
je 0x42d7c5
cmp eax, 0x4f
je 0x42d787
movzx eax, word [edi]
cmp eax, 0x3a
je 0x42d634
cmp eax, 0x2b
je 0x42d634
cmp eax, 0x2d
jne 0x42d63e
cmp word [edi + 2], ax
je 0x42da92
push eax
push str.____:.___
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
je 0x42da92
push 0x4d310c
push edi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x42d81f
mov eax, dword [esp + 0x24]
cmp word [eax], 0x3a
jne 0x42d6d6
lea esi, [eax + 2]
movzx eax, word [esi]
test ax, ax
je 0x42d6cc
mov ecx, eax
cmp cx, 0x3a
je 0x42d6cc
movzx eax, cx
test eax, 0xffffff80
jne 0x42d6a8
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 0x42d6be
movzx eax, word [esi]
push eax
push str.____t
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
je 0x42d6d6
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x42d685
cmp word [esi], 0x3a
je 0x42da92
mov ecx, dword [esp + 0x24]
cmp word [ecx], 0x2c
jne 0x42d72d
lea esi, [ecx + 2]
movzx eax, word [esi]
cmp eax, 0x20
je 0x42d6f0
cmp eax, 9
jne 0x42d6f5
add esi, 2
jmp 0x42d6e3
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
push 2
push 0x4d310c
push esi
call edi
add esp, 0xc
test eax, eax
je 0x42da92
push 3
lea eax, [esi - 2]
push 0x4d05c4
push eax
call edi
add esp, 0xc
test eax, eax
je 0x42da92
jmp 0x42d81f
mov eax, ecx
cmp ecx, edi
jae 0x42d740
cmp word [eax], 0x22
je 0x42d740
add eax, 2
cmp eax, edi
jb 0x42d733
cmp eax, edi
je 0x42da92
movzx eax, word [edi + 4]
lea edx, [edi + 4]
mov esi, eax
test ax, ax
je 0x42d779
mov ecx, eax
nop dword [eax + eax]
movzx esi, cx
cmp cx, 0x22
je 0x42d779
movzx eax, word [edx + 2]
add edx, 2
mov ecx, eax
mov esi, eax
test ax, ax
jne 0x42d760
test si, si
je 0x42da92
jmp 0x42d81f
mov cx, word [edi + 2]
call fcn.004130a0
cmp ax, 0x52
jne 0x42da92
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
cmp eax, 0x20
je 0x42d7b0
cmp eax, 9
jne 0x42da92
nop
cmp ax, 0x20
je 0x42d7bc
cmp ax, 9
jne 0x42d808
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x42d7b0
push 3
push 0x4d30cc
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42da92
movzx eax, word [edi + 6]
lea ecx, [edi + 6]
cmp eax, 0x20
je 0x42d7f3
cmp eax, 9
jne 0x42da92
cmp ax, 0x20
je 0x42d7ff
cmp ax, 9
jne 0x42d808
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x42d7f3
push eax
push str.____:
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
jne 0x42da92
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x42ef5f
mov ecx, dword [esp + 0x24]
cmp word [ecx], 0x2c
je 0x42d84d
mov eax, dword [esp + 0x10]
mov edx, 0x20
mov word [eax + esi*2], dx
inc esi
lea eax, [edi*2 + 2]
push eax
mov eax, dword [esp + 0x14]
push ecx
lea eax, [eax + esi*2]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, edi
jmp 0x42d2a3
cmp edx, 0xffffffff
je 0x42f11b
cmp edx, 0xfffffffe
je 0x42d2b4
cmp word [edi], 0x29
jne 0x42d8ed
mov edx, edi
xor ebx, ebx
lea ecx, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x42d890
sub edx, ecx
sar edx, 1
lea eax, [edx - 1]
lea eax, [edi + eax*2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x42d8b2
cmp ecx, 9
jne 0x42d8bc
cmp eax, edi
je 0x42d8cf
sub eax, 2
dec edx
jmp 0x42d8a5
xor ecx, ecx
add edi, 2
dec edx
mov word [eax + 2], cx
mov dword [esp + 0x3c], edx
jmp 0x42da0d
cmp ecx, 0x20
je 0x42d8d9
cmp ecx, 9
jne 0x42d8e0
xor ecx, ecx
xor edx, edx
mov word [eax], cx
add edi, 2
dec edx
mov dword [esp + 0x3c], edx
jmp 0x42da0d
cmp byte [esp + 0x40], 0
mov esi, dword [esp + 0x24]
je 0x42d905
mov ecx, esi
call fcn.00427740
mov edx, eax
mov dword [esp + 0x3c], edx
cmp byte [esp + 0x41], 0
je 0x42d917
mov ecx, esi
call fcn.004276d0
mov dword [esp + 0x3c], eax
xor esi, esi
cmp byte [esp + 0x42], 0
je 0x42d957
mov ax, word [0x4e4340]
lea edx, [esp + 0x48]
mov ecx, dword [esp + 0x24]
push esi
push esi
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x58], ax
mov word [esp + 0x60], ax
mov word [esp + 0x62], ax
lea eax, [esp + 0x60]
push 1
push eax
call fcn.0049ce30
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x43], 0
je 0x42d99e
mov ax, word [0x4e4340]
lea edx, [esp + 0x48]
mov cx, word [0x4e4344]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x60], ax
lea eax, [esp + 0x60]
mov word [esp + 0x58], cx
mov word [esp + 0x62], cx
mov ecx, dword [esp + 0x34]
push 1
push eax
call fcn.0049ce30
add esp, 0x18
add esi, eax
cmp byte [esp + 0x44], 0
je 0x42d9e5
mov ax, word [0x4e4340]
lea edx, [esp + 0x48]
mov cx, word [0x4e4348]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x60], ax
lea eax, [esp + 0x60]
mov word [esp + 0x58], cx
mov word [esp + 0x62], cx
mov ecx, dword [esp + 0x34]
push 1
push eax
call fcn.0049ce30
add esp, 0x18
add esi, eax
test esi, esi
je 0x42da05
mov edx, dword [esp + 0x24]
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x42d9f0
sub edx, ecx
sar edx, 1
mov dword [esp + 0x3c], edx
jmp 0x42da09
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x60]
lea eax, [ecx + edx]
add eax, esi
cmp eax, 0x4001
jae 0x42f103
mov eax, dword [esp + 0x68]
inc eax
mov dword [esp + 0x68], eax
cmp eax, 1
jle 0x42da65
test ecx, ecx
je 0x42da65
cmp edi, dword [esp + 0x24]
jne 0x42da65
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x18]
lea eax, [eax + esi*2]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x48]
add esp, 0xc
add esi, dword [esp + 0x60]
mov dword [esp + 0x2c], esi
test edx, edx
je 0x42d2b0
lea eax, [edx*2 + 2]
push eax
mov eax, dword [esp + 0x14]
push edi
lea eax, [eax + esi*2]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, dword [esp + 0x3c]
jmp 0x42d2a3
mov word [ebx], si
mov ebx, dword [esp + 0x2c]
nop word [eax + eax]
test ebx, ebx
mov ebx, dword [esp + 0x14]
je 0x42ee33
cmp word [esp + 0x2170], 0
je 0x42dc42
mov eax, dword [esp + 0x58]
mov esi, dword [ebx + 0x250]
mov dword [ebx + 0x250], eax
mov eax, dword [esp + 0x10]
cmp word [eax], 0x7b
je 0x42db1e
cmp byte [esp + 0x1b], 0
jne 0x42db1e
mov edi, dword [esp + 0x4c]
test edi, edi
jne 0x42efa7
cmp dword [ebx + 0x28], edi
je 0x42dafe
mov eax, dword [0x4e30f4]
cmp dword [eax + 0xb4], edi
je 0x42ef7a
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x2188]
mov ecx, ebx
push eax
call fcn.00431180
jmp 0x42dbb2
mov edi, dword [esp + 0x4c]
mov eax, edi
sub eax, 0
je 0x42db6b
sub eax, 1
je 0x42db48
sub eax, 1
jne 0x42dbc4
lea eax, [esp + 0x2170]
mov ecx, ebx
push eax
call fcn.00437960
jmp 0x42db57
lea eax, [esp + 0x2170]
mov ecx, ebx
push eax
call fcn.00437350
test eax, eax
je 0x42f0e0
xor eax, eax
mov word [esp + 0x2170], ax
jmp 0x42dbd2
mov eax, dword [0x4e30f4]
mov ecx, ebx
cmp dword [eax + 0xb4], 0
jne 0x42efc4
lea eax, [esp + 0x230]
push eax
lea eax, [esp + 0x2174]
push eax
call fcn.00436960
test eax, eax
je 0x42f0e0
cmp byte [esp + 0x1b], 0
je 0x42dbc4
push 0
push 0
push 0
push 0x77
mov ecx, ebx
call fcn.00433630
test eax, eax
je 0x42f0e0
mov dword [ebx + 0x64c], 0
xor eax, eax
mov word [esp + 0x2170], ax
test edi, edi
je 0x42dc3c
cmp byte [esp + 0x1b], 0
jne 0x42dc3c
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 2]
add ecx, 2
cmp eax, 0x20
je 0x42dbdd
cmp eax, 9
je 0x42dbdd
test ax, ax
jne 0x42dc06
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
mov dword [ebx + 0x250], esi
jmp 0x42e25f
mov ebx, ecx
lea edx, [ebx + 2]
nop dword [eax + eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x42dc10
sub ebx, edx
sar ebx, 1
mov dword [esp + 0x2c], ebx
lea eax, [ebx*2 + 2]
push eax
push ecx
push dword [esp + 0x18]
call sub.VCRUNTIME140.dll_memmove
mov ebx, dword [esp + 0x20]
add esp, 0xc
mov dword [ebx + 0x250], esi
mov eax, dword [esp + 0x10]
movzx ecx, word [eax]
cmp ecx, 0x7d
jne 0x42dd95
mov edx, dword [ebx + 0x28]
test edx, edx
je 0x42dd95
mov eax, dword [0x4e30f4]
cmp dword [eax + 0xb4], 0
jne 0x42dd95
cmp dword [ebx + 0x244], 0
je 0x42dcf2
mov eax, dword [ebx + 0x248]
mov dword [ebx + 0x244], 0
test eax, eax
je 0x42dca0
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov dword [ebx + 0x248], 0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x42dca8
cmp eax, 9
je 0x42dca8
mov dword [esp + 0x10], ebx
cmp word [ebx], 0
je 0x42e253
lea ecx, [ebx + 2]
nop word [eax + eax]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x42dcd0
sub ebx, ecx
mov dword [edi + 0x64c], 0
sar ebx, 1
mov dword [esp + 0x2c], ebx
jmp 0x42daa0
lea eax, [edx - 1]
mov dword [ebx + 0x28], eax
mov ebx, dword [ebx + eax*4 + 0x2c]
mov esi, dword [ebx + 0x10]
sub esi, 1
js 0x42dd60
mov edi, esi
shl edi, 4
nop dword [eax]
mov eax, dword [ebx + 0xc]
cmp dword [edi + eax + 0xc], 1
jne 0x42dd4f
cmp esi, dword [ebx + 0x1c]
jl 0x42dd2c
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 0x42dd4f
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 0x42dd10
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x28]
jmp 0x42dd64
mov edi, dword [esp + 0x14]
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 0x42dd8b
xor ecx, ecx
mov word [eax], cx
jmp 0x42dca4
xor eax, eax
mov word [esi], ax
jmp 0x42dca4
cmp dword [ebx + 0x244], 0
je 0x42de88
mov eax, dword [0x4e30f4]
cmp dword [eax + 0xb4], 0
jne 0x42de88
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
push 3
push 0x4d3264
push dword [esp + 0x18]
call esi
add esp, 0xc
test eax, eax
je 0x42dde6
push 3
push 0x4d326c
push dword [esp + 0x18]
call esi
add esp, 0xc
test eax, eax
jne 0x42efdf
mov ecx, dword [esp + 0x10]
lea esi, [ecx + 6]
nop dword [eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x42ddfd
cmp eax, 9
jne 0x42de02
add esi, 2
jmp 0x42ddf0
test ax, ax
je 0x42de1b
cmp eax, 0x7b
jne 0x42efe3
cmp word [esi + 2], 0
jne 0x42efe3
mov ecx, dword [ebx + 0x248]
lea edx, [esp + 0x2170]
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 0x42de30
lea eax, [esp + 0x2170]
push 0x2e
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov edi, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [esp + 0x18]
add esp, 8
mov dl, byte [esp + 0xf]
mov dword [esp + 0x4c], 0
mov ax, word [eax]
mov word [ecx + 2], ax
cmp word [esi], 0x7b
mov eax, dword [ebx + 0x250]
mov dword [esp + 0x58], eax
sete byte [esp + 0x1b]
jmp 0x42e25f
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x38], ebx
test cx, cx
je 0x42ded1
mov esi, ecx
nop word [eax + eax]
mov ecx, 0x4d2f70
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x42df2d
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42deb0
movzx eax, word [ebx + 2]
add ebx, 2
mov esi, eax
test ax, ax
jne 0x42dea0
mov eax, dword [0x4e30f4]
cmp dword [eax + 0xb4], 0
jne 0x42e3bf
mov esi, dword [esp + 0x10]
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
push 5
push str.Class
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x42e0a9
movzx eax, word [esi + 0xa]
cmp eax, 0x20
je 0x42df14
cmp eax, 9
jne 0x42e0a9
lea edi, [esi + 0xc]
movzx eax, word [edi]
cmp eax, 0x20
je 0x42df28
cmp eax, 9
jne 0x42e013
add edi, 2
jmp 0x42df17
cmp word [ebx], 0x28
jne 0x42ded1
mov esi, dword [esp + 0x10]
cmp ebx, esi
je 0x42ded1
mov edi, ebx
mov edx, 0x4d2fac
sub edi, esi
mov ecx, esi
sar edi, 1
push 0xffffffffffffffff
push edi
call fcn.0049c700
add esp, 8
test eax, eax
je 0x42ded1
mov esi, dword [esp + 0x38]
mov edx, str.WHILE
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.0049c700
add esp, 8
test eax, eax
je 0x42ded1
cmp word [ebx + 2], 0x3a
je 0x42ded1
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42df90
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 byte [esp + 0x1b]
jne 0x42dfc8
xor eax, eax
mov ecx, esi
mov word [edx], ax
sub edx, esi
sar edx, 1
call fcn.00427740
movzx ecx, word [esi + eax*2 - 2]
cmp cx, 0x29
jne 0x42ded1
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x2170]
sub ecx, esi
nop
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x42dfe0
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
mov dword [esp + 0x4c], 0
mov eax, dword [ebx + 0x250]
mov dword [esp + 0x58], eax
jmp 0x42e25f
push eax
push 0x4d2f70
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
jne 0x42e0a3
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e030
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 byte [esp + 0x1b]
jne 0x42e063
xor eax, eax
mov ecx, esi
mov word [edx], ax
sub edx, esi
sar edx, 1
call fcn.00427740
lea ecx, [esp + 0x2170]
sub ecx, edi
nop dword [eax]
movzx eax, word [edi]
lea edi, [edi + 2]
mov word [edi + ecx - 2], ax
test ax, ax
jne 0x42e070
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
mov dword [esp + 0x4c], 1
mov eax, dword [ebx + 0x250]
mov dword [esp + 0x58], eax
jmp 0x42e25f
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
mov ebx, dword [esp + 0x14]
cmp dword [ebx + 0x28], 0
je 0x42e3bf
mov esi, dword [esp + 0x10]
nop dword [eax + eax]
movzx eax, word [esi]
mov ecx, eax
test ecx, 0xffffff80
je 0x42e0cf
jmp 0x42e0e5
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 0x42e0f7
cmp cx, 0x5f
je 0x42e0f7
cmp cx, 0x7f
ja 0x42e0f7
cmp cx, 0x2e
jne 0x42e0fc
add esi, 2
jmp 0x42e0c0
cmp esi, dword [esp + 0x10]
jbe 0x42e1df
movzx eax, cx
nop dword [eax]
cmp ax, 0x20
je 0x42e11c
cmp ax, 9
jne 0x42e125
movzx eax, word [esi + 2]
add esi, 2
jmp 0x42e110
cmp ax, 0x3a
jne 0x42e158
cmp word [esi + 2], 0x3d
jne 0x42e1df
push 0
push dword [esp + 0x14]
mov ecx, ebx
call fcn.00437b10
test eax, eax
je 0x42f0e0
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
jmp 0x42e25f
test ax, ax
je 0x42e170
cmp ax, 0x5b
je 0x42e170
cmp ax, 0x7b
jne 0x42e1df
cmp word [esi + 2], 0
jne 0x42e1df
mov edx, dword [esp + 0x10]
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x42e177
mov esi, dword [esp + 0x10]
sub edx, ecx
sar edx, 1
movzx eax, word [esi + edx*2 - 2]
cmp eax, 0x7b
sete byte [esp + 0x1b]
jne 0x42e1a1
dec edx
mov ecx, esi
call fcn.00427740
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x2170]
sub ecx, esi
nop
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x42e1b0
mov eax, dword [ebx + 0x250]
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
mov dword [esp + 0x58], eax
mov dword [esp + 0x4c], 2
jmp 0x42e25f
push 6
push str.Static
push dword [esp + 0x18]
call edi
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x42e210
movzx ecx, word [eax + 0xc]
cmp ecx, 0x20
je 0x42e205
cmp ecx, 9
jne 0x42e210
push 1
add eax, 0xe
push eax
jmp 0x42e13c
cmp word [eax], 0x23
jne 0x42effd
mov esi, dword [ebx + 0x250]
mov ecx, ebx
push eax
call fcn.0042f690
test eax, eax
je 0x42f0e0
cmp eax, 3
jne 0x42eff9
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
mov dword [ebx + 0x24c], eax
mov dword [ebx + 0x250], esi
jmp 0x42e25f
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
mov ebx, dword [esp + 0x14]
mov eax, edi
test dl, dl
je case.0x42e27e.3
inc edi
mov dword [esp + 0x1c], edi
cmp eax, 9
ja case.0x42e27e.3
movzx eax, byte [eax + 0x42f24c]
jmp dword [eax*4 + 0x42f238]
lea eax, [esp + 0xf0]
push eax
push str._s::
push dword [esp + 0x18]
call fcn.00405e50
jmp 0x42e3b8
mov eax, dword [esp + 0x10]
mov ecx, dword [0x4d0118]
cmp byte [esp + 0x33], 0
push 0
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
mov cx, word [0x4d011c]
push 1
mov word [eax + 4], cx
lea eax, [esp + 0x18]
push eax
setne al
mov ecx, ebx
add al, 0xc5
movzx eax, al
push eax
call fcn.00433630
cmp byte [esp + 0x46], 0
je 0x42e303
lea eax, [esp + 0xb0]
push eax
push str.if_not_GetKeyState___s__
push dword [esp + 0x18]
call fcn.00405e50
mov dword [esp + 0x28], 9
jmp 0x42e3b8
mov dl, byte [esp + 0xf]
mov ecx, 0x4b9c40
cmp dl, 0x12
je 0x42e319
mov al, dl
add al, 0x5c
cmp al, 1
ja 0x42e33b
movzx eax, byte [esp + 0x45]
sub eax, 0x11
je 0x42e336
sub eax, 0x91
je 0x42e336
sub eax, 1
jne 0x42e33b
mov ecx, str.RCtrl_up
jmp 0x42e33b
mov ecx, str.LCtrl_up
lea eax, [esp + 0xb0]
mov dword [ebx + 0x64c], 0
push eax
lea eax, [esp + 0x84]
push eax
push ecx
push str.Blind_s_s_s_DownR
push dword [esp + 0x20]
call fcn.00405e50
add esp, 0x14
lea eax, [esp + 0x10]
mov ecx, ebx
push 0
push 1
push eax
push 0x41
call fcn.00433630
test eax, eax
je 0x42f0e0
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.00433630
lea eax, [esp + 0xf0]
mov dword [ebx + 0x64c], 0
push eax
push str._s_up::
push dword [esp + 0x18]
call fcn.00405e50
mov dword [esp + 0x28], 2
add esp, 0xc
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x10]
xor ebx, ebx
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], ebx
cmp word [esi], 0x3a
jne 0x42e59e
movzx eax, word [esi + 2]
test ax, ax
je 0x42e59e
lea ecx, [esi + 2]
mov dword [esp + 0x70], ecx
cmp eax, 0x3a
je 0x42e417
push 0x3a
push ecx
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x42e596
mov ecx, dword [esp + 0x70]
add ebx, 2
mov dword [esp + 0x38], ebx
jmp 0x42e42d
mov eax, dword [esp + 0x10]
add eax, 4
cmp word [eax], bx
je 0x42e59e
mov ebx, eax
mov dword [esp + 0x38], eax
test ebx, ebx
je 0x42e59e
mov al, byte [0x4e59f8]
mov edi, ecx
mov byte [esp + 0x2b], al
cmp ecx, ebx
jae 0x42e48a
movzx esi, word [edi]
test esi, 0xffffff80
je 0x42e453
xor edx, edx
jmp 0x42e461
push 2
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
mov edx, eax
mov eax, esi
add edi, 2
and eax, 0xffdf
test edx, edx
movzx ecx, ax
mov eax, esi
cmove ecx, eax
cmp cx, 0x58
je 0x42e481
cmp edi, ebx
jb 0x42e444
jmp 0x42e48a
cmp word [edi], 0x30
setne byte [esp + 0x2b]
mov ecx, dword [esp + 0x34]
mov esi, ebx
movzx eax, word [esi]
mov ebx, ecx
mov edx, eax
test ax, ax
je 0x42e4c9
mov ecx, eax
nop
movzx edx, cx
cmp cx, word [0x4e4340]
je 0x42e4c5
movzx edx, cx
cmp cx, 0x3a
je 0x42e4c5
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x42e4a0
mov ecx, dword [esp + 0x34]
test dx, dx
je 0x42e58e
movzx eax, word [esi + 2]
lea edi, [esi + 2]
cmp dx, 0x3a
jne 0x42e507
cmp eax, 0x3a
jne 0x42e4f1
cmp byte [esp + 0x2b], 0
mov ecx, esi
jne 0x42e58e
cmp eax, 0x3a
mov ecx, esi
cmovne edi, esi
cmovne ecx, ebx
mov esi, edi
mov dword [esp + 0x34], ecx
add esi, 2
jmp 0x42e490
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x42e516.99
movzx eax, byte [eax + 0x42f278]
jmp dword [eax*4 + 0x42f258]
mov eax, 7
jmp 0x42e54c
mov eax, 8
jmp 0x42e54c
mov eax, 0xc
jmp 0x42e54c
mov eax, 0xa
jmp 0x42e54c
mov eax, 0xd
jmp 0x42e54c
mov eax, 9
jmp 0x42e54c
mov eax, 0xb
mov word [edi], ax
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e554
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edi
push esi
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [esp + 0x40]
add esp, 0xc
cmp word [esi], 0x3a
jne 0x42e586
cmp word [edi], 0x3a
cmove esi, edi
add esi, 2
jmp 0x42e490
test ecx, ecx
jne 0x42e642
mov dword [esp + 0x38], 0
push 0x4d310c
push dword [esp + 0x14]
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov ebx, eax
add esp, 8
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x42ecf9
mov ecx, dword [esp + 0x10]
cmp ebx, ecx
jne 0x42e5d4
cmp word [ebx + 4], 0x3a
jne 0x42e5d4
add ebx, 2
mov dword [esp + 0x34], ebx
mov esi, ebx
cmp ebx, ecx
jbe 0x42e5f4
nop word [eax + eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x42e5ed
cmp eax, 9
jne 0x42e5f4
sub esi, 2
cmp esi, ecx
ja 0x42e5e0
movzx edi, word [esi]
xor eax, eax
mov word [esi], ax
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x42e60d
cmp eax, 9
jne 0x42e612
add ecx, 2
jmp 0x42e600
push 0
xor edx, edx
call fcn.004151d0
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
je 0x42e635
cmp eax, 4
je 0x42f0e0
mov ecx, dword [esp + 0x34]
jmp 0x42e637
xor ecx, ecx
mov word [esi], di
test ecx, ecx
je 0x42ecf9
mov edx, dword [esp + 0x10]
cmp ecx, edx
jbe 0x42ecfd
mov eax, dword [0x4e30f4]
cmp dword [eax + 0xb4], 0
jne 0x42f0c8
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x614]
test eax, eax
je 0x42e677
cmp byte [eax], 0x1a
je 0x42f013
mov edi, dword [esp + 0x38]
xor eax, eax
mov word [ecx], ax
add ecx, 4
mov dword [esp + 0x34], ecx
test edi, edi
jne 0x42ea36
movzx eax, word [ecx]
test ax, ax
je 0x42e6ea
mov edx, ecx
nop dword [eax]
cmp ax, 0x20
je 0x42e6ac
cmp ax, 9
jne 0x42e6b5
movzx eax, word [edx + 2]
add edx, 2
jmp 0x42e6a0
mov eax, edx
sub eax, ecx
cmp eax, 2
jb 0x42e6ea
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e6c3
mov ebx, dword [esp + 0x34]
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push ebx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov ecx, ebx
cmp word [ecx], 0
mov edi, ecx
je 0x42e731
cmp word [ecx + 2], 0
je 0x42e819
push 0
xor edx, edx
call fcn.00415310
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.0041cb90
mov bh, al
add esp, 0xc
mov byte [esp + 0xf], bh
test bh, bh
jne 0x42e820
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
cmp byte [esi + 0x254], 0
je 0x42e77e
push 0
push 0xff
push 0
push 0x67
mov ecx, esi
mov byte [esi + 0x254], 0
call fcn.00433630
test eax, eax
je 0x42f0e0
mov eax, dword [esi + 0x614]
mov dword [eax + 0xc], 1
mov dword [esi + 0x64c], 0
push 1
push dword [esp + 0x14]
mov ecx, esi
call fcn.00431040
test eax, eax
je 0x42f0e0
test edi, edi
je 0x42eac2
cmp word [edi], 0
je 0x42f051
cmp byte [esp + 0x2b], 0
mov eax, 0x4b9c40
mov ecx, dword [esi + 0x624]
mov edx, dword [esp + 0x70]
cmove eax, ebx
push 0
push dword [esp + 0x70]
push eax
push edi
push ecx
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0x624]
mov ecx, dword [ecx + 4]
call fcn.00416080
add esp, 0x14
test eax, eax
je 0x42f0e0
movzx eax, word [ebx]
test ax, ax
je 0x42ecdd
cmp byte [esp + 0x2b], 0
je 0x42ea8f
mov ecx, ebx
nop dword [eax + eax]
cmp ax, 0x20
je 0x42e810
cmp ax, 9
jne 0x42ea3f
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x42e800
or bh, 0xff
mov byte [esp + 0xf], bh
mov ecx, dword [esp + 0x10]
xor edx, edx
push 0
call fcn.00415310
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.0041cb90
add esp, 0xc
mov byte [esp + 0x45], al
push 0x4d05c4
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
add esp, 8
test eax, eax
mov al, byte [esp + 0x45]
setne bl
lea ecx, [eax - 1]
cmp cl, 5
ja 0x42e872
cmp al, 3
jne 0x42e878
add al, 0x66
cmp al, 5
ja 0x42e87c
mov cl, 1
jmp 0x42e87e
xor cl, cl
mov al, bh
sub al, 1
cmp al, 5
ja 0x42e88b
cmp bh, 3
jne 0x42e893
mov al, bh
add al, 0x66
cmp al, 5
ja 0x42e897
mov al, 1
jmp 0x42e899
xor al, al
mov byte [esp + 0x33], al
test cl, cl
jne 0x42e8aa
mov byte [esp + 0x46], 1
test al, al
jne 0x42e8af
mov byte [esp + 0x46], 0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e8b4
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x42e8db
movzx eax, word [esi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
mov eax, 0x4d335c
jne 0x42e8e0
mov eax, 0x4b9c40
push dword [esp + 0x10]
test bl, bl
mov ecx, 0x4d2f6c
push eax
mov eax, 0x4b9c40
cmove eax, ecx
push eax
push 0x4d3360
lea eax, [esp + 0x100]
push 0x20
push eax
call fcn.0049c650
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
lea eax, [esp + 0xc8]
push 0x1f
push edi
push eax
call esi
mov ebx, dword [esp + 0x58]
add esp, 0x24
xor eax, eax
mov word [esp + 0xee], ax
lea eax, [esp + 0x80]
push 7
push ebx
push eax
call esi
sub edi, ebx
xor eax, eax
sar edi, 1
add esp, 0xc
mov word [esp + 0x8e], ax
cmp edi, 8
jae 0x42e958
mov word [esp + edi*2 + 0x80], ax
xor edi, edi
mov dword [esp + 0x1c], edi
cmp word [esp + 0x80], di
jne 0x42ecec
mov dl, byte [esp + 0xf]
cmp dl, 0xd
jne 0x42e9a2
lea eax, [esp + 0xb0]
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 0x42ea2b
mov ebx, dword [esp + 0x14]
xor eax, eax
mov dl, byte [esp + 0xf]
jmp 0x42e269
cmp dl, 0x13
jne 0x42e25b
mov ax, word [esp + 0xb0]
movzx esi, ax
test esi, 0xffffff80
je 0x42e9c2
xor edi, edi
jmp 0x42e9d8
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 + 0xb0]
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 0x42ea2b
movzx esi, ax
test esi, 0xffffff80
je 0x42ea01
xor eax, eax
jmp 0x42ea0d
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 0x42eccc
xor al, al
mov byte [esp + 0xf], al
jmp 0x42e735
mov ebx, dword [esp + 0x34]
jmp 0x42e739
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, esi
call fcn.00431180
test eax, eax
je 0x42f0e0
mov eax, dword [esi + 0x614]
mov al, byte [eax]
cmp al, 9
jb 0x42ea6f
cmp al, 0x20
jbe 0x42f02f
cmp al, 0x21
je 0x42f02f
cmp al, 0x69
jb 0x42ea83
cmp al, 0x6b
jbe 0x42f02f
cmp al, 0x71
jb 0x42ea8f
cmp al, 0x73
jbe 0x42f02f
push 0
push 0
push 0
mov ebx, esi
push 0x67
mov ecx, ebx
call fcn.00433630
test eax, eax
je 0x42f0e0
mov eax, dword [ebx + 0x614]
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
mov dword [eax + 0xc], 1
jmp 0x42e25f
xor esi, esi
cmp word [ebx], si
je 0x42ebc1
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
push str.AltTab
push ebx
call esi
add esp, 8
test eax, eax
jne 0x42eaec
mov esi, 0x7ffe
jmp 0x42eb97
push str.ShiftAltTab
push ebx
call esi
add esp, 8
test eax, eax
jne 0x42eb05
mov esi, 0x7ffd
jmp 0x42eb97
push str.AltTabMenu
push ebx
call esi
add esp, 8
test eax, eax
jne 0x42eb1b
mov esi, 0x7ffc
jmp 0x42eb97
push str.AltTabAndMenu
push ebx
call esi
add esp, 8
test eax, eax
jne 0x42eb31
mov esi, 0x7ffb
jmp 0x42eb97
push str.AltTabMenuDismiss
push ebx
call esi
add esp, 8
test eax, eax
jne 0x42eb47
mov esi, 0x7ffa
jmp 0x42eb97
mov edi, dword [esp + 0x14]
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
push ebx
mov ecx, edi
call fcn.00431180
test eax, eax
je 0x42f0e0
mov eax, dword [edi + 0x614]
mov al, byte [eax]
cmp al, 9
jb 0x42eb77
cmp al, 0x20
jbe 0x42f06a
cmp al, 0x21
je 0x42f06a
cmp al, 0x69
jb 0x42eb8b
cmp al, 0x6b
jbe 0x42f06a
cmp al, 0x71
jb 0x42eb97
cmp al, 0x73
jbe 0x42f06a
mov ebx, dword [esp + 0x14]
mov ecx, ebx
push 0
push 0
push 0
push 0x67
call fcn.00433630
test eax, eax
je 0x42f0e0
mov eax, dword [ebx + 0x614]
mov dword [eax + 0xc], 1
jmp 0x42ebc5
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x47]
push eax
lea edx, [esp + 0x78]
call fcn.00415960
mov edi, eax
add esp, 4
test edi, edi
je 0x42ec51
test si, si
je 0x42ebf6
mov dl, byte [esp + 0xf]
mov word [edi + 6], si
mov edi, dword [esp + 0x1c]
jmp 0x42e25f
mov eax, dword [edi + 0x20]
test eax, eax
je 0x42ec13
mov ecx, dword [0x4e63a8]
cmp dword [eax + 4], ecx
je 0x42f08c
mov eax, dword [eax + 8]
test eax, eax
jne 0x42ec03
push dword [esp + 0x74]
mov ecx, edi
push dword [ebx + 0x624]
call fcn.004150c0
test eax, eax
je 0x42f0af
cmp byte [esp + 0x47], 0
jne 0x42ec40
cmp byte [0x4e5a63], 0
je 0x42ee33
mov dl, byte [esp + 0xf]
mov byte [edi + 0x14], 1
mov edi, dword [esp + 0x1c]
jmp 0x42e25f
mov ecx, dword [ebx + 0x624]
mov edx, esi
push 0
push dword [esp + 0x78]
push dword [ecx + 4]
call fcn.00414940
add esp, 0xc
test eax, eax
jne 0x42ee33
cmp dword [esp + 0x78], 3
jne 0x42f0e0
cmp dword [ebx + 0xb00], eax
jne 0x42ee33
push dword [esp + 0x10]
lea eax, [esp + 0x134]
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.0049c650
push 0
push 0
xorps xmm3, xmm3
lea ecx, [esp + 0x148]
mov edx, 0x10000
call fcn.004a25e0
mov edi, dword [esp + 0x34]
add esp, 0x18
mov dl, byte [esp + 0xf]
jmp 0x42e25f
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
jmp 0x42e25f
mov edi, dword [esp + 0x1c]
mov ebx, esi
mov dl, byte [esp + 0xf]
jmp 0x42e25f
mov ebx, dword [esp + 0x14]
mov dl, byte [esp + 0xf]
jmp 0x42e25f
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
cmp word [edx + ebx*2 - 2], 0x3a
jne 0x42edc4
cmp ebx, 1
je 0x42f0eb
movzx eax, word [edx]
mov esi, edx
test ax, ax
je 0x42ed60
mov di, word [0x4e4348]
mov ecx, eax
nop dword [eax]
cmp cx, 0x20
je 0x42edc4
cmp cx, 9
je 0x42edc4
cmp cx, di
je 0x42edc4
cmp cx, word [0x4e4340]
je 0x42edc4
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x42ed30
cmp word [edx + ebx*2 - 4], 0x3a
jne 0x42ed6d
cmp ebx, 2
ja 0x42edc4
xor eax, eax
mov word [edx + ebx*2 - 2], ax
push str.Default
push dword [esp + 0x14]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
mov ebx, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x42edb2
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x42edb2
mov eax, dword [eax + 0x10]
test eax, eax
je 0x42edb2
cmp byte [eax], 0x75
jne 0x42edb2
push 0
push 0
push 0
push 0x76
mov ecx, ebx
call fcn.00433630
jmp 0x42ee2b
push 0
push dword [esp + 0x14]
mov ecx, ebx
call fcn.00431040
jmp 0x42e143
cmp word [edx], 0x23
mov ebx, dword [esp + 0x14]
jne 0x42ee0a
mov esi, dword [ebx + 0x250]
mov ecx, ebx
push edx
call fcn.0042f690
test eax, eax
je 0x42f0e0
cmp eax, 3
jne 0x42ee06
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
mov dword [ebx + 0x24c], eax
mov dword [ebx + 0x250], esi
jmp 0x42e25f
mov edx, dword [esp + 0x10]
movzx eax, word [edx]
cmp eax, 0x7b
je 0x42ee40
cmp eax, 0x7d
je 0x42ee40
push 0
push 0
push 0
push 0
push 0
push 0
push edx
mov ecx, ebx
call fcn.00431180
test eax, eax
je 0x42f0e0
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
jmp 0x42e25f
cmp eax, 0x7b
mov ecx, ebx
push 0
setne al
push 0
add al, 0x77
push 0
movzx eax, al
push eax
call fcn.00433630
test eax, eax
je 0x42f0e0
mov ebx, dword [esp + 0x10]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x42ee65
cmp eax, 9
je 0x42ee65
mov edi, dword [esp + 0x1c]
mov dl, byte [esp + 0xf]
mov dword [esp + 0x10], ebx
cmp word [ebx], 0
je 0x42e25b
lea ecx, [ebx + 2]
nop
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x42ee90
mov edi, dword [esp + 0x14]
sub ebx, ecx
sar ebx, 1
mov dword [esp + 0x2c], ebx
mov dword [edi + 0x64c], 0
jmp 0x42daa0
mov eax, dword [esp + 0x10]
mov ecx, dword [0x4d0118]
cmp byte [esp + 0x33], 0
push 0
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
mov cx, word [0x4d011c]
push 1
mov word [eax + 4], cx
lea eax, [esp + 0x18]
push eax
setne al
mov ecx, ebx
add al, 0xc5
movzx eax, al
push eax
call fcn.00433630
lea eax, [esp + 0xb0]
push eax
push str.Blind_s_Up
push dword [esp + 0x18]
call fcn.00405e50
add esp, 0xc
lea eax, [esp + 0x10]
mov ecx, ebx
push 0
push 1
push eax
push 0x41
call fcn.00433630
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.00433630
xor al, al
mov byte [esp + 0xf], al
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0xa178]
cmp dword [esp + 0x7c], edx
lea edi, [esp + 0x12180]
mov esi, dword [esp + 0x3c]
mov eax, edx
cmovne edi, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x24], edi
jmp 0x42d250
push dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push str.Continuation_section_too_long.
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [ebx + 0x244], 0
lea eax, [esp + 0x2170]
push eax
mov ecx, str.Not_a_valid_method__class_or_property_definition.
mov eax, 0x4d31e8
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x2170]
mov ecx, ebx
push eax
push 0x4d31e8
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x2170]
push eax
push str.Functions_cannot_contain_functions.
call fcn.00447e20
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, ebx
call fcn.00447e20
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, ebx
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edx
push str.IfWin_should_be_IfWin.
mov ecx, edi
mov dword [edi + 0x64c], eax
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0x3a
mov ecx, esi
mov word [ebx - 4], ax
push dword [esp + 0x10]
push str.Invalid_single_line_hotkey_hotstring.
call fcn.00447e20
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.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0x3a
mov ecx, edi
mov word [ebx - 4], ax
push dword [esp + 0x10]
push str.Invalid_single_line_hotkey_hotstring.
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x10]
mov ecx, ebx
mov dword [ebx + 0x64c], 0
push str.Duplicate_hotkey.
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x10]
mov ecx, ebx
push 0x4cdb90
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x14]
push edx
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x14]
push edx
push str.This_line_does_not_contain_a_recognized_action.
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x14]
push edi
push str.Continuation_section_too_long.
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push 0x4d3184
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp word [esp + 0x2170], 0
je 0x42f1a5
cmp dword [esp + 0x4c], 0
mov eax, dword [esp + 0x58]
mov esi, dword [ebx + 0x250]
mov dword [ebx + 0x250], eax
lea eax, [esp + 0x2170]
je 0x42f183
cmp byte [esp + 0x1b], 0
mov ecx, 0x4d31e8
push eax
mov eax, str.Missing___
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.00447e20
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.00431180
test eax, eax
je 0x42f0e0
mov dword [ebx + 0x250], esi
cmp dword [ebx + 0x28], 0
je 0x42f1cb
cmp dword [esp + 0x64], 0
jne 0x42f1cb
lea eax, [ebx + 0x40]
mov ecx, ebx
push eax
push str.Missing___
call fcn.00447e20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
inc dword [ebx + 0x250]
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4