Function at 0x14003a110
Capabilities:
Get keyboard layout

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c068]
mov eax, 0x1c168
call fcn.1400ecec0
sub rsp, rax
mov ebx, dword [0x140128ad8]
lea rax, [rbp + 0xc040]
xor r12d, r12d
mov qword [rsp + 0x40], rax
xor al, al
mov qword [rsp + 0x20], rdx
dec ebx
mov byte [rsp + 0x48], al
lea r15, [rbp + 0x14050]
mov dword [rbp - 0x40], ebx
xor r9d, r9d
mov word [rbp + 0x4030], r12w
lea rdx, [rbp + 0xc040]
mov qword [rsp + 0x60], r15
mov r14, rcx
mov word [rsp + 0x52], r12w
mov word [rsp + 0x6c], r12w
mov edi, r12d
mov dword [rcx + 0x288], ebx
call fcn.14003cef0
mov rcx, qword [rsp + 0x40]
lea r8d, [r12 + 2]
lea rdx, [0x140109648]
mov qword [rbp - 0x70], rax
mov rsi, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
sete bl
mov byte [rbp + 0x1c0c0], bl
test eax, eax
jne 0x14003a1d8
mov rax, qword [rsp + 0x40]
mov esi, r12d
mov qword [rbp - 0x70], r12
mov word [rax], r12w
mov rcx, qword [rsp + 0x40]
mov qword [rbp], r15
mov edx, reloc.WSOCK32.dll_ioctlsocket
cmp rsi, 0xffffffffffffffff
je 0x14003cb35
lea eax, [rdi + 1]
mov qword [r14 + 0x6d0], r12
mov r8d, edx
mov dword [r14 + 0x28c], eax
lea rdx, str.CommentFlag
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003a22a
mov rdx, qword [rsp + 0x40]
mov rcx, r14
call fcn.14003d2c0
test eax, eax
je 0x14003c7e7
mov r14d, r12d
mov dword [rbp - 0x68], r12d
mov r12, qword [rbp - 0x30]
mov byte [rsp + 0x5a], 0
jmp 0x14003a250
mov edi, dword [rbp - 0x80]
movzx ebx, byte [rbp + 0x1c0c0]
nop word [rax + rax]
mov rax, qword [rbp + 0x1c0b8]
inc edi
mov r9d, r14d
mov dword [rbp - 0x80], edi
mov rdx, r15
mov qword [rsp + 0x20], rax
call fcn.14003cef0
mov r13, rax
mov qword [rbp - 0x48], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14003a380
test r14d, r14d
jne 0x14003a380
lea r8d, [r14 + 2]
mov rcx, r15
lea rdx, [0x14010966c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
jne 0x14003a351
test bl, bl
jne 0x14003a2bd
cmp word [r15 + 4], 0x3a
jne 0x14003a2bd
cmp word [r15 + 6], 0x3a
je 0x14003a359
sub r13, 2
lea rdx, [r15 + 4]
xor bl, bl
mov rcx, r15
mov byte [rbp + 0x1c0c0], bl
lea r8, [r13*2 + 2]
call sub.VCRUNTIME140.dll_memmove
movzx eax, word [r15]
test ax, ax
je 0x14003a250
mov rdx, r15
nop dword [rax]
cmp ax, 0x20
je 0x14003a2fc
cmp ax, 9
jne 0x14003a306
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14003a2f0
mov rax, rdx
sub rax, r15
sar rax, 1
je 0x14003a340
cmp r13, 0xffffffffffffffff
jne 0x14003a32d
nop word [rax + rax]
inc r13
cmp word [rdx + r13*2], 0
jne 0x14003a320
jmp 0x14003a330
sub r13, rax
lea r8, [r13*2 + 2]
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
cmp word [r15], 0
mov qword [rbp - 0x48], r13
je 0x14003a250
jmp 0x14003a359
test bl, bl
jne 0x14003a250
mov r8d, 2
lea rdx, [0x140109648]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
jne 0x14003a380
mov bl, 1
mov byte [rbp + 0x1c0c0], bl
jmp 0x14003a250
test bl, bl
je 0x14003a393
cmp r13, 0xffffffffffffffff
jne 0x14003a250
jmp 0x14003b463
test r14d, r14d
jne 0x14003a8f6
cmp r13, 0xffffffffffffffff
je 0x14003a5e7
cmp word [r15], 0x28
jne 0x14003a5e7
movzx eax, word [r15 + 2]
lea rbx, [r15 + 2]
cmp ax, 0x3a
je 0x14003a5e0
cmp word [r15 + r13*2 - 2], 0x3a
je 0x14003a5e0
movzx ecx, byte [0x140127b56]
mov r14d, 1
xor r13d, r13d
mov dword [rbp - 0x68], r14d
mov dword [rbp - 0x3c], r13d
mov r12d, r14d
mov byte [rsp + 0x55], cl
mov byte [rsp + 0x54], r14b
mov byte [rsp + 0x56], r13b
mov byte [rsp + 0x57], r13b
mov byte [rsp + 0x58], r14b
mov qword [rbp - 0x30], r14
mov dword [rbp + 8], 0xa
nop
cmp ax, 0x20
je 0x14003a41c
cmp ax, 9
jne 0x14003a426
movzx eax, word [rbx + 2]
add rbx, 2
jmp 0x14003a410
test ax, ax
je 0x14003a5d6
nop
mov rsi, rbx
test rbx, rbx
je 0x14003a46f
movzx edx, word [rbx]
test dx, dx
je 0x14003a46f
lea rcx, [0x140106720]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14003a490
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14003a450
movzx edx, word [rsi + 2]
add rsi, 2
test dx, dx
jne 0x14003a440
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rbx + rax*2 + 2], r13w
lea rax, [rax + 1]
jne 0x14003a480
lea rsi, [rbx + rax*2]
movzx edi, word [rsi]
lea rdx, str.Join
mov r8d, 4
mov word [rsi], r13w
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003a4f3
lea rdx, [rbx + 8]
lea r8d, [rax + 0xf]
lea rcx, [rbp + 8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r8b, 1
mov word [rbp + 0x26], r13w
lea rcx, [rbp + 8]
call fcn.1400d09d0
lea rax, [rbp + 8]
mov r12, 0xffffffffffffffff
nop
inc r12
cmp word [rax + r12*2], r13w
jne 0x14003a4e0
mov qword [rbp - 0x30], r12
jmp 0x14003a5a4
mov r8d, 5
lea rdx, [0x140109728]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003a51c
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x55]
jmp 0x14003a5a4
mov r8d, 5
lea rdx, str.RTrim
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003a542
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x54]
jmp 0x14003a5a4
movzx eax, word [rbx]
test ax, ax
je 0x14003a5a4
nop word [rax + rax]
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x14003a576.38
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x3cc10]
mov ecx, dword [rdx + rax*4 + 0x3cbf8]
add rcx, rdx
jmp rcx
mov byte [rsp + 0x56], 1
jmp case.0x14003a576.38
mov byte [rsp + 0x57], 1
jmp case.0x14003a576.38
mov byte [rsp + 0x58], r13b
jmp case.0x14003a576.38
mov r14d, 2
mov dword [rbp - 0x68], r14d
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14003a550
mov word [rsi], di
mov rbx, rsi
nop word [rax + rax]
cmp di, 0x20
je 0x14003a5bc
cmp di, 9
jne 0x14003a5c6
movzx edi, word [rbx + 2]
add rbx, 2
jmp 0x14003a5b0
test di, di
jne 0x14003a430
mov rsi, qword [rbp - 0x70]
mov edi, dword [rbp - 0x80]
mov byte [rsp + 0x5a], 1
jmp 0x14003a243
movzx ebx, byte [rbp + 0x1c0c0]
xor edx, edx
mov dword [rbp - 0x68], edx
mov r14d, edx
cmp r13, 0xffffffffffffffff
je 0x14003b463
test r13, r13
je 0x14003a250
cmp word [r15 + r13*2 - 2], 0x3a
jne 0x14003a616
cmp word [r15], 0x2c
jne 0x14003b463
movzx ebx, word [r15]
test ebx, 0xffffff80
je 0x14003a626
mov ecx, edx
jmp 0x14003a637
mov edx, 2
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
mov ecx, eax
xor edx, edx
mov eax, ebx
and eax, 0xffffffdf
test ecx, ecx
cmove eax, ebx
cmp eax, 0x41
je 0x14003a8a4
cmp eax, 0x4f
je 0x14003a81f
movzx edx, word [r15]
cmp edx, 0x3a
ja 0x14003a677
movabs rcx, 0x400280000000000
bt rcx, rdx
jae 0x14003a677
cmp word [r15 + 2], dx
je 0x14003b463
lea rcx, str.____:.___
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x14003b463
lea rdx, [0x1401096bc]
mov rcx, r15
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rdi, rax
test rax, rax
je 0x14003a772
cmp word [r15], 0x3a
jne 0x14003a70c
movzx eax, word [r15 + 2]
lea rbx, [r15 + 2]
test ax, ax
je 0x14003a702
nop
cmp ax, 0x3a
je 0x14003a702
movzx ecx, ax
test ecx, 0xffffff80
jne 0x14003a6e0
mov edx, 0x107
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
jne 0x14003a6f5
movzx edx, word [rbx]
lea rcx, [0x1401096c8]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x14003a70c
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14003a6c0
cmp word [rbx], 0x3a
je 0x14003b463
cmp word [r15], 0x2c
jne 0x14003a7c2
lea rbx, [r15 + 2]
nop dword [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003a72f
cmp ax, 9
jne 0x14003a735
add rbx, 2
jmp 0x14003a720
mov r8d, 2
lea rdx, [0x1401096bc]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
je 0x14003b463
lea rcx, [rbx - 2]
mov r8d, 3
lea rdx, [0x140106710]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
je 0x14003b463
mov edi, dword [rbp - 0x80]
lea rax, [rsi + r13]
cmp rax, 0x4000
jae 0x14003c9b5
cmp word [r15], 0x2c
je 0x14003a79d
mov rax, qword [rsp + 0x40]
mov ecx, SafeArrayAllocDescriptor
mov word [rax + rsi*2], cx
inc rsi
mov rax, qword [rsp + 0x40]
lea r8, [r13*2 + 2]
mov rdx, r15
lea rcx, [rax + rsi*2]
call sub.VCRUNTIME140.dll_memcpy
add rsi, r13
mov qword [rbp - 0x70], rsi
jmp 0x14003a243
mov rax, r15
cmp r15, rdi
jae 0x14003a7df
nop word [rax + rax]
cmp word [rax], 0x22
je 0x14003a7e8
add rax, 2
cmp rax, rdi
jb 0x14003a7d0
cmp rax, rdi
je 0x14003b463
movzx edx, word [rdi + 4]
lea rcx, [rdi + 4]
test dx, dx
je 0x14003b463
nop dword [rax]
cmp dx, 0x22
je 0x14003a772
movzx eax, word [rcx + 2]
add rcx, 2
movzx edx, ax
test ax, ax
jne 0x14003a800
jmp 0x14003b463
movzx ebx, word [r15 + 2]
test ebx, 0xffffff80
je 0x14003a830
mov ecx, edx
jmp 0x14003a83f
mov edx, 2
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
mov ecx, eax
movzx eax, bx
mov edx, 0xffdf
and ax, dx
test ecx, ecx
cmove ax, bx
cmp ax, 0x52
jne 0x14003b463
movzx edx, word [r15 + 4]
lea rax, [r15 + 4]
cmp dx, 0x20
je 0x14003a87f
cmp dx, 9
jne 0x14003b463
cmp dx, 0x20
je 0x14003a87f
cmp dx, 9
jne 0x14003a889
movzx edx, word [rax + 2]
add rax, 2
jmp 0x14003a873
lea rcx, str.____:
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x14003b463
jmp 0x14003a775
mov r8d, 3
lea rdx, [0x140109678]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003b463
movzx edx, word [r15 + 6]
lea rax, [r15 + 6]
cmp dx, 0x20
je 0x14003a8ec
cmp dx, 9
jne 0x14003b463
nop dword [rax + rax]
cmp dx, 0x20
je 0x14003a8ec
cmp dx, 9
jne 0x14003a889
movzx edx, word [rax + 2]
add rax, 2
jmp 0x14003a8e0
cmp r13, 0xffffffffffffffff
je 0x14003cb18
cmp r13, 0xfffffffffffffffe
je 0x14003a250
movzx eax, word [r15]
cmp ax, 0x29
jne 0x14003a980
xor edx, edx
mov rdi, 0xffffffffffffffff
mov r14d, edx
mov dword [rbp - 0x68], edx
inc rdi
cmp word [r15 + rdi*2], dx
jne 0x14003a923
lea rax, [rdi - 1]
lea rax, [r15 + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14003a944
cmp cx, 9
jne 0x14003a952
cmp rax, r15
je 0x14003a962
sub rax, 2
dec rdi
jmp 0x14003a935
mov word [rax + 2], dx
lea rbx, [r15 + 2]
dec rdi
jmp 0x14003b3e3
cmp cx, 0x20
je 0x14003a96e
cmp cx, 9
jne 0x14003a974
mov word [rax], dx
mov rdi, rdx
lea rbx, [r15 + 2]
dec rdi
jmp 0x14003b3e3
cmp byte [rsp + 0x54], 0
mov qword [rbp - 0x20], r15
je 0x14003a9dc
test ax, ax
jne 0x14003a99b
xor ecx, ecx
mov r13d, ecx
mov qword [rbp - 0x48], rcx
jmp 0x14003a9de
lea rax, [r13 - 1]
lea rax, [r15 + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14003a9b2
cmp cx, 9
jne 0x14003a9c0
cmp rax, r15
je 0x14003a9cc
sub rax, 2
dec r13
jmp 0x14003a9a3
xor ecx, ecx
mov qword [rbp - 0x48], r13
mov word [rax + 2], cx
jmp 0x14003a9de
cmp cx, 0x20
je 0x14003a9f4
cmp cx, 9
je 0x14003a9f4
mov qword [rbp - 0x48], r13
xor ecx, ecx
cmp byte [rsp + 0x55], 0
je 0x14003aa54
movzx eax, word [r15]
test ax, ax
jne 0x14003aa02
mov qword [rbp - 0x48], rcx
jmp 0x14003aa54
xor ecx, ecx
mov word [rax], cx
mov r13d, ecx
mov qword [rbp - 0x48], rcx
jmp 0x14003a9de
mov rdx, r15
cmp ax, 0x20
je 0x14003aa11
cmp ax, 9
jne 0x14003aa1b
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14003aa05
mov rax, rdx
sub rax, r15
sar rax, 1
je 0x14003aa50
cmp r13, 0xffffffffffffffff
jne 0x14003aa3d
nop dword [rax]
inc r13
cmp word [rdx + r13*2], 0
jne 0x14003aa30
jmp 0x14003aa40
sub r13, rax
lea r8, [r13*2 + 2]
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x48], r13
xor esi, esi
mov r12d, esi
mov dword [rsp + 0x4c], esi
cmp byte [rsp + 0x56], sil
je 0x14003ac8a
movzx eax, word [0x140125c20]
mov rdi, 0xffffffffffffffff
mov word [rsp + 0x50], ax
mov r13d, 0xffffffff
mov word [rsp + 0x68], ax
mov word [rsp + 0x6a], ax
nop dword [rax + rax]
inc rdi
cmp word [r15 + rdi*2], si
jne 0x14003aa90
mov rdx, qword [rsp + 0x60]
mov r15, rsi
mov qword [rsp + 0x70], rdi
mov qword [rbp - 0x78], rsi
cmp word [rdx], si
je 0x14003ac86
test ax, ax
je 0x14003ac86
lea rcx, [rsp + 0x50]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], si
jne 0x14003aad0
mov qword [rbp - 0x50], rax
lea rcx, [rsp + 0x68]
mov r14, 0xffffffffffffffff
nop dword [rax]
inc r14
cmp word [rcx + r14*2], si
jne 0x14003aaf0
mov ecx, r14d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rsp + 0x78], ecx
js 0x14003ab22
test ecx, ecx
jle 0x14003ab22
cdq
idiv ecx
mov rdx, qword [rsp + 0x60]
cmp eax, r13d
jae 0x14003ab38
mov r13d, eax
jmp 0x14003ab38
mov r13d, eax
sar r13d, 0x1f
and r13d, 1
dec r13d
test ecx, ecx
je 0x14003ada4
cmp rdi, 0x1388
jb 0x14003ada4
mov ebx, esi
mov rdi, rdx
mov dword [rsp + 0x4c], ebx
test r13d, r13d
je 0x14003ac83
nop word [rax + rax]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rsi, rax
test rax, rax
je 0x14003ac2b
inc ebx
lea rcx, [r15 + r14]
mov dword [rsp + 0x4c], ebx
dec r13d
mov rbx, rax
sub rbx, rdi
sar rbx, 1
add rcx, rbx
cmp rcx, qword [rbp - 0x78]
jb 0x14003abe4
sub rax, qword [rsp + 0x60]
mov r8d, r13d
movsxd r9, dword [rsp + 0x70]
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, dword [rsp + 0x4c]
movsxd rax, ecx
movsxd rcx, dword [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.1400cf030
mov rcx, r12
mov qword [rbp - 0x78], rax
lea rdx, [rax + rax]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14003ac73
mov r12, rax
test rbx, rbx
je 0x14003abfc
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + r15*2]
call sub.VCRUNTIME140.dll_memcpy
add r15, rbx
test r14, r14
je 0x14003ac16
lea r8, [r14 + r14]
lea rcx, [r12 + r15*2]
lea rdx, [rsp + 0x68]
call sub.VCRUNTIME140.dll_memcpy
add r15, r14
mov rax, qword [rbp - 0x50]
mov ebx, dword [rsp + 0x4c]
lea rdi, [rsi + rax*2]
test r13d, r13d
jne 0x14003ab60
test ebx, ebx
je 0x14003ac81
mov r14, qword [rsp + 0x60]
mov rax, rdi
mov rsi, qword [rsp + 0x70]
sub rax, r14
sar rax, 1
sub rsi, rax
je 0x14003ad77
lea rbx, [r15 + rsi]
cmp rbx, qword [rbp - 0x78]
jb 0x14003ad64
lea rdx, [rbx*2 + 2]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
jne 0x14003ad61
test r12, r12
je 0x14003ac81
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor esi, esi
mov r12d, esi
mov dword [rsp + 0x4c], esi
cmp byte [rsp + 0x57], 0
je 0x14003afc3
movzx ecx, word [0x140125c24]
mov rdi, 0xffffffffffffffff
movzx eax, word [0x140125c20]
mov r15d, 0xffffffff
mov rdx, qword [rsp + 0x60]
mov word [rsp + 0x50], cx
mov word [rsp + 0x68], ax
mov word [rsp + 0x6a], cx
inc rdi
cmp word [rdx + rdi*2], 0
jne 0x14003acc4
cmp word [rdx], 0
mov rbx, rsi
mov qword [rsp + 0x70], rbx
mov r12, rsi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x50], rsi
je 0x14003afb3
test cx, cx
je 0x14003afb3
lea rcx, [rsp + 0x50]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x14003ad00
mov qword [rbp - 0x38], rax
lea rcx, [rsp + 0x68]
mov r14, 0xffffffffffffffff
nop word [rax + rax]
inc r14
cmp word [rcx + r14*2], 0
jne 0x14003ad20
mov ecx, r14d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rbp - 0x60], ecx
js 0x14003ae38
test ecx, ecx
jle 0x14003ae38
cdq
idiv ecx
mov rdx, qword [rsp + 0x60]
cmp eax, r15d
jae 0x14003ae4e
mov r15d, eax
jmp 0x14003ae4e
mov r12, rax
lea r8, [rsi + rsi]
mov rdx, rdi
lea rcx, [r12 + r15*2]
call sub.VCRUNTIME140.dll_memcpy
mov r15, rbx
xor esi, esi
lea r8, [r15*2 + 2]
mov rdx, r12
mov word [r12 + r15*2], si
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r12d, dword [rsp + 0x4c]
jmp 0x14003ac8a
mov dword [rsp + 0x4c], r12d
mov rsi, rdx
test r13d, r13d
je 0x14003ae31
movsxd r15, ecx
nop dword [rax + rax]
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14003ae2c
lea rdi, [r14 + r14]
lea rsi, [rdi + rax]
test r15d, r15d
je 0x14003ae0e
sub rax, qword [rsp + 0x60]
mov rcx, rsi
mov r8, qword [rsp + 0x70]
sar rax, 1
sub r8, rax
mov rax, qword [rbp - 0x50]
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [rsp + 0x68]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
add qword [rsp + 0x70], r15
inc r12d
add r13d, 0xffffffff
jne 0x14003adc0
mov dword [rsp + 0x4c], r12d
xor esi, esi
jmp 0x14003ac8a
mov r15d, eax
sar r15d, 0x1f
and r15d, 1
dec r15d
test ecx, ecx
je 0x14003b0e2
cmp rdi, 0x1388
jb 0x14003b0e2
mov r13d, esi
mov rdi, rdx
test r15d, r15d
je 0x14003afb3
nop word [rax + rax]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rsi, rax
test rax, rax
je 0x14003af5c
dec r15d
mov rbx, rax
mov rax, qword [rsp + 0x70]
sub rbx, rdi
sar rbx, 1
inc r13d
mov dword [rsp + 0x78], r15d
lea r15, [rax + rbx]
lea rcx, [r15 + r14]
cmp rcx, qword [rbp - 0x50]
jb 0x14003af03
movsxd r9, dword [rbp - 0x78]
mov rax, rsi
sub rax, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x78]
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, r13d
movsxd rax, ecx
movsxd rcx, dword [rbp - 0x60]
mov qword [rsp + 0x20], rax
call fcn.1400cf030
mov rcx, r12
mov qword [rbp - 0x50], rax
lea rdx, [rax + rax]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14003afa3
mov r12, rax
mov rax, qword [rsp + 0x70]
test rbx, rbx
je 0x14003af22
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call sub.VCRUNTIME140.dll_memcpy
mov rbx, r15
mov qword [rsp + 0x70], rbx
jmp 0x14003af27
mov rbx, qword [rsp + 0x70]
test r14, r14
je 0x14003af46
lea r8, [r14 + r14]
lea rcx, [r12 + rbx*2]
lea rdx, [rsp + 0x68]
call sub.VCRUNTIME140.dll_memcpy
add rbx, r14
mov qword [rsp + 0x70], rbx
mov rax, qword [rbp - 0x38]
mov r15d, dword [rsp + 0x78]
lea rdi, [rsi + rax*2]
test r15d, r15d
jne 0x14003ae70
test r13d, r13d
je 0x14003afb1
mov r14, qword [rsp + 0x60]
mov rax, rdi
mov rsi, qword [rbp - 0x78]
sub rax, r14
sar rax, 1
sub rsi, rax
je 0x14003b0ba
add rbx, rsi
cmp rbx, qword [rbp - 0x50]
jb 0x14003b0a5
lea rdx, [rbx*2 + 2]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
jne 0x14003b0a2
test r12, r12
je 0x14003afb1
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor esi, esi
mov r13d, esi
mov r12d, dword [rsp + 0x4c]
add r12d, r13d
mov dword [rsp + 0x4c], r12d
cmp byte [rsp + 0x58], 0
je 0x14003b328
movzx ecx, word [0x140125c28]
mov rdi, 0xffffffffffffffff
movzx eax, word [0x140125c20]
mov r15d, 0xffffffff
mov rdx, qword [rsp + 0x60]
mov word [rsp + 0x50], cx
mov word [rsp + 0x68], ax
mov word [rsp + 0x6a], cx
nop dword [rax]
inc rdi
cmp word [rdx + rdi*2], 0
jne 0x14003b000
cmp word [rdx], 0
mov rbx, rsi
mov qword [rsp + 0x70], rbx
mov r12, rsi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x50], rsi
je 0x14003b31d
test cx, cx
je 0x14003b31d
lea rcx, [rsp + 0x50]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14003b040
mov qword [rbp - 0x38], rax
lea rcx, [rsp + 0x68]
mov r14, 0xffffffffffffffff
nop word [rax + rax]
inc r14
cmp word [rcx + r14*2], 0
jne 0x14003b060
mov ecx, r14d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rsp + 0x78], ecx
js 0x14003b161
test ecx, ecx
jle 0x14003b161
cdq
idiv ecx
mov rdx, qword [rsp + 0x60]
cmp eax, r15d
jae 0x14003b177
mov r15d, eax
jmp 0x14003b177
mov r12, rax
mov rax, qword [rsp + 0x70]
lea r8, [rsi + rsi]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call sub.VCRUNTIME140.dll_memcpy
xor esi, esi
lea r8, [rbx*2 + 2]
mov rdx, r12
mov word [r12 + rbx*2], si
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14003afb6
mov r13d, esi
mov rsi, rdx
test r15d, r15d
je 0x14003b15a
movsxd r12, ecx
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14003b15a
lea rdi, [r14 + r14]
lea rsi, [rdi + rax]
test r12d, r12d
je 0x14003b13d
sub rax, qword [rsp + 0x60]
mov rcx, rsi
mov r8, qword [rbp - 0x78]
sar rax, 1
sub r8, rax
mov rax, qword [rbp - 0x38]
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [rsp + 0x68]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
add qword [rbp - 0x78], r12
inc r13d
add r15d, 0xffffffff
jne 0x14003b0f0
xor esi, esi
jmp 0x14003afb6
mov r15d, eax
sar r15d, 0x1f
and r15d, 1
dec r15d
test ecx, ecx
je 0x14003b350
cmp rdi, 0x1388
jb 0x14003b350
mov r13d, esi
mov rdi, rdx
test r15d, r15d
je 0x14003b31d
nop dword [rax]
nop word [rax + rax]
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rsi, rax
test rax, rax
je 0x14003b28a
dec r15d
mov rbx, rax
mov rax, qword [rsp + 0x70]
sub rbx, rdi
sar rbx, 1
inc r13d
mov dword [rbp - 0x60], r15d
lea r15, [rbx + rax]
lea rcx, [r15 + r14]
cmp rcx, qword [rbp - 0x50]
jb 0x14003b232
movsxd r9, dword [rbp - 0x78]
mov rax, rsi
sub rax, qword [rsp + 0x60]
mov r8d, dword [rbp - 0x60]
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, r13d
movsxd rax, ecx
movsxd rcx, dword [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.1400cf030
mov rcx, r12
mov qword [rbp - 0x50], rax
lea rdx, [rax + rax]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14003b2c9
mov r12, rax
mov rax, qword [rsp + 0x70]
test rbx, rbx
je 0x14003b251
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call sub.VCRUNTIME140.dll_memcpy
mov rbx, r15
mov qword [rsp + 0x70], rbx
jmp 0x14003b256
mov rbx, qword [rsp + 0x70]
test r14, r14
je 0x14003b275
lea r8, [r14 + r14]
lea rcx, [r12 + rbx*2]
lea rdx, [rsp + 0x68]
call sub.VCRUNTIME140.dll_memcpy
add rbx, r14
mov qword [rsp + 0x70], rbx
mov rax, qword [rbp - 0x38]
mov r15d, dword [rbp - 0x60]
lea rdi, [rsi + rax*2]
test r15d, r15d
jne 0x14003b1a0
test r13d, r13d
je 0x14003b31b
mov r14, qword [rsp + 0x60]
mov rax, rdi
mov rsi, qword [rbp - 0x78]
sub rax, r14
sar rax, 1
sub rsi, rax
je 0x14003b2f6
add rbx, rsi
cmp rbx, qword [rbp - 0x50]
jb 0x14003b2e1
lea rdx, [rbx*2 + 2]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
jne 0x14003b2de
test r12, r12
je 0x14003b2d7
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
mov r13d, eax
jmp 0x14003b320
mov r12, rax
mov rax, qword [rsp + 0x70]
lea r8, [rsi + rsi]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call sub.VCRUNTIME140.dll_memcpy
xor eax, eax
lea r8, [rbx*2 + 2]
mov rdx, r12
mov word [r12 + rbx*2], ax
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14003b320
xor esi, esi
mov r13d, esi
mov r12d, dword [rsp + 0x4c]
add r12d, r13d
mov r15, qword [rsp + 0x60]
test r12d, r12d
je 0x14003b3cf
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x14003b340
jmp 0x14003b3d3
mov r13d, esi
mov rsi, rdx
test r15d, r15d
je 0x14003b320
movsxd r12, ecx
nop
lea rdx, [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14003b320
lea rdi, [r14 + r14]
lea rsi, [rdi + rax]
test r12d, r12d
je 0x14003b3ad
sub rax, qword [rsp + 0x60]
mov rcx, rsi
mov r8, qword [rbp - 0x78]
sar rax, 1
sub r8, rax
mov rax, qword [rbp - 0x38]
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [rsp + 0x68]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
add qword [rbp - 0x78], r12
inc r13d
add r15d, 0xffffffff
jne 0x14003b360
jmp 0x14003b320
mov rdi, qword [rbp - 0x48]
mov r12, qword [rbp - 0x30]
mov rsi, qword [rbp - 0x70]
mov r14d, dword [rbp - 0x68]
mov rbx, qword [rbp - 0x20]
lea rax, [r12 + rdi]
add rax, rsi
cmp rax, 0x4001
jae 0x14003cb10
mov eax, dword [rbp - 0x3c]
inc eax
mov dword [rbp - 0x3c], eax
cmp eax, 1
jle 0x14003b42e
test r12, r12
je 0x14003b42e
cmp rbx, r15
jne 0x14003b42e
mov rax, qword [rsp + 0x40]
lea r8, [r12*2 + 2]
lea rdx, [rbp + 8]
lea rcx, [rax + rsi*2]
call sub.VCRUNTIME140.dll_memcpy
add rsi, r12
mov qword [rbp - 0x70], rsi
test rdi, rdi
je 0x14003a240
mov rax, qword [rsp + 0x40]
lea r8, [rdi*2 + 2]
mov rdx, rbx
lea rcx, [rax + rsi*2]
call sub.VCRUNTIME140.dll_memcpy
add rsi, rdi
mov qword [rbp - 0x70], rsi
jmp 0x14003a240
mov word [rsi], di
mov rsi, qword [rbp - 0x70]
movzx r13d, byte [rsp + 0x48]
xor edi, edi
mov r14, qword [rbp + 0x1c0b0]
test rsi, rsi
je 0x14003b879
cmp word [rbp + 0x4030], 0
je 0x14003b62f
mov eax, dword [rbp - 0x58]
mov ebx, dword [r14 + 0x28c]
mov dword [r14 + 0x28c], eax
mov rax, qword [rsp + 0x40]
cmp word [rax], 0x7b
je 0x14003b518
cmp byte [rbp + 0x1c0c8], 0
jne 0x14003b518
cmp dword [rbp - 0x64], 0
jne 0x14003ca01
cmp dword [r14 + 0x40], 0
je 0x14003b4d4
mov rax, qword [0x140124200]
cmp qword [rax + 0xd8], 0
je 0x14003c9d0
mov qword [rsp + 0x38], rdi
lea rdx, [rbp + 0x4030]
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov qword [rsp + 0x28], rdi
mov r8b, 3
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.1400401b0
test eax, eax
je 0x14003c7e7
mov qword [r14 + 0x6d0], rdi
mov word [rbp + 0x4030], di
jmp 0x14003b628
mov edi, dword [rbp - 0x64]
mov ecx, edi
test edi, edi
je 0x14003b562
sub ecx, 1
je 0x14003b540
cmp ecx, 1
jne 0x14003b5ba
lea rdx, [rbp + 0x4030]
mov rcx, r14
call fcn.14004af30
jmp 0x14003b54f
lea rdx, [rbp + 0x4030]
mov rcx, r14
call fcn.14004a780
test eax, eax
je 0x14003c7e7
xor edi, edi
mov word [rbp + 0x4030], di
jmp 0x14003b5c9
mov rax, qword [0x140124200]
mov rcx, r14
cmp qword [rax + 0xd8], 0
jne 0x14003ca1c
lea r8, [rbp + 0x1b0]
lea rdx, [rbp + 0x4030]
call fcn.1400497f0
test eax, eax
je 0x14003c7e7
cmp byte [rbp + 0x1c0c8], 0
je 0x14003b5ba
xor edi, edi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov dl, 0x77
mov rcx, r14
call fcn.1400437b0
jmp 0x14003b4fd
xor eax, eax
mov word [rbp + 0x4030], ax
test edi, edi
je 0x14003b626
xor edi, edi
cmp byte [rbp + 0x1c0c8], 0
jne 0x14003b628
mov rdx, qword [rsp + 0x40]
movzx eax, word [rdx + 2]
add rdx, 2
cmp ax, 0x20
je 0x14003b5d7
cmp ax, 9
je 0x14003b5d7
test ax, ax
jne 0x14003b5fc
mov dword [r14 + 0x28c], ebx
jmp 0x14003b879
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x14003b603
mov rcx, qword [rsp + 0x40]
mov qword [rbp - 0x70], r8
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
jmp 0x14003b628
xor edi, edi
mov dword [r14 + 0x28c], ebx
mov rax, qword [rsp + 0x40]
cmp word [rax], 0x7d
jne 0x14003b77a
movsxd rdx, dword [r14 + 0x40]
test edx, edx
je 0x14003b77a
mov rax, qword [0x140124200]
cmp qword [rax + 0xd8], 0
jne 0x14003b77a
cmp qword [r14 + 0x278], 0
je 0x14003b692
mov rcx, qword [r14 + 0x280]
mov qword [r14 + 0x278], rdi
test rcx, rcx
je 0x14003b72f
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r14 + 0x280], rdi
jmp 0x14003b72f
lea ecx, [rdx - 1]
mov dword [r14 + 0x40], ecx
mov rsi, qword [r14 + rdx*8 + 0x40]
mov rbx, qword [rsi + 0x20]
sub rbx, 1
js 0x14003b701
mov rdi, rbx
shl rdi, 5
nop
mov rcx, qword [rsi + 0x18]
cmp dword [rdi + rcx + 0x18], 1
jne 0x14003b6f3
cmp rbx, qword [rsi + 0x38]
jl 0x14003b6cc
mov rcx, qword [rdi + rcx + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r8, qword [rsi + 0x20]
dec r8
mov qword [rsi + 0x20], r8
cmp rbx, r8
jge 0x14003b6f3
mov rcx, qword [rsi + 0x18]
sub r8, rbx
add rcx, rdi
shl r8, 5
lea rdx, [rcx + 0x20]
call sub.VCRUNTIME140.dll_memmove
sub rdi, 0x20
sub rbx, 1
jns 0x14003b6b0
mov ecx, dword [r14 + 0x40]
movsxd rax, ecx
mov rcx, qword [r14 + rax*8 + 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov edx, 0x2e
lea rcx, [r14 + 0x70]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
xor edi, edi
test rax, rax
je 0x14003b72a
mov word [rax], di
jmp 0x14003b72f
mov word [r14 + 0x70], di
mov rax, qword [rsp + 0x40]
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x20
je 0x14003b734
cmp cx, 9
je 0x14003b734
mov qword [rsp + 0x40], rax
cmp word [rax], 0
je 0x14003b879
mov rsi, 0xffffffffffffffff
nop
inc rsi
cmp word [rax + rsi*2], 0
jne 0x14003b760
mov qword [rbp - 0x70], rsi
mov qword [r14 + 0x6d0], rdi
jmp 0x14003b472
cmp qword [r14 + 0x278], 0
je 0x14003b900
mov rax, qword [0x140124200]
cmp qword [rax + 0xd8], 0
jne 0x14003b900
mov rcx, qword [rsp + 0x40]
lea rdx, [0x140109828]
mov r8d, 3
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
je 0x14003b7d9
mov rcx, qword [rsp + 0x40]
lea rdx, [0x140109830]
mov r8d, 3
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003ca34
mov r8, qword [rsp + 0x40]
lea rbx, [r8 + 6]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003b7f1
cmp ax, 9
jne 0x14003b7f7
add rbx, 2
jmp 0x14003b7e2
test ax, ax
je 0x14003b811
cmp ax, 0x7b
jne 0x14003ca39
cmp word [rbx + 2], 0
jne 0x14003ca39
mov rcx, qword [r14 + 0x280]
lea rdx, [rbp + 0x4030]
sub rdx, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14003b830
mov edx, 0x2e
lea rcx, [rbp + 0x4030]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rdx, rax
mov rax, qword [rsp + 0x40]
movzx ecx, word [rax]
mov word [rdx + 2], cx
cmp word [rbx], 0x7b
mov eax, dword [r14 + 0x28c]
sete byte [rbp + 0x1c0c8]
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x64], edi
test r13b, r13b
je 0x14003c96f
mov ebx, dword [rbp - 0x5c]
inc ebx
mov ecx, ebx
mov dword [rbp - 0x5c], ebx
sub ecx, 1
je 0x14003bd8c
sub ecx, 1
je 0x14003bc9d
sub ecx, 1
je 0x14003c8ea
cmp ecx, 7
jne 0x14003c96f
movzx ecx, r13b
lea r8, [0x1400ef7e4]
sub ecx, 0x12
je 0x14003b8d1
sub ecx, 0x92
je 0x14003b8d1
cmp ecx, 1
jne 0x14003bd0b
movzx ecx, byte [rsp + 0x7c]
sub ecx, 0x11
je 0x14003bd04
sub ecx, 0x91
je 0x14003bd04
cmp ecx, 1
jne 0x14003bd0b
lea r8, str.RCtrl_up
jmp 0x14003bd0b
mov rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x1c0c8]
call fcn.1400395d0
test al, al
je 0x14003b94f
mov rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x4030]
sub rdx, rcx
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14003b930
mov eax, dword [r14 + 0x28c]
mov dword [rbp - 0x58], eax
jmp 0x14003b876
mov rax, qword [0x140124200]
cmp qword [rax + 0xd8], 0
jne 0x14003bc94
mov rdi, qword [rsp + 0x40]
lea rdx, str.Class
mov rcx, rdi
mov r8d, 5
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003ba88
movzx eax, word [rdi + 0xa]
cmp ax, 0x20
je 0x14003b99b
cmp ax, 9
jne 0x14003ba88
lea rbx, [rdi + 0xc]
nop
movzx edx, word [rbx]
cmp dx, 0x20
je 0x14003b9af
cmp dx, 9
jne 0x14003b9b5
add rbx, 2
jmp 0x14003b9a0
lea rcx, [0x140109508]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x14003ba88
mov rax, 0xffffffffffffffff
cmp word [rbx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x14003b9d2
lea rcx, [rax - 1]
cmp word [rbx + rcx*2], 0x7b
lea rcx, [rbx + rcx*2]
sete byte [rbp + 0x1c0c8]
jne 0x14003ba50
xor edx, edx
mov word [rcx], dx
sub rcx, rdi
sar rcx, 1
cmp word [rdi], dx
je 0x14003ba50
cmp rcx, 0xffffffffffffffff
jne 0x14003ba19
nop word [rax + rax]
inc rcx
cmp word [rdi + rcx*2], dx
jne 0x14003ba10
lea rax, [rdi - 2]
lea rax, [rax + rcx*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14003ba30
cmp cx, 9
jne 0x14003ba3b
cmp rax, rdi
je 0x14003ba41
sub rax, 2
jmp 0x14003ba21
mov word [rax + 2], dx
jmp 0x14003ba50
cmp cx, 0x20
je 0x14003ba4d
cmp cx, 9
jne 0x14003ba50
mov word [rax], dx
lea rcx, [rbp + 0x4030]
sub rcx, rbx
nop word [rax + rax]
movzx eax, word [rbx]
mov word [rcx + rbx], ax
lea rbx, [rbx + 2]
test ax, ax
jne 0x14003ba60
mov eax, dword [r14 + 0x28c]
xor edi, edi
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x64], 1
jmp 0x14003b879
cmp dword [r14 + 0x40], 0
je 0x14003bc89
mov rbx, qword [rsp + 0x40]
nop dword [rax + rax]
movzx ecx, word [rbx]
test ecx, 0xffffff80
jne 0x14003babd
mov edx, 0x107
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
movzx ecx, word [rbx]
test eax, eax
jne 0x14003bacf
cmp cx, 0x5f
je 0x14003bacf
cmp cx, 0x7f
ja 0x14003bacf
cmp cx, 0x2e
jne 0x14003bad5
add rbx, 2
jmp 0x14003baa0
cmp rbx, qword [rsp + 0x40]
jbe 0x14003bc08
cmp cx, 0x20
je 0x14003baec
cmp cx, 9
jne 0x14003baf6
movzx ecx, word [rbx + 2]
add rbx, 2
jmp 0x14003bae0
cmp cx, 0x3a
jne 0x14003bb26
cmp word [rbx + 2], 0x3d
jne 0x14003bc08
mov rdx, qword [rsp + 0x40]
xor r8d, r8d
mov rcx, r14
call fcn.14004b190
test eax, eax
je 0x14003c7e7
xor edi, edi
jmp 0x14003b879
test cx, cx
je 0x14003bb46
cmp cx, 0x5b
je 0x14003bb46
cmp cx, 0x7b
jne 0x14003bc08
cmp word [rbx + 2], 0
jne 0x14003bc08
mov rax, qword [rsp + 0x40]
mov rdx, 0xffffffffffffffff
inc rdx
cmp word [rax + rdx*2], 0
jne 0x14003bb52
mov rcx, qword [rsp + 0x40]
cmp word [rcx + rdx*2 - 2], 0x7b
sete byte [rbp + 0x1c0c8]
jne 0x14003bbcc
dec rdx
cmp word [rcx], 0
je 0x14003bbcc
cmp rdx, 0xffffffffffffffff
jne 0x14003bb8a
nop
inc rdx
cmp word [rcx + rdx*2], 0
jne 0x14003bb80
mov rcx, qword [rsp + 0x40]
add rcx, 0xfffffffffffffffe
lea rcx, [rcx + rdx*2]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14003bba6
cmp ax, 9
jne 0x14003bbb3
cmp rcx, qword [rsp + 0x40]
je 0x14003bbbb
sub rcx, 2
jmp 0x14003bb97
xor eax, eax
mov word [rcx + 2], ax
jmp 0x14003bbcc
cmp ax, 0x20
je 0x14003bbc7
cmp ax, 9
jne 0x14003bbcc
xor eax, eax
mov word [rcx], ax
mov rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x4030]
sub rdx, rcx
nop dword [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14003bbe0
mov eax, dword [r14 + 0x28c]
xor edi, edi
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x64], 2
jmp 0x14003b879
mov rcx, qword [rsp + 0x40]
lea rdx, [0x140103c40]
mov r8d, 6
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
mov r8, qword [rsp + 0x40]
test eax, eax
jne 0x14003bc46
movzx eax, word [r8 + 0xc]
cmp ax, 0x20
je 0x14003bc3a
cmp ax, 9
jne 0x14003bc46
lea rdx, [r8 + 0xe]
mov r8b, 1
jmp 0x14003bb0f
cmp word [r8], 0x23
jne 0x14003bc75
mov ebx, dword [r14 + 0x28c]
mov rdx, r8
mov rcx, r14
call fcn.14003d2c0
test eax, eax
je 0x14003c7e7
cmp eax, 3
je 0x14003c821
mov r8, qword [rsp + 0x40]
lea rdx, str.Not_a_valid_method__class_or_property_definition.
mov rcx, r14
call fcn.14005fed0
jmp 0x14003cbe3
mov rsi, qword [rbp - 0x70]
xor edi, edi
jmp 0x14003bda4
mov rsi, qword [rbp - 0x70]
jmp 0x14003bda4
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov eax, dword [0x140106238]
mov r9d, 1
cmp byte [rsp + 0x4a], 0
mov qword [rsp + 0x20], rdi
mov dword [rcx], eax
setne dl
movzx eax, word [0x14010623c]
add dl, 0xc5
mov word [rcx + 4], ax
mov rcx, r14
call fcn.1400437b0
cmp byte [rsp + 0x59], 0
je 0x14003b8b0
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x30]
lea rdx, str.if_not_GetKeyState___s__
call fcn.1400071f0
mov dword [rbp - 0x5c], 9
jmp 0x14003bda1
lea r8, str.LCtrl_up
mov rcx, qword [rsp + 0x40]
lea rax, [rbp + 0x30]
lea r9, [rbp - 0x10]
mov qword [rsp + 0x20], rax
lea rdx, str.Blind_s_s_s_DownR
mov qword [r14 + 0x6d0], rdi
call fcn.1400071f0
mov r9d, 1
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
mov dl, 0x41
mov rcx, r14
call fcn.1400437b0
test eax, eax
je 0x14003c7e7
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov dl, 0x67
mov rcx, r14
call fcn.1400437b0
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x70]
lea rdx, str._s_up::
mov qword [r14 + 0x6d0], rdi
call fcn.1400071f0
mov dword [rbp - 0x5c], 2
jmp 0x14003bda1
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x70]
lea rdx, str._s::
call fcn.1400071f0
movsxd rsi, eax
mov rcx, qword [rsp + 0x40]
mov r12, rdi
mov r15, rdi
cmp word [rcx], 0x3a
jne 0x14003bfc0
movzx edx, word [rcx + 2]
lea rax, [rcx + 2]
test dx, dx
je 0x14003bfc0
mov qword [rbp - 0x18], rax
mov r8, rax
cmp dx, 0x3a
je 0x14003be04
mov edx, 0x3a
mov rcx, rax
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rcx, qword [rsp + 0x40]
mov r12, rax
test rax, rax
jne 0x14003bdfa
mov r12, rdi
jmp 0x14003bfc0
mov r8, qword [rbp - 0x18]
add r12, 2
jmp 0x14003be13
cmp word [rcx + 4], 0
je 0x14003bfc0
lea r12, [rcx + 4]
test r12, r12
je 0x14003bfc0
movzx r9d, byte [0x140127a74]
mov rbx, r8
mov byte [rsp + 0x49], r9b
cmp r8, r12
jae 0x14003be93
mov edx, 0xffdf
nop word [rax + rax]
movzx edi, word [rbx]
test edi, 0xffffff80
je 0x14003be4f
xor eax, eax
jmp 0x14003be61
mov edx, 2
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
mov edx, 0xffdf
mov ecx, eax
add rbx, 2
movzx eax, di
and ax, dx
test ecx, ecx
cmove ax, di
cmp ax, 0x58
je 0x14003be86
cmp rbx, r12
jb 0x14003be40
movzx r9d, byte [rsp + 0x49]
jmp 0x14003be93
cmp word [rbx], 0x30
setne r9b
mov byte [rsp + 0x49], r9b
mov rdi, r12
nop word [rax + rax]
movzx ecx, word [rdi]
mov r8, r15
test cx, cx
je 0x14003bed2
movzx eax, cx
nop
cmp ax, word [0x140125c20]
movzx ecx, ax
je 0x14003bed2
cmp ax, 0x3a
je 0x14003bed2
movzx eax, word [rdi + 2]
add rdi, 2
movzx ecx, ax
test ax, ax
jne 0x14003beb0
mov rdx, rdi
test cx, cx
je 0x14003bfad
movzx eax, word [rdi + 2]
lea rbx, [rdi + 2]
cmp cx, 0x3a
jne 0x14003bf16
cmp eax, 0x3a
jne 0x14003bf00
mov r15, rdi
mov rdi, rbx
test r9b, r9b
jne 0x14003bfad
movzx r9d, byte [rsp + 0x49]
cmp eax, 0x3a
mov r15, rdx
cmovne r15, r8
add rdi, 2
jmp 0x14003bea0
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x14003bf31.99
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x3cc50]
add rcx, rdx
jmp rcx
mov eax, 7
jmp 0x14003bf62
mov eax, 8
jmp 0x14003bf62
mov eax, reloc.WSOCK32.dll_ioctlsocket
jmp 0x14003bf62
mov eax, 0xa
jmp 0x14003bf62
mov eax, ntohs
jmp 0x14003bf62
mov eax, 9
jmp 0x14003bf62
mov eax, reloc.WSOCK32.dll_inet_ntoa
mov word [rbx], ax
mov r8, 0xffffffffffffffff
nop dword [rax]
cmp word [rbx + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x14003bf70
lea r8, [r8*2 + 2]
mov rdx, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
cmp word [rdi], 0x3a
jne 0x14003bf9e
cmp word [rbx], 0x3a
cmove rdi, rbx
movzx r9d, byte [rsp + 0x49]
add rdi, 2
jmp 0x14003bea0
test r15, r15
jne 0x14003c05f
mov rcx, qword [rsp + 0x40]
xor eax, eax
mov r12d, eax
lea rdx, [0x1401096bc]
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov r15, rax
test rax, rax
je 0x14003c71f
mov rcx, qword [rsp + 0x40]
cmp rax, rcx
jne 0x14003bfee
cmp word [rax + 4], 0x3a
jne 0x14003bfee
add r15, 2
mov rbx, r15
cmp r15, rcx
jbe 0x14003c00e
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003c005
cmp ax, 9
jne 0x14003c00e
sub rbx, 2
cmp rbx, rcx
ja 0x14003bff6
movzx edi, word [rbx]
xor eax, eax
mov word [rbx], ax
mov rcx, qword [rsp + 0x40]
nop dword [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14003c02f
cmp ax, 9
jne 0x14003c035
add rcx, 2
jmp 0x14003c020
xor r8d, r8d
xor edx, edx
call fcn.140019b10
mov dword [rbp - 0x28], eax
test eax, eax
je 0x14003c71c
cmp eax, 4
je 0x14003c7e7
mov word [rbx], di
test r15, r15
je 0x14003c71f
mov rcx, qword [rsp + 0x40]
cmp r15, rcx
jbe 0x14003c724
mov rax, qword [0x140124200]
cmp qword [rax + 0xd8], 0
jne 0x14003cae2
mov rax, qword [r14 + 0x668]
test rax, rax
je 0x14003c097
cmp byte [rax], 0x1a
je 0x14003ca4d
xor edi, edi
mov word [r15], di
add r15, 4
test r12, r12
jne 0x14003c3ee
movzx eax, word [r15]
test ax, ax
je 0x14003c0fc
mov rdx, r15
cmp ax, 0x20
je 0x14003c0c2
cmp ax, 9
jne 0x14003c0cc
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14003c0b6
mov rax, rdx
sub rax, r15
cmp rax, 2
jb 0x14003c0fc
mov r8, 0xffffffffffffffff
nop
cmp word [rdx + r8*2 + 2], di
lea r8, [r8 + 1]
jne 0x14003c0e0
lea r8, [r8*2 + 2]
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov rsi, r15
cmp word [r15], di
je 0x14003c3ee
cmp word [r15 + 2], di
je 0x14003c18c
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov rdx, rax
cmp word [r15], di
je case.0x14003c159.34
movzx eax, word [r15 + 2]
test ax, ax
je case.0x14003c159.34
lea r8, [0x140000000]
cmp ax, 0x20
je case.0x14003c159.34
movzx eax, word [rsi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14003c159.34
cdqe
movzx eax, byte [r8 + rax + 0x3ccb0]
mov ecx, dword [r8 + rax*4 + 0x3cca8]
add rcx, r8
jmp rcx
movzx eax, word [rsi + 4]
add rsi, 2
test ax, ax
jne 0x14003c132
mov qword [rsp + 0x20], rdx
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.140024050
mov byte [rsp + 0x48], al
movzx r13d, al
test al, al
je 0x14003c3ee
jmp 0x14003c194
mov r13b, 0xff
mov byte [rsp + 0x48], r13b
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov rbx, qword [rsp + 0x40]
mov r8, rax
cmp word [rbx], di
je case.0x14003c1e7.34
movzx eax, word [rbx + 2]
lea rdx, [rbx + 2]
test ax, ax
je case.0x14003c1e7.34
lea r9, [0x140000000]
nop dword [rax]
cmp ax, 0x20
je case.0x14003c1e7.34
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14003c1e7.34
cdqe
movzx eax, byte [r9 + rax + 0x3cd18]
mov ecx, dword [r9 + rax*4 + 0x3cd10]
add rcx, r9
jmp rcx
movzx eax, word [rdx + 2]
mov rbx, rdx
add rdx, 2
test ax, ax
jne 0x14003c1c0
mov qword [rsp + 0x20], r8
xor edx, edx
xor r8d, r8d
mov rcx, rbx
call fcn.140024050
lea rdx, [0x140106710]
mov byte [rsp + 0x7c], al
mov rcx, rbx
movzx edi, al
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
test rax, rax
lea ecx, [rdi - 1]
setne r14b
cmp cl, 5
ja 0x14003c237
cmp dil, 3
jne 0x14003c23e
lea eax, [rdi + 0x66]
cmp al, 5
ja 0x14003c242
mov cl, 1
jmp 0x14003c244
xor cl, cl
lea eax, [r13 - 1]
cmp al, 5
ja 0x14003c252
cmp r13b, 3
jne 0x14003c25a
lea eax, [r13 + 0x66]
cmp al, 5
ja 0x14003c25e
mov al, 1
jmp 0x14003c260
xor al, al
mov byte [rsp + 0x4a], al
test cl, cl
jne 0x14003c271
mov byte [rsp + 0x59], 1
test al, al
jne 0x14003c276
mov byte [rsp + 0x59], 0
mov rdi, qword [rsp + 0x40]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], 0
jne 0x14003c282
cmp rax, 1
jne 0x14003c2a6
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
lea rax, [0x140109930]
jne 0x14003c2ad
lea rax, [0x1400ef7e4]
lea rcx, [0x1400ef7e4]
mov qword [rsp + 0x28], rdi
test r14b, r14b
mov qword [rsp + 0x20], rax
lea r9, [0x140109504]
mov edx, SafeArrayAllocDescriptor
cmovne r9, rcx
lea r8, [0x140109938]
lea rcx, [rbp + 0x70]
call fcn.1400ce300
mov r8d, SafeArrayAllocDescriptor
lea rcx, [rbp + 0x30]
mov rdx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
xor edi, edi
lea rcx, [rbp - 0x10]
mov rdx, r15
mov word [rbp + 0x6e], di
lea r8d, [rdi + 7]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
sub rsi, r15
mov word [rbp - 2], di
sar rsi, 1
cmp rsi, 8
jae 0x14003c320
mov word [rbp + rsi*2 - 0x10], di
mov ebx, edi
mov dword [rbp - 0x5c], ebx
cmp word [rbp - 0x10], di
jne 0x14003c70e
cmp r13b, 0xd
je 0x14003c3bf
cmp r13b, 0x13
jne 0x14003c70e
movzx eax, word [rbp + 0x30]
mov ebx, eax
test eax, 0xffffff80
je 0x14003c354
mov edx, edi
jmp 0x14003c367
mov edx, 2
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
mov edx, eax
movzx eax, word [rbp + 0x30]
movzx ecx, bx
mov esi, 0xffdf
and cx, si
test edx, edx
cmove cx, bx
cmp cx, 0x50
je 0x14003c3df
movzx ebx, ax
test ebx, 0xffffff80
je 0x14003c38d
mov eax, edi
jmp 0x14003c39a
mov edx, 2
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
movzx ecx, bx
and cx, si
test eax, eax
cmove cx, bx
cmp cx, 0x42
je 0x14003c3df
mov r14, qword [rbp + 0x1c0b0]
mov dword [rbp - 0x5c], 1
jmp 0x14003bd8c
lea rdx, str.Return
lea rcx, [rbp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
mov r14, qword [rbp + 0x1c0b0]
test eax, eax
jne 0x14003b885
mov r14, qword [rbp + 0x1c0b0]
xor r13b, r13b
mov byte [rsp + 0x48], r13b
cmp byte [r14 + 0x290], 0
je 0x14003c436
mov r9d, 0xff
mov byte [r14 + 0x290], 0
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov dl, 0x67
mov rcx, r14
call fcn.1400437b0
test eax, eax
je 0x14003c7e7
mov rax, qword [r14 + 0x668]
mov qword [rax + 0x10], 1
mov qword [r14 + 0x6d0], rdi
mov rdx, qword [rsp + 0x40]
mov r8b, 1
mov rcx, r14
call fcn.140040000
test eax, eax
je 0x14003c7e7
test r12, r12
je 0x14003c55c
cmp word [r12], 0
je 0x14003ca8e
mov rdx, qword [r14 + 0x688]
lea r8, [0x1400ef7e4]
movzx ebx, byte [rsp + 0x49]
mov rax, r15
mov byte [rsp + 0x30], 0
test bl, bl
mov r9, r12
mov rcx, qword [rdx + 8]
cmovne rax, r8
movzx r8d, byte [rsp + 0x5a]
mov byte [rsp + 0x28], r8b
mov r8, qword [rbp - 0x18]
mov qword [rsp + 0x20], rax
call fcn.14001aff0
test eax, eax
je 0x14003c7e7
movzx eax, word [r15]
test ax, ax
je 0x14003bb1f
test bl, bl
je 0x14003c52b
mov rdx, r15
cmp ax, 0x20
je 0x14003c4cc
cmp ax, 9
jne 0x14003c4d6
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14003c4c0
mov qword [rsp + 0x38], rdi
xor r9d, r9d
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.1400401b0
test eax, eax
je 0x14003c7e7
mov rax, qword [r14 + 0x668]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14003ca6b
sub cl, 0x69
cmp cl, 0xa
ja 0x14003c52b
mov eax, 0x707
bt eax, ecx
jb 0x14003ca6b
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov dl, 0x67
mov rcx, r14
call fcn.1400437b0
test eax, eax
je 0x14003c7e7
mov rax, qword [r14 + 0x668]
mov qword [rax + 0x10], 1
jmp 0x14003b879
cmp word [r15], 0
movzx ebx, di
je 0x14003c600
xor edx, edx
mov rcx, r15
call fcn.140017490
movzx ebx, ax
test ax, ax
jne 0x14003c5d4
mov qword [rsp + 0x38], rdi
xor r9d, r9d
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov rdx, r15
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.1400401b0
test eax, eax
je 0x14003c7e7
mov rax, qword [r14 + 0x668]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14003ca6b
sub cl, 0x69
cmp cl, 0xa
ja 0x14003c5d4
mov eax, 0x707
bt eax, ecx
jb 0x14003ca6b
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov dl, 0x67
mov rcx, r14
call fcn.1400437b0
test eax, eax
je 0x14003c7e7
mov rax, qword [r14 + 0x668]
mov qword [rax + 0x10], 1
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x7d]
lea rdx, [rsp + 0x5b]
call fcn.14001a1d0
mov rdi, rax
test rax, rax
je 0x14003c690
test bx, bx
je 0x14003c62c
mov word [rax + 6], bx
xor edi, edi
jmp 0x14003b879
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14003c653
mov rcx, qword [0x1401288a8]
nop dword [rax]
cmp qword [rax + 8], rcx
je 0x14003caa7
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003c640
movzx r8d, byte [rsp + 0x5b]
mov rcx, rdi
mov rdx, qword [r14 + 0x688]
call fcn.1400199b0
test rax, rax
je 0x14003cac9
cmp byte [rsp + 0x7d], 0
jne 0x14003c685
cmp byte [0x140127b43], 0
je 0x14003bb1f
mov byte [rdi + 0x14], 1
xor edi, edi
jmp 0x14003b879
mov rcx, qword [r14 + 0x688]
movzx edx, bx
movzx r9d, byte [rsp + 0x5b]
mov byte [rsp + 0x20], 0
mov r8, qword [rcx + 8]
call fcn.1400190b0
test rax, rax
jne 0x14003bb1f
cmp dword [rbp - 0x28], 3
jne 0x14003c7e7
cmp qword [r14 + 0xbe8], rax
jne 0x14003bb1f
mov r9, qword [rsp + 0x40]
lea r8, str.Note:_The_hotkey__s_will_not_be_active_because_it_does_not_exist_in_the_current_keyboard_layout.
mov edx, 0x80
lea rcx, [rbp + 0xb0]
call fcn.1400ce300
xor edi, edi
lea rcx, [rbp + 0xb0]
xorps xmm3, xmm3
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov edx, 0x10000
call fcn.1400d58f0
jmp 0x14003b879
mov r14, qword [rbp + 0x1c0b0]
xor edi, edi
jmp 0x14003b879
mov word [rbx], di
mov rcx, qword [rsp + 0x40]
cmp word [rcx + rsi*2 - 2], 0x3a
jne 0x14003c800
cmp rsi, 1
je 0x14003caf9
movzx eax, word [rcx]
mov rdx, rcx
test ax, ax
je 0x14003c788
movzx r8d, word [0x140125c28]
nop dword [rax]
cmp ax, 0x20
je 0x14003c800
cmp ax, 9
je 0x14003c800
cmp ax, r8w
je 0x14003c800
cmp ax, word [0x140125c20]
je 0x14003c800
movzx eax, word [rdx + 2]
add rdx, 2
test ax, ax
jne 0x14003c750
cmp word [rcx + rsi*2 - 4], 0x3a
jne 0x14003c796
cmp rsi, 2
ja 0x14003c800
xor edi, edi
lea rdx, str.Default
mov word [rcx + rsi*2 - 2], di
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14003c7ee
mov rax, qword [r14 + 0x30]
test rax, rax
je 0x14003c7ee
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14003c7ee
cmp byte [rcx], 0x75
jne 0x14003c7ee
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov dl, 0x76
mov rcx, r14
call fcn.1400437b0
test eax, eax
jne 0x14003b879
xor eax, eax
jmp 0x14003cbe3
mov rdx, qword [rsp + 0x40]
xor r8d, r8d
mov rcx, r14
call fcn.140040000
jmp 0x14003c7df
cmp word [rcx], 0x23
jne 0x14003c83e
mov ebx, dword [r14 + 0x28c]
mov rdx, rcx
mov rcx, r14
call fcn.14003d2c0
test eax, eax
je 0x14003c7e7
cmp eax, 3
jne 0x14003c839
mov eax, dword [rbp - 0x40]
xor edi, edi
mov dword [r14 + 0x288], eax
mov dword [r14 + 0x28c], ebx
jmp 0x14003b879
mov rcx, qword [rsp + 0x40]
movzx edx, word [rcx]
mov r8d, 0xfffd
lea eax, [rdx - 0x7b]
test r8w, ax
je 0x14003c87c
xor edi, edi
mov rdx, rcx
mov qword [rsp + 0x38], rdi
xor r9d, r9d
mov qword [rsp + 0x30], rdi
xor r8d, r8d
mov qword [rsp + 0x28], rdi
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.1400401b0
jmp 0x14003c7df
cmp dx, 0x7b
mov rcx, r14
setne dl
xor edi, edi
add dl, 0x77
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
call fcn.1400437b0
test eax, eax
je 0x14003c7e7
mov rax, qword [rsp + 0x40]
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x20
je 0x14003c8a8
cmp cx, 9
je 0x14003c8a8
mov qword [rsp + 0x40], rax
cmp word [rax], di
je 0x14003b879
mov rsi, 0xffffffffffffffff
inc rsi
cmp word [rax + rsi*2], di
jne 0x14003c8d1
mov qword [rbp - 0x70], rsi
mov qword [r14 + 0x6d0], rdi
jmp 0x14003b472
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov eax, dword [0x140106238]
mov r9d, 1
cmp byte [rsp + 0x4a], 0
mov qword [rsp + 0x20], rdi
mov dword [rcx], eax
setne dl
movzx eax, word [0x14010623c]
add dl, 0xc5
mov word [rcx + 4], ax
mov rcx, r14
call fcn.1400437b0
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x30]
lea rdx, str.Blind_s_Up
call fcn.1400071f0
mov r9d, 1
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
mov dl, 0x41
mov rcx, r14
call fcn.1400437b0
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov dl, 0x67
mov rcx, r14
call fcn.1400437b0
xor al, al
mov byte [rsp + 0x48], al
mov rcx, qword [rsp + 0x60]
lea rax, [rbp + 0xc040]
cmp qword [rbp], rax
lea r15, [rbp + 0x14050]
mov rsi, qword [rbp - 0x48]
lea rdx, [rbp + 0xc040]
movzx ebx, byte [rbp + 0x1c0c0]
cmovne r15, rdx
mov edi, dword [rbp - 0x80]
xor r12d, r12d
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x40], rcx
mov qword [rbp - 0x70], rsi
jmp 0x14003a1dd
mov r8, r15
mov rcx, qword [rbp + 0x1c0b0]
lea rdx, str.Continuation_section_too_long.
call fcn.14005fed0
jmp 0x14003cbe3
cmp qword [r14 + 0x278], 0
lea rdx, [0x1401097a8]
lea rax, str.Not_a_valid_method__class_or_property_definition.
mov rcx, r14
cmovne rax, rdx
lea r8, [rbp + 0x4030]
mov rdx, rax
call fcn.14005fed0
jmp 0x14003cbe3
lea r8, [rbp + 0x4030]
mov rcx, r14
lea rdx, [0x1401097a8]
call fcn.14005fed0
jmp 0x14003cbe3
lea r8, [rbp + 0x4030]
lea rdx, str.Functions_cannot_contain_functions.
call fcn.14005fed0
jmp 0x14003cbe3
mov r8, qword [rsp + 0x40]
lea rdx, str.Not_a_valid_property_getter_setter.
mov rcx, r14
call fcn.14005fed0
jmp 0x14003cbe3
mov r8, rcx
mov qword [r14 + 0x6d0], rax
mov rcx, r14
lea rdx, str.IfWin_should_be_IfWin.
call fcn.14005fed0
jmp 0x14003cbe3
mov eax, 0x3a
lea rdx, str.Invalid_single_line_hotkey_hotstring.
mov word [r15 - 4], ax
mov rcx, r14
mov r8, qword [rsp + 0x40]
call fcn.14005fed0
jmp 0x14003cbe3
mov r8, qword [rsp + 0x40]
lea rdx, str.This_hotstring_is_missing_its_abbreviation.
mov rcx, r14
call fcn.14005fed0
jmp 0x14003cbe3
mov r8, qword [rsp + 0x40]
lea rdx, str.Duplicate_hotkey.
xor eax, eax
mov rcx, r14
mov qword [r14 + 0x6d0], rax
call fcn.14005fed0
jmp 0x14003cbe3
mov r8, qword [rsp + 0x40]
lea rdx, str.Out_of_memory.
mov rcx, r14
call fcn.14005fed0
jmp 0x14003cbe3
mov r8, rcx
lea rdx, str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov rcx, r14
call fcn.14005fed0
jmp 0x14003cbe3
mov r8, rcx
lea rdx, str.This_line_does_not_contain_a_recognized_action.
mov rcx, r14
call fcn.14005fed0
jmp 0x14003cbe3
mov r8, rbx
jmp 0x14003c9b8
mov r8, qword [rsp + 0x40]
lea rdx, [0x140109748]
mov rcx, qword [rbp + 0x1c0b0]
call fcn.14005fed0
jmp 0x14003cbe3
cmp word [rbp + 0x4030], 0
je 0x14003cbb5
cmp dword [rbp - 0x64], 0
mov rcx, r14
mov ebx, dword [r14 + 0x28c]
mov eax, dword [rbp - 0x58]
mov dword [r14 + 0x28c], eax
je 0x14003cb80
cmp byte [rbp + 0x1c0c8], 0
lea rax, str.Missing___
lea rdx, [0x1401097a8]
cmovne rdx, rax
lea r8, [rbp + 0x4030]
call fcn.14005fed0
jmp 0x14003cbe3
mov qword [rsp + 0x38], r12
lea rdx, [rbp + 0x4030]
mov qword [rsp + 0x30], r12
xor r9d, r9d
mov qword [rsp + 0x28], r12
mov r8b, 3
mov qword [rsp + 0x20], r12
call fcn.1400401b0
test eax, eax
je 0x14003c7e7
mov dword [r14 + 0x28c], ebx
cmp dword [r14 + 0x40], 0
je 0x14003cbd7
cmp dword [rbp - 0x40], 0
jne 0x14003cbd7
lea r8, [r14 + 0x70]
mov rcx, r14
lea rdx, str.Missing___
call fcn.14005fed0
jmp 0x14003cbe3
inc dword [r14 + 0x28c]
mov eax, 1
add rsp, 0x1c168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret