Function at 0x14003c0e0
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 - 0x1c088]
mov eax, 0x1c188
call fcn.1400f7000
sub rsp, rax
mov edi, dword [0x140133b58]
lea rax, [rbp + 0xc060]
xor r12d, r12d
mov qword [rsp + 0x48], rax
xor al, al
mov qword [rsp + 0x20], rdx
dec edi
mov dword [rsp + 0x40], eax
lea rbx, [rbp + 0x14070]
mov dword [rbp - 0x18], edi
xor r9d, r9d
mov word [rbp + 0x4050], r12w
lea rdx, [rbp + 0xc060]
mov qword [rsp + 0x68], rbx
mov r15, rcx
mov word [rsp + 0x72], r12w
mov word [rbp - 0x7c], r12w
mov r13d, r12d
mov dword [rcx + 0x288], edi
mov dword [rbp - 0x20], r12d
call fcn.14003f580
mov rcx, qword [rsp + 0x48]
lea rdx, [0x140113698]
mov r8d, 2
mov qword [rbp - 0x78], rax
mov rsi, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
sete dil
mov byte [rbp + 0x1c0e8], dil
test eax, eax
jne 0x14003c1ae
mov rax, qword [rsp + 0x48]
mov esi, r12d
mov qword [rbp - 0x78], r12
mov word [rax], r12w
mov rax, qword [rbp - 0x30]
movzx r14d, byte [rbp + 0x1c0e0]
mov rcx, qword [rsp + 0x48]
mov qword [rbp - 0x38], rax
mov eax, dword [rbp - 0x70]
mov dword [rbp - 0x58], eax
mov byte [rbp + 0x1c0e0], r14b
mov qword [rbp + 0x28], rbx
mov edx, reloc.WSOCK32.dll_ioctlsocket
cmp rsi, 0xffffffffffffffff
je 0x14003f1b8
lea eax, [r13 + 1]
mov r8d, edx
xor ebx, ebx
mov dword [r15 + 0x28c], eax
lea rdx, str.CommentFlag
mov qword [r15 + 0x6d0], rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003c220
mov rdx, qword [rsp + 0x48]
mov rcx, r15
call fcn.14003f980
test eax, eax
je 0x14003e32d
mov r15, qword [rsp + 0x68]
mov r14d, ebx
mov r13, qword [rbp + 8]
mov byte [rsp + 0x7b], bl
mov dword [rsp + 0x60], ebx
jmp 0x14003c250
movzx edi, byte [rbp + 0x1c0e8]
xor ebx, ebx
nop dword [rax]
mov rax, qword [rbp + 0x1c0d8]
mov r9d, r14d
inc dword [rbp - 0x20]
mov rdx, r15
mov qword [rsp + 0x20], rax
call fcn.14003f580
mov r12, rax
mov qword [rbp - 0x50], rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14003c383
test r14d, r14d
jne 0x14003c383
mov r8d, 2
lea rdx, [0x1401136bc]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
jne 0x14003c351
test dil, dil
jne 0x14003c2bf
cmp word [r15 + 4], 0x3a
jne 0x14003c2bf
cmp word [r15 + 6], 0x3a
je 0x14003c35a
sub r12, 2
lea rdx, [r15 + 4]
xor dil, dil
mov rcx, r15
mov byte [rbp + 0x1c0e8], dil
lea r8, [r12*2 + 2]
call sub.VCRUNTIME140.dll_memmove
movzx eax, word [r15]
test ax, ax
jne 0x14003c2ef
mov r12, rbx
jmp 0x14003c340
mov rdx, r15
cmp ax, 0x20
je 0x14003c2fe
cmp word [rdx], 9
jne 0x14003c308
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14003c2f2
mov rax, rdx
sub rax, r15
sar rax, 1
je 0x14003c340
cmp r12, 0xffffffffffffffff
jne 0x14003c32d
nop dword [rax]
inc r12
cmp word [rdx + r12*2], 0
jne 0x14003c320
jmp 0x14003c330
sub r12, rax
lea r8, [r12*2 + 2]
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
cmp word [r15], 0
mov qword [rbp - 0x50], r12
je 0x14003c250
jmp 0x14003c35a
test dil, dil
jne 0x14003c250
mov r8d, 2
lea rdx, [0x140113698]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
jne 0x14003c383
mov dil, 1
mov byte [rbp + 0x1c0e8], dil
jmp 0x14003c250
test dil, dil
je 0x14003c397
cmp r12, 0xffffffffffffffff
jne 0x14003c250
jmp 0x14003d4be
test r14d, r14d
jne 0x14003c92f
cmp r12, 0xffffffffffffffff
je 0x14003d4be
cmp word [r15], 0x28
jne 0x14003c5e7
cmp word [r15 + 2], 0x3a
je 0x14003c5e7
cmp word [r15 + r12*2 - 2], 0x3a
je 0x14003c5e7
movzx eax, byte [0x14013290c]
mov r14d, 1
mov dword [rbp - 8], ebx
mov r13d, r14d
mov dword [rsp + 0x60], r14d
lea rbx, [r15 + 2]
mov byte [rsp + 0x75], al
mov byte [rsp + 0x74], r14b
mov byte [rsp + 0x78], r14b
mov qword [rbp + 8], r14
mov byte [rsp + 0x76], 0
mov byte [rsp + 0x77], 0
mov dword [rbp + 0x30], 0xa
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003c41f
cmp ax, 9
jne 0x14003c425
add rbx, 2
jmp 0x14003c410
test ax, ax
je 0x14003c5dd
xor r12d, r12d
mov rsi, rbx
test rbx, rbx
je 0x14003c476
movzx edx, word [rbx]
test dx, dx
je 0x14003c476
lea rcx, [0x140110770]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14003c471
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14003c450
movzx edx, word [rsi + 2]
add rsi, 2
test dx, dx
jne 0x14003c441
jmp 0x14003c476
test rsi, rsi
jne 0x14003c490
mov rax, 0xffffffffffffffff
nop dword [rax]
cmp word [rbx + rax*2 + 2], r12w
lea rax, [rax + 1]
jne 0x14003c480
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 0x14003c4f4
lea rdx, [rbx + 8]
mov r8d, reloc.WSOCK32.dll_ntohs
lea rcx, [rbp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov r8b, 1
mov word [rbp + 0x4e], r12w
lea rcx, [rbp + 0x30]
call fcn.1400d8ba0
lea rax, [rbp + 0x30]
mov r13, 0xffffffffffffffff
inc r13
cmp word [rax + r13*2], r12w
jne 0x14003c4e1
mov qword [rbp + 8], r13
jmp 0x14003c5a5
mov r8d, 5
lea rdx, [0x140113778]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003c51d
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x75]
jmp 0x14003c5a5
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 0x14003c543
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x74]
jmp 0x14003c5a5
movzx eax, word [rbx]
test ax, ax
je 0x14003c5a5
nop dword [rax + rax]
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x14003c576.38
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x3f294]
mov ecx, dword [rdx + rax*4 + 0x3f27c]
add rcx, rdx
jmp rcx
mov byte [rsp + 0x76], 1
jmp case.0x14003c576.38
mov byte [rsp + 0x77], 1
jmp case.0x14003c576.38
mov byte [rsp + 0x78], r12b
jmp case.0x14003c576.38
mov r14d, 2
mov dword [rsp + 0x60], r14d
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14003c550
mov word [rsi], di
mov rbx, rsi
nop dword [rax + rax]
cmp di, 0x20
je 0x14003c5bf
movzx eax, word [rbx]
cmp ax, 9
jne 0x14003c5c9
movzx edi, word [rbx + 2]
add rbx, 2
jmp 0x14003c5b0
test ax, ax
jne 0x14003c431
mov rsi, qword [rbp - 0x78]
movzx edi, byte [rbp + 0x1c0e8]
mov byte [rsp + 0x7b], 1
jmp 0x14003c247
cmp r12, 0xffffffffffffffff
je 0x14003d4be
mov dword [rsp + 0x60], ebx
mov r14d, ebx
test r12, r12
je 0x14003c250
cmp word [r15 + r12*2 - 2], 0x3a
jne 0x14003c615
cmp word [r15], 0x2c
jne 0x14003d4be
movzx ebx, word [r15]
mov ecx, ebx
test ebx, 0xffffff80
jne 0x14003c63e
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003c63e
mov r14d, 0xffdf
and bx, r14w
jmp 0x14003c644
mov r14d, 0xffdf
cmp bx, 0x41
je 0x14003c8d6
cmp bx, 0x4f
je 0x14003c854
movzx edx, word [r15]
cmp edx, 0x3a
ja 0x14003c67c
movabs rcx, 0x400280000000000
bt rcx, rdx
jae 0x14003c67c
cmp word [r15 + 2], dx
je 0x14003d4be
lea rcx, str.____:.___
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x14003d4be
lea rdx, [0x14011370c]
mov rcx, r15
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rdi, rax
xor eax, eax
mov dword [rsp + 0x60], eax
mov r14d, eax
test rdi, rdi
je 0x14003c7a2
cmp word [r15], 0x3a
mov dword [rsp + 0x60], eax
jne 0x14003c739
movzx edx, word [r15 + 2]
lea rbx, [r15 + 2]
mov dword [rsp + 0x60], eax
movzx ecx, dx
test dx, dx
je 0x14003c72f
mov dword [rsp + 0x60], eax
cmp dx, 0x3a
je 0x14003c72f
mov dword [rsp + 0x60], eax
movzx ecx, dx
test ecx, 0xffffff80
jne 0x14003c6ff
mov edx, 0x107
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
jne 0x14003c714
movzx edx, word [rbx]
lea rcx, [0x140113718]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
je 0x14003c739
movzx ecx, word [rbx + 2]
add rbx, 2
test cx, cx
je 0x14003c72f
movzx edx, cx
cmp cx, 0x3a
jne 0x14003c6e5
jmp 0x14003d4be
cmp cx, 0x3a
je 0x14003d4be
cmp word [r15], 0x2c
jne 0x14003c7f5
lea rbx, [r15 + 2]
nop dword [rax + rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003c75f
cmp ax, 9
jne 0x14003c765
add rbx, 2
jmp 0x14003c750
mov r8d, 2
lea rdx, [0x14011370c]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
je 0x14003d4be
lea rcx, [rbx - 2]
mov r8d, 3
lea rdx, [0x140110760]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
test eax, eax
je 0x14003d4be
movzx edi, byte [rbp + 0x1c0e8]
xor ebx, ebx
lea rax, [r12 + rsi]
cmp rax, 0x4000
jae 0x14003f023
cmp word [r15], 0x2c
je 0x14003c7d0
mov rax, qword [rsp + 0x48]
mov word [rax + rsi*2], SafeArrayAllocDescriptor
inc rsi
mov rax, qword [rsp + 0x48]
lea r8, [r12*2 + 2]
mov rdx, r15
lea rcx, [rax + rsi*2]
call sub.VCRUNTIME140.dll_memcpy
add rsi, r12
mov qword [rbp - 0x78], rsi
jmp 0x14003c250
mov rax, r15
cmp r15, rdi
jae 0x14003c80f
nop dword [rax]
cmp word [rax], 0x22
je 0x14003c818
add rax, 2
cmp rax, rdi
jb 0x14003c800
cmp rax, rdi
je 0x14003d4be
movzx edx, word [rdi + 4]
lea rcx, [rdi + 4]
test dx, dx
je 0x14003d4be
nop dword [rax]
cmp dx, 0x22
je 0x14003c84b
movzx eax, word [rcx + 2]
add rcx, 2
movzx edx, ax
test ax, ax
jne 0x14003c830
jmp 0x14003d4be
cmp word [rcx], 0
jmp 0x14003c79c
movzx ebx, word [r15 + 2]
mov ecx, ebx
test ebx, 0xffffff80
jne 0x14003c876
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003c876
and bx, r14w
cmp bx, 0x52
jne 0x14003d4be
movzx ecx, word [r15 + 4]
lea rax, [r15 + 4]
cmp cx, 0x20
je 0x14003c899
cmp cx, 9
jne 0x14003d4be
xor ebx, ebx
mov r14d, ebx
mov dword [rsp + 0x60], ebx
cmp cx, 0x20
je 0x14003c8b1
movzx edx, word [rax]
cmp dx, 9
jne 0x14003c8bb
movzx ecx, word [rax + 2]
add rax, 2
jmp 0x14003c8a2
lea rcx, str.____:
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x14003d4be
jmp 0x14003c7ab
mov r8d, 3
lea rdx, [0x1401136c8]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003d4be
movzx ecx, word [r15 + 6]
lea rax, [r15 + 6]
cmp cx, 0x20
je 0x14003c90d
cmp cx, 9
jne 0x14003d4be
xor ebx, ebx
mov r14d, ebx
mov dword [rsp + 0x60], ebx
cmp cx, 0x20
je 0x14003c925
movzx edx, word [rax]
cmp dx, 9
jne 0x14003c8bb
movzx ecx, word [rax + 2]
add rax, 2
jmp 0x14003c916
cmp r12, 0xffffffffffffffff
je 0x14003f19b
cmp r12, 0xfffffffffffffffe
je 0x14003c250
movzx eax, word [r15]
cmp ax, 0x29
jne 0x14003c9c0
mov r14d, ebx
mov dword [rsp + 0x60], ebx
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [r15 + rax*2], 0
jne 0x14003c960
lea rcx, [rax - 1]
lea rcx, [r15 + rcx*2]
movzx edx, word [rcx]
cmp dx, 0x20
je 0x14003c982
cmp dx, 9
jne 0x14003c990
cmp rcx, r15
je 0x14003c9a1
sub rcx, 2
dec rax
jmp 0x14003c973
mov word [rcx + 2], bx
lea rdi, [rax - 1]
lea rbx, [r15 + 2]
jmp 0x14003d43e
cmp dx, 0x20
je 0x14003c9ad
cmp dx, 9
jne 0x14003c9b3
mov word [rcx], bx
mov rax, rbx
lea rbx, [r15 + 2]
lea rdi, [rax - 1]
jmp 0x14003d43e
cmp byte [rsp + 0x74], 0
mov qword [rbp - 0x30], r15
je 0x14003ca23
test ax, ax
je 0x14003ca1c
lea rax, [r12 - 1]
lea rax, [r15 + rax*2]
nop dword [rax]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14003c9ef
cmp cx, 9
jne 0x14003c9fd
cmp rax, r15
je 0x14003ca07
sub rax, 2
dec r12
jmp 0x14003c9e0
mov word [rax + 2], bx
mov qword [rbp - 0x50], r12
jmp 0x14003ca23
cmp cx, 0x20
je 0x14003ca19
cmp cx, 9
je 0x14003ca19
mov qword [rbp - 0x50], r12
jmp 0x14003ca23
mov word [rax], bx
mov qword [rbp - 0x50], rbx
mov r12, rbx
cmp byte [rsp + 0x75], 0
je 0x14003ca94
movzx eax, word [r15]
test ax, ax
jne 0x14003ca39
mov qword [rbp - 0x50], rbx
jmp 0x14003ca94
mov rdx, r15
nop dword [rax]
cmp ax, 0x20
je 0x14003ca4c
cmp word [rdx], 9
jne 0x14003ca56
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14003ca40
mov rax, rdx
sub rax, r15
sar rax, 1
je 0x14003ca90
cmp r12, 0xffffffffffffffff
jne 0x14003ca7d
nop word [rax + rax]
inc r12
cmp word [rdx + r12*2], 0
jne 0x14003ca70
jmp 0x14003ca80
sub r12, rax
lea r8, [r12*2 + 2]
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x50], r12
cmp byte [rsp + 0x76], 0
mov eax, ebx
mov dword [rsp + 0x5c], ebx
je 0x14003cd11
movzx eax, word [0x14012fafc]
mov r13d, 0xffffffff
mov word [rsp + 0x70], ax
mov r14, 0xffffffffffffffff
mov word [rbp - 0x80], ax
mov word [rbp - 0x7e], ax
nop word [rax + rax]
inc r14
cmp word [r15 + r14*2], 0
jne 0x14003cad0
cmp word [r15], 0
mov r12, rbx
mov qword [rbp - 0x48], r14
mov rsi, rbx
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x28], rbx
je 0x14003cd0b
cmp word [0x14012fafc], 0
je 0x14003cd0b
lea rcx, [rsp + 0x70]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x14003cb12
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 0x80]
mov r15, 0xffffffffffffffff
nop dword [rax + rax]
inc r15
cmp word [rcx + r15*2], 0
jne 0x14003cb30
mov ecx, r15d
sub ecx, eax
mov eax, 0x4000
sub eax, r14d
mov dword [rsp + 0x54], ecx
js 0x14003cb5f
test ecx, ecx
jle 0x14003cb5f
cdq
idiv ecx
cmp eax, r13d
jae 0x14003cb75
mov r13d, eax
jmp 0x14003cb75
mov r13d, eax
sar r13d, 0x1f
and r13d, 1
dec r13d
test ecx, ecx
je 0x14003cdfc
cmp r14, 0x1388
jb 0x14003cdfc
mov rdi, qword [rsp + 0x68]
mov dword [rsp + 0x5c], ebx
test r13d, r13d
je 0x14003cdf0
nop dword [rax]
nop dword [rax + rax]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov r14, rax
test rax, rax
je 0x14003cc78
inc ebx
dec r13d
mov dword [rsp + 0x5c], ebx
mov rbx, rax
sub rbx, rdi
sar rbx, 1
add rsi, rbx
lea rcx, [rsi + r15]
cmp rcx, qword [rbp - 0x28]
jb 0x14003cc23
sub rax, qword [rsp + 0x68]
mov r8d, r13d
movsxd r9, dword [rbp - 0x48]
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, dword [rsp + 0x5c]
movsxd rax, ecx
movsxd rcx, dword [rsp + 0x54]
mov qword [rsp + 0x20], rax
call fcn.1400d73f0
mov rcx, r12
mov qword [rbp - 0x28], rax
lea rdx, [rax + rax]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14003ccf6
mov r12, rax
test rbx, rbx
je 0x14003cc42
mov rax, qword [rbp - 0x68]
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x68], rsi
jmp 0x14003cc46
mov rsi, qword [rbp - 0x68]
test r15, r15
je 0x14003cc63
lea r8, [r15 + r15]
lea rcx, [r12 + rsi*2]
lea rdx, [rbp - 0x80]
call sub.VCRUNTIME140.dll_memcpy
add rsi, r15
mov qword [rbp - 0x68], rsi
mov rax, qword [rbp - 0x10]
mov ebx, dword [rsp + 0x5c]
lea rdi, [r14 + rax*2]
test r13d, r13d
jne 0x14003cba0
test ebx, ebx
je 0x14003cdf0
mov r15, qword [rsp + 0x68]
mov rax, rdi
mov r14, qword [rbp - 0x48]
sub rax, r15
sar rax, 1
sub r14, rax
je 0x14003cccd
lea rbx, [rsi + r14]
cmp rbx, qword [rbp - 0x28]
jb 0x14003ccba
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
je 0x14003ccfb
mov r12, rax
lea r8, [r14 + r14]
mov rdx, rdi
lea rcx, [r12 + rsi*2]
call sub.VCRUNTIME140.dll_memcpy
mov rsi, rbx
xor ebx, ebx
lea r8, [rsi*2 + 2]
mov rdx, r12
mov word [r12 + rsi*2], bx
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rsp + 0x5c]
jmp 0x14003cd11
mov r15, qword [rsp + 0x68]
test r12, r12
je 0x14003cd09
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ebx, ebx
mov eax, ebx
mov dword [rsp + 0x5c], ebx
cmp byte [rsp + 0x77], 0
je 0x14003d072
movzx ecx, word [0x140130b2c]
mov r14d, 0xffffffff
movzx eax, word [0x14012fafc]
mov rdi, 0xffffffffffffffff
mov word [rsp + 0x70], cx
mov word [rbp - 0x80], ax
mov word [rbp - 0x7e], cx
mov dword [rsp + 0x54], r14d
nop dword [rax]
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x14003cd50
cmp word [r15], 0
mov r12, rbx
mov qword [rbp - 0x68], rdi
mov rsi, rbx
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x48], rbx
je 0x14003d064
test cx, cx
je 0x14003d064
lea rcx, [rsp + 0x70]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14003cd90
mov qword [rbp], rax
lea rcx, [rbp - 0x80]
mov r15, 0xffffffffffffffff
nop dword [rax]
inc r15
cmp word [rcx + r15*2], 0
jne 0x14003cdb0
mov ecx, r15d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rbp - 0x70], ecx
js 0x14003cead
test ecx, ecx
jle 0x14003cead
cdq
idiv ecx
cmp eax, r14d
jae 0x14003cec8
mov r14d, eax
mov dword [rsp + 0x54], eax
jmp 0x14003cec8
mov r15, qword [rsp + 0x68]
xor ebx, ebx
jmp 0x14003cd0b
mov rsi, qword [rsp + 0x68]
mov eax, ebx
mov dword [rsp + 0x5c], ebx
test r13d, r13d
je 0x14003cea3
movsxd r12, ecx
nop dword [rax]
nop word [rax + rax]
lea rdx, [rsp + 0x70]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14003ce9d
lea rdi, [r15 + r15]
lea rsi, [rdi + rax]
test r12d, r12d
je 0x14003ce6f
mov rcx, rax
mov r8, r14
sub rcx, qword [rsp + 0x68]
mov rax, qword [rbp - 0x10]
sar rcx, 1
sub r8, rcx
mov rcx, rsi
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [rbp - 0x80]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x5c]
add r14, r12
inc eax
mov dword [rsp + 0x5c], eax
add r13d, 0xffffffff
jne 0x14003ce20
mov r15, qword [rsp + 0x68]
xor ebx, ebx
jmp 0x14003cd11
mov eax, dword [rsp + 0x5c]
xor ebx, ebx
mov r15, qword [rsp + 0x68]
jmp 0x14003cd11
mov r14d, eax
sar r14d, 0x1f
and r14d, 1
dec r14d
mov dword [rsp + 0x54], r14d
test ecx, ecx
je 0x14003d152
cmp rdi, 0x1388
jb 0x14003d152
mov rdi, qword [rsp + 0x68]
mov r13d, ebx
test r14d, r14d
je 0x14003d05f
nop word [rax + rax]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov r14, rax
test rax, rax
je 0x14003cfc8
mov r8d, dword [rsp + 0x54]
mov rbx, rax
sub rbx, rdi
dec r8d
sar rbx, 1
inc r13d
add rsi, rbx
mov dword [rsp + 0x54], r8d
lea rcx, [rsi + r15]
cmp rcx, qword [rbp - 0x48]
jb 0x14003cf75
sub rax, qword [rsp + 0x68]
movsxd r9, dword [rbp - 0x68]
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, r13d
movsxd rax, ecx
movsxd rcx, dword [rbp - 0x70]
mov qword [rsp + 0x20], rax
call fcn.1400d73f0
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 0x14003d043
mov r12, rax
test rbx, rbx
je 0x14003cf94
mov rax, qword [rbp - 0x28]
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x28], rsi
jmp 0x14003cf98
mov rsi, qword [rbp - 0x28]
test r15, r15
je 0x14003cfb5
lea r8, [r15 + r15]
lea rcx, [r12 + rsi*2]
lea rdx, [rbp - 0x80]
call sub.VCRUNTIME140.dll_memcpy
add rsi, r15
mov qword [rbp - 0x28], rsi
cmp dword [rsp + 0x54], 0
mov rax, qword [rbp]
lea rdi, [r14 + rax*2]
jne 0x14003cef0
test r13d, r13d
je 0x14003d05d
mov r15, qword [rsp + 0x68]
mov rax, rdi
mov r14, qword [rbp - 0x68]
sub rax, r15
sar rax, 1
sub r14, rax
je 0x14003d01e
lea rbx, [r14 + rsi]
cmp rbx, qword [rbp - 0x48]
jb 0x14003d00b
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
je 0x14003d048
mov r12, rax
lea r8, [r14 + r14]
mov rdx, rdi
lea rcx, [r12 + rsi*2]
call sub.VCRUNTIME140.dll_memcpy
mov rsi, rbx
xor ecx, ecx
lea r8, [rsi*2 + 2]
mov word [r12 + rsi*2], cx
mov rdx, r12
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14003d067
mov r15, qword [rsp + 0x68]
test r12, r12
je 0x14003d056
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ecx, ecx
mov r13d, ecx
jmp 0x14003d067
xor ebx, ebx
mov r15, qword [rsp + 0x68]
mov r13d, ebx
mov eax, dword [rsp + 0x5c]
add eax, r13d
mov dword [rsp + 0x5c], eax
cmp byte [rsp + 0x78], 0
je 0x14003d375
movzx ecx, word [0x140130c70]
mov ebx, 0xffffffff
movzx eax, word [0x14012fafc]
mov rdi, 0xffffffffffffffff
mov word [rsp + 0x70], cx
mov word [rbp - 0x80], ax
mov word [rbp - 0x7e], cx
mov dword [rsp + 0x54], ebx
nop dword [rax + rax]
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x14003d0b0
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
mov qword [rbp - 0x68], rdi
mov r12d, r8d
mov r15d, r8d
mov qword [rbp - 0x48], r8
cmp word [rdx], r8w
je 0x14003d36b
test cx, cx
je 0x14003d36b
lea rcx, [rsp + 0x70]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r8w
jne 0x14003d0f0
mov qword [rbp], rax
lea rcx, [rbp - 0x80]
mov r14, 0xffffffffffffffff
nop dword [rax]
inc r14
cmp word [rcx + r14*2], r8w
jne 0x14003d110
mov ecx, r14d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rbp - 0x70], ecx
js 0x14003d1d8
test ecx, ecx
jle 0x14003d1d8
cdq
idiv ecx
mov rdx, qword [rsp + 0x68]
cmp eax, ebx
jae 0x14003d1ee
mov ebx, eax
mov dword [rsp + 0x54], eax
jmp 0x14003d1ee
mov rsi, qword [rsp + 0x68]
mov r13d, ebx
test r14d, r14d
je 0x14003d1ce
movsxd r12, ecx
lea rdx, [rsp + 0x70]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14003d1ce
lea rdi, [r15 + r15]
lea rsi, [rdi + rax]
test r12d, r12d
je 0x14003d1b2
mov r8, qword [rbp - 0x68]
mov rcx, rax
sub rcx, qword [rsp + 0x68]
mov rax, qword [rbp]
sar rcx, 1
sub r8, rcx
mov rcx, rsi
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [rbp - 0x80]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
add qword [rbp - 0x68], r12
inc r13d
add r14d, 0xffffffff
jne 0x14003d162
mov r15, qword [rsp + 0x68]
jmp 0x14003d067
mov ebx, eax
sar ebx, 0x1f
and ebx, 1
dec ebx
mov dword [rsp + 0x54], ebx
test ecx, ecx
je 0x14003d3a0
cmp rdi, 0x1388
jb 0x14003d3a0
mov r13d, r8d
mov rdi, rdx
test ebx, ebx
je 0x14003d36b
nop dword [rax]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rsi, rax
test rax, rax
je 0x14003d2d8
dec ebx
inc r13d
mov dword [rsp + 0x54], ebx
mov rbx, rax
sub rbx, rdi
sar rbx, 1
lea rcx, [r14 + rbx]
add rcx, r15
cmp rcx, qword [rbp - 0x48]
jb 0x14003d293
sub rax, qword [rsp + 0x68]
movsxd r9, dword [rbp - 0x68]
mov r8d, dword [rsp + 0x54]
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, r13d
movsxd rax, ecx
movsxd rcx, dword [rbp - 0x70]
mov qword [rsp + 0x20], rax
call fcn.1400d73f0
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 0x14003d318
mov r12, rax
test rbx, rbx
je 0x14003d2ab
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + r15*2]
call sub.VCRUNTIME140.dll_memcpy
add r15, rbx
test r14, r14
je 0x14003d2c4
lea r8, [r14 + r14]
lea rcx, [r12 + r15*2]
lea rdx, [rbp - 0x80]
call sub.VCRUNTIME140.dll_memcpy
add r15, r14
mov rax, qword [rbp]
mov ebx, dword [rsp + 0x54]
lea rdi, [rsi + rax*2]
test ebx, ebx
jne 0x14003d210
test r13d, r13d
je 0x14003d368
mov r14, qword [rsp + 0x68]
mov rax, rdi
mov rsi, qword [rbp - 0x68]
sub rax, r14
sar rax, 1
sub rsi, rax
je 0x14003d343
lea rbx, [rsi + r15]
cmp rbx, qword [rbp - 0x48]
jb 0x14003d330
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 0x14003d32d
test r12, r12
je 0x14003d326
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ecx, ecx
mov r13d, ecx
jmp 0x14003d36e
mov r12, rax
lea r8, [rsi + rsi]
mov rdx, rdi
lea rcx, [r12 + r15*2]
call sub.VCRUNTIME140.dll_memcpy
mov r15, rbx
xor ecx, ecx
lea r8, [r15*2 + 2]
mov word [r12 + r15*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 0x14003d36e
xor r8d, r8d
mov r13d, r8d
mov eax, dword [rsp + 0x5c]
add eax, r13d
mov r15, qword [rsp + 0x68]
test eax, eax
je 0x14003d429
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x14003d390
jmp 0x14003d42d
mov r12, qword [rsp + 0x68]
mov r13d, r8d
mov rsi, r12
test ebx, ebx
je 0x14003d36e
movsxd r15, ecx
lea rdx, [rsp + 0x70]
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rbx, rax
test rax, rax
je 0x14003d36e
lea rdi, [r14 + r14]
lea rsi, [rax + rdi]
test r15d, r15d
je 0x14003d400
mov r8, qword [rbp - 0x68]
mov rcx, rax
mov rax, qword [rbp]
sub rcx, r12
sar rcx, 1
sub r8, rcx
mov rcx, rsi
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
lea rdx, [rbp - 0x80]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x54]
inc r13d
add qword [rbp - 0x68], r15
dec eax
mov dword [rsp + 0x54], eax
test eax, eax
jne 0x14003d3b2
jmp 0x14003d36e
mov rdi, qword [rbp - 0x50]
mov r13, qword [rbp + 8]
mov rsi, qword [rbp - 0x78]
mov r14d, dword [rsp + 0x60]
mov rbx, qword [rbp - 0x30]
lea rax, [rdi + r13]
add rax, rsi
cmp rax, 0x4001
jae 0x14003f193
mov eax, dword [rbp - 8]
inc eax
mov dword [rbp - 8], eax
cmp eax, 1
jle 0x14003d489
test r13, r13
je 0x14003d489
cmp rbx, r15
jne 0x14003d489
mov rax, qword [rsp + 0x48]
lea r8, [r13*2 + 2]
lea rdx, [rbp + 0x30]
lea rcx, [rax + rsi*2]
call sub.VCRUNTIME140.dll_memcpy
add rsi, r13
mov qword [rbp - 0x78], rsi
test rdi, rdi
je 0x14003c240
mov rax, qword [rsp + 0x48]
lea r8, [rdi*2 + 2]
mov rdx, rbx
lea rcx, [rax + rsi*2]
call sub.VCRUNTIME140.dll_memcpy
add rsi, rdi
mov qword [rbp - 0x78], rsi
jmp 0x14003c240
mov word [rsi], di
mov rsi, qword [rbp - 0x78]
mov r15, qword [rbp + 0x1c0d0]
xor r13d, r13d
nop dword [rax + rax]
test rsi, rsi
je 0x14003df06
cmp word [rbp + 0x4050], 0
je 0x14003d688
mov eax, dword [rbp - 0x54]
mov ebx, dword [r15 + 0x28c]
movzx esi, byte [rsp + 0x50]
mov dword [r15 + 0x28c], eax
mov rax, qword [rsp + 0x48]
cmp word [rax], 0x7b
je 0x14003d578
test sil, sil
jne 0x14003d578
cmp dword [rbp - 0x5c], 0
jne 0x14003f06f
cmp dword [r15 + 0x40], 0
je 0x14003d533
mov rax, qword [0x14012f240]
cmp qword [rax + 0xd8], 0
je 0x14003f03e
mov qword [rsp + 0x38], r13
lea rdx, [rbp + 0x4050]
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov qword [rsp + 0x28], r13
mov r8b, 3
mov rcx, r15
mov qword [rsp + 0x20], r13
call fcn.140042830
test eax, eax
je 0x14003e32d
mov qword [r15 + 0x6d0], r13
mov word [rbp + 0x4050], r13w
jmp 0x14003d681
mov edi, dword [rbp - 0x5c]
mov ecx, edi
test edi, edi
je 0x14003d5c1
sub ecx, 1
je 0x14003d5a0
cmp ecx, 1
jne 0x14003d627
lea rdx, [rbp + 0x4050]
mov rcx, r15
call fcn.14004dec0
jmp 0x14003d5af
lea rdx, [rbp + 0x4050]
mov rcx, r15
call fcn.14004d790
test eax, eax
je 0x14003e32d
mov word [rbp + 0x4050], r13w
jmp 0x14003d633
mov rax, qword [0x14012f240]
mov rcx, r15
cmp qword [rax + 0xd8], 0
jne 0x14003f08a
lea r8, [rbp + 0x1d0]
lea rdx, [rbp + 0x4050]
call fcn.14004c870
test eax, eax
je 0x14003e32d
test sil, sil
je 0x14003d627
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov dl, 0x77
mov rcx, r15
call fcn.140045fb0
test eax, eax
je 0x14003e32d
mov qword [r15 + 0x6d0], r13
mov word [rbp + 0x4050], r13w
jmp 0x14003d681
mov word [rbp + 0x4050], r13w
test edi, edi
je 0x14003d681
test sil, sil
jne 0x14003d681
mov rdx, qword [rsp + 0x48]
movzx eax, word [rdx + 2]
add rdx, 2
cmp ax, 0x20
je 0x14003d63d
cmp ax, 9
je 0x14003d63d
test ax, ax
je 0x14003deff
mov rsi, 0xffffffffffffffff
inc rsi
cmp word [rdx + rsi*2], 0
jne 0x14003d661
mov rcx, qword [rsp + 0x48]
lea r8, [rsi*2 + 2]
mov qword [rbp - 0x78], rsi
call sub.VCRUNTIME140.dll_memmove
mov dword [r15 + 0x28c], ebx
mov rax, qword [rsp + 0x48]
movzx edx, word [rax]
cmp dx, 0x7d
jne 0x14003d7da
movsxd rcx, dword [r15 + 0x40]
test ecx, ecx
je 0x14003d7da
mov rax, qword [0x14012f240]
cmp qword [rax + 0xd8], 0
jne 0x14003d7da
cmp qword [r15 + 0x278], 0
je 0x14003d6ee
mov rcx, qword [r15 + 0x280]
mov qword [r15 + 0x278], r13
test rcx, rcx
je 0x14003d78b
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r15 + 0x280], r13
jmp 0x14003d78b
lea eax, [rcx - 1]
mov dword [r15 + 0x40], eax
mov rsi, qword [r15 + rcx*8 + 0x40]
mov rbx, qword [rsi + 0x20]
sub rbx, 1
js 0x14003d75d
mov rdi, rbx
shl rdi, 5
nop dword [rax + rax]
mov rcx, qword [rsi + 0x18]
cmp dword [rcx + rdi + 0x18], 1
jne 0x14003d753
cmp rbx, qword [rsi + 0x38]
jl 0x14003d72c
mov rcx, qword [rcx + rdi + 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 0x14003d753
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 0x14003d710
movsxd rax, dword [r15 + 0x40]
mov rcx, qword [r15 + rax*8 + 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov edx, 0x2e
lea rcx, [r15 + 0x70]
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
test rax, rax
je 0x14003d786
mov word [rax], r13w
jmp 0x14003d78b
mov word [r15 + 0x70], r13w
mov rax, qword [rsp + 0x48]
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x20
je 0x14003d790
cmp cx, 9
je 0x14003d790
mov qword [rsp + 0x48], rax
cmp word [rax], 0
je 0x14003df06
mov rsi, 0xffffffffffffffff
nop word [rax + rax]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x14003d7c0
mov qword [rbp - 0x78], rsi
mov qword [r15 + 0x6d0], r13
jmp 0x14003d4d0
cmp qword [r15 + 0x278], 0
je 0x14003d8da
mov rax, qword [0x14012f240]
cmp qword [rax + 0xd8], 0
jne 0x14003d8da
mov rcx, qword [rsp + 0x48]
lea rdx, [0x140113878]
mov r8d, 3
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
je 0x14003d839
mov rcx, qword [rsp + 0x48]
lea rdx, [0x140113880]
mov r8d, 3
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003f0a2
mov r8, qword [rsp + 0x48]
lea rbx, [r8 + 6]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003d851
cmp ax, 9
jne 0x14003d857
add rbx, 2
jmp 0x14003d842
test ax, ax
je 0x14003d871
cmp ax, 0x7b
jne 0x14003f0a7
cmp word [rbx + 2], 0
jne 0x14003f0a7
mov rcx, qword [r15 + 0x280]
lea rdx, [rbp + 0x4050]
sub rdx, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14003d890
mov edx, 0x2e
lea rcx, [rbp + 0x4050]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
mov rcx, qword [rsp + 0x48]
mov dword [rbp - 0x5c], r13d
movzx edx, word [rcx]
mov word [rax + 2], dx
cmp word [rbx], 0x7b
mov eax, dword [r15 + 0x28c]
sete byte [rsp + 0x50]
mov dword [rbp - 0x54], eax
jmp 0x14003df06
mov r13, qword [rsp + 0x48]
test dx, dx
je 0x14003dba4
mov r12, r13
nop dword [rax + rax]
lea rcx, [0x140113558]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14003d926
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14003d900
movzx edx, word [r12 + 2]
add r12, 2
test dx, dx
jne 0x14003d8f0
jmp 0x14003dba4
test r12, r12
je 0x14003dba4
cmp word [r12], 0x28
jne 0x14003dba4
mov rbx, qword [rsp + 0x48]
cmp r12, rbx
je 0x14003dba4
mov r14, r12
sub r14, rbx
sar r14, 1
cmp r14, 0xffffffffffffffff
jne 0x14003d96b
nop dword [rax + rax]
inc r14
cmp word [rbx + r14*2], 0
jne 0x14003d960
mov r15d, 2
cmp r14, r15
cmovb r15, r14
xor ecx, ecx
mov esi, ecx
test r15, r15
je 0x14003d9f4
nop dword [rax]
nop word [rax + rax]
movzx edi, word [r13 + rsi*2]
mov ecx, edi
test edi, 0xffffff80
jne 0x14003d9b7
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003d9b7
mov eax, 0xffdf
and di, ax
lea rax, [0x140000000]
movzx ebx, word [rax + rsi*2 + 0x113594]
mov ecx, ebx
test ebx, 0xffffff80
jne 0x14003d9e7
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003d9e7
mov eax, 0xffdf
and bx, ax
cmp di, bx
jne 0x14003da00
inc rsi
cmp rsi, r15
jb 0x14003d990
lea eax, [r14 - 2]
test eax, eax
je 0x14003db9d
mov r14, r12
sub r14, r13
sar r14, 1
cmp r14, 0xffffffffffffffff
jne 0x14003da1c
nop
inc r14
cmp word [r13 + r14*2], 0
jne 0x14003da10
mov r15d, 5
cmp r14, r15
cmovb r15, r14
xor eax, eax
mov esi, eax
test r15, r15
je 0x14003daa4
nop dword [rax]
nop word [rax + rax]
movzx edi, word [r13 + rsi*2]
mov ecx, edi
test edi, 0xffffff80
jne 0x14003da67
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003da67
mov eax, 0xffdf
and di, ax
lea rax, [0x140000000]
movzx ebx, word [rax + rsi*2 + 0x1135a0]
mov ecx, ebx
test ebx, 0xffffff80
jne 0x14003da97
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003da97
mov eax, 0xffdf
and bx, ax
cmp di, bx
jne 0x14003dab0
inc rsi
cmp rsi, r15
jb 0x14003da40
lea eax, [r14 - 5]
test eax, eax
je 0x14003db9d
cmp word [r12 + 2], 0x3a
je 0x14003db9d
mov rax, 0xffffffffffffffff
inc rax
cmp word [r12 + rax*2], 0
jne 0x14003dac4
dec rax
movzx ecx, word [r12 + rax*2]
lea rax, [r12 + rax*2]
cmp cx, 0x7b
sete byte [rsp + 0x50]
jne 0x14003db50
xor r8d, r8d
mov word [rax], r8w
sub rax, r13
sar rax, 1
cmp word [r13], r8w
je 0x14003db47
cmp rax, 0xffffffffffffffff
jne 0x14003db0b
inc rax
cmp word [r13 + rax*2], r8w
jne 0x14003db00
lea rcx, [r13 - 2]
lea rcx, [rcx + rax*2]
movzx edx, word [rcx]
cmp dx, 0x20
je 0x14003db22
cmp dx, 9
jne 0x14003db30
cmp rcx, r13
je 0x14003db37
sub rcx, 2
dec rax
jmp 0x14003db13
mov word [rcx + 2], r8w
jmp 0x14003db4a
cmp dx, 0x20
je 0x14003db43
cmp dx, 9
jne 0x14003db4a
mov word [rcx], r8w
mov rax, r8
movzx ecx, word [r13 + rax*2 - 2]
cmp cx, 0x29
jne 0x14003db9d
mov rcx, qword [rsp + 0x48]
lea rdx, [rbp + 0x4050]
sub rdx, rcx
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14003db70
mov r15, qword [rbp + 0x1c0d0]
xor r13d, r13d
mov dword [rbp - 0x5c], r13d
mov eax, dword [r15 + 0x28c]
mov dword [rbp - 0x54], eax
jmp 0x14003df06
mov r15, qword [rbp + 0x1c0d0]
mov rax, qword [0x14012f240]
cmp qword [rax + 0xd8], 0
jne 0x14003e0a4
mov rbx, qword [rsp + 0x48]
lea rdx, str.Class
mov rcx, rbx
mov r8d, 5
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
test eax, eax
jne 0x14003dcf6
movzx eax, word [rbx + 0xa]
cmp ax, 0x20
je 0x14003dbf0
cmp ax, 9
jne 0x14003dcf6
lea rdi, [rbx + 0xc]
movzx edx, word [rdi]
cmp dx, 0x20
je 0x14003dc03
cmp dx, 9
jne 0x14003dc09
add rdi, 2
jmp 0x14003dbf4
lea rcx, [0x140113558]
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
jne 0x14003dcf6
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rdi + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x14003dc30
lea rcx, [rax - 1]
cmp word [rdi + rcx*2], 0x7b
lea rcx, [rdi + rcx*2]
sete sil
mov byte [rsp + 0x50], sil
jne 0x14003dcb5
xor r13d, r13d
mov word [rcx], r13w
sub rcx, rbx
sar rcx, 1
cmp word [rbx], r13w
je 0x14003dcb8
cmp rcx, 0xffffffffffffffff
jne 0x14003dc7a
nop dword [rax]
inc rcx
cmp word [rbx + rcx*2], r13w
jne 0x14003dc70
lea rax, [rbx - 2]
lea rax, [rax + rcx*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14003dc91
cmp cx, 9
jne 0x14003dc9c
cmp rax, rbx
je 0x14003dca3
sub rax, 2
jmp 0x14003dc82
mov word [rax + 2], r13w
jmp 0x14003dcb8
cmp cx, 0x20
je 0x14003dcaf
cmp cx, 9
jne 0x14003dcb8
mov word [rax], r13w
jmp 0x14003dcb8
xor r13d, r13d
test rdi, rdi
je 0x14003dcf6
lea rcx, [rbp + 0x4050]
mov byte [rsp + 0x50], sil
sub rcx, rdi
nop dword [rax]
movzx eax, word [rdi]
mov word [rdi + rcx], ax
add rdi, 2
test ax, ax
jne 0x14003dcd0
mov eax, dword [r15 + 0x28c]
mov dword [rbp - 0x54], eax
mov dword [rbp - 0x5c], 1
jmp 0x14003df06
cmp dword [r15 + 0x40], 0
je 0x14003e0a4
mov rbx, qword [rsp + 0x48]
nop word [rax + rax]
movzx ecx, word [rbx]
test ecx, 0xffffff80
jne 0x14003dd2d
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 0x14003dd3f
cmp cx, 0x5f
je 0x14003dd3f
cmp cx, 0x7f
ja 0x14003dd3f
cmp cx, 0x2e
jne 0x14003dd45
add rbx, 2
jmp 0x14003dd10
cmp rbx, qword [rsp + 0x48]
jbe 0x14003de86
cmp cx, 0x20
je 0x14003dd5f
movzx eax, word [rbx]
cmp ax, 9
jne 0x14003dd69
movzx ecx, word [rbx + 2]
add rbx, 2
jmp 0x14003dd50
cmp ax, 0x3a
jne 0x14003dd9a
cmp word [rbx + 2], 0x3d
jne 0x14003de86
mov rdx, qword [rsp + 0x48]
xor r8d, r8d
mov rcx, r15
call fcn.14004e140
test eax, eax
je 0x14003e32d
xor r13d, r13d
jmp 0x14003df06
test ax, ax
je 0x14003ddba
cmp ax, 0x5b
je 0x14003ddba
cmp ax, 0x7b
jne 0x14003de86
cmp word [rbx + 2], 0
jne 0x14003de86
mov rax, qword [rsp + 0x48]
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], 0
jne 0x14003ddc6
mov rbx, qword [rsp + 0x48]
cmp word [rbx + rcx*2 - 2], 0x7b
sete byte [rsp + 0x50]
jne 0x14003de4b
dec rcx
cmp word [rbx], 0
je 0x14003de4b
cmp rcx, 0xffffffffffffffff
jne 0x14003ddfb
inc rcx
cmp word [rbx + rcx*2], 0
jne 0x14003ddf1
mov rax, qword [rsp + 0x48]
lea rcx, [rcx - 1]
lea rcx, [rax + rcx*2]
nop dword [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14003de1f
cmp ax, 9
jne 0x14003de2c
cmp rcx, qword [rsp + 0x48]
je 0x14003de36
sub rcx, 2
jmp 0x14003de10
xor r13d, r13d
mov word [rcx + 2], r13w
jmp 0x14003de4e
cmp ax, 0x20
je 0x14003de42
cmp ax, 9
jne 0x14003de4b
xor r13d, r13d
mov word [rcx], r13w
jmp 0x14003de4e
xor r13d, r13d
mov rcx, qword [rsp + 0x48]
lea rdx, [rbp + 0x4050]
sub rdx, rcx
nop dword [rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14003de60
mov eax, dword [r15 + 0x28c]
mov dword [rbp - 0x54], eax
mov dword [rbp - 0x5c], 2
jmp 0x14003df06
mov rcx, qword [rsp + 0x48]
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 + 0x48]
test eax, eax
jne 0x14003dec4
movzx eax, word [r8 + 0xc]
cmp ax, 0x20
je 0x14003deb8
cmp ax, 9
jne 0x14003dec4
lea rdx, [r8 + 0xe]
mov r8b, 1
jmp 0x14003dd82
cmp word [r8], 0x23
jne 0x14003f0c0
mov ebx, dword [r15 + 0x28c]
mov rdx, r8
mov rcx, r15
call fcn.14003f980
test eax, eax
je 0x14003e32d
cmp eax, 3
jne 0x14003f0bb
mov eax, dword [rbp - 0x18]
xor r13d, r13d
mov dword [r15 + 0x288], eax
mov dword [r15 + 0x28c], ebx
mov r14d, dword [rsp + 0x40]
test r14b, r14b
je 0x14003efdf
mov edi, dword [rbp - 0x40]
inc edi
mov ecx, edi
mov dword [rbp - 0x40], edi
sub ecx, 1
je 0x14003e083
sub ecx, 1
je 0x14003df83
sub ecx, 1
je 0x14003ef5a
cmp ecx, 7
jne 0x14003efdf
movzx ecx, r14b
lea r8, [0x1400f97e4]
sub ecx, 0x12
je 0x14003df5f
sub ecx, 0x92
je 0x14003df5f
cmp ecx, 1
jne 0x14003dff8
movzx ecx, byte [rsp + 0x79]
sub ecx, 0x11
je 0x14003dff1
sub ecx, 0x91
je 0x14003dff1
cmp ecx, 1
jne 0x14003dff8
lea r8, str.RCtrl_up
jmp 0x14003dff8
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov eax, dword [0x140110288]
mov r9d, 1
cmp byte [rsp + 0x58], 0
mov qword [rsp + 0x20], r13
mov dword [rcx], eax
setne dl
movzx eax, word [0x14011028c]
add dl, 0xc5
mov word [rcx + 4], ax
mov rcx, r15
call fcn.140045fb0
cmp byte [rsp + 0x7a], 0
je 0x14003df3e
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0x50]
lea rdx, str.if_not_GetKeyState___s__
call fcn.140007350
movsxd r14, eax
mov qword [rbp - 0x78], r14
mov dword [rbp - 0x40], 9
jmp 0x14003e0a8
lea r8, str.LCtrl_up
mov rcx, qword [rsp + 0x48]
lea rax, [rbp + 0x50]
lea r9, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea rdx, str.Blind_s_s_s_DownR
mov qword [r15 + 0x6d0], r13
call fcn.140007350
mov r9d, 1
mov qword [rsp + 0x20], r13
lea r8, [rsp + 0x48]
mov dl, 0x41
mov rcx, r15
call fcn.140045fb0
test eax, eax
je 0x14003e32d
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov dl, 0x67
mov rcx, r15
call fcn.140045fb0
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0x90]
lea rdx, str._s_up::
mov qword [r15 + 0x6d0], r13
call fcn.140007350
movsxd r14, eax
mov qword [rbp - 0x78], r14
mov dword [rbp - 0x40], 2
jmp 0x14003e0a8
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0x90]
lea rdx, str._s::
call fcn.140007350
movsxd r14, eax
mov qword [rbp - 0x78], r14
jmp 0x14003e0a8
mov r14, qword [rbp - 0x78]
mov rbx, qword [rsp + 0x48]
xor edi, edi
mov r13d, edi
mov r12d, edi
cmp word [rbx], 0x3a
jne 0x14003e20a
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
je 0x14003e20a
mov qword [rbp - 0x38], rbx
mov rsi, rbx
cmp ax, 0x3a
je 0x14003e0f8
mov edx, 0x3a
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcschr]
test rax, rax
lea rcx, [rax + 2]
cmovne r13, rcx
jmp 0x14003e10b
mov rax, qword [rsp + 0x48]
cmp word [rax + 4], di
je 0x14003e20e
lea r13, [rax + 4]
mov qword [rbp - 0x30], r13
test r13, r13
je 0x14003e20e
movzx eax, byte [0x1401328fc]
mov rdi, rbx
mov byte [rbp + 0x1c0e0], al
cmp rbx, r13
jae 0x14003e170
nop dword [rax]
movzx ebx, word [rdi]
mov ecx, ebx
test ebx, 0xffffff80
jne 0x14003e154
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003e154
mov eax, 0xffdf
and bx, ax
add rdi, 2
cmp bx, 0x58
je 0x14003e165
cmp rdi, r13
jb 0x14003e130
jmp 0x14003e170
cmp word [rdi], 0x30
setne byte [rbp + 0x1c0e0]
movzx esi, word [0x14012fafc]
lea r14, [0x140000000]
movzx r15d, byte [rbp + 0x1c0e0]
mov rbx, r13
nop dword [rax]
movzx ecx, word [rbx]
test cx, cx
je 0x14003e1bb
movzx eax, cx
nop dword [rax + rax]
cmp cx, si
je 0x14003e1bb
cmp ax, 0x3a
je 0x14003e1bb
movzx eax, word [rbx + 2]
add rbx, 2
movzx ecx, ax
test ax, ax
jne 0x14003e1a0
movzx eax, word [rbx]
test ax, ax
je 0x14003e1ed
movzx ecx, word [rbx + 2]
lea rdi, [rbx + 2]
cmp ax, 0x3a
jne 0x14003e28e
cmp ecx, 0x3a
jne 0x14003e30e
mov r12, rbx
mov rbx, rdi
test r15b, r15b
je 0x14003e30e
mov r13, qword [rbp - 0x30]
mov r14, qword [rbp - 0x78]
mov r15, qword [rbp + 0x1c0d0]
test r12, r12
jne 0x14003e35d
xor eax, eax
mov r13d, eax
mov rsi, qword [rbp - 0x38]
mov rcx, qword [rsp + 0x48]
lea rdx, [0x14011370c]
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov r12, rax
test rax, rax
je 0x14003ec79
mov rcx, qword [rsp + 0x48]
cmp rax, rcx
jne 0x14003e241
cmp word [rax + 4], 0x3a
jne 0x14003e241
add r12, 2
mov rbx, r12
cmp r12, rcx
jbe 0x14003e268
nop dword [rax]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14003e25f
cmp ax, 9
jne 0x14003e268
sub rbx, 2
cmp rbx, rcx
ja 0x14003e250
movzx edi, word [rbx]
xor eax, eax
mov word [rbx], ax
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14003e288
cmp ax, 9
jne 0x14003e317
add rcx, 2
jmp 0x14003e275
lea eax, [rcx - 0x61]
cmp eax, 0x15
ja case.0x14003e2a3.99
cdqe
mov ecx, dword [r14 + rax*4 + 0x3f2d4]
add rcx, r14
jmp rcx
mov word [rdi], 7
jmp case.0x14003e2a3.99
mov word [rdi], 8
jmp case.0x14003e2a3.99
mov word [rdi], reloc.WSOCK32.dll_ioctlsocket
jmp case.0x14003e2a3.99
mov word [rdi], 0xa
jmp case.0x14003e2a3.99
mov word [rdi], ntohs
jmp case.0x14003e2a3.99
mov word [rdi], 9
jmp case.0x14003e2a3.99
mov word [rdi], reloc.WSOCK32.dll_inet_ntoa
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
cmp word [rdi + r8*2 + 2], 0
lea r8, [r8 + 1]
jne 0x14003e2e0
lea r8, [r8*2 + 2]
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
cmp word [rbx], 0x3a
jne 0x14003e30e
cmp word [rdi], 0x3a
cmove rbx, rdi
add rbx, 2
jmp 0x14003e190
xor r8d, r8d
xor edx, edx
call fcn.14001ae90
mov dword [rbp - 0x58], eax
test eax, eax
je 0x14003e334
cmp eax, 4
jne 0x14003e339
xor eax, eax
jmp 0x14003f266
xor ecx, ecx
mov r12d, ecx
movzx ecx, byte [rbp + 0x1c0e0]
mov byte [rbp + 0x1c0e0], cl
mov word [rbx], di
mov qword [rbp - 0x38], rsi
test r12, r12
je 0x14003ec79
movzx esi, word [0x14012fafc]
mov rdx, qword [rsp + 0x48]
cmp r12, rdx
jbe 0x14003ec85
mov rax, qword [0x14012f240]
cmp qword [rax + 0xd8], 0
jne 0x14003f165
mov rax, qword [r15 + 0x668]
test rax, rax
je 0x14003e395
cmp byte [rax], 0x1a
je 0x14003f0d4
xor edi, edi
mov word [r12], di
add r12, 4
test r13, r13
jne 0x14003e7a6
movzx eax, word [r12]
test ax, ax
je 0x14003e3fc
mov rdx, r12
cmp ax, 0x20
je 0x14003e3c2
cmp word [rdx], 9
jne 0x14003e3cc
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14003e3b6
mov rax, rdx
sub rax, r12
cmp rax, 2
jb 0x14003e3fc
mov r8, 0xffffffffffffffff
nop
cmp word [rdx + r8*2 + 2], di
lea r8, [r8 + 1]
jne 0x14003e3e0
lea r8, [r8*2 + 2]
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
mov rsi, r12
cmp word [r12], di
je 0x14003e7a6
movzx eax, word [r12 + 2]
test ax, ax
je 0x14003e576
lea rdx, [0x140000000]
cmp ax, 0x20
je case.0x14003e445.34
movzx eax, word [rsi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14003e445.34
cdqe
movzx eax, byte [rdx + rax + 0x3f334]
mov ecx, dword [rdx + rax*4 + 0x3f32c]
add rcx, rdx
jmp rcx
movzx eax, word [rsi + 4]
add rsi, 2
test ax, ax
jne 0x14003e420
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
movzx ebx, word [rsi]
test bx, bx
jne 0x14003e46c
xor r14b, r14b
jmp 0x14003e566
cmp word [rsi + 2], di
jne 0x14003e48b
mov r9b, 1
mov r8, rax
xor edx, edx
movzx ecx, bx
call fcn.1400254c0
movzx r14d, al
jmp 0x14003e566
mov ecx, ebx
test ebx, 0xffffff80
jne 0x14003e4b0
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003e4b0
mov r14d, 0xffdf
and bx, r14w
jmp 0x14003e4b6
mov r14d, 0xffdf
cmp bx, 0x56
jne 0x14003e50a
movzx ebx, word [rsi + 2]
mov ecx, ebx
test ebx, 0xffffff80
jne 0x14003e4dd
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003e4dd
and bx, r14w
cmp bx, 0x4b
jne 0x14003e50a
lea rcx, [rsi + 4]
mov r8d, reloc.WSOCK32.dll_recv
lea rdx, [rbp + 0x20]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
movzx ecx, al
mov r14d, edi
mov rax, qword [rbp + 0x20]
cmp word [rax], di
cmove r14d, ecx
jmp 0x14003e566
lea r14, str.Numpad0
mov rbx, r14
mov rcx, qword [rbx]
mov rdx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x14003e558
inc edi
lea rax, [0x14012fa00]
add rbx, 0x10
cmp rbx, rax
jl 0x14003e514
xor edx, edx
mov rcx, rsi
call fcn.140025240
test ax, ax
je 0x14003e553
movzx ecx, ax
call fcn.140026810
movzx r14d, al
jmp 0x14003e564
xor r14b, r14b
jmp 0x14003e564
movsxd rax, edi
add rax, rax
movzx r14d, byte [r14 + rax*8 + 8]
xor edi, edi
mov dword [rsp + 0x40], r14d
test r14b, r14b
je 0x14003e7a6
jmp 0x14003e57e
mov r14b, 0xff
mov dword [rsp + 0x40], r14d
mov rbx, qword [rsp + 0x48]
cmp word [rbx], 0
je case.0x14003e5c5.34
movzx eax, word [rbx + 2]
test ax, ax
je case.0x14003e5c5.34
lea rdx, [0x140000000]
nop dword [rax]
cmp ax, 0x20
je case.0x14003e5c5.34
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14003e5c5.34
cdqe
movzx eax, byte [rdx + rax + 0x3f39c]
mov ecx, dword [rdx + rax*4 + 0x3f394]
add rcx, rdx
jmp rcx
movzx eax, word [rbx + 4]
add rbx, 2
test ax, ax
jne 0x14003e5a0
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.140025360
lea rdx, [0x140110760]
mov byte [rsp + 0x79], al
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov rdi, rax
movzx eax, byte [rsp + 0x79]
lea ecx, [rax - 1]
cmp cl, 5
ja 0x14003e616
cmp al, 3
jne 0x14003e61e
lea ecx, [rax + 0x66]
cmp cl, 5
ja 0x14003e622
mov cl, 1
jmp 0x14003e624
xor cl, cl
lea eax, [r14 - 1]
cmp al, 5
ja 0x14003e632
cmp r14b, 3
jne 0x14003e63a
lea eax, [r14 + 0x66]
cmp al, 5
ja 0x14003e63e
mov al, 1
jmp 0x14003e640
xor al, al
mov byte [rsp + 0x58], al
test cl, cl
jne 0x14003e651
mov byte [rsp + 0x7a], 1
test al, al
jne 0x14003e656
mov byte [rsp + 0x7a], 0
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14003e660
cmp rax, 1
jne 0x14003e68d
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
je 0x14003e68d
lea rcx, [0x140113980]
lea rax, [0x1400f97e4]
jmp 0x14003e697
lea rax, [0x1400f97e4]
mov rcx, rax
test rdi, rdi
lea r9, [0x140113554]
lea r8, [0x140113988]
mov edx, SafeArrayAllocDescriptor
cmovne r9, rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x90]
call fcn.1400d6690
mov r8d, SafeArrayAllocDescriptor
lea rcx, [rbp + 0x50]
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 r8d, 7
mov word [rbp + 0x8e], di
mov rdx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
sub rsi, r12
mov word [rbp + 0x1e], di
sar rsi, 1
cmp rsi, 8
jae 0x14003e710
mov word [rbp + rsi*2 + 0x10], di
mov eax, edi
mov dword [rbp - 0x40], eax
cmp word [rbp + 0x10], di
jne 0x14003ee8f
cmp r14b, 0xd
je 0x14003e787
cmp r14b, 0x13
jne 0x14003ee8f
movzx ebx, word [rbp + 0x50]
mov ecx, ebx
test ebx, 0xffffff80
jne 0x14003e756
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003e756
mov esi, 0xffdf
and bx, si
jmp 0x14003e75b
mov esi, 0xffdf
cmp bx, 0x50
je 0x14003e7a0
movzx ebx, word [rbp + 0x50]
mov ecx, ebx
test ebx, 0xffffff80
jne 0x14003e781
mov edx, 2
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
test eax, eax
je 0x14003e781
and bx, si
cmp bx, 0x42
jmp 0x14003e79a
lea rdx, str.Return
lea rcx, [rbp + 0x50]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14003ee8f
xor al, al
mov dword [rsp + 0x40], eax
mov rbx, qword [rbp + 0x1c0d0]
mov esi, dword [rbp - 0x58]
movzx r14d, byte [rbp + 0x1c0e0]
mov r15, qword [rbp - 0x38]
cmp byte [rbx + 0x290], 0
je 0x14003e802
mov r9d, 0xff
mov byte [rbx + 0x290], 0
xor r8d, r8d
mov qword [rsp + 0x20], rdi
mov dl, 0x67
mov rcx, rbx
call fcn.140045fb0
test eax, eax
je 0x14003e32d
mov rax, qword [rbx + 0x668]
mov qword [rax + 0x10], 1
mov qword [rbx + 0x6d0], rdi
mov rcx, qword [rsp + 0x48]
cmp word [rcx], 0
je 0x14003e32d
mov rdx, 0xffffffffffffffff
call fcn.1400d2c40
mov rdi, rax
test rax, rax
je 0x14003e32d
call fcn.140037d40
mov qword [rbp - 0x30], rax
mov rbx, rax
test rax, rax
je 0x14003e8b6
lea rax, vtable.Label.0
mov qword [rbx + 8], rdi
mov qword [rbx], rax
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
test rbx, rbx
je 0x14003e8b6
mov rcx, qword [rbp + 0x1c0d0]
mov rax, qword [rcx + 0x688]
mov qword [rbx + 0x18], rax
cmp qword [rcx + 0x680], 0
jne 0x14003e880
mov qword [rcx + 0x680], rbx
jmp 0x14003e88b
mov rax, qword [rcx + 0x688]
mov qword [rax + 0x20], rbx
mov qword [rcx + 0x688], rbx
lea rdx, [0x1400f9868]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
mov rdi, qword [rbp + 0x1c0d0]
test eax, eax
jne 0x14003e8db
mov qword [rdi + 0xb58], rbx
jmp 0x14003e8db
mov rdi, qword [rbp + 0x1c0d0]
lea r8, [0x1400f97e4]
mov rcx, rdi
lea rdx, str.Out_of_memory.
call fcn.140064aa0
test eax, eax
je 0x14003e32d
test r13, r13
je 0x14003ea1b
cmp word [r13], 0
je 0x14003f0f2
mov r15, qword [rbp + 0x1c0d0]
lea rdx, [0x1400f97e4]
mov r8, qword [rbp - 0x38]
test r14b, r14b
mov byte [rsp + 0x30], 0
mov rax, r12
cmovne rax, rdx
mov r9, r13
mov rcx, qword [r15 + 0x688]
movzx ebx, r14b
movzx edx, byte [rsp + 0x7b]
mov byte [rsp + 0x28], dl
mov rdx, rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rcx + 8]
call fcn.14001c3d0
test eax, eax
je 0x14003e32d
movzx eax, word [r12]
test ax, ax
je 0x14003ee8a
test bl, bl
je 0x14003e9e7
mov rdx, r12
nop word [rax + rax]
cmp ax, 0x20
je 0x14003e96c
cmp word [rdx], 9
jne 0x14003e976
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14003e960
xor r13d, r13d
xor r9d, r9d
mov qword [rsp + 0x38], r13
xor r8d, r8d
mov qword [rsp + 0x30], r13
mov rcx, r15
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.140042830
test eax, eax
je 0x14003e32d
mov rax, qword [r15 + 0x668]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14003e9c6
sub cl, 0x69
cmp cl, 0xa
ja 0x14003e9ea
mov eax, 0x707
bt eax, ecx
jae 0x14003e9ea
mov word [r12 - 4], 0x3a
lea rdx, str.Invalid_single_line_hotkey_hotstring.
mov r8, qword [rsp + 0x48]
mov rcx, r15
call fcn.140064aa0
jmp 0x14003f266
xor r13d, r13d
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov dl, 0x67
mov rcx, r15
call fcn.140045fb0
test eax, eax
je 0x14003e32d
mov rax, qword [r15 + 0x668]
mov qword [rax + 0x10], 1
jmp 0x14003df06
movzx ebx, r13w
cmp word [r12], r13w
je 0x14003eb69
lea rdx, str.AltTab
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14003ea48
mov ebx, 0x7ffe
jmp 0x14003eb34
lea rdx, str.ShiftAltTab
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14003ea66
mov ebx, 0x7ffd
jmp 0x14003eb34
lea rdx, str.AltTabMenu
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14003ea84
mov ebx, 0x7ffc
jmp 0x14003eb34
lea rdx, str.AltTabAndMenu
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14003eaa2
mov ebx, 0x7ffb
jmp 0x14003eb34
lea rdx, str.AltTabMenuDismiss
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14003eabd
mov ebx, 0x7ffa
jmp 0x14003eb34
mov qword [rsp + 0x38], r13
xor r9d, r9d
mov qword [rsp + 0x30], r13
xor r8d, r8d
mov qword [rsp + 0x28], r13
mov rdx, r12
mov rcx, rdi
mov qword [rsp + 0x20], r13
call fcn.140042830
test eax, eax
je 0x14003e32d
mov rax, qword [rdi + 0x668]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14003f10b
lea eax, [rcx - 0x69]
cmp al, 2
jbe 0x14003f10b
mov qword [rbp - 0x38], r15
mov byte [rbp + 0x1c0e0], r14b
mov dword [rbp - 0x58], esi
cmp cl, 0x71
jb 0x14003eb34
mov qword [rbp - 0x38], r15
mov byte [rbp + 0x1c0e0], r14b
mov dword [rbp - 0x58], esi
cmp cl, 0x73
jbe 0x14003f10b
mov r15, qword [rbp + 0x1c0d0]
xor r9d, r9d
mov rcx, r15
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov dl, 0x67
call fcn.140045fb0
test eax, eax
je 0x14003e32d
mov rax, qword [r15 + 0x668]
mov qword [rax + 0x10], 1
jmp 0x14003eb70
mov r15, qword [rbp + 0x1c0d0]
mov rcx, qword [rsp + 0x48]
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x7c]
call fcn.14001b570
mov rdi, rax
test rax, rax
je 0x14003ebfd
test bx, bx
je 0x14003eb99
mov word [rax + 6], bx
jmp 0x14003df06
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14003ebc3
mov rcx, qword [0x140133920]
nop dword [rax]
cmp qword [rax + 8], rcx
je 0x14003f12c
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003ebb0
movzx r8d, byte [rsp + 0x7c]
mov rcx, rdi
mov rdx, qword [r15 + 0x688]
call fcn.14001ad30
test rax, rax
je 0x14003f14c
cmp byte [rbp - 0x60], r13b
jne 0x14003ebf4
cmp byte [0x14013290b], r13b
je 0x14003df06
mov byte [rdi + 0x14], 1
jmp 0x14003df06
mov rcx, qword [r15 + 0x688]
movzx edx, bx
movzx r9d, byte [rsp + 0x7c]
mov byte [rsp + 0x20], r13b
mov r8, qword [rcx + 8]
call fcn.14001a190
test rax, rax
jne 0x14003df06
cmp dword [rbp - 0x58], 3
jne 0x14003e32d
cmp qword [r15 + 0xbe8], r13
jne 0x14003df06
mov r9, qword [rsp + 0x48]
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 + 0xd0]
call fcn.1400d6690
xorps xmm3, xmm3
mov qword [rsp + 0x20], r13
xor r8d, r8d
lea rcx, [rbp + 0xd0]
mov edx, 0x10000
call fcn.1400def40
jmp 0x14003df06
mov rdx, qword [rsp + 0x48]
movzx esi, word [0x14012fafc]
cmp word [rdx + r14*2 - 2], 0x3a
jne 0x14003ee57
cmp r14, 1
je 0x14003f17c
movzx eax, word [rdx]
mov rcx, rdx
test ax, ax
je 0x14003ece7
movzx r8d, word [0x140130c70]
nop
cmp ax, 0x20
je 0x14003ee57
movzx eax, word [rcx]
cmp ax, 9
je 0x14003ee57
cmp ax, r8w
je 0x14003ee57
cmp ax, si
je 0x14003ee57
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14003ecb0
cmp word [rdx + r14*2 - 4], 0x3a
jne 0x14003ecfa
cmp r14, 2
ja 0x14003ee57
xor r13d, r13d
mov word [rdx + r14*2 - 2], r13w
lea rdx, str.Default
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14003ed52
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x14003ed52
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14003ed52
cmp byte [rcx], 0x75
jne 0x14003ed52
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov dl, 0x76
mov rcx, r15
call fcn.140045fb0
test eax, eax
je 0x14003e32d
jmp 0x14003df06
mov rdi, qword [rsp + 0x48]
cmp word [rdi], r13w
je 0x14003e32d
mov rbx, qword [r15 + 0x680]
test rbx, rbx
je 0x14003ed8a
nop dword [rax]
mov rcx, qword [rbx + 8]
mov rdx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x14003edf2
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x14003ed70
mov rdx, 0xffffffffffffffff
mov rcx, rdi
call fcn.1400d2c40
mov rdi, rax
test rax, rax
je 0x14003e32d
call fcn.140037d40
mov qword [rbp - 0x30], rax
mov rbx, rax
test rax, rax
je 0x14003ee31
mov qword [rbx + 8], rdi
lea rax, vtable.Label.0
mov qword [rbx], rax
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
mov qword [rbx + 0x20], r13
test rbx, rbx
je 0x14003ee31
mov rax, qword [r15 + 0x688]
mov qword [rbx + 0x18], rax
cmp qword [r15 + 0x680], r13
jne 0x14003edfb
mov qword [r15 + 0x680], rbx
jmp 0x14003ee06
lea rdx, str.Duplicate_label.
jmp 0x14003ee3f
mov rax, qword [r15 + 0x688]
mov qword [rax + 0x20], rbx
lea rdx, [0x1400f9868]
mov qword [r15 + 0x688], rbx
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x14003df06
mov qword [r15 + 0xb58], rbx
jmp 0x14003df06
lea rdx, str.Out_of_memory.
lea rdi, [0x1400f97e4]
mov rcx, r15
mov r8, rdi
call fcn.140064aa0
test eax, eax
je 0x14003e32d
jmp 0x14003df06
cmp word [rdx], 0x23
jne 0x14003ee9c
mov ebx, dword [r15 + 0x28c]
mov rcx, r15
call fcn.14003f980
test eax, eax
je 0x14003e32d
cmp eax, 3
jne 0x14003ee97
mov eax, dword [rbp - 0x18]
mov dword [r15 + 0x288], eax
mov dword [r15 + 0x28c], ebx
mov r14d, dword [rsp + 0x40]
xor r13d, r13d
jmp 0x14003df0b
mov rdx, qword [rsp + 0x48]
movzx ecx, word [rdx]
mov r8d, 0xfffd
lea eax, [rcx - 0x7b]
test r8w, ax
je 0x14003eee0
xor r13d, r13d
xor r9d, r9d
mov qword [rsp + 0x38], r13
xor r8d, r8d
mov qword [rsp + 0x30], r13
mov rcx, r15
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.140042830
test eax, eax
je 0x14003e32d
jmp 0x14003df06
cmp cx, 0x7b
mov rcx, r15
setne dl
xor r13d, r13d
add dl, 0x77
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
call fcn.140045fb0
test eax, eax
je 0x14003e32d
mov rax, qword [rsp + 0x48]
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x20
je 0x14003ef0d
cmp cx, 9
je 0x14003ef0d
mov r14d, dword [rsp + 0x40]
mov qword [rsp + 0x48], rax
cmp word [rax], r13w
je 0x14003df0b
mov rsi, 0xffffffffffffffff
nop dword [rax]
inc rsi
cmp word [rax + rsi*2], r13w
jne 0x14003ef40
mov qword [rbp - 0x78], rsi
mov qword [r15 + 0x6d0], r13
jmp 0x14003d4d0
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov eax, dword [0x140110288]
mov r9d, 1
cmp byte [rsp + 0x58], 0
mov qword [rsp + 0x20], r13
mov dword [rcx], eax
setne dl
movzx eax, word [0x14011028c]
add dl, 0xc5
mov word [rcx + 4], ax
mov rcx, r15
call fcn.140045fb0
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0x50]
lea rdx, str.Blind_s_Up
call fcn.140007350
mov r9d, 1
mov qword [rsp + 0x20], r13
lea r8, [rsp + 0x48]
mov dl, 0x41
mov rcx, r15
call fcn.140045fb0
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov dl, 0x67
mov rcx, r15
call fcn.140045fb0
xor al, al
mov dword [rsp + 0x40], eax
mov rcx, qword [rsp + 0x68]
lea rax, [rbp + 0xc060]
cmp qword [rbp + 0x28], rax
lea rbx, [rbp + 0x14070]
mov rsi, qword [rbp - 0x50]
lea rdx, [rbp + 0xc060]
movzx edi, byte [rbp + 0x1c0e8]
cmovne rbx, rdx
mov r13d, dword [rbp - 0x20]
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x48], rcx
mov qword [rbp - 0x78], rsi
jmp 0x14003c1d0
mov r8, r15
mov rcx, qword [rbp + 0x1c0d0]
lea rdx, str.Continuation_section_too_long.
call fcn.140064aa0
jmp 0x14003f266
cmp qword [r15 + 0x278], 0
lea rdx, [0x1401137f8]
lea rax, str.Not_a_valid_method__class_or_property_definition.
mov rcx, r15
cmovne rax, rdx
lea r8, [rbp + 0x4050]
mov rdx, rax
call fcn.140064aa0
jmp 0x14003f266
lea r8, [rbp + 0x4050]
mov rcx, r15
lea rdx, [0x1401137f8]
call fcn.140064aa0
jmp 0x14003f266
lea r8, [rbp + 0x4050]
lea rdx, str.Functions_cannot_contain_functions.
call fcn.140064aa0
jmp 0x14003f266
mov r8, qword [rsp + 0x48]
lea rdx, str.Not_a_valid_property_getter_setter.
mov rcx, r15
call fcn.140064aa0
jmp 0x14003f266
mov r8, qword [rsp + 0x48]
lea rdx, str.Not_a_valid_method__class_or_property_definition.
mov rcx, r15
call fcn.140064aa0
jmp 0x14003f266
mov r8, rdx
mov qword [r15 + 0x6d0], rax
lea rdx, str.IfWin_should_be_IfWin.
mov rcx, r15
call fcn.140064aa0
jmp 0x14003f266
mov r8, qword [rsp + 0x48]
lea rdx, str.This_hotstring_is_missing_its_abbreviation.
mov rcx, rdi
call fcn.140064aa0
jmp 0x14003f266
mov word [r12 - 4], 0x3a
lea rdx, str.Invalid_single_line_hotkey_hotstring.
mov r8, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140064aa0
jmp 0x14003f266
mov r8, qword [rsp + 0x48]
lea rdx, str.Duplicate_hotkey.
mov rcx, r15
mov qword [r15 + 0x6d0], r13
call fcn.140064aa0
jmp 0x14003f266
mov r8, qword [rsp + 0x48]
lea rdx, str.Out_of_memory.
mov rcx, r15
call fcn.140064aa0
jmp 0x14003f266
mov r8, rdx
mov rcx, r15
lea rdx, str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
call fcn.140064aa0
jmp 0x14003f266
mov r8, rdx
mov rcx, r15
lea rdx, str.This_line_does_not_contain_a_recognized_action.
call fcn.140064aa0
jmp 0x14003f266
mov r8, rbx
jmp 0x14003f026
mov r8, qword [rsp + 0x48]
lea rdx, [0x140113798]
mov rcx, qword [rbp + 0x1c0d0]
call fcn.140064aa0
jmp 0x14003f266
cmp word [rbp + 0x4050], 0
je 0x14003f238
cmp dword [rbp - 0x5c], 0
mov rcx, r15
mov ebx, dword [r15 + 0x28c]
mov eax, dword [rbp - 0x54]
mov dword [r15 + 0x28c], eax
je 0x14003f201
cmp byte [rsp + 0x50], 0
lea rax, str.Missing___
lea rdx, [0x1401137f8]
cmovne rdx, rax
lea r8, [rbp + 0x4050]
call fcn.140064aa0
jmp 0x14003f266
xor eax, eax
lea rdx, [rbp + 0x4050]
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.140042830
test eax, eax
je 0x14003e32d
mov dword [r15 + 0x28c], ebx
cmp dword [r15 + 0x40], 0
je 0x14003f25a
cmp dword [rbp - 0x18], 0
jne 0x14003f25a
lea r8, [r15 + 0x70]
mov rcx, r15
lea rdx, str.Missing___
call fcn.140064aa0
jmp 0x14003f266
inc dword [r15 + 0x28c]
mov eax, 1
add rsp, 0x1c188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret