Function at 0x14002d5a0
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.1400ddd60
sub rsp, rax
mov edi, dword [0x140116724]
lea rax, [rbp + 0xc040]
xor r15d, r15d
mov qword [rsp + 0x40], rax
xor al, al
mov qword [rsp + 0x20], rdx
dec edi
mov byte [rsp + 0x48], al
lea rbx, [rbp + 0x14050]
mov dword [rsp + 0x4c], edi
mov r14d, 0xffffffff
mov word [rbp + 0x4030], r15w
xor r9d, r9d
mov qword [rsp + 0x68], rbx
lea rdx, [rbp + 0xc040]
mov word [rsp + 0x5a], r15w
mov r13, rcx
mov word [rsp + 0x74], r15w
mov dword [rcx + 0x288], edi
mov dword [rbp - 0x38], r14d
call fcn.140030400
mov rcx, qword [rsp + 0x40]
lea r8d, [r15 + 2]
lea rdx, [0x1400f8528]
mov qword [rbp - 0x68], rax
mov rsi, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
sete byte [rbp + 0x1c0c0]
test eax, eax
jne 0x14002d66d
mov rax, qword [rsp + 0x40]
mov esi, r15d
mov qword [rbp - 0x68], r15
mov word [rax], r15w
mov rcx, qword [rsp + 0x40]
mov qword [rbp + 8], rbx
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
cmp rsi, 0xffffffffffffffff
je 0x140030040
lea eax, [r14 + 1]
mov r8d, edx
xor edi, edi
mov dword [r13 + 0x28c], eax
lea rdx, str.CommentFlag
mov qword [r13 + 0x6d0], rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14002d6c2
mov rdx, qword [rsp + 0x40]
mov rcx, r13
call fcn.1400307a0
test eax, eax
je 0x14002fcb9
mov r13, qword [rsp + 0x68]
mov r14d, edi
mov r15, qword [rbp - 0x28]
mov byte [rsp + 0x62], dil
mov dword [rbp - 0x60], edi
jmp 0x14002d6e2
xor edi, edi
movzx ebx, byte [rbp + 0x1c0c0]
nop dword [rax]
mov rax, qword [rbp + 0x1c0b8]
mov r9d, r14d
inc dword [rbp - 0x38]
mov rdx, r13
mov qword [rsp + 0x20], rax
call fcn.140030400
mov r12, rax
mov qword [rbp - 0x40], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14002d821
test r14d, r14d
jne 0x14002d821
lea r8d, [r14 + 2]
mov rcx, r13
lea rdx, [0x1400f854c]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
jne 0x14002d7f2
test bl, bl
jne 0x14002d75b
cmp word [r13 + 4], 0x3a
jne 0x14002d75b
cmp word [r13 + 6], 0x3a
je 0x14002d7fa
sub r12, 2
lea rdx, [r13 + 4]
xor bl, bl
mov rcx, r13
mov byte [rbp + 0x1c0c0], bl
lea r8, [r12*2 + 2]
call sub.VCRUNTIME140.dll_memmove
movzx eax, word [r13]
test ax, ax
je 0x14002d6f0
mov rdx, r13
nop dword [rax]
cmp ax, 0x20
je 0x14002d79c
cmp ax, 9
jne 0x14002d7a6
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14002d790
mov rax, rdx
sub rax, r13
sar rax, 1
je 0x14002d7e0
cmp r12, 0xffffffffffffffff
jne 0x14002d7cd
nop word [rax + rax]
inc r12
cmp word [rdx + r12*2], 0
jne 0x14002d7c0
jmp 0x14002d7d0
sub r12, rax
lea r8, [r12*2 + 2]
mov rcx, r13
call sub.VCRUNTIME140.dll_memmove
cmp word [r13], 0
mov qword [rbp - 0x40], r12
je 0x14002d6f0
jmp 0x14002d7fa
test bl, bl
jne 0x14002d6f0
mov r8d, 2
lea rdx, [0x1400f8528]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
jne 0x14002d821
mov bl, 1
mov byte [rbp + 0x1c0c0], bl
jmp 0x14002d6f0
test bl, bl
je 0x14002d834
cmp r12, 0xffffffffffffffff
jne 0x14002d6f0
jmp 0x14002e933
test r14d, r14d
jne 0x14002dda6
cmp r12, 0xffffffffffffffff
je 0x14002da96
cmp word [r13], 0x28
jne 0x14002da96
movzx eax, word [r13 + 2]
lea rbx, [r13 + 2]
cmp ax, 0x3a
je 0x14002da8f
cmp word [r13 + r12*2 - 2], 0x3a
je 0x14002da8f
movzx ecx, byte [0x1401157de]
mov r14d, 1
mov dword [rbp - 0x60], r14d
mov r15d, r14d
mov byte [rsp + 0x5d], cl
mov byte [rsp + 0x5c], r14b
mov byte [rsp + 0x60], r14b
mov qword [rbp - 0x28], r14
mov dword [rbp - 0x34], edi
mov byte [rsp + 0x5e], 0
mov byte [rsp + 0x5f], 0
mov dword [rbp + 0x10], 0xa
nop dword [rax]
cmp ax, 0x20
je 0x14002d8bc
cmp ax, 9
jne 0x14002d8c6
movzx eax, word [rbx + 2]
add rbx, 2
jmp 0x14002d8b0
test ax, ax
je 0x14002da85
xor r12d, r12d
mov rsi, rbx
test rbx, rbx
je 0x14002d91f
movzx edx, word [rbx]
test dx, dx
je 0x14002d91f
nop dword [rax]
nop word [rax + rax]
lea rcx, [0x1400f6260]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14002d940
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14002d900
movzx edx, word [rsi + 2]
add rsi, 2
test dx, dx
jne 0x14002d8f0
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rbx + rax*2 + 2], r12w
lea rax, [rax + 1]
jne 0x14002d930
lea rsi, [rbx + rax*2]
movzx edi, word [rsi]
lea rdx, str.Join
mov r8d, 4
mov word [rsi], r12w
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14002d9a3
lea rdx, [rbx + 8]
lea r8d, [rax + 0xf]
lea rcx, [rbp + 0x10]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r8b, 1
mov word [rbp + 0x2e], r12w
lea rcx, [rbp + 0x10]
call fcn.1400c1a40
lea rax, [rbp + 0x10]
mov r15, 0xffffffffffffffff
nop
inc r15
cmp word [rax + r15*2], r12w
jne 0x14002d990
mov qword [rbp - 0x28], r15
jmp 0x14002da54
mov r8d, 5
lea rdx, [0x1400f8608]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14002d9cc
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x5d]
jmp 0x14002da54
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 0x14002d9f2
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x5c]
jmp 0x14002da54
movzx eax, word [rbx]
test ax, ax
je 0x14002da54
nop word [rax + rax]
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x14002da26.38
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x3011c]
mov ecx, dword [rdx + rax*4 + 0x30104]
add rcx, rdx
jmp rcx
mov byte [rsp + 0x5e], 1
jmp case.0x14002da26.38
mov byte [rsp + 0x5f], 1
jmp case.0x14002da26.38
mov byte [rsp + 0x60], r12b
jmp case.0x14002da26.38
mov r14d, 2
mov dword [rbp - 0x60], r14d
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14002da00
mov word [rsi], di
mov rbx, rsi
nop word [rax + rax]
cmp di, 0x20
je 0x14002da6c
cmp di, 9
jne 0x14002da76
movzx edi, word [rbx + 2]
add rbx, 2
jmp 0x14002da60
test di, di
jne 0x14002d8d2
mov rsi, qword [rbp - 0x68]
xor edi, edi
mov byte [rsp + 0x62], 1
jmp 0x14002d6e2
movzx ebx, byte [rbp + 0x1c0c0]
mov dword [rbp - 0x60], edi
mov r14d, edi
cmp r12, 0xffffffffffffffff
je 0x14002e933
test r12, r12
je 0x14002d6f0
cmp word [r13 + r12*2 - 2], 0x3a
jne 0x14002dac4
cmp word [r13], 0x2c
jne 0x14002e933
movzx ebx, word [r13]
test ebx, 0xffffff80
je 0x14002dad5
mov ecx, edi
jmp 0x14002dae4
mov edx, 2
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
mov ecx, eax
mov eax, ebx
and eax, 0xffffffdf
test ecx, ecx
cmove eax, ebx
cmp eax, 0x41
je 0x14002dd54
cmp eax, 0x4f
je 0x14002dccf
movzx edx, word [r13]
cmp edx, 0x3a
ja 0x14002db25
movabs rcx, 0x400280000000000
bt rcx, rdx
jae 0x14002db25
cmp word [r13 + 2], dx
je 0x14002e933
lea rcx, str.____:.___
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x14002e933
lea rdx, [0x1400f859c]
mov rcx, r13
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rdi, rax
test rax, rax
je 0x14002dc22
cmp word [r13], 0x3a
jne 0x14002dbbc
movzx eax, word [r13 + 2]
lea rbx, [r13 + 2]
test ax, ax
je 0x14002dbb2
nop dword [rax]
cmp ax, 0x3a
je 0x14002dbb2
movzx ecx, ax
test ecx, 0xffffff80
jne 0x14002db90
mov edx, 0x107
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
jne 0x14002dba5
movzx edx, word [rbx]
lea rcx, [0x1400f85a8]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x14002dbbc
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14002db70
cmp word [rbx], 0x3a
je 0x14002e933
cmp word [r13], 0x2c
jne 0x14002dc72
lea rbx, [r13 + 2]
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002dbdf
cmp ax, 9
jne 0x14002dbe5
add rbx, 2
jmp 0x14002dbd0
mov r8d, 2
lea rdx, [0x1400f859c]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
je 0x14002e933
lea rcx, [rbx - 2]
mov r8d, 3
lea rdx, [0x1400f6250]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
je 0x14002e933
xor edi, edi
lea rax, [r12 + rsi]
cmp rax, 0x4000
jae 0x14002fea9
cmp word [r13], 0x2c
je 0x14002dc4d
mov rax, qword [rsp + 0x40]
mov ecx, SafeArrayAllocDescriptor
mov word [rax + rsi*2], cx
inc rsi
mov rax, qword [rsp + 0x40]
lea r8, [r12*2 + 2]
mov rdx, r13
lea rcx, [rax + rsi*2]
call sub.VCRUNTIME140.dll_memcpy
add rsi, r12
mov qword [rbp - 0x68], rsi
jmp 0x14002d6e2
mov rax, r13
cmp r13, rdi
jae 0x14002dc8f
nop word [rax + rax]
cmp word [rax], 0x22
je 0x14002dc98
add rax, 2
cmp rax, rdi
jb 0x14002dc80
cmp rax, rdi
je 0x14002e933
movzx edx, word [rdi + 4]
lea rcx, [rdi + 4]
test dx, dx
je 0x14002e933
nop dword [rax]
cmp dx, 0x22
je 0x14002dc22
movzx eax, word [rcx + 2]
add rcx, 2
movzx edx, ax
test ax, ax
jne 0x14002dcb0
jmp 0x14002e933
movzx ebx, word [r13 + 2]
test ebx, 0xffffff80
je 0x14002dce0
mov ecx, edi
jmp 0x14002dcef
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 0x14002e933
movzx edx, word [r13 + 4]
lea rax, [r13 + 4]
cmp dx, 0x20
je 0x14002dd2f
cmp dx, 9
jne 0x14002e933
cmp dx, 0x20
je 0x14002dd2f
cmp dx, 9
jne 0x14002dd39
movzx edx, word [rax + 2]
add rax, 2
jmp 0x14002dd23
lea rcx, str.____:
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x14002e933
jmp 0x14002dc24
mov r8d, 3
lea rdx, [0x1400f8558]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14002e933
movzx edx, word [r13 + 6]
lea rax, [r13 + 6]
cmp dx, 0x20
je 0x14002dd9c
cmp dx, 9
jne 0x14002e933
nop dword [rax + rax]
cmp dx, 0x20
je 0x14002dd9c
cmp dx, 9
jne 0x14002dd39
movzx edx, word [rax + 2]
add rax, 2
jmp 0x14002dd90
cmp r12, 0xffffffffffffffff
je 0x140030023
cmp r12, 0xfffffffffffffffe
je 0x14002d6f0
movzx eax, word [r13]
cmp ax, 0x29
jne 0x14002de3e
mov r14d, edi
mov dword [rbp - 0x60], edi
mov rdi, 0xffffffffffffffff
inc rdi
cmp word [r13 + rdi*2], 0
jne 0x14002ddd2
lea rax, [rdi*2 - 2]
add rax, r13
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14002ddff
cmp cx, 9
jne 0x14002de0d
cmp rax, r13
je 0x14002de1f
sub rax, 2
dec rdi
jmp 0x14002ddf0
xor ecx, ecx
lea rbx, [r13 + 2]
mov word [rax + 2], cx
dec rdi
jmp 0x14002e8b3
cmp cx, 0x20
je 0x14002de2b
cmp cx, 9
jne 0x14002de32
xor ecx, ecx
mov word [rax], cx
mov edi, ecx
lea rbx, [r13 + 2]
dec rdi
jmp 0x14002e8b3
cmp byte [rsp + 0x5c], 0
mov qword [rbp - 0x18], r13
je 0x14002dea3
test ax, ax
je 0x14002de9c
lea rax, [r12*2 - 2]
add rax, r13
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14002de6f
cmp cx, 9
jne 0x14002de7d
cmp rax, r13
je 0x14002de87
sub rax, 2
dec r12
jmp 0x14002de60
mov word [rax + 2], di
mov qword [rbp - 0x40], r12
jmp 0x14002dea3
cmp cx, 0x20
je 0x14002de99
cmp cx, 9
je 0x14002de99
mov qword [rbp - 0x40], r12
jmp 0x14002dea3
mov word [rax], di
mov qword [rbp - 0x40], rdi
mov r12, rdi
cmp byte [rsp + 0x5d], 0
je 0x14002df14
movzx eax, word [r13]
test ax, ax
jne 0x14002deba
mov qword [rbp - 0x40], rdi
jmp 0x14002df14
mov rdx, r13
nop dword [rax]
cmp ax, 0x20
je 0x14002decc
cmp ax, 9
jne 0x14002ded6
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14002dec0
mov rax, rdx
sub rax, r13
sar rax, 1
je 0x14002df10
cmp r12, 0xffffffffffffffff
jne 0x14002defd
nop word [rax + rax]
inc r12
cmp word [rdx + r12*2], 0
jne 0x14002def0
jmp 0x14002df00
sub r12, rax
lea r8, [r12*2 + 2]
mov rcx, r13
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x40], r12
cmp byte [rsp + 0x5e], 0
mov eax, edi
mov dword [rsp + 0x54], eax
je 0x14002e24c
movzx eax, word [0x140113a80]
mov r12d, 0xffffffff
mov word [rsp + 0x58], ax
mov r15, 0xffffffffffffffff
mov word [rsp + 0x70], ax
mov word [rsp + 0x72], ax
nop dword [rax + rax]
inc r15
cmp word [r13 + r15*2], 0
jne 0x14002df50
mov rdx, qword [rsp + 0x68]
mov rbx, rdi
mov qword [rbp - 0x48], r15
mov r13, rdi
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x70], rdi
cmp word [rdx], 0
je 0x14002e241
test ax, ax
je 0x14002e241
lea rcx, [rsp + 0x58]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x14002df92
mov qword [rbp - 0x80], rax
lea rcx, [rsp + 0x70]
mov r14, 0xffffffffffffffff
nop dword [rax]
inc r14
cmp word [rcx + r14*2], 0
jne 0x14002dfb0
mov ecx, r14d
sub ecx, eax
mov eax, 0x4000
sub eax, r15d
mov dword [rsp + 0x78], ecx
js 0x14002dfe4
test ecx, ecx
jle 0x14002dfe4
cdq
idiv ecx
mov rdx, qword [rsp + 0x68]
cmp eax, r12d
jae 0x14002dffa
mov r12d, eax
jmp 0x14002dffa
mov r12d, eax
sar r12d, 0x1f
and r12d, 1
dec r12d
test ecx, ecx
je 0x14002e1b6
cmp r15, 0x1388
jb 0x14002e1b6
mov dword [rsp + 0x54], edi
mov r15d, edi
mov rdi, rdx
test r12d, r12d
je 0x14002e15e
nop word [rax + rax]
lea rdx, [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rsi, rax
test rax, rax
je 0x14002e115
inc r15d
mov rbx, rax
mov rax, qword [rbp - 0x58]
sub rbx, rdi
sar rbx, 1
dec r12d
mov dword [rsp + 0x54], r15d
lea r15, [rax + rbx]
lea rcx, [r15 + r14]
cmp rcx, qword [rbp - 0x70]
jb 0x14002e0b1
movsxd r9, dword [rbp - 0x48]
mov rax, rsi
sub rax, qword [rsp + 0x68]
mov r8d, r12d
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, dword [rsp + 0x54]
movsxd rax, ecx
movsxd rcx, dword [rsp + 0x78]
mov qword [rsp + 0x20], rax
call fcn.1400c00a0
mov rcx, r13
mov qword [rbp - 0x70], rax
lea rdx, [rax + rax]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14002e150
mov r13, rax
mov rax, qword [rbp - 0x58]
test rbx, rbx
je 0x14002e0d6
lea rcx, [rax*2]
mov rdx, rdi
add rcx, r13
lea r8, [rbx + rbx]
call sub.VCRUNTIME140.dll_memcpy
mov rbx, r15
mov qword [rbp - 0x58], rbx
jmp 0x14002e0da
mov rbx, qword [rbp - 0x58]
test r14, r14
je 0x14002e0ff
lea rcx, [rbx*2]
add rcx, r13
lea r8, [r14 + r14]
lea rdx, [rsp + 0x70]
call sub.VCRUNTIME140.dll_memcpy
add rbx, r14
mov qword [rbp - 0x58], rbx
mov rax, qword [rbp - 0x80]
mov r15d, dword [rsp + 0x54]
lea rdi, [rsi + rax*2]
test r12d, r12d
jne 0x14002e020
test r15d, r15d
je 0x14002e15e
mov rsi, qword [rsp + 0x68]
mov rax, rdi
mov r15, qword [rbp - 0x48]
sub rax, rsi
sar rax, 1
sub r15, rax
je 0x14002e189
add rbx, r15
cmp rbx, qword [rbp - 0x70]
jb 0x14002e16e
lea rdx, [rbx*2 + 2]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
jne 0x14002e16b
test r13, r13
je 0x14002e15e
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ecx, ecx
mov eax, ecx
mov dword [rsp + 0x54], ecx
jmp 0x14002e247
mov r13, rax
mov rax, qword [rbp - 0x58]
lea r8, [r15 + r15]
mov rdx, rdi
lea rcx, [rax*2]
add rcx, r13
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
lea r8, [rbx*2 + 2]
mov word [r13 + rbx*2], cx
mov rdx, r13
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rsp + 0x54]
jmp 0x14002e247
mov eax, edi
mov rsi, rdx
mov dword [rsp + 0x54], eax
test r12d, r12d
je 0x14002e247
movsxd r13, ecx
nop dword [rax + rax]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14002e1ad
lea rdi, [r14 + r14]
lea rsi, [rdi + rax]
test r13d, r13d
je 0x14002e21c
sub rax, qword [rsp + 0x68]
mov r8, r15
sar rax, 1
mov rcx, rsi
sub r8, rax
mov rax, qword [rbp - 0x80]
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [rsp + 0x70]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x54]
add r15, r13
inc eax
mov dword [rsp + 0x54], eax
add r12d, 0xffffffff
jne 0x14002e1d0
jmp 0x14002e247
mov eax, edi
mov dword [rsp + 0x54], eax
mov r13, qword [rsp + 0x68]
cmp byte [rsp + 0x5f], 0
je 0x14002e4c9
movzx ecx, word [0x140113a84]
mov rdi, 0xffffffffffffffff
movzx eax, word [0x140113a80]
mov r15d, 0xffffffff
mov word [rsp + 0x58], cx
mov word [rsp + 0x70], ax
mov word [rsp + 0x72], cx
inc rdi
cmp word [r13 + rdi*2], 0
jne 0x14002e281
xor edx, edx
mov qword [rbp - 0x70], rdi
mov r12d, edx
mov ebx, edx
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x48], rdx
cmp word [r13], dx
je 0x14002e4bb
test cx, cx
je 0x14002e4bb
lea rcx, [rsp + 0x58]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], dx
jne 0x14002e2c0
mov qword [rbp - 0x30], rax
lea rcx, [rsp + 0x70]
mov r14, 0xffffffffffffffff
nop dword [rax]
inc r14
cmp word [rcx + r14*2], dx
jne 0x14002e2e0
mov ecx, r14d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rbp - 0x58], ecx
js 0x14002e30e
test ecx, ecx
jle 0x14002e30e
cdq
idiv ecx
xor edx, edx
cmp eax, r15d
jae 0x14002e324
mov r15d, eax
jmp 0x14002e324
mov r15d, eax
sar r15d, 0x1f
and r15d, 1
dec r15d
test ecx, ecx
je 0x14002e5a1
cmp rdi, 0x1388
jb 0x14002e5a1
mov rdi, qword [rsp + 0x68]
mov r13d, edx
test r15d, r15d
je 0x14002e4bb
lea rdx, [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rsi, rax
test rax, rax
je 0x14002e429
dec r15d
mov rbx, rax
mov rax, qword [rbp - 0x80]
sub rbx, rdi
sar rbx, 1
inc r13d
mov dword [rsp + 0x78], r15d
lea r15, [rbx + rax]
lea rcx, [r15 + r14]
cmp rcx, qword [rbp - 0x48]
jb 0x14002e3d3
movsxd r9, dword [rbp - 0x70]
mov rax, rsi
sub rax, qword [rsp + 0x68]
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 - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1400c00a0
mov rcx, r12
mov qword [rbp - 0x48], rax
lea rdx, [rax + rax]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14002e468
mov r12, rax
mov rax, qword [rbp - 0x80]
test rbx, rbx
je 0x14002e3f1
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call sub.VCRUNTIME140.dll_memcpy
mov rbx, r15
mov qword [rbp - 0x80], rbx
jmp 0x14002e3f5
mov rbx, qword [rbp - 0x80]
test r14, r14
je 0x14002e413
lea r8, [r14 + r14]
lea rcx, [r12 + rbx*2]
lea rdx, [rsp + 0x70]
call sub.VCRUNTIME140.dll_memcpy
add rbx, r14
mov qword [rbp - 0x80], rbx
mov rax, qword [rbp - 0x30]
mov r15d, dword [rsp + 0x78]
lea rdi, [rsi + rax*2]
test r15d, r15d
jne 0x14002e342
test r13d, r13d
je 0x14002e4b9
mov r14, qword [rsp + 0x68]
mov rax, rdi
mov rsi, qword [rbp - 0x70]
sub rax, r14
sar rax, 1
sub rsi, rax
je 0x14002e494
add rbx, rsi
cmp rbx, qword [rbp - 0x48]
jb 0x14002e480
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 0x14002e47d
test r12, r12
je 0x14002e476
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ecx, ecx
mov r13d, ecx
jmp 0x14002e4be
mov r12, rax
mov rax, qword [rbp - 0x80]
lea r8, [rsi + rsi]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
lea r8, [rbx*2 + 2]
mov word [r12 + rbx*2], cx
mov rdx, r12
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 0x14002e4be
xor edx, edx
mov r13d, edx
mov eax, dword [rsp + 0x54]
add eax, r13d
mov dword [rsp + 0x54], eax
cmp byte [rsp + 0x60], 0
je 0x14002e7f2
movzx ecx, word [0x140113a88]
mov rdi, 0xffffffffffffffff
movzx eax, word [0x140113a80]
mov r15d, 0xffffffff
mov rdx, qword [rsp + 0x68]
mov word [rsp + 0x58], cx
mov word [rsp + 0x70], ax
mov word [rsp + 0x72], cx
inc rdi
cmp word [rdx + rdi*2], 0
jne 0x14002e503
xor r8d, r8d
mov qword [rbp - 0x70], rdi
mov ebx, r8d
mov r12d, r8d
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x48], r8
cmp word [rdx], r8w
je 0x14002e7e8
test cx, cx
je 0x14002e7e8
lea rcx, [rsp + 0x58]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], bx
jne 0x14002e541
mov qword [rbp - 0x30], rax
lea rcx, [rsp + 0x70]
mov r14, 0xffffffffffffffff
nop word [rax + rax]
inc r14
cmp word [rcx + r14*2], bx
jne 0x14002e560
mov ecx, r14d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rsp + 0x78], ecx
js 0x14002e633
test ecx, ecx
jle 0x14002e633
cdq
idiv ecx
mov rdx, qword [rsp + 0x68]
cmp eax, r15d
jae 0x14002e649
mov r15d, eax
jmp 0x14002e649
mov rsi, qword [rsp + 0x68]
mov r13d, edx
test r15d, r15d
je 0x14002e4be
movsxd r12, ecx
nop word [rax + rax]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14002e4be
lea rdi, [r14 + r14]
lea rsi, [rdi + rax]
test r12d, r12d
je 0x14002e611
sub rax, qword [rsp + 0x68]
mov rcx, rsi
mov r8, qword [rbp - 0x70]
sar rax, 1
sub r8, rax
mov rax, qword [rbp - 0x30]
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [rsp + 0x70]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
add qword [rbp - 0x70], r12
inc r13d
add r15d, 0xffffffff
jne 0x14002e5c0
jmp 0x14002e4be
mov r15d, eax
sar r15d, 0x1f
and r15d, 1
dec r15d
test ecx, ecx
je 0x14002e821
cmp rdi, 0x1388
jb 0x14002e821
mov r13d, r8d
mov rdi, rdx
test r15d, r15d
je 0x14002e7e8
nop word [rax + rax]
lea rdx, [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rsi, rax
test rax, rax
je 0x14002e755
dec r15d
mov rbx, rax
mov rax, qword [rbp - 0x80]
sub rbx, rdi
sar rbx, 1
inc r13d
mov dword [rbp - 0x58], r15d
lea r15, [rbx + rax]
lea rcx, [r15 + r14]
cmp rcx, qword [rbp - 0x48]
jb 0x14002e700
movsxd r9, dword [rbp - 0x70]
mov rax, rsi
sub rax, qword [rsp + 0x68]
mov r8d, dword [rbp - 0x58]
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.1400c00a0
mov rcx, r12
mov qword [rbp - 0x48], rax
lea rdx, [rax + rax]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14002e794
mov r12, rax
mov rax, qword [rbp - 0x80]
test rbx, rbx
je 0x14002e71e
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call sub.VCRUNTIME140.dll_memcpy
mov rbx, r15
mov qword [rbp - 0x80], rbx
jmp 0x14002e722
mov rbx, qword [rbp - 0x80]
test r14, r14
je 0x14002e740
lea r8, [r14 + r14]
lea rcx, [r12 + rbx*2]
lea rdx, [rsp + 0x70]
call sub.VCRUNTIME140.dll_memcpy
add rbx, r14
mov qword [rbp - 0x80], rbx
mov rax, qword [rbp - 0x30]
mov r15d, dword [rbp - 0x58]
lea rdi, [rsi + rax*2]
test r15d, r15d
jne 0x14002e670
test r13d, r13d
je 0x14002e7e5
mov r14, qword [rsp + 0x68]
mov rax, rdi
mov rsi, qword [rbp - 0x70]
sub rax, r14
sar rax, 1
sub rsi, rax
je 0x14002e7c0
add rbx, rsi
cmp rbx, qword [rbp - 0x48]
jb 0x14002e7ac
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 0x14002e7a9
test r12, r12
je 0x14002e7a2
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ecx, ecx
mov r13d, ecx
jmp 0x14002e7eb
mov r12, rax
mov rax, qword [rbp - 0x80]
lea r8, [rsi + rsi]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
lea r8, [rbx*2 + 2]
mov word [r12 + rbx*2], cx
mov rdx, r12
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 0x14002e7eb
xor r8d, r8d
mov r13d, r8d
mov eax, dword [rsp + 0x54]
add eax, r13d
mov r13, qword [rsp + 0x68]
test eax, eax
je 0x14002e89f
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp word [r13 + rdi*2], 0
jne 0x14002e810
jmp 0x14002e8a3
mov r13d, r8d
mov rsi, rdx
test r15d, r15d
je 0x14002e7eb
movsxd r12, ecx
nop
lea rdx, [rsp + 0x58]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14002e7eb
lea rdi, [r14 + r14]
lea rsi, [rdi + rax]
test r12d, r12d
je 0x14002e87d
sub rax, qword [rsp + 0x68]
mov rcx, rsi
mov r8, qword [rbp - 0x70]
sar rax, 1
sub r8, rax
mov rax, qword [rbp - 0x30]
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [rsp + 0x70]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
add qword [rbp - 0x70], r12
inc r13d
add r15d, 0xffffffff
jne 0x14002e830
jmp 0x14002e7eb
mov rdi, qword [rbp - 0x40]
mov r15, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x68]
mov r14d, dword [rbp - 0x60]
mov rbx, qword [rbp - 0x18]
lea rax, [r15 + rdi]
add rax, rsi
cmp rax, 0x4001
jae 0x14003001b
mov eax, dword [rbp - 0x34]
inc eax
mov dword [rbp - 0x34], eax
cmp eax, 1
jle 0x14002e8fe
test r15, r15
je 0x14002e8fe
cmp rbx, r13
jne 0x14002e8fe
mov rax, qword [rsp + 0x40]
lea r8, [r15*2 + 2]
lea rdx, [rbp + 0x10]
lea rcx, [rax + rsi*2]
call sub.VCRUNTIME140.dll_memcpy
add rsi, r15
mov qword [rbp - 0x68], rsi
test rdi, rdi
je 0x14002d6e0
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 - 0x68], rsi
jmp 0x14002d6e0
mov word [rsi], di
mov rsi, qword [rbp - 0x68]
movzx r12d, byte [rsp + 0x48]
xor r14d, r14d
mov r13, qword [rbp + 0x1c0b0]
test rsi, rsi
je 0x14002ef93
cmp word [rbp + 0x4030], 0
je 0x14002eb0b
mov eax, dword [rbp - 0x50]
mov ebx, dword [r13 + 0x28c]
mov dword [r13 + 0x28c], eax
mov rax, qword [rsp + 0x40]
cmp word [rax], 0x7b
je 0x14002e9ea
cmp byte [rbp + 0x1c0c8], 0
jne 0x14002e9ea
cmp dword [rbp - 0x5c], 0
jne 0x14002fef5
cmp dword [r13 + 0x40], 0
je 0x14002e9a5
mov rax, qword [0x140112060]
cmp qword [rax + 0xd8], 0
je 0x14002fec4
mov qword [rsp + 0x38], r14
lea rdx, [rbp + 0x4030]
mov qword [rsp + 0x30], r14
xor r9d, r9d
mov qword [rsp + 0x28], r14
mov r8b, 3
mov rcx, r13
mov qword [rsp + 0x20], r14
call fcn.140033310
test eax, eax
je 0x14002fcb9
mov qword [r13 + 0x6d0], r14
mov word [rbp + 0x4030], r14w
jmp 0x14002eb04
mov edi, dword [rbp - 0x5c]
mov ecx, edi
test edi, edi
je 0x14002ea33
sub ecx, 1
je 0x14002ea12
cmp ecx, 1
jne 0x14002ea9d
lea rdx, [rbp + 0x4030]
mov rcx, r13
call fcn.14003a5a0
jmp 0x14002ea21
lea rdx, [rbp + 0x4030]
mov rcx, r13
call fcn.140039da0
test eax, eax
je 0x14002fcb9
mov word [rbp + 0x4030], r14w
jmp 0x14002eaa9
mov rax, qword [0x140112060]
mov rcx, r13
cmp qword [rax + 0xd8], 0
jne 0x14002ff10
lea r8, [rbp + 0x1b0]
lea rdx, [rbp + 0x4030]
call fcn.140038e10
test eax, eax
je 0x14002fcb9
cmp byte [rbp + 0x1c0c8], 0
je 0x14002ea9d
xor r9d, r9d
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov dl, 0x77
mov rcx, r13
call fcn.140036910
test eax, eax
je 0x14002fcb9
mov qword [r13 + 0x6d0], r14
mov word [rbp + 0x4030], r14w
jmp 0x14002eb04
mov word [rbp + 0x4030], r14w
test edi, edi
je 0x14002eb04
cmp byte [rbp + 0x1c0c8], 0
jne 0x14002eb04
mov rdx, qword [rsp + 0x40]
movzx eax, word [rdx + 2]
add rdx, 2
cmp ax, 0x20
je 0x14002eab7
cmp ax, 9
je 0x14002eab7
test ax, ax
jne 0x14002eadc
mov dword [r13 + 0x28c], ebx
jmp 0x14002ef93
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x14002eae3
mov rcx, qword [rsp + 0x40]
mov qword [rbp - 0x68], r8
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov dword [r13 + 0x28c], ebx
mov rax, qword [rsp + 0x40]
cmp word [rax], 0x7d
jne 0x14002ec5a
movsxd rdx, dword [r13 + 0x40]
test edx, edx
je 0x14002ec5a
mov rax, qword [0x140112060]
cmp qword [rax + 0xd8], 0
jne 0x14002ec5a
cmp qword [r13 + 0x278], 0
je 0x14002eb6e
mov rcx, qword [r13 + 0x280]
mov qword [r13 + 0x278], r14
test rcx, rcx
je 0x14002ec0e
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r13 + 0x280], r14
jmp 0x14002ec0e
lea ecx, [rdx - 1]
mov dword [r13 + 0x40], ecx
mov rsi, qword [r13 + rdx*8 + 0x40]
mov rbx, qword [rsi + 0x20]
sub rbx, 1
js 0x14002ebe1
mov rdi, rbx
shl rdi, 5
nop dword [rax + rax]
mov rcx, qword [rsi + 0x18]
cmp dword [rdi + rcx + 0x18], 1
jne 0x14002ebd3
cmp rbx, qword [rsi + 0x38]
jl 0x14002ebac
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 0x14002ebd3
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 0x14002eb90
mov ecx, dword [r13 + 0x40]
movsxd rax, ecx
mov rcx, qword [r13 + rax*8 + 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov edx, 0x2e
lea rcx, [r13 + 0x70]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
test rax, rax
je 0x14002ec09
mov word [rax], r14w
jmp 0x14002ec0e
mov word [r13 + 0x70], r14w
mov rax, qword [rsp + 0x40]
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x20
je 0x14002ec13
cmp cx, 9
je 0x14002ec13
mov qword [rsp + 0x40], rax
cmp word [rax], 0
je 0x14002ef93
mov rsi, 0xffffffffffffffff
nop dword [rax]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x14002ec40
mov qword [rbp - 0x68], rsi
mov qword [r13 + 0x6d0], r14
jmp 0x14002e943
cmp qword [r13 + 0x278], 0
je 0x14002ed60
mov rax, qword [0x140112060]
cmp qword [rax + 0xd8], 0
jne 0x14002ed60
mov rcx, qword [rsp + 0x40]
lea rdx, [0x1400f8708]
mov r8d, 3
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
je 0x14002ecb9
mov rcx, qword [rsp + 0x40]
lea rdx, [0x1400f8710]
mov r8d, 3
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14002ff28
mov r8, qword [rsp + 0x40]
lea rbx, [r8 + 6]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002ecd1
cmp ax, 9
jne 0x14002ecd7
add rbx, 2
jmp 0x14002ecc2
test ax, ax
je 0x14002ecf1
cmp ax, 0x7b
jne 0x14002ff2d
cmp word [rbx + 2], 0
jne 0x14002ff2d
mov rcx, qword [r13 + 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 0x14002ed10
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 [r13 + 0x28c]
sete byte [rbp + 0x1c0c8]
mov dword [rbp - 0x50], eax
xor esi, esi
mov dword [rbp - 0x5c], esi
jmp 0x14002ef95
mov rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x1c0c8]
call fcn.14002d040
test al, al
je 0x14002edb4
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 0x14002ed90
mov eax, dword [r13 + 0x28c]
xor esi, esi
mov dword [rbp - 0x5c], esi
mov dword [rbp - 0x50], eax
jmp 0x14002ef95
mov rax, qword [0x140112060]
cmp qword [rax + 0xd8], 0
jne 0x14002f18b
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 0x14002eef6
movzx eax, word [rdi + 0xa]
cmp ax, 0x20
je 0x14002ee00
cmp ax, 9
jne 0x14002eef6
lea rbx, [rdi + 0xc]
movzx edx, word [rbx]
cmp dx, 0x20
je 0x14002ee13
cmp dx, 9
jne 0x14002ee19
add rbx, 2
jmp 0x14002ee04
lea rcx, str.__t____:_______.___
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x14002eef6
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rbx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x14002ee40
lea rcx, [rax - 1]
cmp word [rbx + rcx*2], 0x7b
lea rcx, [rbx + rcx*2]
sete byte [rbp + 0x1c0c8]
jne 0x14002eec2
xor esi, esi
mov word [rcx], si
sub rcx, rdi
sar rcx, 1
cmp word [rdi], si
je 0x14002eec4
cmp rcx, 0xffffffffffffffff
jne 0x14002ee89
nop dword [rax + rax]
inc rcx
cmp word [rdi + rcx*2], si
jne 0x14002ee80
lea rax, [rdi - 2]
lea rax, [rax + rcx*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14002eea0
cmp cx, 9
jne 0x14002eeab
cmp rax, rdi
je 0x14002eeb1
sub rax, 2
jmp 0x14002ee91
mov word [rax + 2], si
jmp 0x14002eec4
cmp cx, 0x20
je 0x14002eebd
cmp cx, 9
jne 0x14002eec4
mov word [rax], si
jmp 0x14002eec4
xor esi, esi
lea rcx, [rbp + 0x4030]
sub rcx, rbx
nop
movzx eax, word [rbx]
mov word [rcx + rbx], ax
lea rbx, [rbx + 2]
test ax, ax
jne 0x14002eed0
mov eax, dword [r13 + 0x28c]
mov dword [rbp - 0x50], eax
mov dword [rbp - 0x5c], 1
jmp 0x14002ef95
cmp dword [r13 + 0x40], 0
je 0x14002f18b
mov rbx, qword [rsp + 0x40]
nop word [rax + rax]
movzx ecx, word [rbx]
test ecx, 0xffffff80
jne 0x14002ef2d
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 0x14002ef3f
cmp cx, 0x5f
je 0x14002ef3f
cmp cx, 0x7f
ja 0x14002ef3f
cmp cx, 0x2e
jne 0x14002ef45
add rbx, 2
jmp 0x14002ef10
cmp rbx, qword [rsp + 0x40]
jbe 0x14002f106
cmp cx, 0x20
je 0x14002ef5c
cmp cx, 9
jne 0x14002ef66
movzx ecx, word [rbx + 2]
add rbx, 2
jmp 0x14002ef50
cmp cx, 0x3a
jne 0x14002f024
cmp word [rbx + 2], 0x3d
jne 0x14002f106
mov rdx, qword [rsp + 0x40]
xor r8d, r8d
mov rcx, r13
call fcn.14003a7e0
test eax, eax
je 0x14002fcb9
xor esi, esi
mov edi, dword [rsp + 0x4c]
test r12b, r12b
je 0x14002fe6c
mov ebx, dword [rbp - 0x4c]
movzx r13d, byte [rbp - 0x78]
inc ebx
mov ecx, ebx
mov dword [rbp - 0x4c], ebx
sub ecx, 1
je 0x14002f28e
sub ecx, 1
je 0x14002f194
sub ecx, 1
je 0x14002fddc
cmp ecx, 7
jne 0x14002fdd0
movzx ecx, r12b
lea r8, [0x1400e0674]
sub ecx, 0x12
je 0x14002eff6
sub ecx, 0x92
je 0x14002eff6
cmp ecx, 1
jne 0x14002f206
movzx ecx, r13b
sub ecx, 0x11
je 0x14002f1ff
sub ecx, 0x91
je 0x14002f1ff
cmp ecx, 1
jne 0x14002f206
lea r8, str.RCtrl_up
jmp 0x14002f206
test cx, cx
je 0x14002f044
cmp cx, 0x5b
je 0x14002f044
cmp cx, 0x7b
jne 0x14002f106
cmp word [rbx + 2], 0
jne 0x14002f106
mov rax, qword [rsp + 0x40]
mov rdx, 0xffffffffffffffff
inc rdx
cmp word [rax + rdx*2], 0
jne 0x14002f050
mov rcx, qword [rsp + 0x40]
cmp word [rcx + rdx*2 - 2], 0x7b
sete byte [rbp + 0x1c0c8]
jne 0x14002f0ce
dec rdx
cmp word [rcx], 0
je 0x14002f0ce
cmp rdx, 0xffffffffffffffff
jne 0x14002f08a
nop dword [rax]
inc rdx
cmp word [rcx + rdx*2], 0
jne 0x14002f080
mov rcx, qword [rsp + 0x40]
add rcx, 0xfffffffffffffffe
lea rcx, [rcx + rdx*2]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14002f0a6
cmp ax, 9
jne 0x14002f0b3
cmp rcx, qword [rsp + 0x40]
je 0x14002f0bb
sub rcx, 2
jmp 0x14002f097
xor esi, esi
mov word [rcx + 2], si
jmp 0x14002f0d0
cmp ax, 0x20
je 0x14002f0c7
cmp ax, 9
jne 0x14002f0ce
xor esi, esi
mov word [rcx], si
jmp 0x14002f0d0
xor esi, esi
mov rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x4030]
sub rdx, rcx
nop
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14002f0e0
mov eax, dword [r13 + 0x28c]
mov dword [rbp - 0x50], eax
mov dword [rbp - 0x5c], 2
jmp 0x14002ef95
mov rcx, qword [rsp + 0x40]
lea rdx, str.Static
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 0x14002f144
movzx eax, word [r8 + 0xc]
cmp ax, 0x20
je 0x14002f138
cmp ax, 9
jne 0x14002f144
lea rdx, [r8 + 0xe]
mov r8b, 1
jmp 0x14002ef83
cmp word [r8], 0x23
jne 0x14002ff46
mov ebx, dword [r13 + 0x28c]
mov rdx, r8
mov rcx, r13
call fcn.1400307a0
test eax, eax
je 0x14002fcb9
cmp eax, 3
jne 0x14002ff41
mov edi, dword [rsp + 0x4c]
xor esi, esi
mov dword [r13 + 0x288], edi
mov dword [r13 + 0x28c], ebx
jmp 0x14002ef99
mov rsi, qword [rbp - 0x68]
jmp 0x14002f2ad
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov eax, dword [0x1400f5d78]
mov r9d, 1
cmp byte [rsp + 0x51], 0
mov qword [rsp + 0x20], rsi
mov dword [rcx], eax
setne dl
movzx eax, word [0x1400f5d7c]
add dl, 0xc5
mov word [rcx + 4], ax
mov rcx, qword [rbp + 0x1c0b0]
call fcn.140036910
cmp byte [rsp + 0x61], 0
je 0x14002efd5
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x30]
lea rdx, str.if_not_GetKeyState___s__
call fcn.1400062d0
mov dword [rbp - 0x4c], 9
jmp 0x14002f2a3
lea r8, str.LCtrl_up
mov r13, qword [rbp + 0x1c0b0]
lea rax, [rbp + 0x30]
mov rcx, qword [rsp + 0x40]
lea r9, [rbp - 8]
lea rdx, str.Blind_s_s_s_DownR
mov qword [rsp + 0x20], rax
mov qword [r13 + 0x6d0], rsi
call fcn.1400062d0
mov r9d, 1
mov qword [rsp + 0x20], rsi
lea r8, [rsp + 0x40]
mov dl, 0x41
mov rcx, r13
call fcn.140036910
test eax, eax
je 0x14002fcb9
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, r13
call fcn.140036910
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x70]
lea rdx, str._s_up::
mov qword [r13 + 0x6d0], rsi
call fcn.1400062d0
mov dword [rbp - 0x4c], 2
jmp 0x14002f2aa
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x70]
lea rdx, str._s::
call fcn.1400062d0
mov r13, qword [rbp + 0x1c0b0]
movsxd rsi, eax
mov rcx, qword [rsp + 0x40]
xor r10d, r10d
mov r15d, r10d
mov r14d, r10d
cmp word [rcx], 0x3a
jne 0x14002f4c0
movzx edx, word [rcx + 2]
lea rax, [rcx + 2]
test dx, dx
je 0x14002f4c0
mov qword [rbp - 0x10], rax
mov r8, rax
cmp dx, 0x3a
je 0x14002f30e
lea edx, [r10 + 0x3a]
mov rcx, rax
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov r15, rax
test rax, rax
je 0x14002f4b6
mov rcx, qword [rsp + 0x40]
add r15, 2
mov r8, qword [rbp - 0x10]
xor r10d, r10d
jmp 0x14002f31d
cmp word [rcx + 4], r10w
je 0x14002f4c0
lea r15, [rcx + 4]
test r15, r15
je 0x14002f4c0
movzx r9d, byte [0x140115700]
mov rbx, r8
mov byte [rsp + 0x50], r9b
cmp r8, r15
jae 0x14002f397
mov edx, 0xffdf
movzx edi, word [rbx]
test edi, 0xffffff80
je 0x14002f350
mov ecx, r10d
jmp 0x14002f367
mov edx, 2
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
xor r10d, r10d
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 0x14002f38a
cmp rbx, r15
jb 0x14002f340
movzx r9d, byte [rsp + 0x50]
jmp 0x14002f397
cmp word [rbx], 0x30
setne r9b
mov byte [rsp + 0x50], r9b
mov rdi, r15
nop word [rax + rax]
movzx ecx, word [rdi]
mov r8, r14
test cx, cx
je 0x14002f3d2
movzx eax, cx
nop
cmp ax, word [0x140113a80]
movzx ecx, ax
je 0x14002f3d2
cmp ax, 0x3a
je 0x14002f3d2
movzx eax, word [rdi + 2]
add rdi, 2
movzx ecx, ax
test ax, ax
jne 0x14002f3b0
mov rdx, rdi
test cx, cx
je 0x14002f4ad
movzx eax, word [rdi + 2]
lea rbx, [rdi + 2]
cmp cx, 0x3a
jne 0x14002f416
cmp eax, 0x3a
jne 0x14002f400
mov r14, rdi
mov rdi, rbx
test r9b, r9b
jne 0x14002f4ad
movzx r9d, byte [rsp + 0x50]
cmp eax, 0x3a
mov r14, rdx
cmovne r14, r8
add rdi, 2
jmp 0x14002f3a0
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x14002f431.99
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x3015c]
add rcx, rdx
jmp rcx
mov eax, 7
jmp 0x14002f462
mov eax, 8
jmp 0x14002f462
mov eax, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
jmp 0x14002f462
mov eax, 0xa
jmp 0x14002f462
mov eax, SafeArrayDestroy
jmp 0x14002f462
mov eax, 9
jmp 0x14002f462
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 0x14002f470
lea r8, [r8*2 + 2]
mov rdx, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
cmp word [rdi], 0x3a
jne 0x14002f49e
cmp word [rbx], 0x3a
cmove rdi, rbx
movzx r9d, byte [rsp + 0x50]
add rdi, 2
jmp 0x14002f3a0
test r14, r14
jne 0x14002f55f
xor ecx, ecx
mov r15d, ecx
mov rcx, qword [rsp + 0x40]
lea rdx, [0x1400f859c]
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov r14, rax
test rax, rax
je 0x14002fbeb
mov rcx, qword [rsp + 0x40]
cmp rax, rcx
jne 0x14002f4ee
cmp word [rax + 4], 0x3a
jne 0x14002f4ee
add r14, 2
mov rbx, r14
cmp r14, rcx
jbe 0x14002f50e
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002f505
cmp ax, 9
jne 0x14002f50e
sub rbx, 2
cmp rbx, rcx
ja 0x14002f4f6
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 0x14002f52f
cmp ax, 9
jne 0x14002f535
add rcx, 2
jmp 0x14002f520
xor r8d, r8d
xor edx, edx
call fcn.140010c70
mov dword [rbp - 0x20], eax
test eax, eax
je 0x14002fbe8
cmp eax, 4
je 0x14002fcb9
mov word [rbx], di
test r14, r14
je 0x14002fbeb
mov rcx, qword [rsp + 0x40]
cmp r14, rcx
jbe 0x14002fbf0
mov rax, qword [0x140112060]
cmp qword [rax + 0xd8], 0
jne 0x14002ffed
mov rax, qword [r13 + 0x668]
test rax, rax
je 0x14002f597
cmp byte [rax], 0x1a
je 0x14002ff5a
xor esi, esi
mov word [r14], si
add r14, 4
test r15, r15
jne 0x14002f8d4
movzx eax, word [r14]
test ax, ax
je 0x14002f5fc
mov rdx, r14
cmp ax, 0x20
je 0x14002f5c2
cmp ax, 9
jne 0x14002f5cc
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14002f5b6
mov rax, rdx
sub rax, r14
cmp rax, 2
jb 0x14002f5fc
mov r8, 0xffffffffffffffff
nop
cmp word [rdx + r8*2 + 2], si
lea r8, [r8 + 1]
jne 0x14002f5e0
lea r8, [r8*2 + 2]
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
mov rdi, r14
cmp word [r14], si
je 0x14002f8d4
movzx eax, word [r14 + 2]
test ax, ax
je 0x14002f680
lea rdx, [0x140000000]
nop word [rax + rax]
cmp ax, 0x20
je case.0x14002f645.34
movzx eax, word [rdi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14002f645.34
cdqe
movzx eax, byte [rdx + rax + 0x301bc]
mov ecx, dword [rdx + rax*4 + 0x301b4]
add rcx, rdx
jmp rcx
movzx eax, word [rdi + 4]
add rdi, 2
test ax, ax
jne 0x14002f620
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.14001b010
mov byte [rsp + 0x48], al
movzx r12d, al
test al, al
je 0x14002f8d4
jmp 0x14002f688
mov r12b, 0xff
mov byte [rsp + 0x48], r12b
mov rbx, qword [rsp + 0x40]
cmp word [rbx], si
je case.0x14002f6cd.34
movzx eax, word [rbx + 2]
lea rdx, [rbx + 2]
test ax, ax
je case.0x14002f6cd.34
lea r8, [0x140000000]
cmp ax, 0x20
je case.0x14002f6cd.34
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14002f6cd.34
cdqe
movzx eax, byte [r8 + rax + 0x30224]
mov ecx, dword [r8 + rax*4 + 0x3021c]
add rcx, r8
jmp rcx
movzx eax, word [rdx + 2]
mov rbx, rdx
add rdx, 2
test ax, ax
jne 0x14002f6a6
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14001b010
lea rdx, [0x1400f6250]
mov byte [rbp - 0x78], al
mov rcx, rbx
movzx r13d, al
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
test rax, rax
lea ecx, [r13 - 1]
setne sil
cmp cl, 5
ja 0x14002f726
cmp r13b, 3
jne 0x14002f72e
lea eax, [r13 + 0x66]
cmp al, 5
ja 0x14002f732
mov cl, 1
jmp 0x14002f734
xor cl, cl
lea eax, [r12 - 1]
cmp al, 5
ja 0x14002f743
cmp r12b, 3
jne 0x14002f74c
lea eax, [r12 + 0x66]
cmp al, 5
ja 0x14002f750
mov al, 1
jmp 0x14002f752
xor al, al
mov byte [rsp + 0x51], al
test cl, cl
jne 0x14002f763
mov byte [rsp + 0x61], 1
test al, al
jne 0x14002f768
mov byte [rsp + 0x61], 0
mov rax, 0xffffffffffffffff
nop
inc rax
cmp word [rbx + rax*2], 0
jne 0x14002f770
cmp rax, 1
jne 0x14002f79d
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
je 0x14002f79d
lea rcx, [0x1400f8810]
lea rax, [0x1400e0674]
jmp 0x14002f7a7
lea rax, [0x1400e0674]
mov rcx, rax
test sil, sil
lea r9, [0x1400f8458]
lea r8, [0x1400f8818]
mov edx, SafeArrayAllocDescriptor
cmovne r9, rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x70]
call fcn.1400bf370
mov r8d, SafeArrayAllocDescriptor
lea rcx, [rbp + 0x30]
mov rdx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
xor esi, esi
lea rcx, [rbp - 8]
mov rdx, r14
mov word [rbp + 0x6e], si
lea r8d, [rsi + 7]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
sub rdi, r14
mov word [rbp + 6], si
sar rdi, 1
cmp rdi, 8
jae 0x14002f818
mov word [rbp + rdi*2 - 8], si
mov ebx, esi
mov dword [rbp - 0x4c], ebx
cmp word [rbp - 8], si
jne 0x14002fbdc
cmp r12b, 0xd
je 0x14002f8ac
cmp r12b, 0x13
jne 0x14002fbdc
movzx eax, word [rbp + 0x30]
mov ebx, eax
test eax, 0xffffff80
je 0x14002f848
mov edx, esi
jmp 0x14002f85b
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 edi, 0xffdf
and cx, di
test edx, edx
cmove cx, bx
cmp cx, 0x50
je 0x14002f8c5
movzx ebx, ax
test ebx, 0xffffff80
je 0x14002f881
mov eax, esi
jmp 0x14002f88e
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, di
test eax, eax
cmove cx, bx
cmp cx, 0x42
je 0x14002f8c5
mov dword [rbp - 0x4c], 1
jmp 0x14002f28e
lea rdx, str.Return
lea rcx, [rbp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14002efaa
mov r13, qword [rbp + 0x1c0b0]
xor r12b, r12b
mov byte [rsp + 0x48], r12b
cmp byte [r13 + 0x290], 0
je 0x14002f91c
mov r9d, 0xff
mov byte [r13 + 0x290], 0
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov dl, 0x67
mov rcx, r13
call fcn.140036910
test eax, eax
je 0x14002fcb9
mov rax, qword [r13 + 0x668]
mov qword [rax + 0x10], 1
mov qword [r13 + 0x6d0], rsi
mov rdx, qword [rsp + 0x40]
mov r8b, 1
mov rcx, r13
call fcn.140033160
test eax, eax
je 0x14002fcb9
test r15, r15
je 0x14002fa42
cmp word [r15], 0
je 0x14002ff9b
mov rcx, qword [r13 + 0x688]
lea rdx, [0x1400e0674]
movzx ebx, byte [rsp + 0x50]
mov rax, r14
mov r8, qword [rbp - 0x10]
test bl, bl
mov byte [rsp + 0x30], 0
mov r9, r15
cmovne rax, rdx
movzx edx, byte [rsp + 0x62]
mov byte [rsp + 0x28], dl
mov rdx, rcx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x20], rax
call fcn.140011fe0
test eax, eax
je 0x14002fcb9
movzx eax, word [r14]
test ax, ax
je 0x14002ef95
test bl, bl
je 0x14002fa11
mov rdx, r14
cmp ax, 0x20
je 0x14002f9b2
cmp ax, 9
jne 0x14002f9bc
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14002f9a6
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov qword [rsp + 0x28], rsi
mov rcx, r13
mov qword [rsp + 0x20], rsi
call fcn.140033310
test eax, eax
je 0x14002fcb9
mov rax, qword [r13 + 0x668]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14002ff78
sub cl, 0x69
cmp cl, 0xa
ja 0x14002fa11
mov eax, 0x707
bt eax, ecx
jb 0x14002ff78
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, r13
call fcn.140036910
test eax, eax
je 0x14002fcb9
mov rax, qword [r13 + 0x668]
mov qword [rax + 0x10], 1
jmp 0x14002ef95
cmp word [r14], 0
movzx ebx, si
je 0x14002fae6
xor edx, edx
mov rcx, r14
call fcn.14000e3f0
movzx ebx, ax
test ax, ax
jne 0x14002faba
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov qword [rsp + 0x28], rsi
mov rdx, r14
mov rcx, r13
mov qword [rsp + 0x20], rsi
call fcn.140033310
test eax, eax
je 0x14002fcb9
mov rax, qword [r13 + 0x668]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14002ff78
sub cl, 0x69
cmp cl, 0xa
ja 0x14002faba
mov eax, 0x707
bt eax, ecx
jb 0x14002ff78
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, r13
call fcn.140036910
test eax, eax
je 0x14002fcb9
mov rax, qword [r13 + 0x668]
mov qword [rax + 0x10], 1
mov rcx, qword [rsp + 0x40]
lea r8, [rbp - 0x77]
lea rdx, [rsp + 0x63]
call fcn.140011330
mov rdi, rax
test rax, rax
je 0x14002fb6d
test bx, bx
je 0x14002fb0f
mov word [rax + 6], bx
jmp 0x14002ef95
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14002fb33
mov rcx, qword [0x140116528]
nop
cmp qword [rax + 8], rcx
je 0x14002ffb4
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14002fb20
movzx r8d, byte [rsp + 0x63]
mov rcx, rdi
mov rdx, qword [r13 + 0x688]
call fcn.140010b10
test rax, rax
je 0x14002ffd4
cmp byte [rbp - 0x77], 0
jne 0x14002fb64
cmp byte [0x1401157db], 0
je 0x14002ef95
mov byte [rdi + 0x14], 1
jmp 0x14002ef95
mov rcx, qword [r13 + 0x688]
movzx edx, bx
movzx r9d, byte [rsp + 0x63]
mov byte [rsp + 0x20], 0
mov r8, qword [rcx + 8]
call fcn.140010210
test rax, rax
jne 0x14002ef95
cmp dword [rbp - 0x20], 3
jne 0x14002fcb9
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.1400bf370
xorps xmm3, xmm3
mov qword [rsp + 0x20], rsi
xor r8d, r8d
lea rcx, [rbp + 0xb0]
mov edx, 0x10000
call fcn.1400c6790
jmp 0x14002ef95
mov r13, qword [rbp + 0x1c0b0]
jmp 0x14002ef95
mov word [rbx], di
mov rcx, qword [rsp + 0x40]
cmp word [rcx + rsi*2 - 2], 0x3a
jne 0x14002fcd5
cmp rsi, 1
je 0x140030004
movzx eax, word [rcx]
mov rdx, rcx
test ax, ax
je 0x14002fc58
movzx r8d, word [0x140113a88]
nop dword [rax]
cmp ax, 0x20
je 0x14002fcd5
cmp ax, 9
je 0x14002fcd5
cmp ax, r8w
je 0x14002fcd5
cmp ax, word [0x140113a80]
je 0x14002fcd5
movzx eax, word [rdx + 2]
add rdx, 2
test ax, ax
jne 0x14002fc20
cmp word [rcx + rsi*2 - 4], 0x3a
jne 0x14002fc66
cmp rsi, 2
ja 0x14002fcd5
xor eax, eax
lea rdx, str.Default
mov word [rcx + rsi*2 - 2], ax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14002fcc0
mov rax, qword [r13 + 0x30]
test rax, rax
je 0x14002fcc0
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14002fcc0
cmp byte [rcx], 0x75
jne 0x14002fcc0
xor esi, esi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov dl, 0x76
mov rcx, r13
call fcn.140036910
test eax, eax
jne 0x14002ef95
xor eax, eax
jmp 0x1400300ee
mov rdx, qword [rsp + 0x40]
xor r8d, r8d
mov rcx, r13
call fcn.140033160
jmp 0x14002ef8b
cmp word [rcx], 0x23
jne 0x14002fd14
mov ebx, dword [r13 + 0x28c]
mov rdx, rcx
mov rcx, r13
call fcn.1400307a0
test eax, eax
je 0x14002fcb9
cmp eax, 3
jne 0x14002fd0f
mov edi, dword [rsp + 0x4c]
xor esi, esi
mov dword [r13 + 0x288], edi
mov dword [r13 + 0x28c], ebx
jmp 0x14002ef99
mov rcx, qword [rsp + 0x40]
movzx edx, word [rcx]
mov r8d, 0xfffd
lea eax, [rdx - 0x7b]
test r8w, ax
je 0x14002fd5a
xor esi, esi
mov rdx, rcx
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
xor r8d, r8d
mov qword [rsp + 0x28], rsi
mov rcx, r13
mov qword [rsp + 0x20], rsi
call fcn.140033310
test eax, eax
je 0x14002fcb9
jmp 0x14002ef95
cmp dx, 0x7b
mov rcx, r13
setne dl
xor esi, esi
add dl, 0x77
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
call fcn.140036910
test eax, eax
je 0x14002fcb9
mov rax, qword [rsp + 0x40]
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x20
je 0x14002fd86
cmp cx, 9
je 0x14002fd86
mov edi, dword [rsp + 0x4c]
mov qword [rsp + 0x40], rax
cmp word [rax], si
je 0x14002ef99
mov rsi, 0xffffffffffffffff
inc rsi
cmp word [rax + rsi*2], 0
jne 0x14002fdb3
xor r14d, r14d
mov qword [rbp - 0x68], rsi
mov qword [r13 + 0x6d0], r14
jmp 0x14002e943
mov r13, qword [rbp + 0x1c0b0]
jmp 0x14002fe68
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov eax, dword [0x1400f5d78]
mov r9d, 1
cmp byte [rsp + 0x51], 0
mov r13, qword [rbp + 0x1c0b0]
mov dword [rcx], eax
setne dl
movzx eax, word [0x1400f5d7c]
add dl, 0xc5
mov word [rcx + 4], ax
mov rcx, r13
mov qword [rsp + 0x20], rsi
call fcn.140036910
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x30]
lea rdx, str.Blind_s_Up
call fcn.1400062d0
mov r9d, 1
mov qword [rsp + 0x20], rsi
lea r8, [rsp + 0x40]
mov dl, 0x41
mov rcx, r13
call fcn.140036910
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov dl, 0x67
mov rcx, r13
call fcn.140036910
xor al, al
mov byte [rsp + 0x48], al
mov edi, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x68]
lea rax, [rbp + 0xc040]
cmp qword [rbp + 8], rax
lea rbx, [rbp + 0x14050]
mov rsi, qword [rbp - 0x40]
lea rdx, [rbp + 0xc040]
mov r14d, dword [rbp - 0x38]
cmovne rbx, rdx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x40], rcx
mov qword [rbp - 0x68], rsi
jmp 0x14002d672
mov r8, r13
mov rcx, qword [rbp + 0x1c0b0]
lea rdx, str.Continuation_section_too_long.
call fcn.14004dc70
jmp 0x1400300ee
cmp qword [r13 + 0x278], 0
lea rdx, [0x1400f8688]
lea rax, str.Not_a_valid_method__class_or_property_definition.
mov rcx, r13
cmovne rax, rdx
lea r8, [rbp + 0x4030]
mov rdx, rax
call fcn.14004dc70
jmp 0x1400300ee
lea r8, [rbp + 0x4030]
mov rcx, r13
lea rdx, [0x1400f8688]
call fcn.14004dc70
jmp 0x1400300ee
lea r8, [rbp + 0x4030]
lea rdx, str.Functions_cannot_contain_functions.
call fcn.14004dc70
jmp 0x1400300ee
mov r8, qword [rsp + 0x40]
lea rdx, str.Not_a_valid_property_getter_setter.
mov rcx, r13
call fcn.14004dc70
jmp 0x1400300ee
mov r8, qword [rsp + 0x40]
lea rdx, str.Not_a_valid_method__class_or_property_definition.
mov rcx, r13
call fcn.14004dc70
jmp 0x1400300ee
mov r8, rcx
mov qword [r13 + 0x6d0], rax
mov rcx, r13
lea rdx, str.IfWin_should_be_IfWin.
call fcn.14004dc70
jmp 0x1400300ee
mov eax, 0x3a
lea rdx, str.Invalid_single_line_hotkey_hotstring.
mov word [r14 - 4], ax
mov rcx, r13
mov r8, qword [rsp + 0x40]
call fcn.14004dc70
jmp 0x1400300ee
mov r8, qword [rsp + 0x40]
lea rdx, str.This_hotstring_is_missing_its_abbreviation.
mov rcx, r13
call fcn.14004dc70
jmp 0x1400300ee
mov r8, qword [rsp + 0x40]
lea rdx, str.Duplicate_hotkey.
mov rcx, r13
mov qword [r13 + 0x6d0], rsi
call fcn.14004dc70
jmp 0x1400300ee
mov r8, qword [rsp + 0x40]
lea rdx, str.Out_of_memory.
mov rcx, r13
call fcn.14004dc70
jmp 0x1400300ee
mov r8, rcx
lea rdx, str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov rcx, r13
call fcn.14004dc70
jmp 0x1400300ee
mov r8, rcx
lea rdx, str.This_line_does_not_contain_a_recognized_action.
mov rcx, r13
call fcn.14004dc70
jmp 0x1400300ee
mov r8, rbx
jmp 0x14002feac
mov r8, qword [rsp + 0x40]
lea rdx, [0x1400f8628]
mov rcx, qword [rbp + 0x1c0b0]
call fcn.14004dc70
jmp 0x1400300ee
cmp word [rbp + 0x4030], 0
je 0x1400300c2
cmp dword [rbp - 0x5c], 0
mov rcx, r13
mov ebx, dword [r13 + 0x28c]
mov eax, dword [rbp - 0x50]
mov dword [r13 + 0x28c], eax
je 0x14003008b
cmp byte [rbp + 0x1c0c8], 0
lea rax, str.Missing___
lea rdx, [0x1400f8688]
cmovne rdx, rax
lea r8, [rbp + 0x4030]
call fcn.14004dc70
jmp 0x1400300ee
xor eax, eax
lea rdx, [rbp + 0x4030]
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov r8b, 3
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
call fcn.140033310
test eax, eax
je 0x14002fcb9
mov dword [r13 + 0x28c], ebx
cmp dword [r13 + 0x40], 0
je 0x1400300e2
test edi, edi
jne 0x1400300e2
lea r8, [r13 + 0x70]
mov rcx, r13
lea rdx, str.Missing___
call fcn.14004dc70
jmp 0x1400300ee
inc dword [r13 + 0x28c]
mov eax, 1
add rsp, 0x1c168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret