Function at 0x14002ae60
Capabilities:
Get keyboard layout

Disassembly:
mov dword [rsp + 0x18], r8d
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 - 0x1c098]
mov eax, 0x1c198
call fcn.1400eb380
sub rsp, rax
xor r14d, r14d
mov qword [rsp + 0x20], rdx
lea rax, [rbp + 0xc070]
mov word [rbp + 0x4060], r14w
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0xc070]
lea rax, [rbp + 0x14080]
mov word [rsp + 0x72], r14w
mov qword [rsp + 0x58], rax
xor r9d, r9d
xor al, al
mov word [rbp - 0x7c], r14w
mov dword [rsp + 0x50], eax
mov esi, r8d
mov rdi, rcx
mov dword [rcx + 0x2c8], r8d
mov dword [rbp - 0x78], r14d
call fcn.14002e110
mov rcx, qword [rsp + 0x48]
lea r8d, [r14 + 2]
lea rdx, [0x1401136c8]
mov qword [rbp - 0x40], rax
mov r12, rax
call fcn.1400dceb8
test eax, eax
sete byte [rbp + 0x1c0f8]
test eax, eax
jne 0x14002af22
mov rax, qword [rsp + 0x48]
mov r12d, r14d
mov qword [rbp - 0x40], r14
mov word [rax], r14w
movzx ebx, byte [rsp + 0x40]
mov r8, qword [rbp - 0x10]
mov eax, dword [rbp - 0x70]
mov rcx, qword [rsp + 0x48]
mov byte [rsp + 0x40], bl
lea rbx, [rbp + 0x14080]
mov qword [rbp], r8
mov dword [rbp - 8], eax
mov qword [rbp + 0x30], rbx
mov edx, reloc.WSOCK32.dll_ioctlsocket
cmp r12, 0xffffffffffffffff
je 0x14002dec9
mov esi, dword [rbp - 0x78]
mov r8d, edx
lea rdx, str.CommentFlag
mov qword [rdi + 0x6a0], r14
lea eax, [rsi + 1]
mov dword [rdi + 0x2cc], eax
call fcn.1400d2a10
test eax, eax
jne 0x14002af93
mov rdx, qword [rsp + 0x48]
mov rcx, rdi
call fcn.14002e470
test eax, eax
je 0x14002df3a
movzx edi, byte [rbp + 0x1c0f8]
mov r15d, r14d
mov byte [rsp + 0x7b], 0
mov dword [rsp + 0x6c], r14d
mov r14, qword [rbp - 0x20]
nop dword [rax + rax]
mov rax, qword [rbp + 0x1c0e8]
inc esi
mov r9d, r15d
mov dword [rbp - 0x78], esi
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.14002e110
mov r13, rax
mov qword [rbp - 0x30], rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14002b0e1
test r15d, r15d
jne 0x14002b0e1
lea r8d, [r15 + 2]
mov rcx, rbx
lea rdx, [0x1401136ec]
call fcn.1400dceb8
test eax, eax
jne 0x14002b0b0
test dil, dil
jne 0x14002b01c
cmp word [rbx + 4], 0x3a
jne 0x14002b01c
cmp word [rbx + 6], 0x3a
je 0x14002b0b9
sub r13, 2
lea rdx, [rbx + 4]
xor dil, dil
mov rcx, rbx
mov byte [rbp + 0x1c0f8], dil
lea r8, [r13*2 + 2]
call fcn.1400cfd20
movzx eax, word [rbx]
test ax, ax
jne 0x14002b04d
xor eax, eax
mov r13d, eax
jmp 0x14002b0a0
mov rdx, rbx
cmp ax, 0x20
je 0x14002b05c
cmp ax, 9
jne 0x14002b066
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14002b050
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x14002b0a0
cmp r13, 0xffffffffffffffff
jne 0x14002b08d
nop word [rax + rax]
inc r13
cmp word [rdx + r13*2], 0
jne 0x14002b080
jmp 0x14002b090
sub r13, rax
lea r8, [r13*2 + 2]
mov rcx, rbx
call fcn.1400cfd20
cmp word [rbx], 0
mov qword [rbp - 0x30], r13
je 0x14002afb0
jmp 0x14002b0b9
test dil, dil
jne 0x14002afb0
mov r8d, 2
lea rdx, [0x1401136c8]
mov rcx, rbx
call fcn.1400dceb8
test eax, eax
jne 0x14002b0e1
mov dil, 1
mov byte [rbp + 0x1c0f8], dil
jmp 0x14002afb0
test dil, dil
je 0x14002b0f5
cmp r13, 0xffffffffffffffff
jne 0x14002afb0
jmp 0x14002c244
test r15d, r15d
jne 0x14002b696
cmp r13, 0xffffffffffffffff
je 0x14002b352
cmp word [rbx], 0x28
jne 0x14002b352
add rbx, 2
cmp word [rbx], 0x3a
je 0x14002b34d
mov rax, qword [rsp + 0x58]
cmp word [rax + r13*2 - 2], 0x3a
je 0x14002b348
movzx eax, byte [0x140134099]
mov r15d, 1
xor r13d, r13d
mov dword [rsp + 0x6c], r15d
mov dword [rbp + 8], r13d
mov r14d, r15d
mov byte [rsp + 0x75], al
mov byte [rsp + 0x74], r15b
mov byte [rsp + 0x76], r13b
mov byte [rsp + 0x77], r13b
mov byte [rsp + 0x78], r15b
mov qword [rbp - 0x20], r15
mov dword [rbp + 0x38], 0xa
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002b180
cmp ax, 9
jne 0x14002b186
add rbx, 2
jmp 0x14002b171
test ax, ax
je 0x14002b339
nop
mov rsi, rbx
test rbx, rbx
je 0x14002b1cf
movzx edx, word [rbx]
test dx, dx
je 0x14002b1cf
lea rcx, [0x1401108a0]
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14002b1f0
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14002b1b0
movzx edx, word [rsi + 2]
add rsi, 2
test dx, dx
jne 0x14002b1a0
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rbx + rax*2 + 2], r13w
lea rax, [rax + 1]
jne 0x14002b1e0
lea rsi, [rbx + rax*2]
movzx edi, word [rsi]
lea rdx, str.Join
mov r8d, 4
mov word [rsi], r13w
mov rcx, rbx
call fcn.1400d2a10
test eax, eax
jne 0x14002b253
lea rdx, [rbx + 8]
lea r8d, [rax + 0xf]
lea rcx, [rbp + 0x38]
call fcn.1400de184
mov r8b, 1
mov word [rbp + 0x56], r13w
lea rcx, [rbp + 0x38]
call fcn.1400af440
lea rax, [rbp + 0x38]
mov r14, 0xffffffffffffffff
nop dword [rax]
inc r14
cmp word [rax + r14*2], r13w
jne 0x14002b240
mov qword [rbp - 0x20], r14
jmp 0x14002b305
mov r8d, 5
lea rdx, [0x1401137a8]
mov rcx, rbx
call fcn.1400d2a10
test eax, eax
jne 0x14002b27b
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x75]
jmp 0x14002b305
mov r8d, 5
lea rdx, str.RTrim
mov rcx, rbx
call fcn.1400d2a10
test eax, eax
jne 0x14002b2a0
cmp word [rbx + 0xa], 0x30
setne byte [rsp + 0x74]
jmp 0x14002b305
movzx eax, word [rbx]
test ax, ax
je 0x14002b305
nop dword [rax + rax]
movzx eax, ax
add eax, 0xffffffdb
cmp eax, 0x3e
ja case.0x14002b2d6.38
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x2dfa0]
mov ecx, dword [rdx + rax*4 + 0x2df88]
add rcx, rdx
jmp rcx
mov byte [rsp + 0x76], 1
jmp case.0x14002b2d6.38
mov byte [rsp + 0x77], 1
jmp case.0x14002b2d6.38
mov byte [rsp + 0x78], r13b
jmp case.0x14002b2d6.38
mov r15d, 2
mov dword [rsp + 0x6c], r15d
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14002b2b0
mov word [rsi], di
mov rbx, rsi
nop dword [rax + rax]
cmp di, 0x20
je 0x14002b31c
cmp di, 9
jne 0x14002b326
movzx edi, word [rbx + 2]
add rbx, 2
jmp 0x14002b310
test di, di
jne 0x14002b190
movzx edi, byte [rbp + 0x1c0f8]
mov esi, dword [rbp - 0x78]
mov rbx, qword [rsp + 0x58]
mov byte [rsp + 0x7b], 1
jmp 0x14002afb0
mov rbx, rax
jmp 0x14002b352
mov rbx, qword [rsp + 0x58]
lea r14, [r13*2]
cmp r13, 0xffffffffffffffff
je 0x14002c244
xor eax, eax
mov dword [rsp + 0x6c], eax
mov r15d, eax
test r13, r13
je 0x14002afa7
cmp word [r14 + rbx - 2], 0x3a
jne 0x14002b389
cmp word [rbx], 0x2c
jne 0x14002c244
movzx ebx, word [rbx]
test ebx, 0xffffff80
jne 0x14002b3a0
mov edx, 2
mov ecx, ebx
call fcn.1400d7464
mov ecx, ebx
and ecx, 0xffffffdf
test eax, eax
cmove ecx, ebx
cmp ecx, 0x41
je 0x14002b5e6
cmp ecx, 0x4f
je 0x14002b56f
mov rbx, qword [rsp + 0x58]
movzx edx, word [rbx]
cmp edx, 0x3a
ja 0x14002b3e9
movabs rcx, 0x400280000000000
bt rcx, rdx
jae 0x14002b3e9
cmp word [rbx + 2], dx
lea rdi, [rbx + 2]
je 0x14002c244
jmp 0x14002b3ed
lea rdi, [rbx + 2]
lea rcx, str.____:.___
call fcn.1400cbb24
test rax, rax
je 0x14002c244
lea rdx, [0x14011373c]
mov rcx, rbx
call fcn.1400cbe18
mov dword [rsp + 0x6c], r15d
mov rsi, rax
test rax, rax
jne 0x14002b42d
movzx edi, byte [rbp + 0x1c0f8]
mov esi, dword [rbp - 0x78]
jmp 0x14002b650
cmp word [rbx], 0x3a
jne 0x14002b49f
movzx eax, word [rdi]
xor ecx, ecx
mov dword [rsp + 0x6c], ecx
mov rbx, rdi
mov r15d, ecx
test ax, ax
je 0x14002b490
mov dword [rsp + 0x6c], ecx
nop dword [rax + rax]
cmp ax, 0x3a
je 0x14002b490
movzx ecx, ax
test ecx, 0xffffff80
jne 0x14002b46f
mov edx, 0x107
call fcn.1400d7464
test eax, eax
jne 0x14002b483
movzx edx, word [rbx]
lea rcx, str.____t
call fcn.1400cbb24
test rax, rax
je 0x14002b49a
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x14002b450
cmp word [rbx], 0x3a
je 0x14002c244
mov rbx, qword [rsp + 0x58]
cmp word [rbx], 0x2c
jne 0x14002b504
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14002b4b4
cmp ax, 9
jne 0x14002b4ba
add rdi, 2
jmp 0x14002b4a5
mov r8d, 2
lea rdx, [0x14011373c]
mov rcx, rdi
call fcn.1400dceb8
test eax, eax
je 0x14002c244
lea rcx, [rdi - 2]
mov r8d, 3
lea rdx, [0x140110890]
call fcn.1400dceb8
test eax, eax
je 0x14002c244
movzx edi, byte [rbp + 0x1c0f8]
mov esi, dword [rbp - 0x78]
jmp 0x14002b650
mov rax, rbx
cmp rbx, rsi
jae 0x14002b51f
nop dword [rax]
cmp word [rax], 0x22
je 0x14002b528
add rax, 2
cmp rax, rsi
jb 0x14002b510
cmp rax, rsi
je 0x14002c244
movzx edx, word [rsi + 4]
lea rcx, [rsi + 4]
test dx, dx
je 0x14002c244
nop dword [rax]
cmp dx, 0x22
je 0x14002b55b
movzx eax, word [rcx + 2]
add rcx, 2
movzx edx, ax
test ax, ax
jne 0x14002b540
jmp 0x14002c244
movzx edi, byte [rbp + 0x1c0f8]
mov esi, dword [rbp - 0x78]
mov dword [rsp + 0x6c], r15d
jmp 0x14002b650
mov rax, qword [rsp + 0x58]
movzx ebx, word [rax + 2]
test ebx, 0xffffff80
je 0x14002b585
mov eax, r15d
jmp 0x14002b591
mov edx, 2
mov ecx, ebx
call fcn.1400d7464
movzx ecx, bx
mov edx, 0xffdf
and cx, dx
test eax, eax
cmove cx, bx
cmp cx, 0x52
jne 0x14002c244
mov rbx, qword [rsp + 0x58]
movzx edx, word [rbx + 4]
lea rax, [rbx + 4]
cmp dx, 0x20
je 0x14002b5c9
cmp dx, 9
jne 0x14002c244
mov dword [rsp + 0x6c], r15d
nop
cmp dx, 0x20
je 0x14002b5dc
cmp dx, 9
jne 0x14002b63b
movzx edx, word [rax + 2]
add rax, 2
jmp 0x14002b5d0
mov rbx, qword [rsp + 0x58]
lea rdx, [0x1401136f8]
mov rcx, rbx
mov r8d, 3
call fcn.1400d2a10
test eax, eax
jne 0x14002c244
movzx edx, word [rbx + 6]
lea rax, [rbx + 6]
cmp dx, 0x20
je 0x14002b620
cmp dx, 9
jne 0x14002c244
mov dword [rsp + 0x6c], r15d
cmp dx, 0x20
je 0x14002b631
cmp dx, 9
jne 0x14002b63b
movzx edx, word [rax + 2]
add rax, 2
jmp 0x14002b625
lea rcx, str.____:
call fcn.1400cbb24
test rax, rax
jne 0x14002c244
lea rax, [r12 + r13]
cmp rax, 0x4000
jae 0x14002dd31
cmp word [rbx], 0x2c
je 0x14002b675
mov rax, qword [rsp + 0x48]
mov word [rax + r12*2], SafeArrayAllocDescriptor
inc r12
mov rax, qword [rsp + 0x48]
lea r8, [r14 + 2]
mov rdx, rbx
lea rcx, [rax + r12*2]
call fcn.1400cfd20
add r12, r13
mov qword [rbp - 0x40], r12
jmp 0x14002afa7
cmp r13, 0xffffffffffffffff
je 0x14002deac
cmp r13, 0xfffffffffffffffe
je 0x14002afb0
movzx eax, word [rbx]
cmp ax, 0x29
jne 0x14002b71f
xor edx, edx
mov rdi, 0xffffffffffffffff
mov r15d, edx
mov dword [rsp + 0x6c], edx
inc rdi
cmp word [rbx + rdi*2], dx
jne 0x14002b6c3
lea rax, [rdi - 1]
lea rax, [rbx + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14002b6e3
cmp cx, 9
jne 0x14002b6f1
cmp rax, rbx
je 0x14002b701
sub rax, 2
dec rdi
jmp 0x14002b6d4
add rbx, 2
mov word [rax + 2], dx
dec rdi
jmp 0x14002c1b8
cmp cx, 0x20
je 0x14002b70d
cmp cx, 9
jne 0x14002b713
mov word [rax], dx
mov rdi, rdx
add rbx, 2
dec rdi
jmp 0x14002c1b8
cmp byte [rsp + 0x74], 0
mov qword [rbp - 0x10], rbx
je 0x14002b77e
test ax, ax
jne 0x14002b73b
xor r15d, r15d
mov r13d, r15d
mov qword [rbp - 0x30], r15
jmp 0x14002b781
lea rax, [r13 - 1]
lea rax, [rbx + rax*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14002b752
cmp cx, 9
jne 0x14002b760
cmp rax, rbx
je 0x14002b76e
sub rax, 2
dec r13
jmp 0x14002b743
xor r15d, r15d
mov qword [rbp - 0x30], r13
mov word [rax + 2], r15w
jmp 0x14002b781
cmp cx, 0x20
je 0x14002b796
cmp cx, 9
je 0x14002b796
mov qword [rbp - 0x30], r13
xor r15d, r15d
cmp byte [rsp + 0x75], 0
je 0x14002b804
movzx eax, word [rbx]
test ax, ax
jne 0x14002b7a6
mov qword [rbp - 0x30], r15
jmp 0x14002b804
xor r15d, r15d
mov word [rax], r15w
mov r13d, r15d
mov qword [rbp - 0x30], r15
jmp 0x14002b781
mov rdx, rbx
nop dword [rax]
cmp ax, 0x20
je 0x14002b7bc
cmp ax, 9
jne 0x14002b7c6
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14002b7b0
mov rax, rdx
sub rax, rbx
sar rax, 1
je 0x14002b800
cmp r13, 0xffffffffffffffff
jne 0x14002b7ed
nop word [rax + rax]
inc r13
cmp word [rdx + r13*2], 0
jne 0x14002b7e0
jmp 0x14002b7f0
sub r13, rax
lea r8, [r13*2 + 2]
mov rcx, rbx
call fcn.1400cfd20
mov qword [rbp - 0x30], r13
cmp byte [rsp + 0x76], 0
mov eax, r15d
mov dword [rsp + 0x64], eax
je 0x14002ba48
movzx eax, word [0x1401304bc]
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 [rbx + r14*2], 0
jne 0x14002b840
cmp word [rbx], 0
mov r12, r15
mov qword [rbp - 0x58], r14
mov rsi, r15
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x48], r15
je 0x14002ba41
cmp word [0x1401304bc], 0
je 0x14002ba41
lea rcx, [rsp + 0x70]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], 0
jne 0x14002b881
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x80]
mov r15, 0xffffffffffffffff
nop word [rax + rax]
inc r15
cmp word [rcx + r15*2], 0
jne 0x14002b8a0
mov ecx, r15d
sub ecx, eax
mov eax, 0x4000
sub eax, r14d
mov dword [rsp + 0x68], ecx
js 0x14002b8cf
test ecx, ecx
jle 0x14002b8cf
cdq
idiv ecx
cmp eax, r13d
jae 0x14002b8e5
mov r13d, eax
jmp 0x14002b8e5
mov r13d, eax
sar r13d, 0x1f
and r13d, 1
dec r13d
test ecx, ecx
je 0x14002bb67
cmp r14, 0x1388
jb 0x14002bb67
mov rdi, qword [rsp + 0x58]
xor eax, eax
mov dword [rsp + 0x64], eax
mov ebx, eax
test r13d, r13d
je 0x14002ba39
nop dword [rax + rax]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.1400cbe18
mov r14, rax
test rax, rax
je 0x14002b9e6
inc ebx
dec r13d
mov dword [rsp + 0x64], ebx
mov rbx, rax
sub rbx, rdi
sar rbx, 1
add rsi, rbx
lea rcx, [rsi + r15]
cmp rcx, qword [rbp - 0x48]
jb 0x14002b991
sub rax, qword [rsp + 0x58]
mov r8d, r13d
movsxd r9, dword [rbp - 0x58]
sar rax, 1
movsxd rdx, eax
mov qword [rsp + 0x28], rdx
mov edx, dword [rsp + 0x64]
movsxd rax, ecx
movsxd rcx, dword [rsp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.1400adb60
mov rcx, r12
mov qword [rbp - 0x48], rax
lea rdx, [rax + rax]
call fcn.1400d29bc
test rax, rax
je 0x14002ba2c
mov r12, rax
test rbx, rbx
je 0x14002b9b0
mov rax, qword [rbp - 0x68]
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call fcn.1400cfd20
mov qword [rbp - 0x68], rsi
jmp 0x14002b9b4
mov rsi, qword [rbp - 0x68]
test r15, r15
je 0x14002b9d1
lea r8, [r15 + r15]
lea rcx, [r12 + rsi*2]
lea rdx, [rbp - 0x80]
call fcn.1400cfd20
add rsi, r15
mov qword [rbp - 0x68], rsi
mov rax, qword [rbp - 0x18]
mov ebx, dword [rsp + 0x64]
lea rdi, [r14 + rax*2]
test r13d, r13d
jne 0x14002b910
test ebx, ebx
je 0x14002ba39
mov rbx, qword [rsp + 0x58]
mov rax, rdi
mov r14, qword [rbp - 0x58]
sub rax, rbx
sar rax, 1
sub r14, rax
je 0x14002bb3b
lea rbx, [r14 + rsi]
cmp rbx, qword [rbp - 0x48]
jb 0x14002bb23
lea rdx, [rbx*2 + 2]
mov rcx, r12
call fcn.1400d29bc
test rax, rax
jne 0x14002bb20
test r12, r12
je 0x14002ba39
mov rcx, r12
call fcn.1400d29a8
mov rbx, qword [rsp + 0x58]
xor r15d, r15d
mov eax, r15d
mov dword [rsp + 0x64], eax
cmp byte [rsp + 0x77], 0
je 0x14002bd8b
movzx ecx, word [0x1401314d8]
mov r14d, 0xffffffff
movzx eax, word [0x1401304bc]
mov rdi, 0xffffffffffffffff
mov word [rsp + 0x70], cx
mov word [rbp - 0x80], ax
mov word [rbp - 0x7e], cx
mov dword [rsp + 0x68], r14d
inc rdi
cmp word [rbx + rdi*2], 0
jne 0x14002ba80
cmp word [rbx], 0
mov r12, r15
mov qword [rbp - 0x68], rdi
mov rsi, r15
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x58], r15
je 0x14002bd7d
test cx, cx
je 0x14002bd7d
lea rcx, [rsp + 0x70]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14002bac0
mov qword [rbp + 0x10], rax
lea rcx, [rbp - 0x80]
mov r15, 0xffffffffffffffff
nop dword [rax]
inc r15
cmp word [rcx + r15*2], 0
jne 0x14002bae0
mov ecx, r15d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rbp - 0x70], ecx
js 0x14002bc0e
test ecx, ecx
jle 0x14002bc0e
cdq
idiv ecx
cmp eax, r14d
jae 0x14002bc29
mov r14d, eax
mov dword [rsp + 0x68], eax
jmp 0x14002bc29
mov r12, rax
lea r8, [r14 + r14]
mov rdx, rdi
lea rcx, [r12 + rsi*2]
call fcn.1400cfd20
mov rsi, rbx
mov rbx, qword [rsp + 0x58]
xor r15d, r15d
lea r8, [rsi*2 + 2]
mov rdx, r12
mov word [r12 + rsi*2], r15w
mov rcx, rbx
call fcn.1400cfd20
mov rcx, r12
call fcn.1400d29a8
mov eax, dword [rsp + 0x64]
jmp 0x14002ba48
xor eax, eax
mov rsi, rbx
mov dword [rsp + 0x64], eax
test r13d, r13d
je 0x14002bc06
movsxd r12, ecx
nop dword [rax]
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.1400cbe18
mov rbx, rax
test rax, rax
je 0x14002bbfd
lea rdi, [r15 + r15]
lea rsi, [rax + rdi]
test r12d, r12d
je 0x14002bbce
mov rcx, rax
mov r8, r14
sub rcx, qword [rsp + 0x58]
mov rax, qword [rbp - 0x18]
sar rcx, 1
sub r8, rcx
mov rcx, rsi
sub r8, rax
lea rdx, [rbx + rax*2]
lea r8, [r8*2 + 2]
call fcn.1400cfd20
mov r8, rdi
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.1400cfd20
mov eax, dword [rsp + 0x64]
add r14, r12
inc eax
mov dword [rsp + 0x64], eax
add r13d, 0xffffffff
jne 0x14002bb80
mov rbx, qword [rsp + 0x58]
xor r15d, r15d
jmp 0x14002ba48
mov eax, dword [rsp + 0x64]
mov rbx, qword [rsp + 0x58]
xor r15d, r15d
jmp 0x14002ba48
mov r14d, eax
sar r14d, 0x1f
and r14d, 1
dec r14d
mov dword [rsp + 0x68], r14d
test ecx, ecx
je 0x14002beb3
cmp rdi, 0x1388
jb 0x14002beb3
xor eax, eax
mov rdi, rbx
mov r13d, eax
test r14d, r14d
je 0x14002bd7a
nop word [rax + rax]
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.1400cbe18
mov r14, rax
test rax, rax
je 0x14002bd26
mov r8d, dword [rsp + 0x68]
mov rbx, rax
sub rbx, rdi
dec r8d
sar rbx, 1
inc r13d
add rsi, rbx
mov dword [rsp + 0x68], r8d
lea rcx, [r15 + rsi]
cmp rcx, qword [rbp - 0x58]
jb 0x14002bcd3
sub rax, qword [rsp + 0x58]
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.1400adb60
mov rcx, r12
mov qword [rbp - 0x58], rax
lea rdx, [rax + rax]
call fcn.1400d29bc
test rax, rax
je 0x14002bd6d
mov r12, rax
test rbx, rbx
je 0x14002bcf2
mov rax, qword [rbp - 0x48]
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call fcn.1400cfd20
mov qword [rbp - 0x48], rsi
jmp 0x14002bcf6
mov rsi, qword [rbp - 0x48]
test r15, r15
je 0x14002bd13
lea r8, [r15 + r15]
lea rcx, [r12 + rsi*2]
lea rdx, [rbp - 0x80]
call fcn.1400cfd20
add rsi, r15
mov qword [rbp - 0x48], rsi
cmp dword [rsp + 0x68], 0
mov rax, qword [rbp + 0x10]
lea rdi, [r14 + rax*2]
jne 0x14002bc50
test r13d, r13d
je 0x14002bd7a
mov rbx, qword [rsp + 0x58]
mov rax, rdi
mov r14, qword [rbp - 0x68]
sub rax, rbx
sar rax, 1
sub r14, rax
je 0x14002be8b
lea rbx, [r14 + rsi]
cmp rbx, qword [rbp - 0x58]
jb 0x14002be73
lea rdx, [rbx*2 + 2]
mov rcx, r12
call fcn.1400d29bc
test rax, rax
jne 0x14002be70
test r12, r12
je 0x14002bd7a
mov rcx, r12
call fcn.1400d29a8
xor r15d, r15d
mov r13d, r15d
mov eax, dword [rsp + 0x64]
add eax, r13d
mov dword [rsp + 0x64], eax
cmp byte [rsp + 0x78], 0
je 0x14002c167
movzx ecx, word [0x1401315b0]
mov r14d, 0xffffffff
movzx eax, word [0x1401304bc]
mov rdi, 0xffffffffffffffff
mov rbx, qword [rsp + 0x58]
mov word [rsp + 0x70], cx
mov word [rbp - 0x80], ax
mov word [rbp - 0x7e], cx
mov dword [rsp + 0x68], r14d
nop dword [rax + rax]
inc rdi
cmp word [rbx + rdi*2], 0
jne 0x14002bdd0
cmp word [rbx], 0
mov r12, r15
mov qword [rbp - 0x68], rdi
mov rsi, r15
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x58], r15
je 0x14002c15d
test cx, cx
je 0x14002c15d
lea rcx, [rsp + 0x70]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14002be10
mov qword [rbp + 0x10], rax
lea rcx, [rbp - 0x80]
mov r15, 0xffffffffffffffff
nop dword [rax]
inc r15
cmp word [rcx + r15*2], 0
jne 0x14002be30
mov ecx, r15d
sub ecx, eax
mov eax, 0x4000
sub eax, edi
mov dword [rbp - 0x70], ecx
js 0x14002bf36
test ecx, ecx
jle 0x14002bf36
cdq
idiv ecx
cmp eax, r14d
jae 0x14002bf51
mov r14d, eax
mov dword [rsp + 0x68], eax
jmp 0x14002bf51
mov r12, rax
lea r8, [r14 + r14]
mov rdx, rdi
lea rcx, [r12 + rsi*2]
call fcn.1400cfd20
mov rsi, rbx
mov rbx, qword [rsp + 0x58]
xor r15d, r15d
lea r8, [rsi*2 + 2]
mov rdx, r12
mov word [r12 + rsi*2], r15w
mov rcx, rbx
call fcn.1400cfd20
mov rcx, r12
call fcn.1400d29a8
jmp 0x14002bd80
xor eax, eax
mov rsi, rbx
mov r13d, eax
test r14d, r14d
je 0x14002bf2e
movsxd r12, ecx
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.1400cbe18
mov rbx, rax
test rax, rax
je 0x14002bf2e
lea rdi, [r15 + r15]
lea rsi, [rax + rdi]
test r12d, r12d
je 0x14002bf12
mov r8, qword [rbp - 0x68]
mov rcx, rax
sub rcx, qword [rsp + 0x58]
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 fcn.1400cfd20
mov r8, rdi
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.1400cfd20
add qword [rbp - 0x68], r12
inc r13d
add r14d, 0xffffffff
jne 0x14002bec3
xor r15d, r15d
jmp 0x14002bd80
mov r14d, eax
sar r14d, 0x1f
and r14d, 1
dec r14d
mov dword [rsp + 0x68], r14d
test ecx, ecx
je 0x14002c0da
cmp rdi, 0x1388
jb 0x14002c0da
xor eax, eax
mov rdi, rbx
mov r13d, eax
test r14d, r14d
je 0x14002c090
nop
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.1400cbe18
mov r14, rax
test rax, rax
je 0x14002c046
mov r8d, dword [rsp + 0x68]
mov rbx, rax
sub rbx, rdi
dec r8d
sar rbx, 1
inc r13d
add rsi, rbx
mov dword [rsp + 0x68], r8d
lea rcx, [rsi + r15]
cmp rcx, qword [rbp - 0x58]
jb 0x14002bff3
sub rax, qword [rsp + 0x58]
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.1400adb60
mov rcx, r12
mov qword [rbp - 0x58], rax
lea rdx, [rax + rax]
call fcn.1400d29bc
test rax, rax
je 0x14002c081
mov r12, rax
test rbx, rbx
je 0x14002c012
mov rax, qword [rbp - 0x48]
lea r8, [rbx + rbx]
mov rdx, rdi
lea rcx, [r12 + rax*2]
call fcn.1400cfd20
mov qword [rbp - 0x48], rsi
jmp 0x14002c016
mov rsi, qword [rbp - 0x48]
test r15, r15
je 0x14002c033
lea r8, [r15 + r15]
lea rcx, [r12 + rsi*2]
lea rdx, [rbp - 0x80]
call fcn.1400cfd20
add rsi, r15
mov qword [rbp - 0x48], rsi
cmp dword [rsp + 0x68], 0
mov rax, qword [rbp + 0x10]
lea rdi, [r14 + rax*2]
jne 0x14002bf70
test r13d, r13d
je 0x14002c08e
mov rbx, qword [rsp + 0x58]
mov rax, rdi
mov r14, qword [rbp - 0x68]
sub rax, rbx
sar rax, 1
sub r14, rax
je 0x14002c0b3
lea rbx, [rsi + r14]
cmp rbx, qword [rbp - 0x58]
jb 0x14002c09b
lea rdx, [rbx*2 + 2]
mov rcx, r12
call fcn.1400d29bc
test rax, rax
jne 0x14002c098
test r12, r12
je 0x14002c08e
mov rcx, r12
call fcn.1400d29a8
xor eax, eax
mov r13d, eax
jmp 0x14002c160
mov r12, rax
lea r8, [r14 + r14]
mov rdx, rdi
lea rcx, [r12 + rsi*2]
call fcn.1400cfd20
mov rsi, rbx
mov rbx, qword [rsp + 0x58]
xor eax, eax
lea r8, [rsi*2 + 2]
mov rdx, r12
mov word [r12 + rsi*2], ax
mov rcx, rbx
call fcn.1400cfd20
mov rcx, r12
call fcn.1400d29a8
jmp 0x14002c160
xor eax, eax
mov rsi, rbx
mov r13d, eax
test r14d, r14d
je 0x14002c160
movsxd r12, ecx
nop word [rax + rax]
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.1400cbe18
mov rbx, rax
test rax, rax
je 0x14002c160
lea rdi, [r15 + r15]
lea rsi, [rdi + rax]
test r12d, r12d
je 0x14002c13f
mov r8, qword [rbp - 0x68]
mov rcx, rax
sub rcx, qword [rsp + 0x58]
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 fcn.1400cfd20
mov r8, rdi
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.1400cfd20
add qword [rbp - 0x68], r12
inc r13d
add r14d, 0xffffffff
jne 0x14002c0f0
jmp 0x14002c160
mov r13d, r15d
mov eax, dword [rsp + 0x64]
add eax, r13d
test eax, eax
je 0x14002c1a0
mov rcx, qword [rsp + 0x58]
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp word [rcx + rdi*2], 0
jne 0x14002c180
mov rbx, qword [rbp - 0x10]
mov r15d, dword [rsp + 0x6c]
mov r12, qword [rbp - 0x40]
mov r14, qword [rbp - 0x20]
mov esi, dword [rbp - 0x78]
jmp 0x14002c1bd
mov rbx, qword [rbp - 0x10]
mov r15d, dword [rsp + 0x6c]
mov r12, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x30]
mov r14, qword [rbp - 0x20]
mov esi, dword [rbp - 0x78]
mov rcx, qword [rsp + 0x58]
lea rax, [r14 + rdi]
add rax, r12
cmp rax, 0x4001
jae 0x14002dd31
mov eax, dword [rbp + 8]
inc eax
mov dword [rbp + 8], eax
cmp eax, 1
jle 0x14002c208
test r14, r14
je 0x14002c208
cmp rbx, rcx
jne 0x14002c208
mov rax, qword [rsp + 0x48]
lea r8, [r14*2 + 2]
lea rdx, [rbp + 0x38]
lea rcx, [rax + r12*2]
call fcn.1400cfd20
add r12, r14
mov qword [rbp - 0x40], r12
test rdi, rdi
je 0x14002c230
mov rax, qword [rsp + 0x48]
lea r8, [rdi*2 + 2]
mov rdx, rbx
lea rcx, [rax + r12*2]
call fcn.1400cfd20
add r12, rdi
mov qword [rbp - 0x40], r12
nop dword [rax]
mov rbx, qword [rsp + 0x58]
movzx edi, byte [rbp + 0x1c0f8]
jmp 0x14002afb0
mov word [rsi], di
mov rdi, qword [rbp + 0x1c0e0]
xor ebx, ebx
nop dword [rax]
test r12, r12
je 0x14002cc2e
cmp word [rbp + 0x4060], 0
je 0x14002c407
mov eax, dword [rbp - 0x38]
mov ebx, dword [rdi + 0x2cc]
movzx r14d, byte [rsp + 0x54]
mov dword [rdi + 0x2cc], eax
mov rax, qword [rsp + 0x48]
cmp word [rax], 0x7b
je 0x14002c2fa
test r14b, r14b
jne 0x14002c2fa
cmp dword [rbp - 0x4c], 0
jne 0x14002dd7d
cmp dword [rdi + 0x80], 0
je 0x14002c2b4
mov rax, qword [0x14012fc08]
cmp qword [rax + 0xd8], 0
je 0x14002dd4c
xor esi, esi
lea rdx, [rbp + 0x4060]
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
mov r8b, 3
mov qword [rsp + 0x28], rsi
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.140031160
test eax, eax
je 0x14002df3a
mov qword [rdi + 0x6a0], rsi
mov word [rbp + 0x4060], si
jmp 0x14002c401
mov esi, dword [rbp - 0x4c]
mov ecx, esi
test esi, esi
je 0x14002c344
sub ecx, 1
je 0x14002c322
cmp ecx, 1
jne 0x14002c398
lea rdx, [rbp + 0x4060]
mov rcx, rdi
call fcn.14003cbd0
jmp 0x14002c331
lea rdx, [rbp + 0x4060]
mov rcx, rdi
call fcn.14003c340
test eax, eax
je 0x14002df3a
xor eax, eax
mov word [rbp + 0x4060], ax
jmp 0x14002c3a5
mov rax, qword [0x14012fc08]
mov rcx, rdi
cmp qword [rax + 0xd8], 0
jne 0x14002dd98
lea r8, [rbp + 0x1e0]
lea rdx, [rbp + 0x4060]
call fcn.14003b3c0
test eax, eax
je 0x14002df3a
test r14b, r14b
je 0x14002c398
xor esi, esi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rsi
mov dl, 0x75
mov rcx, rdi
call fcn.140034ac0
jmp 0x14002c2df
xor eax, eax
mov word [rbp + 0x4060], ax
test esi, esi
je 0x14002c401
test r14b, r14b
jne 0x14002c401
mov rdx, qword [rsp + 0x48]
movzx eax, word [rdx + 2]
add rdx, 2
cmp ax, 0x20
je 0x14002c3af
cmp ax, 9
je 0x14002c3af
test ax, ax
jne 0x14002c3d3
mov dword [rdi + 0x2cc], ebx
jmp 0x14002cc2c
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14002c3e0
mov rcx, qword [rsp + 0x48]
mov qword [rbp - 0x40], r8
lea r8, [r8*2 + 2]
call fcn.1400cfd20
mov dword [rdi + 0x2cc], ebx
mov rax, qword [rsp + 0x48]
movzx edx, word [rax]
cmp dx, 0x7d
jne 0x14002c56b
movsxd rcx, dword [rdi + 0x80]
test ecx, ecx
je 0x14002c56b
mov rax, qword [0x14012fc08]
cmp qword [rax + 0xd8], 0
jne 0x14002c56b
cmp qword [rdi + 0x2b8], 0
je 0x14002c471
mov rcx, qword [rdi + 0x2c0]
xor ebx, ebx
mov qword [rdi + 0x2b8], rbx
test rcx, rcx
je 0x14002c521
call fcn.1400d29a8
mov qword [rdi + 0x2c0], rbx
jmp 0x14002c521
lea eax, [rcx - 1]
mov dword [rdi + 0x80], eax
mov rsi, qword [rdi + rcx*8 + 0x80]
mov rbx, qword [rsi + 0x20]
sub rbx, 1
js 0x14002c4e6
mov rdi, rbx
shl rdi, 5
mov rcx, qword [rsi + 0x18]
cmp dword [rdi + rcx + 0x18], 1
jne 0x14002c4d5
cmp rbx, qword [rsi + 0x38]
jl 0x14002c4ae
mov rcx, qword [rdi + rcx + 0x10]
call fcn.1400d29a8
mov r8, qword [rsi + 0x20]
dec r8
mov qword [rsi + 0x20], r8
cmp rbx, r8
jge 0x14002c4d5
mov rcx, qword [rsi + 0x18]
sub r8, rbx
add rcx, rdi
shl r8, 5
lea rdx, [rcx + 0x20]
call fcn.1400cfd20
sub rdi, 0x20
sub rbx, 1
jns 0x14002c493
mov rdi, qword [rbp + 0x1c0e0]
movsxd rax, dword [rdi + 0x80]
mov rcx, qword [rdi + rax*8 + 0x88]
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
mov edx, 0x2e
lea rcx, [rdi + 0xb0]
call fcn.1400cba50
test rax, rax
je 0x14002c518
xor ebx, ebx
mov word [rax], bx
jmp 0x14002c521
mov word [rdi + 0xb0], ax
xor ebx, ebx
mov rax, qword [rsp + 0x48]
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x20
je 0x14002c526
cmp cx, 9
je 0x14002c526
mov qword [rsp + 0x48], rax
cmp word [rax], 0
je 0x14002cc2e
mov r12, 0xffffffffffffffff
inc r12
cmp word [rax + r12*2], 0
jne 0x14002c550
mov qword [rbp - 0x40], r12
mov qword [rdi + 0x6a0], rbx
jmp 0x14002c250
cmp qword [rdi + 0x2b8], 0
je 0x14002c669
mov rax, qword [0x14012fc08]
cmp qword [rax + 0xd8], 0
jne 0x14002c669
mov rcx, qword [rsp + 0x48]
lea rdx, [0x1401138a8]
mov r8d, 3
call fcn.1400d2a10
test eax, eax
je 0x14002c5c8
mov rcx, qword [rsp + 0x48]
lea rdx, [0x1401138b0]
mov r8d, 3
call fcn.1400d2a10
test eax, eax
jne 0x14002ddb0
mov r8, qword [rsp + 0x48]
lea rbx, [r8 + 6]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002c5e0
cmp ax, 9
jne 0x14002c5e6
add rbx, 2
jmp 0x14002c5d1
test ax, ax
je 0x14002c600
cmp ax, 0x7b
jne 0x14002ddb5
cmp word [rbx + 2], 0
jne 0x14002ddb5
mov rcx, qword [rdi + 0x2c0]
lea rdx, [rbp + 0x4060]
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 0x14002c620
mov edx, 0x2e
lea rcx, [rbp + 0x4060]
call fcn.1400cbb24
mov rcx, qword [rsp + 0x48]
movzx edx, word [rcx]
mov word [rax + 2], dx
cmp word [rbx], 0x7b
mov eax, dword [rdi + 0x2cc]
sete byte [rsp + 0x54]
mov dword [rbp - 0x38], eax
xor ebx, ebx
mov dword [rbp - 0x4c], ebx
jmp 0x14002cc2e
mov r8, qword [rsp + 0x48]
mov qword [rbp - 0x58], r8
test dx, dx
je 0x14002c6b4
mov r13, r8
nop word [rax + rax]
lea rcx, str.__t____:_______.___
mov eax, SafeArrayAllocDescriptor
nop dword [rax]
cmp dx, ax
je 0x14002c71c
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14002c690
movzx edx, word [r13 + 2]
add r13, 2
test dx, dx
jne 0x14002c680
mov rax, qword [0x14012fc08]
cmp qword [rax + 0xd8], 0
jne 0x14002cdda
mov rbx, qword [rsp + 0x48]
lea rdx, str.Class
mov rcx, rbx
mov r8d, 5
call fcn.1400d2a10
test eax, eax
jne 0x14002ca2c
movzx eax, word [rbx + 0xa]
cmp ax, 0x20
je 0x14002c6ff
cmp ax, 9
jne 0x14002ca2c
lea rdi, [rbx + 0xc]
movzx edx, word [rdi]
cmp dx, 0x20
je 0x14002c716
cmp dx, 9
jne 0x14002c948
add rdi, 2
jmp 0x14002c703
cmp word [r13], 0x28
jne 0x14002c6b4
mov rbx, qword [rsp + 0x48]
cmp r13, rbx
je 0x14002c6b4
mov r12, r13
sub r12, rbx
sar r12, 1
mov r14, r12
cmp r12, 0xffffffffffffffff
jne 0x14002c74b
inc r14
cmp word [rbx + r14*2], 0
jne 0x14002c740
mov r15d, 2
cmp r14, r15
cmovb r15, r14
xor eax, eax
mov esi, eax
test r15, r15
je 0x14002c7bb
movzx edi, word [r8 + rsi*2]
test edi, 0xffffff80
jne 0x14002c781
mov edx, 2
mov ecx, edi
call fcn.1400d7464
test eax, eax
je 0x14002c781
and edi, 0xffffffdf
lea rax, [0x140000000]
movzx ebx, word [rax + rsi*2 + 0x113604]
test ebx, 0xffffff80
jne 0x14002c7ab
mov edx, 2
mov ecx, ebx
call fcn.1400d7464
test eax, eax
je 0x14002c7ab
and ebx, 0xffffffdf
cmp edi, ebx
jne 0x14002c7c7
mov r8, qword [rbp - 0x58]
inc rsi
cmp rsi, r15
jb 0x14002c761
lea eax, [r14 - 2]
test eax, eax
je 0x14002c6b4
mov r15, qword [rbp - 0x58]
cmp r12, 0xffffffffffffffff
jne 0x14002c7dc
inc r12
cmp word [r15 + r12*2], 0
jne 0x14002c7d1
mov r14d, 5
cmp r12, r14
cmovb r14, r12
xor eax, eax
mov esi, eax
test r14, r14
je 0x14002c848
movzx edi, word [r15 + rsi*2]
test edi, 0xffffff80
jne 0x14002c812
mov edx, 2
mov ecx, edi
call fcn.1400d7464
test eax, eax
je 0x14002c812
and edi, 0xffffffdf
lea rax, [0x140000000]
movzx ebx, word [rax + rsi*2 + 0x113610]
test ebx, 0xffffff80
jne 0x14002c83c
mov edx, 2
mov ecx, ebx
call fcn.1400d7464
test eax, eax
je 0x14002c83c
and ebx, 0xffffffdf
cmp edi, ebx
jne 0x14002c855
inc rsi
cmp rsi, r14
jb 0x14002c7f2
lea eax, [r12 - 5]
test eax, eax
je 0x14002c6b4
cmp word [r13 + 2], 0x3a
je 0x14002c6b4
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
cmp word [r13 + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x14002c870
lea rax, [rax*2 - 2]
add rax, r13
movzx ecx, word [rax]
cmp cx, 0x7b
sete byte [rsp + 0x54]
jne 0x14002c905
xor ebx, ebx
mov word [rax], bx
sub rax, r15
sar rax, 1
cmp word [r15], bx
je 0x14002c8fa
cmp rax, 0xffffffffffffffff
jne 0x14002c8ba
nop dword [rax]
inc rax
cmp word [r15 + rax*2], bx
jne 0x14002c8b0
lea rcx, [rax - 1]
lea rcx, [r15 + rcx*2]
movzx edx, word [rcx]
cmp dx, 0x20
je 0x14002c8d1
cmp dx, 9
jne 0x14002c8df
cmp rcx, r15
je 0x14002c8eb
sub rcx, 2
dec rax
jmp 0x14002c8c2
mov word [rcx + 2], bx
movzx ecx, word [r15 + rax*2 - 2]
jmp 0x14002c907
cmp dx, 0x20
je 0x14002c8f7
cmp dx, 9
jne 0x14002c8fd
mov word [rcx], bx
mov rax, rbx
movzx ecx, word [r15 + rax*2 - 2]
jmp 0x14002c907
xor ebx, ebx
cmp cx, 0x29
jne 0x14002c6b4
mov rcx, qword [rsp + 0x48]
lea rdx, [rbp + 0x4060]
sub rdx, rcx
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14002c920
mov rdi, qword [rbp + 0x1c0e0]
mov dword [rbp - 0x4c], ebx
mov eax, dword [rdi + 0x2cc]
mov dword [rbp - 0x38], eax
jmp 0x14002cc2e
lea rcx, str.__t____:_______.___
call fcn.1400cbb24
test rax, rax
jne 0x14002ca2c
mov rax, 0xffffffffffffffff
cmp word [rdi + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x14002c964
lea rcx, [rax - 1]
cmp word [rdi + rcx*2], 0x7b
lea rcx, [rdi + rcx*2]
sete byte [rsp + 0x54]
jne 0x14002c9e6
xor eax, eax
mov word [rcx], ax
sub rcx, rbx
sar rcx, 1
cmp word [rbx], ax
je 0x14002c9e6
cmp rcx, 0xffffffffffffffff
jne 0x14002c9a9
nop word [rax + rax]
inc rcx
cmp word [rbx + rcx*2], ax
jne 0x14002c9a0
lea rax, [rbx - 2]
lea rax, [rax + rcx*2]
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14002c9c0
cmp cx, 9
jne 0x14002c9cb
cmp rax, rbx
je 0x14002c9d3
sub rax, 2
jmp 0x14002c9b1
xor ebx, ebx
mov word [rax + 2], bx
jmp 0x14002c9e8
cmp cx, 0x20
je 0x14002c9df
cmp cx, 9
jne 0x14002c9e6
xor ebx, ebx
mov word [rax], bx
jmp 0x14002c9e8
xor ebx, ebx
lea rcx, [rbp + 0x4060]
sub rcx, rdi
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdi]
mov word [rdi + rcx], ax
lea rdi, [rdi + 2]
test ax, ax
jne 0x14002ca00
mov rdi, qword [rbp + 0x1c0e0]
mov dword [rbp - 0x4c], 1
mov eax, dword [rdi + 0x2cc]
mov dword [rbp - 0x38], eax
jmp 0x14002cc2e
mov rdi, qword [rbp + 0x1c0e0]
cmp dword [rdi + 0x80], 0
je 0x14002cdda
mov rbx, qword [rsp + 0x48]
movzx ecx, word [rbx]
test ecx, 0xffffff80
jne 0x14002ca61
mov edx, 0x107
call fcn.1400d7464
movzx ecx, word [rbx]
test eax, eax
jne 0x14002ca73
cmp cx, 0x5f
je 0x14002ca73
cmp cx, 0x7f
ja 0x14002ca73
cmp cx, 0x2e
jne 0x14002ca79
add rbx, 2
jmp 0x14002ca45
cmp rbx, qword [rsp + 0x48]
jbe 0x14002cba5
cmp cx, 0x20
je 0x14002ca90
cmp cx, 9
jne 0x14002ca9a
movzx ecx, word [rbx + 2]
add rbx, 2
jmp 0x14002ca84
cmp cx, 0x3a
jne 0x14002cac8
cmp word [rbx + 2], 0x3d
jne 0x14002cba5
mov rdx, qword [rsp + 0x48]
xor r8d, r8d
mov rcx, rdi
call fcn.14003ce10
test eax, eax
je 0x14002df3a
jmp 0x14002cc2c
test cx, cx
je 0x14002cae8
cmp cx, 0x5b
je 0x14002cae8
cmp cx, 0x7b
jne 0x14002cba5
cmp word [rbx + 2], 0
jne 0x14002cba5
mov rax, qword [rsp + 0x48]
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], 0
jne 0x14002caf4
mov rbx, qword [rsp + 0x48]
cmp word [rbx + rcx*2 - 2], 0x7b
sete byte [rsp + 0x54]
jne 0x14002cb6e
dec rcx
cmp word [rbx], 0
je 0x14002cb6e
cmp rcx, 0xffffffffffffffff
jne 0x14002cb2a
nop
inc rcx
cmp word [rbx + rcx*2], 0
jne 0x14002cb20
mov rax, qword [rsp + 0x48]
lea rcx, [rcx - 1]
lea rcx, [rax + rcx*2]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14002cb46
cmp ax, 9
jne 0x14002cb53
cmp rcx, qword [rsp + 0x48]
je 0x14002cb5b
sub rcx, 2
jmp 0x14002cb37
xor ebx, ebx
mov word [rcx + 2], bx
jmp 0x14002cb70
cmp ax, 0x20
je 0x14002cb67
cmp ax, 9
jne 0x14002cb6e
xor ebx, ebx
mov word [rcx], bx
jmp 0x14002cb70
xor ebx, ebx
mov rcx, qword [rsp + 0x48]
lea rdx, [rbp + 0x4060]
sub rdx, rcx
nop
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14002cb80
mov eax, dword [rdi + 0x2cc]
mov dword [rbp - 0x38], eax
mov dword [rbp - 0x4c], 2
jmp 0x14002cc2e
mov rcx, qword [rsp + 0x48]
lea rdx, str.Static
mov r8d, 6
call fcn.1400d2a10
mov r8, qword [rsp + 0x48]
test eax, eax
jne 0x14002cbe2
movzx eax, word [r8 + 0xc]
cmp ax, 0x20
je 0x14002cbd6
cmp ax, 9
jne 0x14002cbe2
lea rdx, [r8 + 0xe]
mov r8b, 1
jmp 0x14002cab3
cmp word [r8], 0x23
jne 0x14002ddce
mov ebx, dword [rdi + 0x2cc]
mov rdx, r8
mov rcx, rdi
call fcn.14002e470
test eax, eax
je 0x14002df3a
cmp eax, 3
jne 0x14002ddc9
mov esi, dword [rbp + 0x1c0f0]
mov dword [rdi + 0x2cc], ebx
xor ebx, ebx
mov dword [rdi + 0x2c8], esi
jmp 0x14002cc34
mov rdi, qword [rbp + 0x1c0e0]
xor ebx, ebx
mov esi, dword [rbp + 0x1c0f0]
mov r14d, dword [rsp + 0x50]
test r14b, r14b
je 0x14002dcf5
mov edi, dword [rbp - 0x50]
inc edi
mov ecx, edi
mov dword [rbp - 0x50], edi
sub ecx, 1
je 0x14002cdbd
mov rdi, qword [rbp + 0x1c0e0]
sub ecx, 1
je 0x14002ccb8
sub ecx, 1
je 0x14002dc6a
cmp ecx, 7
jne 0x14002dcef
movzx ecx, r14b
lea r8, [0x1400fb87c]
sub ecx, 0x12
je 0x14002cc94
sub ecx, 0x92
je 0x14002cc94
cmp ecx, 1
jne 0x14002cd29
movzx ecx, byte [rsp + 0x79]
sub ecx, 0x11
je 0x14002cd22
sub ecx, 0x91
je 0x14002cd22
cmp ecx, 1
jne 0x14002cd29
lea r8, str.RCtrl_up
jmp 0x14002cd29
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov eax, dword [0x140110398]
mov r9d, 1
cmp byte [rsp + 0x60], 0
mov qword [rsp + 0x20], rbx
mov dword [rcx], eax
setne dl
movzx eax, word [0x14011039c]
add dl, 0xc3
mov word [rcx + 4], ax
mov rcx, rdi
call fcn.140034ac0
cmp byte [rsp + 0x7a], 0
je 0x14002cc73
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0x60]
lea rdx, str.if_not_GetKeyState___s__
call fcn.140006c50
movsxd rsi, eax
mov dword [rbp - 0x50], 9
jmp 0x14002cde3
lea r8, str.LCtrl_up
mov rcx, qword [rsp + 0x48]
lea rax, [rbp + 0x60]
lea r9, [rbp + 0x18]
mov qword [rsp + 0x20], rax
lea rdx, str.Blind_s_s_s_DownR
mov qword [rdi + 0x6a0], rbx
call fcn.140006c50
mov r9d, 1
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0x48]
mov dl, 0x41
mov rcx, rdi
call fcn.140034ac0
test eax, eax
je 0x14002df3a
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140034ac0
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0xa0]
lea rdx, str._s_up::
mov qword [rdi + 0x6a0], rbx
call fcn.140006c50
movsxd rsi, eax
mov dword [rbp - 0x50], 2
jmp 0x14002cde3
je 0x14002d493
mov dword [rbp - 0x50], 1
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0xa0]
lea rdx, str._s::
call fcn.140006c50
movsxd rsi, eax
jmp 0x14002cde3
mov r14d, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x40]
mov rbx, qword [rsp + 0x48]
xor r12d, r12d
mov r13d, r12d
mov r15d, r12d
cmp word [rbx], 0x3a
jne 0x14002cf1c
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
je 0x14002cf1c
mov qword [rbp], rbx
mov r8, rbx
cmp ax, 0x3a
je 0x14002ce36
lea edx, [r12 + 0x3a]
mov rcx, rbx
call fcn.1400cbb24
test rax, rax
mov r8, rbx
lea rcx, [rax + 2]
cmovne r13, rcx
jmp 0x14002ce4a
mov rax, qword [rsp + 0x48]
cmp word [rax + 4], r12w
je 0x14002cf1c
lea r13, [rax + 4]
test r13, r13
je 0x14002cf1c
movzx edx, byte [0x14013409a]
mov rdi, r8
mov byte [rsp + 0x40], dl
cmp r8, r13
jae 0x14002ceaf
nop word [rax + rax]
movzx ebx, word [rdi]
test ebx, 0xffffff80
jne 0x14002ce8e
mov edx, 2
mov ecx, ebx
call fcn.1400d7464
test eax, eax
je 0x14002ce8e
and ebx, 0xffffffdf
add rdi, 2
cmp bx, 0x58
je 0x14002cea4
cmp rdi, r13
jb 0x14002ce70
movzx edx, byte [rsp + 0x40]
jmp 0x14002ceaf
cmp word [rdi], 0x30
setne dl
mov byte [rsp + 0x40], dl
mov rdi, r13
movzx eax, word [rdi]
test ax, ax
je 0x14002cf10
movzx ecx, ax
nop dword [rax]
cmp cx, word [0x1401304bc]
movzx eax, cx
je 0x14002cee7
cmp cx, 0x3a
je 0x14002cee2
movzx ecx, word [rdi + 2]
add rdi, 2
movzx eax, cx
test cx, cx
jne 0x14002cec0
test ax, ax
je 0x14002cf10
movzx ecx, word [rdi + 2]
lea rbx, [rdi + 2]
cmp ax, 0x3a
jne 0x14002cf99
cmp ecx, 0x3a
jne 0x14002d01d
mov r15, rdi
mov rdi, rbx
test dl, dl
je 0x14002d01d
test r15, r15
jne 0x14002d02b
mov r13, r12
mov rcx, qword [rsp + 0x48]
lea rdx, [0x14011373c]
call fcn.1400cbe18
mov r15, rax
test rax, rax
je 0x14002d933
mov rcx, qword [rsp + 0x48]
cmp rax, rcx
jne 0x14002cf4e
cmp word [rax + 4], 0x3a
jne 0x14002cf4e
add r15, 2
mov rbx, r15
cmp r15, rcx
jbe 0x14002cf6e
movzx eax, word [rbx]
cmp ax, 0x20
je 0x14002cf65
cmp ax, 9
jne 0x14002cf6e
sub rbx, 2
cmp rbx, rcx
ja 0x14002cf56
movzx edi, word [rbx]
mov word [rbx], r12w
mov rcx, qword [rsp + 0x48]
nop word [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14002cf93
cmp ax, 9
jne 0x14002d030
add rcx, 2
jmp 0x14002cf80
lea eax, [rcx - 0x61]
cmp eax, 0x15
ja case.0x14002cfb4.99
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x2dfe0]
add rcx, rdx
jmp rcx
mov word [rbx], 7
jmp case.0x14002cfb4.99
mov word [rbx], 8
jmp case.0x14002cfb4.99
mov word [rbx], reloc.WSOCK32.dll_ioctlsocket
jmp case.0x14002cfb4.99
mov word [rbx], 0xa
jmp case.0x14002cfb4.99
mov word [rbx], ntohs
jmp case.0x14002cfb4.99
mov word [rbx], 9
jmp case.0x14002cfb4.99
mov word [rbx], reloc.WSOCK32.dll_inet_ntoa
mov r8, 0xffffffffffffffff
nop dword [rax]
cmp word [rbx + r8*2 + 2], r12w
lea r8, [r8 + 1]
jne 0x14002cff0
lea r8, [r8*2 + 2]
mov rdx, rbx
mov rcx, rdi
call fcn.1400cfd20
cmp word [rdi], 0x3a
jne 0x14002d01d
cmp word [rbx], 0x3a
cmove rdi, rbx
movzx edx, byte [rsp + 0x40]
add rdi, 2
jmp 0x14002ceb2
mov r12, r15
jmp 0x14002d06f
xor r8d, r8d
xor edx, edx
call fcn.140017f90
mov dword [rbp - 8], eax
test eax, eax
je 0x14002d04c
cmp eax, 4
je 0x14002df3a
jmp 0x14002d04f
mov r15, r12
mov r8, qword [rbp]
mov r12, r15
movzx edx, byte [rsp + 0x40]
mov qword [rbp], r8
mov byte [rsp + 0x40], dl
mov word [rbx], di
test r15, r15
je 0x14002d933
mov rcx, qword [rsp + 0x48]
cmp r15, rcx
jbe 0x14002d938
mov rax, qword [0x14012fc08]
cmp qword [rax + 0xd8], 0
jne 0x14002de76
mov r9, qword [rbp + 0x1c0e0]
mov rax, qword [r9 + 8]
test rax, rax
je 0x14002d0ab
cmp byte [rax], 0x1a
je 0x14002dde2
xor r14d, r14d
mov word [r15], r14w
add r15, 4
test r13, r13
jne 0x14002d49c
movzx eax, word [r15]
test ax, ax
je 0x14002d11c
mov rdx, r15
nop dword [rax + rax]
cmp ax, 0x20
je 0x14002d0dc
cmp ax, 9
jne 0x14002d0e6
movzx eax, word [rdx + 2]
add rdx, 2
jmp 0x14002d0d0
mov rax, rdx
sub rax, r15
cmp rax, 2
jb 0x14002d11c
mov r8, 0xffffffffffffffff
nop dword [rax]
cmp word [rdx + r8*2 + 2], r14w
lea r8, [r8 + 1]
jne 0x14002d100
lea r8, [r8*2 + 2]
mov rcx, r15
call fcn.1400cfd20
mov rsi, r15
cmp word [r15], r14w
je 0x14002d49c
movzx eax, word [r15 + 2]
test ax, ax
je 0x14002d27f
lea rdx, [0x140000000]
nop
cmp ax, 0x20
je case.0x14002d165.34
movzx eax, word [rsi]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14002d165.34
cdqe
movzx eax, byte [rdx + rax + 0x2e040]
mov ecx, dword [rdx + rax*4 + 0x2e038]
add rcx, rdx
jmp rcx
movzx eax, word [rsi + 4]
add rsi, 2
test ax, ax
jne 0x14002d140
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
movzx ecx, word [rsi]
test cx, cx
je 0x14002d26f
cmp word [rsi + 2], r14w
jne 0x14002d1a5
mov r9b, 1
mov r8, rax
xor edx, edx
call fcn.1400222e0
movzx r14d, al
jmp 0x14002d26f
mov ebx, ecx
test ecx, 0xffffff80
jne 0x14002d1c0
mov edx, 2
call fcn.1400d7464
test eax, eax
je 0x14002d1c0
and ebx, 0xffffffdf
cmp bx, 0x56
jne 0x14002d20f
movzx ebx, word [rsi + 2]
test ebx, 0xffffff80
jne 0x14002d1e5
mov edx, 2
mov ecx, ebx
call fcn.1400d7464
test eax, eax
je 0x14002d1e5
and ebx, 0xffffffdf
cmp bx, 0x4b
jne 0x14002d20f
lea rcx, [rsi + 4]
mov r8d, reloc.WSOCK32.dll_recv
lea rdx, [rbp + 0x28]
call fcn.1400d2570
movzx ecx, al
mov rax, qword [rbp + 0x28]
cmp word [rax], r14w
cmove r14d, ecx
jmp 0x14002d26f
mov edi, r14d
lea r14, str.Numpad0
mov rbx, r14
nop dword [rax]
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.1400d0944
test eax, eax
je 0x14002d263
inc edi
lea rax, [0x1401303c0]
add rbx, 0x10
cmp rbx, rax
jl 0x14002d220
xor edx, edx
mov rcx, rsi
call fcn.140022070
test ax, ax
je 0x14002d25e
movzx ecx, ax
call fcn.140023560
movzx r14d, al
jmp 0x14002d26f
xor r14b, r14b
jmp 0x14002d26f
movsxd rax, edi
add rax, rax
movzx r14d, byte [r14 + rax*8 + 8]
mov dword [rsp + 0x50], r14d
test r14b, r14b
je 0x14002d499
jmp 0x14002d287
mov r14b, 0xff
mov dword [rsp + 0x50], r14d
mov rbx, qword [rsp + 0x48]
cmp word [rbx], 0
je case.0x14002d2c9.34
cmp word [rbx + 2], 0
je case.0x14002d2c9.34
movzx eax, word [rbx + 2]
lea rdx, [0x140000000]
cmp ax, 0x20
je case.0x14002d2c9.34
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5d
ja case.0x14002d2c9.34
cdqe
movzx eax, byte [rdx + rax + 0x2e0a8]
mov ecx, dword [rdx + rax*4 + 0x2e0a0]
add rcx, rdx
jmp rcx
movzx eax, word [rbx + 4]
add rbx, 2
test ax, ax
jne 0x14002d2a4
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.140022190
lea rdx, [0x140110890]
mov byte [rsp + 0x79], al
mov rcx, rbx
call fcn.1400cbe18
mov rdi, rax
movzx eax, byte [rsp + 0x79]
lea ecx, [rax - 1]
cmp cl, 5
ja 0x14002d319
cmp al, 3
jne 0x14002d321
lea ecx, [rax + 0x66]
cmp cl, 5
ja 0x14002d325
mov cl, 1
jmp 0x14002d327
xor cl, cl
lea eax, [r14 - 1]
cmp al, 5
ja 0x14002d335
cmp r14b, 3
jne 0x14002d33d
lea eax, [r14 + 0x66]
cmp al, 5
ja 0x14002d341
mov al, 1
jmp 0x14002d343
xor al, al
mov byte [rsp + 0x60], al
test cl, cl
jne 0x14002d354
mov byte [rsp + 0x7a], 1
test al, al
jne 0x14002d359
mov byte [rsp + 0x7a], 0
mov rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], 0
jne 0x14002d360
cmp rax, 1
jne 0x14002d38d
movzx ecx, word [rbx]
call qword [sym.imp.USER32.dll_IsCharUpperW]
test eax, eax
je 0x14002d38d
lea rcx, [0x1401139b0]
lea rax, [0x1400fb87c]
jmp 0x14002d397
lea rax, [0x1400fb87c]
mov rcx, rax
test rdi, rdi
lea r9, [0x1401135ac]
lea r8, [0x1401139b8]
mov edx, SafeArrayAllocDescriptor
cmovne r9, rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0xa0]
call fcn.1400acf50
mov r8d, SafeArrayAllocDescriptor
lea rcx, [rbp + 0x60]
mov rdx, rsi
call fcn.1400de184
mov eax, 7
lea rcx, [rbp + 0x18]
xor ebx, ebx
mov r8d, eax
mov rdx, r15
mov word [rbp + 0x9e], bx
call fcn.1400de184
sub rsi, r15
mov word [rbp + 0x26], bx
sar rsi, 1
cmp rsi, 8
jae 0x14002d410
mov word [rbp + rsi*2 + 0x18], bx
mov edi, ebx
mov dword [rbp - 0x50], ebx
cmp word [rbp + 0x18], bx
jne 0x14002cc45
cmp r14b, 0xd
je 0x14002d47c
cmp r14b, 0x13
jne 0x14002cdb6
movzx ebx, word [rbp + 0x60]
test ebx, 0xffffff80
jne 0x14002d44e
mov edx, 2
mov ecx, ebx
call fcn.1400d7464
test eax, eax
je 0x14002d44e
and ebx, 0xffffffdf
cmp bx, 0x50
je 0x14002d493
movzx ebx, word [rbp + 0x60]
test ebx, 0xffffff80
jne 0x14002d473
mov edx, 2
mov ecx, ebx
call fcn.1400d7464
test eax, eax
je 0x14002d473
and ebx, 0xffffffdf
cmp bx, 0x42
jmp 0x14002cdb0
lea rdx, str.Return
lea rcx, [rbp + 0x60]
call fcn.1400d0944
test eax, eax
jmp 0x14002cdb0
xor al, al
mov dword [rsp + 0x50], eax
xor r14d, r14d
mov rbx, qword [rbp + 0x1c0e0]
cmp byte [rbx + 0x2d0], 0
je 0x14002d4e6
mov r9d, 0xff
mov byte [rbx + 0x2d0], 0
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov dl, 0x67
mov rcx, rbx
call fcn.140034ac0
test eax, eax
je 0x14002df3a
mov rax, qword [rbx + 8]
mov qword [rax + 0x10], 1
mov qword [rbx + 0x6a0], r14
mov rdi, qword [rsp + 0x48]
cmp word [rdi], 0
je 0x14002df3a
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x14002d500
lea r14, [rbx + rbx]
lea rcx, [r14 + 2]
call fcn.1400a96d0
mov rsi, rax
test rax, rax
je 0x14002de59
test rbx, rbx
je 0x14002d536
mov r8, r14
mov rdx, rdi
mov rcx, rax
call fcn.1400cfd20
xor eax, eax
mov word [r14 + rsi], ax
lea ecx, [rax + 0x28]
call fcn.1400a96d0
xor r14d, r14d
mov qword [rbp - 0x10], rax
mov rbx, rax
test rax, rax
je 0x14002d5bd
mov qword [rbx + 8], rsi
lea rax, vtable.Label.0
mov qword [rbx], rax
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
mov qword [rbx + 0x20], r14
test rbx, rbx
je 0x14002d5bd
mov rdi, qword [rbp + 0x1c0e0]
mov rax, qword [rdi + 0x28]
mov qword [rbx + 0x18], rax
cmp qword [rdi + 0x20], r14
jne 0x14002d58e
mov qword [rdi + 0x20], rbx
jmp 0x14002d596
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x20], rbx
lea rdx, [0x1400fb8e8]
mov qword [rdi + 0x28], rbx
mov rcx, rsi
call fcn.1400d0944
test eax, eax
jne 0x14002d5b4
mov qword [rdi + 0xb28], rbx
lea rsi, [0x1400fb87c]
jmp 0x14002d5e5
mov rdi, qword [rbp + 0x1c0e0]
lea rsi, [0x1400fb87c]
mov r8, rsi
lea rdx, str.Out_of_memory.
mov rcx, rdi
call fcn.1400515e0
test eax, eax
je 0x14002df3a
test r13, r13
je 0x14002d706
cmp word [r13], 0
je 0x14002de00
mov rcx, qword [rdi + 0x28]
mov rax, r15
movzx edx, byte [rsp + 0x7b]
mov r9, r13
movzx ebx, byte [rsp + 0x40]
mov r8, qword [rbp]
test bl, bl
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x28], dl
cmovne rax, rsi
mov rdx, rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rcx + 8]
call fcn.1400194f0
test eax, eax
je 0x14002df3a
movzx eax, word [r15]
test ax, ax
je 0x14002cc2c
test bl, bl
je 0x14002d6d6
nop
cmp ax, 0x20
je 0x14002d65c
cmp ax, 9
jne 0x14002d667
movzx eax, word [r15 + 2]
add r15, 2
jmp 0x14002d650
xor ebx, ebx
xor r9d, r9d
mov qword [rsp + 0x38], rbx
xor r8d, r8d
mov qword [rsp + 0x30], rbx
mov rdx, r15
mov qword [rsp + 0x28], rbx
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.140031160
test eax, eax
je 0x14002df3a
mov rax, qword [rdi + 8]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14002d6b6
sub cl, 0x69
cmp cl, 8
ja 0x14002d6d8
mov eax, 0x1c7
bt eax, ecx
jae 0x14002d6d8
mov word [r12], 0x3a
lea rdx, str.Invalid_single_line_hotkey_hotstring.
mov r8, qword [rsp + 0x48]
mov rcx, rdi
call fcn.1400515e0
jmp 0x14002df74
xor ebx, ebx
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140034ac0
test eax, eax
je 0x14002df3a
mov rax, qword [rdi + 8]
mov qword [rax + 0x10], 1
jmp 0x14002cc2e
cmp word [r15], 0
movzx ebx, r14w
je 0x14002d81e
lea rdx, str.AltTab
mov rcx, r15
call fcn.1400d0944
test eax, eax
jne 0x14002d732
mov ebx, 0x7ffe
jmp 0x14002d7f5
lea rdx, str.ShiftAltTab
mov rcx, r15
call fcn.1400d0944
test eax, eax
jne 0x14002d74f
mov ebx, 0x7ffd
jmp 0x14002d7f5
lea rdx, str.AltTabMenu
mov rcx, r15
call fcn.1400d0944
test eax, eax
jne 0x14002d76c
mov ebx, 0x7ffc
jmp 0x14002d7f5
lea rdx, str.AltTabAndMenu
mov rcx, r15
call fcn.1400d0944
test eax, eax
jne 0x14002d786
mov ebx, 0x7ffb
jmp 0x14002d7f5
lea rdx, str.AltTabMenuDismiss
mov rcx, r15
call fcn.1400d0944
test eax, eax
jne 0x14002d7a0
mov ebx, 0x7ffa
jmp 0x14002d7f5
mov qword [rsp + 0x38], r14
xor r9d, r9d
mov qword [rsp + 0x30], r14
xor r8d, r8d
mov qword [rsp + 0x28], r14
mov rdx, r15
mov rcx, rdi
mov qword [rsp + 0x20], r14
call fcn.140031160
test eax, eax
je 0x14002df3a
mov rax, qword [rdi + 8]
movzx ecx, byte [rax]
lea eax, [rcx - 9]
cmp al, 0x18
jbe 0x14002d6b6
sub cl, 0x69
cmp cl, 8
ja 0x14002d7f5
mov eax, 0x1c7
bt eax, ecx
jb 0x14002d6b6
xor r9d, r9d
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140034ac0
test eax, eax
je 0x14002df3a
mov rax, qword [rdi + 8]
mov qword [rax + 0x10], 1
mov rcx, qword [rsp + 0x48]
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x7c]
call fcn.140018630
mov rdi, rax
test rax, rax
je 0x14002d8b1
test bx, bx
je 0x14002d847
mov word [rax + 6], bx
jmp 0x14002cc25
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14002d873
mov rcx, qword [0x140134fd8]
nop word [rax + rax]
cmp qword [rax + 8], rcx
je 0x14002de19
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14002d860
mov rbx, qword [rbp + 0x1c0e0]
mov rcx, rdi
movzx r8d, byte [rsp + 0x7c]
mov rdx, qword [rbx + 0x28]
call fcn.140017e70
test rax, rax
je 0x14002de40
cmp byte [rbp - 0x60], 0
jne 0x14002d8a8
cmp byte [0x140134098], 0
je 0x14002cc25
mov byte [rdi + 0x14], 1
jmp 0x14002cc25
mov rdi, qword [rbp + 0x1c0e0]
movzx edx, bx
movzx r9d, byte [rsp + 0x7c]
mov byte [rsp + 0x20], 0
mov rcx, qword [rdi + 0x28]
mov r8, qword [rcx + 8]
call fcn.140017290
test rax, rax
jne 0x14002cc2c
cmp dword [rbp - 8], 3
jne 0x14002df3a
cmp qword [rdi + 0xbc0], rax
jne 0x14002cc2c
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 + 0xe0]
call fcn.1400acf50
xor ebx, ebx
lea rcx, [rbp + 0xe0]
xorps xmm3, xmm3
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov edx, 0x10000
call fcn.1400b2ec0
jmp 0x14002cc2e
mov rcx, qword [rsp + 0x48]
cmp word [rcx + rsi*2 - 2], 0x3a
jne 0x14002db5d
cmp rsi, 1
je 0x14002de91
movzx eax, word [rcx]
mov rdx, rcx
test ax, ax
je 0x14002d999
movzx r8d, word [0x1401315b0]
cmp ax, 0x20
je 0x14002db5d
cmp ax, 9
je 0x14002db5d
cmp ax, r8w
je 0x14002db5d
cmp ax, word [0x1401304bc]
je 0x14002db5d
movzx eax, word [rdx + 2]
add rdx, 2
test ax, ax
jne 0x14002d961
cmp word [rcx + rsi*2 - 4], 0x3a
jne 0x14002d9ab
cmp rsi, 2
ja 0x14002db5d
xor ebx, ebx
lea rdx, str.Default
mov word [rcx + rsi*2 - 2], bx
mov rcx, qword [rsp + 0x48]
call fcn.1400d0944
test eax, eax
jne 0x14002da0d
mov rdi, qword [rbp + 0x1c0e0]
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x14002da0d
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14002da0d
cmp byte [rcx], 0x73
jne 0x14002da0d
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov dl, reloc.WSOCK32.dll_WSACleanup
mov rcx, rdi
call fcn.140034ac0
test eax, eax
je 0x14002df3a
mov esi, dword [rbp + 0x1c0f0]
jmp 0x14002cc39
mov rdi, qword [rsp + 0x48]
cmp word [rdi], bx
je 0x14002df3a
mov r14, qword [rbp + 0x1c0e0]
mov rbx, qword [r14 + 0x20]
test rbx, rbx
je 0x14002da49
nop dword [rax + rax]
mov rcx, qword [rbx + 8]
mov rdx, rdi
call fcn.1400d0944
test eax, eax
je 0x14002daa3
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x14002da30
cmp word [rdi], 0
je 0x14002daaf
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [rdi + rbx*2], 0
jne 0x14002da56
lea r14, [rbx + rbx]
lea rcx, [r14 + 2]
call fcn.1400a96d0
mov rsi, rax
test rax, rax
je 0x14002de59
test rbx, rbx
je 0x14002da8c
mov r8, r14
mov rdx, rdi
mov rcx, rax
call fcn.1400cfd20
xor edi, edi
lea r15, [0x1400fb87c]
mov word [r14 + rsi], di
mov r14, qword [rbp + 0x1c0e0]
jmp 0x14002dabb
lea rdx, str.Duplicate_label.
jmp 0x14002db45
lea r15, [0x1400fb87c]
xor edi, edi
mov rsi, r15
mov ecx, 0x28
call fcn.1400a96d0
mov qword [rbp - 0x10], rax
mov rbx, rax
test rax, rax
je 0x14002db3b
mov qword [rbx + 8], rsi
lea rax, vtable.Label.0
mov qword [rbx], rax
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov qword [rbx + 0x20], rdi
test rbx, rbx
je 0x14002db3b
mov rdi, qword [rbp + 0x1c0e0]
mov rax, qword [rdi + 0x28]
mov qword [rbx + 0x18], rax
cmp qword [rdi + 0x20], 0
jne 0x14002db0c
mov qword [rdi + 0x20], rbx
jmp 0x14002db14
mov rax, qword [rdi + 0x28]
mov qword [rax + 0x20], rbx
lea rdx, [0x1400fb8e8]
mov qword [rdi + 0x28], rbx
mov rcx, rsi
call fcn.1400d0944
test eax, eax
jne 0x14002cc2c
mov qword [rdi + 0xb28], rbx
jmp 0x14002cc2c
lea rdx, str.Out_of_memory.
mov rdi, r15
mov rcx, r14
mov r8, rdi
call fcn.1400515e0
test eax, eax
je 0x14002df3a
jmp 0x14002cc25
cmp word [rcx], 0x23
mov rdi, qword [rbp + 0x1c0e0]
jne 0x14002dba6
mov ebx, dword [rdi + 0x2cc]
mov rdx, rcx
mov rcx, rdi
call fcn.14002e470
test eax, eax
je 0x14002df3a
cmp eax, 3
jne 0x14002dba1
mov esi, dword [rbp + 0x1c0f0]
mov dword [rdi + 0x2cc], ebx
xor ebx, ebx
mov dword [rdi + 0x2c8], esi
jmp 0x14002cc39
mov rcx, qword [rsp + 0x48]
movzx edx, word [rcx]
mov r8d, 0xfffd
lea eax, [rdx - 0x7b]
test r8w, ax
je 0x14002dbf2
xor ebx, ebx
mov rdx, rcx
mov qword [rsp + 0x38], rbx
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov qword [rsp + 0x28], rbx
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.140031160
test eax, eax
je 0x14002df3a
mov esi, dword [rbp + 0x1c0f0]
jmp 0x14002cc39
cmp dx, 0x7b
mov rcx, rdi
setne dl
xor ebx, ebx
add dl, 0x75
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
call fcn.140034ac0
test eax, eax
je 0x14002df3a
mov rax, qword [rsp + 0x48]
movzx ecx, word [rax + 2]
add rax, 2
cmp cx, 0x20
je 0x14002dc1e
cmp cx, 9
je 0x14002dc1e
mov esi, dword [rbp + 0x1c0f0]
mov qword [rsp + 0x48], rax
cmp word [rax], bx
je 0x14002cc39
mov r12, 0xffffffffffffffff
nop dword [rax]
inc r12
cmp word [rax + r12*2], bx
jne 0x14002dc50
mov qword [rbp - 0x40], r12
mov qword [rdi + 0x6a0], rbx
jmp 0x14002c250
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x48]
mov eax, dword [0x140110398]
mov r9d, 1
cmp byte [rsp + 0x60], 0
mov qword [rsp + 0x20], rbx
mov dword [rcx], eax
setne dl
movzx eax, word [0x14011039c]
add dl, 0xc3
mov word [rcx + 4], ax
mov rcx, rdi
call fcn.140034ac0
mov rcx, qword [rsp + 0x48]
lea r8, [rbp + 0x60]
lea rdx, str.Blind_s_Up
call fcn.140006c50
mov r9d, 1
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0x48]
mov dl, 0x41
mov rcx, rdi
call fcn.140034ac0
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov dl, 0x67
mov rcx, rdi
call fcn.140034ac0
xor al, al
mov dword [rsp + 0x50], eax
mov esi, dword [rbp + 0x1c0f0]
mov rcx, qword [rsp + 0x58]
lea rax, [rbp + 0xc070]
cmp qword [rbp + 0x30], rax
lea rbx, [rbp + 0x14080]
mov r12, qword [rbp - 0x30]
lea rdx, [rbp + 0xc070]
cmovne rbx, rdx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x58], rbx
xor r14d, r14d
mov qword [rbp - 0x40], r12
jmp 0x14002af45
mov rcx, qword [rbp + 0x1c0e0]
lea rdx, str.Continuation_section_too_long.
mov r8, rbx
call fcn.1400515e0
jmp 0x14002df74
cmp qword [rdi + 0x2b8], 0
lea rdx, [0x140113828]
lea rax, str.Not_a_valid_method__class_or_property_definition.
mov rcx, rdi
cmovne rax, rdx
lea r8, [rbp + 0x4060]
mov rdx, rax
call fcn.1400515e0
jmp 0x14002df74
lea r8, [rbp + 0x4060]
mov rcx, rdi
lea rdx, [0x140113828]
call fcn.1400515e0
jmp 0x14002df74
lea r8, [rbp + 0x4060]
lea rdx, str.Functions_cannot_contain_functions.
call fcn.1400515e0
jmp 0x14002df74
mov r8, qword [rsp + 0x48]
lea rdx, str.Not_a_valid_property_getter_setter.
mov rcx, rdi
call fcn.1400515e0
jmp 0x14002df74
mov r8, qword [rsp + 0x48]
lea rdx, str.Not_a_valid_method__class_or_property_definition.
mov rcx, rdi
call fcn.1400515e0
jmp 0x14002df74
mov r8, rcx
mov qword [r9 + 0x6a0], rax
mov rcx, r9
lea rdx, str.IfWin_should_be_IfWin.
call fcn.1400515e0
jmp 0x14002df74
mov r8, qword [rsp + 0x48]
lea rdx, str.This_hotstring_is_missing_its_abbreviation.
mov rcx, rdi
call fcn.1400515e0
jmp 0x14002df74
mov rbx, qword [rbp + 0x1c0e0]
lea rdx, str.Duplicate_hotkey.
mov r8, qword [rsp + 0x48]
mov rcx, rbx
mov qword [rbx + 0x6a0], r14
call fcn.1400515e0
jmp 0x14002df74
mov r8, qword [rsp + 0x48]
lea rdx, str.Out_of_memory.
mov rcx, rbx
call fcn.1400515e0
jmp 0x14002df74
mov r8, rdi
lea rdx, str.Out_of_memory.
lea rcx, [0x140136640]
call fcn.1400515e0
xor eax, eax
jmp 0x14002df74
mov r8, rcx
lea rdx, str.Hotkeys_hotstrings_are_not_allowed_inside_functions.
mov rcx, qword [rbp + 0x1c0e0]
call fcn.1400515e0
jmp 0x14002df74
mov r8, rcx
lea rdx, str.This_line_does_not_contain_a_recognized_action.
mov rcx, qword [rbp + 0x1c0e0]
call fcn.1400515e0
jmp 0x14002df74
mov r8, qword [rsp + 0x48]
lea rdx, [0x1401137c8]
mov rcx, qword [rbp + 0x1c0e0]
call fcn.1400515e0
jmp 0x14002df74
cmp word [rbp + 0x4060], 0
je 0x14002df44
cmp dword [rbp - 0x4c], 0
mov rcx, rdi
mov ebx, dword [rdi + 0x2cc]
mov eax, dword [rbp - 0x38]
mov dword [rdi + 0x2cc], eax
je 0x14002df10
cmp byte [rsp + 0x54], 0
lea rax, str.Missing___
lea rdx, [0x140113828]
cmovne rdx, rax
lea r8, [rbp + 0x4060]
call fcn.1400515e0
jmp 0x14002df74
mov qword [rsp + 0x38], r14
lea rdx, [rbp + 0x4060]
mov qword [rsp + 0x30], r14
xor r9d, r9d
mov qword [rsp + 0x28], r14
mov r8b, 3
mov qword [rsp + 0x20], r14
call fcn.140031160
test eax, eax
jne 0x14002df3e
xor eax, eax
jmp 0x14002df74
mov dword [rdi + 0x2cc], ebx
cmp dword [rdi + 0x80], 0
je 0x14002df69
test esi, esi
jne 0x14002df69
lea r8, [rdi + 0xb0]
mov rcx, rdi
lea rdx, str.Missing___
call fcn.1400515e0
jmp 0x14002df74
inc dword [rdi + 0x2cc]
mov eax, 1
add rsp, 0x1c198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret