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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1a18c
call fcn.004cb9b0
push ebx
xor eax, eax
mov byte [esp + 0xa], 0
mov word [esp + 0x2178], ax
mov ebx, ecx
mov ecx, dword [0x4fa580]
lea eax, [esp + 0xa180]
push esi
push edi
push dword [ebp + 8]
mov dword [esp + 0x18], eax
dec ecx
lea eax, [esp + 0x12194]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], eax
xor eax, eax
push eax
mov word [esp + 0x72], ax
mov word [esp + 0x78], ax
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xa190]
push ecx
push eax
mov dword [esp + 0x8c], ecx
mov dword [ebx + 0x24c], ecx
call fcn.00431550
push 2
push 0x4e70e0
push dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0x40], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
sete byte [esp + 0x33]
test eax, eax
jne 0x42f228
mov eax, dword [esp + 0x14]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x34], esi
mov word [eax], cx
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x12190]
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
mov dword [esp + 0x8c], eax
cmp esi, 0xffffffff
je 0x4312af
mov eax, dword [esp + 0x74]
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 0x42f286
push dword [esp + 0x14]
mov ecx, ebx
call fcn.004318b0
test eax, eax
je 0x4301ab
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
mov byte [esp + 0x84], 0
jmp 0x42f2a6
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x1c]
nop
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
push dword [ebp + 8]
inc dword [esp + 0x78]
push ebx
push ecx
push ecx
call fcn.00431550
mov edx, eax
mov dword [esp + 0x44], edx
test edx, edx
je 0x42f37d
cmp edx, 0xffffffff
je 0x42f37d
test ebx, ebx
jne 0x42f37d
mov eax, dword [esp + 0x1c]
push 2
push 0x4e7104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
mov ecx, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x42f34b
cmp byte [esp + 0x33], al
jne 0x42f305
cmp word [ecx + 4], 0x3a
jne 0x42f305
cmp word [ecx + 6], 0x3a
je 0x42f356
mov eax, dword [esp + 0x44]
sub eax, 2
mov byte [esp + 0x33], 0
mov dword [esp + 0x44], eax
lea eax, [eax*2 + 2]
push eax
lea eax, [ecx + 4]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
mov edx, dword [esp + 0x50]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
call fcn.00429980
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
cmp word [ecx], 0
je 0x42f2a6
jmp 0x42f356
cmp byte [esp + 0x33], 0
jne 0x42f2a6
push 2
push 0x4e70e0
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x42f379
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x33], 1
jmp 0x42f2a6
mov edx, dword [esp + 0x44]
cmp byte [esp + 0x33], 0
je 0x42f396
cmp edx, 0xffffffff
je 0x42faec
mov ecx, dword [esp + 0x1c]
jmp 0x42f2a6
test ebx, ebx
jne 0x42f8b1
mov ecx, dword [esp + 0x1c]
cmp edx, 0xffffffff
je 0x42f5db
cmp word [ecx], 0x28
jne 0x42f5db
movzx eax, word [ecx + 2]
lea esi, [ecx + 2]
mov ecx, eax
cmp eax, 0x3a
je 0x42f5d3
mov eax, dword [esp + 0x1c]
cmp word [eax + edx*2 - 2], 0x3a
je 0x42f5d3
mov al, byte [0x4f9a7e]
mov ebx, 1
mov byte [esp + 0x50], al
mov eax, ecx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x80], 0
mov byte [esp + 0x4f], bl
mov byte [esp + 0x51], 0
mov byte [esp + 0x52], 0
mov byte [esp + 0x53], bl
mov dword [esp + 0xa0], 0xa
mov dword [esp + 0x78], ebx
movzx eax, ax
cmp eax, 0x20
je 0x42f424
cmp eax, 9
jne 0x42f42d
movzx eax, word [esi + 2]
add esi, 2
jmp 0x42f417
test ax, ax
je 0x42f5c2
mov ebx, esi
test esi, esi
je 0x42f481
movzx eax, word [esi]
test ax, ax
je 0x42f481
mov edi, eax
nop word [eax + eax]
mov ecx, 0x4e4614
mov edx, 0x20
nop word [eax + eax]
cmp di, dx
je 0x42f498
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42f460
movzx eax, word [ebx + 2]
add ebx, 2
mov edi, eax
test ax, ax
jne 0x42f450
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42f486
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 0x42f509
push 0xf
lea eax, [esi + 8]
push eax
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0xc
lea ecx, [esp + 0xa0]
xor eax, eax
mov word [esp + 0xbe], ax
push 1
call fcn.004b1ab0
lea edx, [esp + 0xa4]
add esp, 4
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x42f4f1
sub edx, ecx
sar edx, 1
mov dword [esp + 0x78], edx
jmp 0x42f599
push 5
push 0x4e71ac
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42f52a
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x50]
jmp 0x42f599
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 0x42f54b
cmp word [esi + 0xa], 0x30
setne byte [esp + 0x4f]
jmp 0x42f599
movzx eax, word [esi]
test ax, ax
je 0x42f599
mov ecx, eax
movzx eax, cx
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x42f567.38
movzx eax, byte [eax + 0x431370]
jmp dword [eax*4 + 0x431358]
mov byte [esp + 0x51], 1
jmp case.0x42f567.38
mov byte [esp + 0x52], 1
jmp case.0x42f567.38
mov byte [esp + 0x53], 0
jmp case.0x42f567.38
mov dword [esp + 0x58], 2
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x42f555
mov word [ebx], di
mov esi, ebx
mov eax, edi
cmp ax, 0x20
je 0x42f5ac
cmp ax, 9
jne 0x42f5b5
movzx eax, word [esi + 2]
add esi, 2
jmp 0x42f5a0
test ax, ax
jne 0x42f436
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x34]
mov byte [esp + 0x84], 1
jmp 0x42f29a
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
xor ebx, ebx
cmp edx, 0xffffffff
je 0x42faec
test edx, edx
je 0x42f2a6
mov esi, dword [esp + 0x1c]
cmp word [esi + edx*2 - 2], 0x3a
jne 0x42f604
cmp word [esi], 0x2c
jne 0x42faec
movzx esi, word [esi]
test esi, 0xffffff80
je 0x42f613
xor ecx, ecx
jmp 0x42f61d
push 2
push esi
call edi
add esp, 8
mov ecx, eax
mov eax, esi
and eax, 0xffffffdf
test ecx, ecx
cmove eax, esi
cmp eax, 0x41
je 0x42f805
cmp eax, 0x4f
je 0x42f79d
mov esi, dword [esp + 0x1c]
movzx eax, word [esi]
cmp eax, 0x3a
je 0x42f64f
cmp eax, 0x2b
je 0x42f64f
cmp eax, 0x2d
jne 0x42f659
cmp word [esi + 2], ax
je 0x42faec
push eax
push str.____:.___
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
je 0x42faec
push 0x4e714c
push esi
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov edi, eax
add esp, 8
test edi, edi
je 0x42f863
cmp word [esi], 0x3a
jne 0x42f6f5
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x42f6e7
mov ecx, eax
nop dword [eax]
cmp cx, 0x3a
je 0x42f6e7
movzx eax, cx
test eax, 0xffffff80
jne 0x42f6c3
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 0x42f6d9
movzx eax, word [esi]
push eax
push 0x4e7154
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
je 0x42f6f1
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x42f6a0
cmp word [esi], 0x3a
je 0x42faec
mov esi, dword [esp + 0x1c]
cmp word [esi], 0x2c
jne 0x42f744
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x42f6fb
cmp eax, 9
je 0x42f6fb
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
push 2
push 0x4e714c
push esi
call edi
add esp, 0xc
test eax, eax
je 0x42faec
push 3
lea eax, [esi - 2]
push 0x4e4604
push eax
call edi
add esp, 0xc
test eax, eax
je 0x42faec
jmp 0x42f863
mov eax, esi
cmp esi, edi
jae 0x42f75d
nop word [eax + eax]
cmp word [eax], 0x22
je 0x42f765
add eax, 2
cmp eax, edi
jb 0x42f750
cmp eax, edi
je 0x42faec
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
test ax, ax
je 0x42faec
mov edx, eax
nop word [eax + eax]
cmp dx, 0x22
je 0x42f863
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42f780
jmp 0x42faec
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + 2]
mov esi, eax
test eax, 0xffffff80
je 0x42f7b2
xor edx, edx
jmp 0x42f7bc
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 0x42faec
mov ecx, dword [esp + 0x1c]
add ecx, 4
movzx eax, word [ecx]
cmp eax, 0x20
je 0x42f7f0
cmp eax, 9
jne 0x42faec
nop
cmp ax, 0x20
je 0x42f7fc
cmp ax, 9
jne 0x42f84c
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x42f7f0
mov esi, dword [esp + 0x1c]
push 3
push 0x4e710c
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x42faec
movzx eax, word [esi + 6]
lea ecx, [esi + 6]
cmp eax, 0x20
je 0x42f837
cmp eax, 9
jne 0x42faec
cmp ax, 0x20
je 0x42f843
cmp ax, 9
jne 0x42f84c
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x42f837
push eax
push 0x4e7114
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
jne 0x42faec
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x44]
lea eax, [edi + esi]
cmp eax, 0x4000
jae 0x431105
mov ecx, dword [esp + 0x1c]
cmp word [ecx], 0x2c
je 0x42f891
mov eax, dword [esp + 0x14]
mov edx, 0x20
mov word [eax + esi*2], dx
inc esi
lea eax, [edi*2 + 2]
push eax
mov eax, dword [esp + 0x18]
push ecx
lea eax, [eax + esi*2]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, edi
jmp 0x42f296
cmp edx, 0xffffffff
je 0x431294
mov ecx, dword [esp + 0x1c]
cmp edx, 0xfffffffe
je 0x42f2a6
mov edi, ecx
cmp word [edi], 0x29
jne 0x42f938
mov edx, edi
xor ebx, ebx
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x42f8d6
sub edx, ecx
lea eax, [edi - 2]
sar edx, 1
lea eax, [eax + edx*2]
nop dword [eax + eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x42f8fd
cmp ecx, 9
jne 0x42f907
cmp eax, edi
je 0x42f91a
sub eax, 2
dec edx
jmp 0x42f8f0
xor ecx, ecx
add edi, 2
dec edx
mov word [eax + 2], cx
mov dword [esp + 0x44], edx
jmp 0x42fa5d
cmp ecx, 0x20
je 0x42f924
cmp ecx, 9
jne 0x42f92b
xor ecx, ecx
xor edx, edx
mov word [eax], cx
add edi, 2
dec edx
mov dword [esp + 0x44], edx
jmp 0x42fa5d
cmp byte [esp + 0x4f], 0
mov esi, dword [esp + 0x1c]
je 0x42f950
mov ecx, esi
call fcn.004299f0
mov edx, eax
mov dword [esp + 0x44], edx
cmp byte [esp + 0x50], 0
je 0x42f962
mov ecx, esi
call fcn.00429980
mov dword [esp + 0x44], eax
xor esi, esi
cmp byte [esp + 0x51], 0
je 0x42f9a2
mov ax, word [0x4f8340]
lea edx, [esp + 0x68]
mov ecx, dword [esp + 0x1c]
push esi
push esi
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x78], ax
mov word [esp + 0x7c], ax
mov word [esp + 0x7e], ax
lea eax, [esp + 0x7c]
push 1
push eax
call fcn.004b0090
add esp, 0x18
mov esi, eax
cmp byte [esp + 0x52], 0
je 0x42f9e9
mov ax, word [0x4f8340]
lea edx, [esp + 0x68]
mov cx, word [0x4f8344]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x7c], ax
lea eax, [esp + 0x7c]
mov word [esp + 0x78], cx
mov word [esp + 0x7e], cx
mov ecx, dword [esp + 0x2c]
push 1
push eax
call fcn.004b0090
add esp, 0x18
add esi, eax
cmp byte [esp + 0x53], 0
je 0x42fa30
mov ax, word [0x4f8340]
lea edx, [esp + 0x68]
mov cx, word [0x4f8348]
push 0
push 0
push 0x4001
push 0xffffffffffffffff
mov word [esp + 0x7c], ax
lea eax, [esp + 0x7c]
mov word [esp + 0x78], cx
mov word [esp + 0x7e], cx
mov ecx, dword [esp + 0x2c]
push 1
push eax
call fcn.004b0090
add esp, 0x18
add esi, eax
test esi, esi
je 0x42fa55
mov edx, dword [esp + 0x1c]
lea ecx, [edx + 2]
nop dword [eax + eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x42fa40
sub edx, ecx
sar edx, 1
mov dword [esp + 0x44], edx
jmp 0x42fa59
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x78]
lea eax, [ecx + edx]
add eax, esi
cmp eax, 0x4001
jae 0x43127c
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
cmp eax, 1
jle 0x42fabb
test ecx, ecx
je 0x42fabb
cmp edi, dword [esp + 0x1c]
jne 0x42fabb
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0xa4]
push eax
mov eax, dword [esp + 0x1c]
lea eax, [eax + esi*2]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x50]
add esp, 0xc
add esi, dword [esp + 0x78]
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x1c]
test edx, edx
je 0x42f2a0
lea eax, [edx*2 + 2]
push eax
mov eax, dword [esp + 0x18]
push edi
lea eax, [eax + esi*2]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, dword [esp + 0x44]
jmp 0x42f296
mov word [ebx], di
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x4302a2
cmp word [esp + 0x2180], 0
mov ebx, dword [esp + 0x20]
je 0x42fca7
mov eax, dword [esp + 0x2c]
mov esi, dword [ebx + 0x250]
mov dword [ebx + 0x250], eax
mov eax, dword [esp + 0x14]
cmp word [eax], 0x7b
je 0x42fb8b
cmp byte [esp + 0x13], 0
jne 0x42fb8b
cmp dword [esp + 0x48], 0
jne 0x43114d
cmp dword [ebx + 0x28], 0
je 0x42fb4f
mov eax, dword [0x4f70f4]
cmp dword [eax + 0xb4], 0
je 0x431120
push 0
push 0
push 0
push 0
push 0
push 3
lea eax, [esp + 0x2198]
mov ecx, ebx
push eax
call fcn.00433410
test eax, eax
je 0x4301ab
xor eax, eax
mov dword [ebx + 0x64c], 0
mov word [esp + 0x2180], ax
jmp 0x42fca1
mov edi, dword [esp + 0x48]
mov eax, edi
sub eax, 0
je 0x42fbd8
sub eax, 1
je 0x42fbb5
sub eax, 1
jne 0x42fc3d
lea eax, [esp + 0x2180]
mov ecx, ebx
push eax
call fcn.0043b990
jmp 0x42fbc4
lea eax, [esp + 0x2180]
mov ecx, ebx
push eax
call fcn.0043b140
test eax, eax
je 0x4301ab
xor eax, eax
mov word [esp + 0x2180], ax
jmp 0x42fc4b
mov eax, dword [0x4f70f4]
mov ecx, ebx
cmp dword [eax + 0xb4], 0
jne 0x43116a
lea eax, [esp + 0x240]
push eax
lea eax, [esp + 0x2184]
push eax
call fcn.0043a650
test eax, eax
je 0x4301ab
cmp byte [esp + 0x13], 0
je 0x42fc3d
push 0
push 0
push 0
push 0x77
mov ecx, ebx
call fcn.00435b50
test eax, eax
je 0x4301ab
xor eax, eax
mov dword [ebx + 0x64c], 0
mov word [esp + 0x2180], ax
jmp 0x42fca1
xor eax, eax
mov word [esp + 0x2180], ax
test edi, edi
je 0x42fca1
cmp byte [esp + 0x13], 0
jne 0x42fca1
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
add ecx, 2
cmp eax, 0x20
je 0x42fc56
cmp eax, 9
je 0x42fc56
test ax, ax
je 0x43029c
mov ebx, ecx
lea edx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x42fc75
sub ebx, edx
sar ebx, 1
mov dword [esp + 0x34], ebx
lea eax, [ebx*2 + 2]
push eax
push ecx
push dword [esp + 0x1c]
call sub.VCRUNTIME140.dll_memmove
mov ebx, dword [esp + 0x2c]
add esp, 0xc
mov dword [ebx + 0x250], esi
mov eax, dword [esp + 0x14]
movzx ecx, word [eax]
cmp ecx, 0x7d
jne 0x42fdf5
mov edx, dword [ebx + 0x28]
test edx, edx
je 0x42fdf5
mov eax, dword [0x4f70f4]
cmp dword [eax + 0xb4], 0
jne 0x42fdf5
cmp dword [ebx + 0x244], 0
je 0x42fd52
mov eax, dword [ebx + 0x248]
mov dword [ebx + 0x244], 0
test eax, eax
je 0x42fd05
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 + 0x20]
mov ebx, dword [esp + 0x14]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x42fd0d
cmp eax, 9
je 0x42fd0d
mov dword [esp + 0x14], ebx
cmp word [ebx], 0
je 0x4302a2
lea ecx, [ebx + 2]
nop
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x42fd30
sub ebx, ecx
mov dword [edi + 0x64c], 0
sar ebx, 1
mov dword [esp + 0x34], ebx
jmp 0x42faf0
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 0x42fdc0
mov edi, esi
shl edi, 4
nop dword [eax]
mov eax, dword [ebx + 0xc]
cmp dword [eax + edi + 0xc], 1
jne 0x42fdaf
cmp esi, dword [ebx + 0x1c]
jl 0x42fd8c
push dword [eax + edi + 8]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov edx, dword [ebx + 0x10]
dec edx
mov dword [ebx + 0x10], edx
cmp esi, edx
jge 0x42fdaf
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 0x42fd70
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 0x28]
jmp 0x42fdc4
mov edi, dword [esp + 0x20]
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 0x42fdeb
xor ecx, ecx
mov word [eax], cx
jmp 0x42fd09
xor eax, eax
mov word [esi], ax
jmp 0x42fd09
cmp dword [ebx + 0x244], 0
je 0x42fee6
mov eax, dword [0x4f70f4]
cmp dword [eax + 0xb4], 0
jne 0x42fee6
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
push 3
push 0x4e72a4
push dword [esp + 0x1c]
call esi
add esp, 0xc
test eax, eax
je 0x42fe46
push 3
push 0x4e72ac
push dword [esp + 0x1c]
call esi
add esp, 0xc
test eax, eax
jne 0x431185
mov ecx, dword [esp + 0x14]
lea esi, [ecx + 6]
nop dword [eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x42fe5d
cmp eax, 9
jne 0x42fe62
add esi, 2
jmp 0x42fe50
test ax, ax
je 0x42fe7b
cmp eax, 0x7b
jne 0x431189
cmp word [esi + 2], 0
jne 0x431189
mov ecx, dword [ebx + 0x248]
lea edx, [esp + 0x2180]
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 0x42fe90
lea eax, [esp + 0x2180]
push 0x2e
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov edx, dword [esp + 0x30]
mov ecx, eax
mov eax, dword [esp + 0x1c]
add esp, 8
mov dword [esp + 0x48], 0
mov ax, word [eax]
mov word [ecx + 2], ax
cmp word [esi], 0x7b
mov ecx, dword [ebx + 0x250]
sete bl
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x13], bl
jmp 0x4302ae
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
test cx, cx
je 0x42ff31
mov esi, ecx
nop word [eax + eax]
mov ecx, 0x4e6fb0
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x42ff8d
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x42ff10
movzx eax, word [ebx + 2]
add ebx, 2
mov esi, eax
test ax, ax
jne 0x42ff00
mov eax, dword [0x4f70f4]
cmp dword [eax + 0xb4], 0
jne 0x430557
mov esi, dword [esp + 0x14]
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 0x430105
movzx eax, word [esi + 0xa]
cmp eax, 0x20
je 0x42ff74
cmp eax, 9
jne 0x430105
lea edi, [esi + 0xc]
movzx eax, word [edi]
cmp eax, 0x20
je 0x42ff88
cmp eax, 9
jne 0x430070
add edi, 2
jmp 0x42ff77
cmp word [ebx], 0x28
jne 0x42ff31
mov esi, dword [esp + 0x14]
cmp ebx, esi
je 0x42ff31
mov edi, ebx
mov edx, 0x4e6fec
sub edi, esi
mov ecx, esi
sar edi, 1
push 0xffffffffffffffff
push edi
call fcn.004af940
add esp, 8
test eax, eax
je 0x42ff31
mov esi, dword [esp + 0x58]
mov edx, str.WHILE
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.004af940
add esp, 8
test eax, eax
je 0x42ff31
cmp word [ebx + 2], 0x3a
je 0x42ff31
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42fff0
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 + 0x13], bl
jne 0x43002a
xor eax, eax
mov ecx, esi
mov word [edx], ax
sub edx, esi
sar edx, 1
call fcn.004299f0
movzx ecx, word [esi + eax*2 - 2]
cmp cx, 0x29
jne 0x42ff31
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x2180]
sub ecx, esi
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x430041
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x48], 0
mov ecx, dword [ecx + 0x250]
mov dword [esp + 0x2c], ecx
jmp 0x4302ae
push eax
push 0x4e6fb0
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
add esp, 8
test eax, eax
jne 0x4300ff
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430090
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 + 0x13], bl
jne 0x4300c5
xor eax, eax
mov ecx, esi
mov word [edx], ax
sub edx, esi
sar edx, 1
call fcn.004299f0
lea ecx, [esp + 0x2180]
sub ecx, edi
nop
movzx eax, word [edi]
lea edi, [edi + 2]
mov word [edi + ecx - 2], ax
test ax, ax
jne 0x4300d0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x48], 1
mov ecx, dword [ecx + 0x250]
mov dword [esp + 0x2c], ecx
jmp 0x4302ae
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
mov ebx, dword [esp + 0x20]
cmp dword [ebx + 0x28], 0
je 0x430557
mov esi, dword [esp + 0x14]
nop word [eax + eax]
movzx eax, word [esi]
mov ecx, eax
test ecx, 0xffffff80
je 0x43012f
jmp 0x430145
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 0x430157
cmp cx, 0x5f
je 0x430157
cmp cx, 0x7f
ja 0x430157
cmp cx, 0x2e
jne 0x43015c
add esi, 2
jmp 0x430120
cmp esi, dword [esp + 0x14]
jbe 0x430238
movzx eax, cx
nop dword [eax]
cmp ax, 0x20
je 0x43017c
cmp ax, 9
jne 0x430185
movzx eax, word [esi + 2]
add esi, 2
jmp 0x430170
cmp ax, 0x3a
jne 0x4301b6
cmp word [esi + 2], 0x3d
jne 0x430238
push 0
push dword [esp + 0x18]
mov ecx, ebx
call fcn.0043bbb0
test eax, eax
jne 0x4302a2
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test ax, ax
je 0x4301ce
cmp ax, 0x5b
je 0x4301ce
cmp ax, 0x7b
jne 0x430238
cmp word [esi + 2], 0
jne 0x430238
mov edx, dword [esp + 0x14]
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4301d5
mov esi, dword [esp + 0x14]
sub edx, ecx
sar edx, 1
movzx eax, word [esi + edx*2 - 2]
cmp eax, 0x7b
sete byte [esp + 0x13]
jne 0x4301ff
dec edx
mov ecx, esi
call fcn.004299f0
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x2180]
sub ecx, esi
nop dword [eax]
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x430210
mov ecx, dword [ebx + 0x250]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x48], 2
jmp 0x4302aa
push 6
push str.Static
push dword [esp + 0x1c]
call edi
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x14]
jne 0x430269
movzx ecx, word [eax + 0xc]
cmp ecx, 0x20
je 0x43025e
cmp ecx, 9
jne 0x430269
push 1
add eax, 0xe
push eax
jmp 0x43019c
cmp word [eax], 0x23
jne 0x4311a3
mov esi, dword [ebx + 0x250]
mov ecx, ebx
push eax
call fcn.004318b0
test eax, eax
je 0x4301ab
cmp eax, 3
jne 0x43119f
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0x24c], eax
mov dword [ebx + 0x250], esi
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov bl, byte [esp + 0x13]
mov bh, byte [esp + 0x12]
mov eax, edx
test bh, bh
je case.0x43037f.4
mov esi, dword [esp + 0x64]
inc edx
mov dword [esp + 0x28], edx
mov edi, ecx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x2c], ecx
mov ch, bl
mov cl, byte [esp + 0x1b]
mov dword [esp + 0x48], edx
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x3c], edx
mov dh, cl
mov byte [esp + 0x1b], cl
mov cl, byte [esp + 0x25]
mov byte [esp + 0x13], 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 + 0x12], bh
mov byte [esp + 0x41], ch
mov byte [esp + 0x42], dh
mov dword [esp + 0x64], esi
mov dword [esp + 0x58], esi
mov byte [esp + 0x43], dl
mov byte [esp + 0x27], cl
mov byte [esp + 0x3b], cl
cmp eax, 9
ja case.0x43037f.4
mov esi, dword [esp + 0x54]
movzx eax, byte [eax + 0x4313c4]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x3c]
mov byte [esp + 0x13], ch
mov ch, bl
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x58]
mov byte [esp + 0x25], ch
mov ch, dl
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x34]
mov byte [esp + 0x12], bh
mov dword [esp + 0x2c], edi
mov byte [esp + 0x1b], dh
mov byte [esp + 0x26], ch
mov byte [esp + 0x27], cl
mov dword [esp + 0x28], esi
jmp dword [eax*4 + 0x4313b0]
mov eax, dword [esp + 0x14]
test dl, dl
mov ecx, dword [0x4e4158]
mov esi, dword [esp + 0x20]
push 0
mov dword [eax], ecx
mov eax, dword [esp + 0x18]
mov cx, word [0x4e415c]
push 1
mov word [eax + 4], cx
lea eax, [esp + 0x1c]
push eax
setne al
mov ecx, esi
add al, 0xc5
movzx eax, al
push eax
call fcn.00435b50
cmp byte [esp + 0x3b], 0
je 0x430438
lea eax, [esp + 0xc0]
push eax
push str.if_not_GetKeyState___s__
push dword [esp + 0x1c]
call fcn.00406580
mov cl, byte [esp + 0x4e]
mov ch, bl
mov edx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov al, byte [esp + 0x4d]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x60]
mov byte [esp + 0x27], cl
mov cl, byte [esp + 0x47]
mov byte [esp + 0x31], ch
mov ch, byte [esp + 0x4f]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x34], 9
mov byte [esp + 0x1e], bh
mov dword [esp + 0x38], edi
mov dword [esp + 0x68], edx
mov dword [esp + 0x70], eax
mov byte [esp + 0x32], ch
mov byte [esp + 0x33], cl
jmp 0x430554
mov esi, dword [esp + 0x20]
movzx eax, bh
mov ecx, 0x4cdc40
sub eax, 0x12
je 0x430451
sub eax, 0x92
je 0x430451
sub eax, 1
jne 0x430471
movzx eax, bl
sub eax, 0x11
je 0x43046c
sub eax, 0x91
je 0x43046c
sub eax, 1
jne 0x430471
mov ecx, str.RCtrl_up
jmp 0x430471
mov ecx, str.LCtrl_up
lea eax, [esp + 0xc0]
mov dword [esi + 0x64c], 0
push eax
lea eax, [esp + 0x94]
push eax
push ecx
push str.Blind_s_s_s_DownR
push dword [esp + 0x24]
call fcn.00406580
add esp, 0x14
lea eax, [esp + 0x14]
mov ecx, esi
push 0
push 1
push eax
push 0x41
call fcn.00435b50
test eax, eax
je 0x4301ab
push 0
push 0
push 0
push 0x67
mov ecx, esi
call fcn.00435b50
lea eax, [esp + 0x100]
mov dword [esi + 0x64c], 0
push eax
push str._s_up::
push dword [esp + 0x1c]
call fcn.00406580
mov cl, byte [esp + 0x47]
mov ch, bl
mov edx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov al, byte [esp + 0x4d]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x60]
mov dword [esp + 0x54], eax
mov al, byte [esp + 0x4e]
mov byte [esp + 0x31], ch
mov ch, byte [esp + 0x4f]
mov byte [esp + 0x27], al
mov eax, dword [esp + 0x64]
mov dword [esp + 0x34], 2
mov byte [esp + 0x1e], bh
mov dword [esp + 0x38], edi
mov dword [esp + 0x68], edx
mov dword [esp + 0x70], eax
mov byte [esp + 0x32], ch
mov byte [esp + 0x33], cl
jmp 0x430554
lea eax, [esp + 0x100]
push eax
push str._s::
push dword [esp + 0x1c]
call fcn.00406580
mov dword [esp + 0x40], eax
add esp, 0xc
mov esi, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x54], 0
mov dword [esp + 0x3c], edi
cmp word [esi], 0x3a
jne 0x43073b
movzx eax, word [esi + 2]
test ax, ax
je 0x43073b
lea ecx, [esi + 2]
mov dword [esp + 0x5c], ecx
cmp eax, 0x3a
je 0x4305b4
push 0x3a
push ecx
call dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4305a7
mov dword [esp + 0x54], edi
jmp 0x43073b
mov ecx, dword [esp + 0x5c]
add ebx, 2
mov dword [esp + 0x54], ebx
jmp 0x4305ca
mov eax, dword [esp + 0x14]
add eax, 4
cmp word [eax], di
je 0x43073b
mov ebx, eax
mov dword [esp + 0x54], eax
test ebx, ebx
je 0x43073b
mov al, byte [0x4f99f8]
mov esi, ecx
mov byte [esp + 0x1b], al
cmp ecx, ebx
jae 0x43062c
movzx eax, word [esi]
mov edi, eax
test eax, 0xffffff80
je 0x4305f1
xor edx, edx
jmp 0x4305ff
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 0x43061f
cmp esi, ebx
jb 0x4305e1
jmp 0x430628
cmp word [esi], 0x30
setne byte [esp + 0x1b]
mov edi, dword [esp + 0x3c]
mov esi, ebx
nop
movzx eax, word [esi]
mov ebx, edi
mov edx, eax
test ax, ax
je 0x430665
mov ecx, eax
nop
movzx edx, cx
cmp cx, word [0x4f8340]
je 0x430665
movzx edx, cx
cmp cx, 0x3a
je 0x430665
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x430640
mov ecx, esi
test dx, dx
je 0x43072f
movzx eax, word [esi + 2]
lea edi, [esi + 2]
cmp dx, 0x3a
jne 0x4306a4
cmp eax, 0x3a
jne 0x430693
cmp byte [esp + 0x1b], 0
mov dword [esp + 0x3c], esi
mov esi, edi
jne 0x43072b
cmp eax, 0x3a
mov edi, ecx
cmovne edi, ebx
add esi, 2
mov dword [esp + 0x3c], edi
jmp 0x430630
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x4306b3.99
movzx eax, byte [eax + 0x4313f0]
jmp dword [eax*4 + 0x4313d0]
mov eax, 7
jmp 0x4306e9
mov eax, 8
jmp 0x4306e9
mov eax, 0xc
jmp 0x4306e9
mov eax, 0xa
jmp 0x4306e9
mov eax, 0xd
jmp 0x4306e9
mov eax, 9
jmp 0x4306e9
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 0x4306f1
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 0x43071f
cmp word [edi], 0x3a
cmove esi, edi
mov edi, dword [esp + 0x3c]
add esi, 2
jmp 0x430630
mov edi, dword [esp + 0x3c]
test edi, edi
jne 0x4307e2
mov dword [esp + 0x54], edi
push 0x4e714c
push dword [esp + 0x18]
call dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov edx, eax
add esp, 8
mov dword [esp + 0x3c], edx
test edx, edx
je 0x430e52
mov ecx, dword [esp + 0x14]
cmp edx, ecx
jne 0x430771
cmp word [edx + 4], 0x3a
jne 0x430771
add edx, 2
mov dword [esp + 0x3c], edx
mov esi, edx
cmp edx, ecx
jbe 0x43078b
movzx eax, word [esi]
cmp eax, 0x20
je 0x430784
cmp eax, 9
jne 0x43078b
sub esi, 2
cmp esi, ecx
ja 0x430777
movzx edi, word [esi]
xor eax, eax
mov word [esi], ax
mov ebx, edi
mov ecx, dword [esp + 0x14]
nop dword [eax]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x4307ad
cmp eax, 9
jne 0x4307b2
add ecx, 2
jmp 0x4307a0
push 0
xor edx, edx
call fcn.00416390
add esp, 4
mov dword [esp + 0x64], eax
test eax, eax
je 0x430e4f
cmp eax, 4
je 0x4301ab
mov word [esi], di
mov edi, dword [esp + 0x3c]
test edi, edi
je 0x430e52
mov edx, dword [esp + 0x14]
cmp edi, edx
jbe 0x430e56
mov eax, dword [0x4f70f4]
cmp dword [eax + 0xb4], 0
jne 0x43124c
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x614]
test eax, eax
je 0x430817
cmp byte [eax], 0x1a
je 0x4311b9
mov ebx, dword [esp + 0x54]
xor eax, eax
mov word [edi], ax
add edi, 4
mov dword [esp + 0x3c], edi
test ebx, ebx
jne 0x430af4
movzx eax, word [edi]
test ax, ax
je 0x430884
mov edx, edi
nop dword [eax]
cmp ax, 0x20
je 0x43084c
cmp ax, 9
jne 0x430855
movzx eax, word [edx + 2]
add edx, 2
jmp 0x430840
mov eax, edx
sub eax, edi
cmp eax, 2
jb 0x430884
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430863
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
cmp word [edi], 0
mov esi, edi
je 0x430af0
cmp word [edi + 2], 0
je 0x4308cf
push 0
xor edx, edx
mov ecx, edi
call fcn.004164d0
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.0041e390
add esp, 0xc
mov byte [esp + 0x12], al
test al, al
je 0x430af0
mov bh, al
jmp 0x4308d6
or bh, 0xff
mov byte [esp + 0x12], bh
mov ecx, dword [esp + 0x14]
xor edx, edx
push 0
call fcn.004164d0
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.0041e390
add esp, 0xc
mov byte [esp + 0x25], al
push 0x4e4604
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 0x430929
cmp al, 3
jne 0x43092f
add al, 0x66
cmp al, 5
ja 0x430933
mov cl, 1
jmp 0x430935
xor cl, cl
mov al, bh
dec al
cmp al, 5
ja 0x430942
cmp bh, 3
jne 0x43094a
mov al, bh
add al, 0x66
cmp al, 5
ja 0x43094e
mov al, 1
jmp 0x430950
xor al, al
mov byte [esp + 0x26], al
test cl, cl
jne 0x430961
mov byte [esp + 0x27], 1
test al, al
jne 0x430966
mov byte [esp + 0x27], 0
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430970
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jne 0x430997
movzx eax, word [edi]
push eax
call dword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
mov eax, 0x4e739c
jne 0x43099c
mov eax, 0x4cdc40
push dword [esp + 0x14]
test bl, bl
mov ecx, 0x4e6fac
push eax
mov eax, 0x4cdc40
cmove eax, ecx
push eax
push 0x4e73a0
lea eax, [esp + 0x110]
push 0x20
push eax
call fcn.004af890
push 0x1f
lea eax, [esp + 0xdc]
push esi
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov edi, dword [esp + 0x60]
add esp, 0x24
xor eax, eax
mov word [esp + 0xfe], ax
lea eax, [esp + 0x90]
push 7
push edi
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
sub esi, edi
xor eax, eax
sar esi, 1
add esp, 0xc
mov word [esp + 0x9e], ax
cmp esi, 8
jae 0x430a16
mov word [esp + esi*2 + 0x90], ax
xor edx, edx
mov dword [esp + 0x28], edx
cmp word [esp + 0x90], dx
jne 0x430f8f
cmp bh, 0xd
jne 0x430a5a
lea eax, [esp + 0xc0]
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 0x430ae7
mov dword [esp + 0x28], 1
jmp case.0x43037f.0
cmp bh, 0x13
jne 0x430f8f
mov ax, word [esp + 0xc0]
movzx esi, ax
test esi, 0xffffff80
je 0x430a7a
xor edi, edi
jmp 0x430a90
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 + 0xc0]
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 0x430ae3
movzx esi, ax
test esi, 0xffffff80
je 0x430ab9
xor eax, eax
jmp 0x430ac5
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 0x430f8b
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x54]
mov byte [esp + 0x12], 0
mov esi, dword [esp + 0x20]
cmp byte [esi + 0x254], 0
je 0x430b35
push 0
push 0xff
push 0
push 0x67
mov ecx, esi
mov byte [esi + 0x254], 0
call fcn.00435b50
test eax, eax
je 0x4301ab
mov eax, dword [esi + 0x614]
mov dword [eax + 0xc], 1
mov dword [esi + 0x64c], 0
push 1
push dword [esp + 0x18]
mov ecx, esi
call fcn.004332c0
test eax, eax
je 0x4301ab
test ebx, ebx
je 0x430c43
cmp word [ebx], 0
je 0x4311f7
cmp byte [esp + 0x1b], 0
mov eax, 0x4cdc40
mov edx, dword [esp + 0x5c]
push 0
push dword [esp + 0x88]
cmove eax, edi
push eax
push ebx
mov ebx, dword [esp + 0x30]
mov ecx, dword [ebx + 0x624]
push ecx
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebx + 0x624]
mov ecx, dword [ecx + 4]
call fcn.00417270
add esp, 0x14
test eax, eax
je 0x4301ab
movzx eax, word [edi]
test ax, ax
je 0x430f87
cmp byte [esp + 0x1b], 0
je 0x430c1a
mov ecx, edi
cmp ax, 0x20
je 0x430bc1
cmp ax, 9
jne 0x430bca
movzx eax, word [ecx + 2]
add ecx, 2
jmp 0x430bb5
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, ebx
call fcn.00433410
test eax, eax
je 0x4301ab
mov eax, dword [ebx + 0x614]
mov al, byte [eax]
cmp al, 9
jb 0x430bfa
cmp al, 0x20
jbe 0x4311d5
cmp al, 0x21
je 0x4311d5
cmp al, 0x69
jb 0x430c0e
cmp al, 0x6b
jbe 0x4311d5
cmp al, 0x71
jb 0x430c1a
cmp al, 0x73
jbe 0x4311d5
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.00435b50
test eax, eax
je 0x4301ab
mov eax, dword [ebx + 0x614]
mov dword [eax + 0xc], 1
jmp 0x4302a2
xor esi, esi
cmp word [edi], si
je 0x430d51
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
push str.AltTab
push edi
call ebx
add esp, 8
test eax, eax
jne 0x430c71
mov ebx, dword [esp + 0x20]
mov esi, 0x7ffe
jmp 0x430d2b
push str.ShiftAltTab
push edi
call ebx
add esp, 8
test eax, eax
jne 0x430c8e
mov ebx, dword [esp + 0x20]
mov esi, 0x7ffd
jmp 0x430d2b
push str.AltTabMenu
push edi
call ebx
add esp, 8
test eax, eax
jne 0x430cab
mov ebx, dword [esp + 0x20]
mov esi, 0x7ffc
jmp 0x430d2b
push str.AltTabAndMenu
push edi
call ebx
add esp, 8
test eax, eax
jne 0x430cc5
mov ebx, dword [esp + 0x20]
mov esi, 0x7ffb
jmp 0x430d2b
push str.AltTabMenuDismiss
push edi
call ebx
mov ebx, dword [esp + 0x28]
add esp, 8
test eax, eax
jne 0x430cdf
mov esi, 0x7ffa
jmp 0x430d2b
xor esi, esi
mov ecx, ebx
push esi
push esi
push esi
push esi
push esi
push esi
push edi
call fcn.00433410
test eax, eax
je 0x4301ab
mov eax, dword [ebx + 0x614]
mov al, byte [eax]
cmp al, 9
jb 0x430d0b
cmp al, 0x20
jbe 0x4311d5
cmp al, 0x21
je 0x4311d5
cmp al, 0x69
jb 0x430d1f
cmp al, 0x6b
jbe 0x4311d5
cmp al, 0x71
jb 0x430d2b
cmp al, 0x73
jbe 0x4311d5
push 0
push 0
push 0
push 0x67
mov ecx, ebx
call fcn.00435b50
test eax, eax
je 0x4301ab
mov eax, dword [ebx + 0x614]
mov dword [eax + 0xc], 1
jmp 0x430d55
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x63]
push eax
lea edx, [esp + 0x8c]
call fcn.00416bd0
mov edi, eax
add esp, 4
test edi, edi
je 0x430dd9
test si, si
je 0x430d81
mov word [edi + 6], si
jmp 0x4302a2
mov eax, dword [edi + 0x20]
test eax, eax
je 0x430da0
mov ecx, dword [0x4fa3b4]
nop
cmp dword [eax + 4], ecx
je 0x431210
mov eax, dword [eax + 8]
test eax, eax
jne 0x430d90
push dword [esp + 0x88]
mov ecx, edi
push dword [ebx + 0x624]
call fcn.00416280
test eax, eax
je 0x431233
cmp byte [esp + 0x63], 0
jne 0x430dd0
cmp byte [0x4f9a6f], 0
je 0x430f87
mov byte [edi + 0x14], 1
jmp 0x4302a2
mov ecx, dword [ebx + 0x624]
mov edx, esi
push 0
push dword [esp + 0x8c]
push dword [ecx + 4]
call fcn.00415a80
add esp, 0xc
test eax, eax
jne 0x430f87
cmp dword [esp + 0x64], 3
jne 0x4301ab
cmp dword [ebx + 0xb00], eax
jne 0x430f87
push dword [esp + 0x14]
lea eax, [esp + 0x144]
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.004af890
push 0
push 0
xorps xmm3, xmm3
lea ecx, [esp + 0x158]
mov edx, 0x10000
call fcn.004b5e40
add esp, 0x18
jmp 0x4302a2
mov word [esi], bx
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
cmp word [edx + ebx*2 - 2], 0x3a
jne 0x430f31
cmp ebx, 1
je 0x431264
movzx eax, word [edx]
mov esi, edx
test ax, ax
je 0x430eba
mov di, word [0x4f8348]
mov ecx, eax
cmp cx, 0x20
je 0x430f31
cmp cx, 9
je 0x430f31
cmp cx, di
je 0x430f31
cmp cx, word [0x4f8340]
je 0x430f31
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x430e82
cmp word [edx + ebx*2 - 4], 0x3a
jne 0x430ec7
cmp ebx, 2
ja 0x430f31
xor eax, eax
mov word [edx + ebx*2 - 2], ax
push str.Default
push dword [esp + 0x18]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
mov ebx, dword [esp + 0x28]
add esp, 8
test eax, eax
jne 0x430f17
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x430f17
mov eax, dword [eax + 0x10]
test eax, eax
je 0x430f17
cmp byte [eax], 0x75
jne 0x430f17
push 0
push 0
push 0
push 0x76
mov ecx, ebx
call fcn.00435b50
test eax, eax
je 0x4301ab
jmp 0x4302a2
push 0
push dword [esp + 0x18]
mov ecx, ebx
call fcn.004332c0
test eax, eax
je 0x4301ab
jmp 0x4302a2
cmp word [edx], 0x23
mov ebx, dword [esp + 0x20]
jne 0x430f5e
mov esi, dword [ebx + 0x250]
mov ecx, ebx
push edx
call fcn.004318b0
test eax, eax
je 0x4301ab
cmp eax, 3
je 0x430292
mov edx, dword [esp + 0x14]
movzx eax, word [edx]
cmp eax, 0x7b
je 0x430f9c
cmp eax, 0x7d
je 0x430f9c
push 0
push 0
push 0
push 0
push 0
push 0
push edx
mov ecx, ebx
call fcn.00433410
test eax, eax
je 0x4301ab
mov bh, byte [esp + 0x12]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov bl, byte [esp + 0x13]
jmp 0x4302b2
cmp eax, 0x7b
mov ecx, ebx
push 0
setne al
push 0
add al, 0x77
push 0
movzx eax, al
push eax
call fcn.00435b50
test eax, eax
je 0x4301ab
mov ebx, dword [esp + 0x14]
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x430fc1
cmp eax, 9
je 0x430fc1
mov edx, dword [esp + 0x28]
mov dword [esp + 0x14], ebx
cmp word [ebx], 0
je 0x4302a6
lea ecx, [ebx + 2]
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x430fe7
sub ebx, ecx
mov ecx, dword [esp + 0x20]
sar ebx, 1
mov dword [esp + 0x34], ebx
mov dword [ecx + 0x64c], 0
jmp 0x42faf0
mov eax, dword [esp + 0x14]
test dl, dl
mov ecx, dword [0x4e4158]
push 0
push 1
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov cx, word [0x4e415c]
mov word [eax + 4], cx
lea eax, [esp + 0x1c]
mov ecx, dword [esp + 0x28]
push eax
setne al
add al, 0xc5
movzx eax, al
push eax
call fcn.00435b50
lea eax, [esp + 0xc0]
push eax
push str.Blind_s_Up
push dword [esp + 0x1c]
call fcn.00406580
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x20]
add esp, 0xc
push 0
push 1
push eax
push 0x41
call fcn.00435b50
mov ecx, dword [esp + 0x20]
push 0
push 0
push 0
push 0x67
call fcn.00435b50
mov al, byte [esp + 0x41]
mov ch, bl
mov cl, byte [esp + 0x3b]
mov edx, dword [esp + 0x3c]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x54]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x42]
mov byte [esp + 0x25], ch
mov ch, byte [esp + 0x43]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x58]
mov byte [esp + 0x12], 0
mov dword [esp + 0x2c], edi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x64], eax
mov byte [esp + 0x26], ch
mov byte [esp + 0x27], cl
mov dword [esp + 0x28], esi
mov ecx, dword [esp + 0x1c]
lea edi, [esp + 0xa188]
cmp dword [esp + 0x8c], edi
lea eax, [esp + 0x12190]
mov esi, dword [esp + 0x44]
mov edx, edi
mov ebx, dword [esp + 0x20]
cmovne eax, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], eax
jmp 0x42f233
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
push str.Continuation_section_too_long.
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [ebx + 0x244], 0
lea eax, [esp + 0x2180]
push eax
mov ecx, str.Not_a_valid_method__class_or_property_definition.
mov eax, 0x4e7228
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x2180]
mov ecx, ebx
push eax
push 0x4e7228
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esp + 0x2180]
push eax
push str.Functions_cannot_contain_functions.
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x14]
push ecx
push str.Not_a_valid_property_getter_setter.
mov ecx, ebx
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esp + 0x14]
push eax
push str.Not_a_valid_method__class_or_property_definition.
mov ecx, ebx
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edx
push str.IfWin_should_be_IfWin.
mov ecx, esi
mov dword [esi + 0x64c], eax
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 0x3a
mov ecx, ebx
mov word [edi - 4], ax
push dword [esp + 0x14]
push str.Invalid_single_line_hotkey_hotstring.
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x14]
mov ecx, esi
push str.This_hotstring_is_missing_its_abbreviation.
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x14]
mov ecx, ebx
mov dword [ebx + 0x64c], 0
push str.Duplicate_hotkey.
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x14]
mov ecx, ebx
push 0x4e1bcc
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x20]
push edx
push str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x20]
push edx
push str.This_line_does_not_contain_a_recognized_action.
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x20]
push edi
push str.Continuation_section_too_long.
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
push 0x4e71c4
call fcn.0044dc10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp word [esp + 0x2180], 0
je 0x43131e
cmp dword [esp + 0x48], 0
mov eax, dword [esp + 0x2c]
mov esi, dword [ebx + 0x250]
mov dword [ebx + 0x250], eax
lea eax, [esp + 0x2180]
je 0x4312fc
cmp byte [esp + 0x13], 0
mov ecx, 0x4e7228
push eax
mov eax, str.Missing___
cmove eax, ecx
mov ecx, ebx
push eax
call fcn.0044dc10
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.00433410
test eax, eax
je 0x4301ab
mov dword [ebx + 0x250], esi
cmp dword [ebx + 0x28], 0
je 0x431344
cmp dword [esp + 0x7c], 0
jne 0x431344
lea eax, [ebx + 0x40]
mov ecx, ebx
push eax
push str.Missing___
call fcn.0044dc10
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