Function at 0x1401d7460
Capabilities:
Get keyboard layout

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x498
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x400], xmm11
movdqa xmmword [rbp + 0x3f0], xmm10
movdqa xmmword [rbp + 0x3e0], xmm9
movaps xmmword [rbp + 0x3d0], xmm8
movdqa xmmword [rbp + 0x3c0], xmm7
movdqa xmmword [rbp + 0x3b0], xmm6
mov qword [rbp + 0x3a8], 0xfffffffffffffffe
mov rsi, rcx
xor ebx, ebx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov r13, rax
mov qword [rbp + 0x80], rax
lea rdi, [rsi + 0x20]
lea rdx, [rbp + 0x80]
mov rcx, rdi
call fcn.140073970
mov r9, rax
shr r9, 0x39
mov rcx, qword [rsi]
mov qword [rbp + 0x390], rsi
mov rdx, qword [rsi + 8]
mov r8, rdx
and r8, rax
mov qword [rbp + 0x278], r9
movd xmm0, r9d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea r9, [rcx - 0xa8]
pcmpeqd xmm1, xmm1
movdqu xmm2, xmmword [rcx + r8]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r10d, xmm3
nop word cs:[rax + rax]
test r10w, r10w
je 0x1401d7570
tzcnt r11d, r10d
lea esi, [r10 - 1]
and esi, r10d
add r11, r8
and r11, rdx
neg r11
imul r11, r11, 0xa8
mov r10d, esi
cmp qword [r9 + r11], r13
jne 0x1401d7540
jmp 0x1401d758e
pcmpeqb xmm2, xmm1
pmovmskb r10d, xmm2
test r10d, r10d
jne 0x1401d75de
add r8, rbx
add r8, 0x10
add rbx, 0x10
and r8, rdx
jmp 0x1401d7523
lea rdx, [rcx + r11]
add rdx, 0xffffffffffffff60
mov rax, r13
movaps xmm6, xmmword [rbp + 0x3b0]
movaps xmm7, xmmword [rbp + 0x3c0]
movaps xmm8, xmmword [rbp + 0x3d0]
movaps xmm9, xmmword [rbp + 0x3e0]
movaps xmm10, xmmword [rbp + 0x3f0]
movaps xmm11, xmmword [rbp + 0x400]
add rsp, 0x498
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0x280], rax
mov rax, qword [rbp + 0x390]
cmp qword [rax + 0x10], 0
mov rax, r13
je 0x1401d760e
mov qword [rbp + 0x288], rax
call fcn.140251130
cmp qword [rax], 0
je 0x1401d763b
add rax, 8
jmp 0x1401d7645
mov edx, 1
mov rcx, qword [rbp + 0x390]
mov r8, rdi
call fcn.1402911b0
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x288], rax
call fcn.140251130
cmp qword [rax], 0
jne 0x1401d7608
mov rcx, rax
xor edx, edx
call fcn.1400d4700
movdqu xmm6, xmmword [0x1404b3de0]
movdqa xmmword [rbp + 0x310], xmm6
movdqu xmm7, xmmword [0x1404b3dd0]
movdqa xmmword [rbp + 0x300], xmm7
movups xmm0, xmmword [rax]
inc qword [rax]
movaps xmmword [rbp + 0x320], xmm0
call fcn.140251130
cmp qword [rax], 0
je 0x1401d7683
add rax, 8
jmp 0x1401d768d
mov rcx, rax
xor edx, edx
call fcn.1400d4700
movdqa xmmword [rbp + 0x90], xmm6
movdqa xmmword [rbp + 0x80], xmm7
movups xmm0, xmmword [rax]
inc qword [rax]
movaps xmmword [rbp + 0xa0], xmm0
call fcn.140251130
cmp qword [rax], 0
je 0x1401d76bb
add rax, 8
jmp 0x1401d76c5
mov rcx, rax
xor edx, edx
call fcn.1400d4700
movdqu xmm0, xmmword [rax]
inc qword [rax]
mov qword [rbp + 0x398], r13
mov qword [rbp + 0x210], r13
movaps xmm1, xmmword [rbp + 0x300]
movaps xmm2, xmmword [rbp + 0x310]
movaps xmm3, xmmword [rbp + 0x320]
movaps xmmword [rbp + 0x180], xmm1
movaps xmmword [rbp + 0x190], xmm2
movaps xmmword [rbp + 0x1a0], xmm3
movdqa xmm1, xmmword [rbp + 0x80]
movdqa xmm2, xmmword [rbp + 0x90]
movdqa xmm3, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0x1b0], xmm1
movdqa xmmword [rbp + 0x1c0], xmm2
movdqa xmmword [rbp + 0x1d0], xmm3
movdqa xmmword [rbp + 0x1e0], xmm7
movdqa xmmword [rbp + 0x1f0], xmm6
movdqa xmmword [rbp + 0x200], xmm0
mov byte [rbp + 0x218], 0
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x170], xmm0
movdqa xmmword [rbp + 0x160], xmm0
movdqa xmmword [rbp + 0x150], xmm0
movdqa xmmword [rbp + 0x140], xmm0
movdqa xmmword [rbp + 0x130], xmm0
movdqa xmmword [rbp + 0x120], xmm0
movdqa xmmword [rbp + 0x110], xmm0
movdqa xmmword [rbp + 0x100], xmm0
movdqa xmmword [rbp + 0xf0], xmm0
movdqa xmmword [rbp + 0xe0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmmword [rbp + 0xc0], xmm0
movdqa xmmword [rbp + 0xb0], xmm0
movdqa xmmword [rbp + 0xa0], xmm0
movdqa xmmword [rbp + 0x90], xmm0
movdqa xmmword [rbp + 0x80], xmm0
lea rdi, [0x1405b17b0]
mov qword [rbp + 0x290], rdi
mov rax, qword [0x1405b17e0]
cmp rax, 3
je 0x1401d7836
lea rax, [rbp + 0x290]
mov qword [rbp + 0x240], rax
lea rax, [rbp + 0x240]
mov qword [rbp + 0x300], rax
lea rax, str.C:UsersKasikek.cargo_registry_srcindex.crates.io_6f17d22bba15001flazy_static_1.4.0_srcinline_lazy.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1405b17e0]
lea r9, [0x1404b3d30]
lea r8, [rbp + 0x300]
xor edx, edx
call fcn.140298fd0
mov rax, qword [rbp + 0x290]
mov rdx, qword [rax + 0x18]
cmp qword [rbp + 0x1c0], rdx
jae 0x1401d785d
lea r8, [rbp + 0x1d0]
lea rcx, [rbp + 0x1b0]
call fcn.140293350
mov rax, qword [rbp + 0x390]
add rax, 0x30
mov qword [rbp + 0x2e8], rax
mov r12, qword [rbp + 0x398]
and r12d, 0x3ff
lea eax, [r12 - 0x11]
mov dword [rbp + 0x380], eax
mov rsi, qword [sym.imp.USER32.dll_MapVirtualKeyExW]
lea r14, [rbp + 0x350]
xor r13d, r13d
nop dword [rax]
movzx ecx, r13w
cmp ecx, 0x100
jae 0x1401d7d1f
mov ebx, r13d
mov edx, 4
mov r8, qword [rbp + 0x398]
call rsi
mov r15d, eax
lea r13d, [rbx + 1]
test eax, eax
je 0x1401d78a0
mov ecx, r15d
call fcn.1401dc290
mov qword [rbp + 0x350], rax
movzx eax, bl
add eax, 0xffffffa0
cmp eax, 0xf
ja 0x1401d78eb
cmp eax, 0xa
jne 0x1401d78a0
mov qword [rbp + 0x290], rdi
mov rax, qword [0x1405b17e0]
cmp rax, 3
je 0x1401d7943
lea rax, [rbp + 0x290]
mov qword [rbp + 0x240], rax
lea rax, [rbp + 0x240]
mov qword [rbp + 0x300], rax
lea rax, str.C:UsersKasikek.cargo_registry_srcindex.crates.io_6f17d22bba15001flazy_static_1.4.0_srcinline_lazy.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1405b17e0]
xor edx, edx
lea r8, [rbp + 0x300]
lea r9, [0x1404b3d30]
call fcn.140298fd0
mov rcx, qword [rbp + 0x290]
mov rdx, r14
call fcn.1401dd540
test al, al
je 0x1401d78a0
mov eax, dword [rbp + 0x350]
add eax, 0xfffffffb
movzx eax, ax
lea rcx, [rax + 1]
add dword [0x1401d7a31], edi
mov eax, 0
cmovae rcx, rax
lea rdx, [0x1404b3f08]
mov ebp, eax
sub eax, 0x4634800
mov cl, byte [rax + 1]
add eax, edx
sub eax, 0x4634800
mov cl, byte [rax + 1]
add eax, edx
jmp rax
invalid
jmp rax
mov si, 8
jmp case.0x1401d740f.10
xor al, 3
add byte [rax], al
mov esi, 0x34e90008
add eax, dword [rax]
add byte [rax], al
mov si, 0xd
invalid
sub eax, dword [rbx]
add byte [rax], al
mov si, 0xd
jmp case.0x1401d740f.10
sub eax, dword [rbx]
add byte [rax], al
add byte [rax], al
mov si, 0x86
jmp case.0x1401d740f.10
and al, byte [rbx]
add byte [rax], al
add byte [rax], al
mov si, 0x81
jmp case.0x1401d740f.10
sbb dword [rbx], eax
add byte [rax], al
add byte [rax], al
mov si, 0x7b
jmp case.0x1401d740f.10
adc byte [rbx], al
add byte [rax], al
add byte [rax], al
mov si, 0x80
jmp case.0x1401d740f.10
invalid
add eax, dword [rax]
add byte [rax], al
add byte [rax], al
mov si, 0x77
jmp case.0x1401d740f.10
inc byte [rdx]
add byte [rax], al
add byte [rax], al
mov si, 0xb3
jmp case.0x1401d740f.10
cmc
add al, byte [rax]
add byte [rax], al
add byte [rax], al
mov si, 0x2f
jmp case.0x1401d740f.10
in al, dx
add al, byte [rax]
add byte [rax], al
add byte [rax], al
mov si, 0x6a
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0x82
jmp case.0x1401d740f.10
add byte [rax], al
add byte [rax], al
mov si, 0x23
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0xc
jmp case.0x1401d740f.10
mov si, 0xb2
jmp case.0x1401d740f.10
add byte [rsi - 0x42], ah
int1
add byte [rcx - 0x7d], al
mov si, 0xf1
cmp r12d, 0x11
cld
invalid
cld
adc dword [rdi], ecx
je case.0x1401d740f.10
invalid
je case.0x1401d740f.10
jmp case.0x1401d7986.0
invalid
add byte [rax], al
mov si, 0x1d
jmp case.0x1401d740f.10
invalid
add al, byte [rax]
add byte [rax], al
add byte [rax], al
mov si, 0x28
jmp case.0x1401d740f.10
invalid
add al, byte [rax]
add byte [rax], al
add byte [rax], al
mov si, 0x65
jmp case.0x1401d740f.10
xchg ecx, eax
add al, byte [rax]
add byte [rax], al
add byte [rax], al
mov si, 0x15
jmp case.0x1401d740f.10
mov byte [rdx], al
add byte [rax], al
add byte [rax], al
mov si, 0xb0
jmp case.0x1401d740f.10
jg case.0x1401d7986.169
add byte [rax], al
add byte [rax], al
mov si, 0x79
jmp case.0x1401d740f.10
jbe case.0x1401d7986.134
add byte [rax], al
add byte [rax], al
mov si, 0xb5
jmp case.0x1401d740f.10
insd dword [rdi], dx
add al, byte [rax]
add byte [rax], al
add byte [rax], al
mov si, 0xa9
jmp case.0x1401d740f.10
add al, byte fs:[rax]
invalid
add byte [rax], al
mov si, 0xb1
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0x1c
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0x64
jmp case.0x1401d740f.10
add al, byte [r8]
invalid
add byte [rax], al
mov si, 0x87
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0xa5
jmp case.0x1401d740f.10
invalid
add al, byte [rax]
add byte [rax], al
add byte [rax], al
mov si, 0x84
jmp case.0x1401d740f.10
add al, byte cs:[rax]
invalid
add byte [rax], al
mov si, 0x74
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0xa3
jmp case.0x1401d740f.10
sbb al, 2
add byte [rax], al
add byte [rax], al
mov si, 0x7a
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0x7d
jmp case.0x1401d740f.10
or al, byte [rdx]
add byte [rax], al
add byte [rax], al
mov si, 0x5d
jmp case.0x1401d740f.10
add dword [rdx], eax
add byte [rax], al
add byte [rax], al
mov si, 0x62
jmp case.0x1401d740f.10
clc
add dword [rax], eax
add byte [rax], al
add byte [rax], al
mov si, 0x78
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0xaa
jmp case.0x1401d740f.10
out 1, al
add byte [rax], al
add byte [rax], al
mov si, 0x21
jmp case.0x1401d740f.10
fld qword [rcx]
add byte [rax], al
add byte [rax], al
mov si, 0x2c
jmp case.0x1401d740f.10
invalid
add dword [rax], eax
add byte [rax], al
add byte [rax], al
mov si, 0x6d
jmp case.0x1401d740f.10
retf
add dword [rax], eax
add byte [rax], al
add byte [rax], al
mov si, 0x7f
jmp case.0x1401d740f.10
ret 1
invalid
add byte [rax], al
mov si, 0x14
jmp case.0x1401d740f.10
invalid
add dword [rax], eax
add byte [rax], al
add byte [rax], al
mov si, 0x63
jmp case.0x1401d740f.10
mov al, 1
add byte [rax], al
add byte [rax], al
mov si, 0x7c
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0xaf
jmp case.0x1401d740f.10
sahf
add dword [rax], eax
add byte [rax], al
add byte [rax], al
mov si, 0x69
jmp case.0x1401d740f.10
xchg ebp, eax
add dword [rax], eax
add byte [rax], al
add byte [rax], al
mov si, 0xae
jmp case.0x1401d740f.10
mov word [rcx], es
add byte [rax], al
add byte [rax], al
mov si, 0xb7
jmp case.0x1401d740f.10
add dword [rcx], 0
invalid
add byte [rax], al
mov si, 9
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0x68
jmp case.0x1401d740f.10
jno 0x1401d7b53
add byte [rax], al
add byte [rax], al
mov si, 0x22
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0xa4
jmp case.0x1401d740f.10
pop rdi
add dword [rax], eax
invalid
add byte [rax], al
mov si, 0xb6
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0xad
jmp case.0x1401d740f.10
add qword [r8], r8
invalid
add byte [rax], al
mov si, 0xa8
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0x83
jmp case.0x1401d740f.10
cmp eax, dword [rcx]
add byte [rax], al
add byte [rax], al
mov si, 0x20
jmp case.0x1401d740f.10
xor al, byte [rcx]
add byte [rax], al
add byte [rax], al
mov si, 0xac
jmp case.0x1401d740f.10
sub dword [rcx], eax
add byte [rax], al
add byte [rax], al
mov si, 0x76
jmp case.0x1401d740f.10
and byte [rcx], al
add byte [rax], al
add byte [rax], al
mov si, 0xa6
jmp case.0x1401d740f.10
invalid
add dword [rax], eax
add byte [rax], al
add byte [rax], al
mov si, 0x5c
jmp case.0x1401d740f.10
invalid
add dword [rax], eax
add byte [rax], al
add byte [rax], al
mov si, 0x24
jmp case.0x1401d740f.10
invalid
add dword [rax], eax
add byte [rax], al
add byte [rax], al
mov si, 0x29
jmp case.0x1401d740f.10
cld
add byte [rax], al
invalid
add byte [rax], al
mov si, 0xb4
jmp case.0x1401d740f.10
add byte [rax], al
mov si, 0x5b
jmp case.0x1401d740f.10
invalid
add byte [rax], al
add byte [rax], al
add byte [rax], al
mov si, 0x13
jmp case.0x1401d740f.10
loope case.0x1401d8738.121
add byte [rax], al
add byte [rax], al
mov si, 0x6e
jmp case.0x1401d740f.10
fadd dword [rax]
add byte [rax], al
add byte [rax], al
mov si, 0x6b
jmp case.0x1401d740f.10
add byte [rax], al
add byte [rax], al
mov si, 0x1b
jmp case.0x1401d740f.10
add byte [rax], al
invalid
add byte [rax], al
mov si, 0x75
jmp case.0x1401d740f.10
mov si, 0x7e
jmp case.0x1401d740f.10
invalid
add byte [rsi - 0x42], ah
sbb dword [rax], eax
mov si, 0x19
cmp r12d, 0x12
je case.0x1401d740f.10
cmpsb byte [rsi], byte [rdi]
add byte [rax], al
invalid
jmp case.0x1401d7986.0
mov si, 0x15
cmp dword [rbp + 0x380], 2
add byte [rdx], al
adc eax, 0x80bd8300
add eax, dword [rax]
add byte [rdx], al
jb case.0x1401d740f.10
jmp case.0x1401d7986.0
mov si, 0x66
jmp case.0x1401d740f.10
invalid
add byte [rax], al
add byte [rax], al
mov esi, 0x82e90066
add byte [rax], al
add byte [rax], al
invalid
invalid
add byte [rax], al
mov si, 0xa2
movabs byte [0xeb00a0be667ceb00], al
jbe 0x1401d7cb6
invalid
jmp case.0x1401d740f.10
mov si, 0xa0
jmp case.0x1401d740f.10
mov si, 0xa1
mov esi, 0x70eb00a1
jmp case.0x1401d740f.10
mov si, 0x61
jmp case.0x1401d740f.10
mov si, 0xab
jmp case.0x1401d740f.10
mov si, 0x91
jmp case.0x1401d740f.10
mov si, 0x70
jmp case.0x1401d740f.10
mov si, 0x72
jmp case.0x1401d740f.10
mov si, 0x60
jmp case.0x1401d740f.10
mov si, 0x2d
jmp case.0x1401d740f.10
mov si, 0x2e
jmp case.0x1401d740f.10
mov si, 0x26
jmp case.0x1401d740f.10
mov si, 0x25
jmp case.0x1401d740f.10
mov si, 0x6f
jmp case.0x1401d740f.10
mov si, 0x27
jmp case.0x1401d740f.10
mov si, 0x90
jmp case.0x1401d740f.10
mov si, 0x73
jmp case.0x1401d740f.10
mov si, 0x67
jmp case.0x1401d740f.10
mov si, 0x6c
jmp case.0x1401d740f.10
mov si, 0xa7
jmp case.0x1401d740f.10
mov esi, 0xaeb00a7
mov si, 0x71
jmp case.0x1401d740f.10
mov si, 0x85
shl r15d, 0x10
or r15d, 1
mov byte [rsp + 0x20], 0
lea rcx, [rbp + 0x68]
mov edx, ebx
mov r8, r15
mov eax, edi
mov eax, edi
mov r9, qword [rbp + 0x398]
call fcn.1401d9540
cmp dword [rbp + 0x68], 1
jne 0x1401d7cf9
mov rsi, qword [sym.imp.USER32.dll_MapVirtualKeyExW]
jmp 0x1401d78a0
lea rcx, [rbp + 0x300]
lea r9, [rbp + 0x68]
lea rdx, [rbp + 0x1b0]
mov r8d, esi
call fcn.1401dddb0
mov rsi, qword [sym.imp.USER32.dll_MapVirtualKeyExW]
jmp 0x1401d78a0
cmp qword [rbp + 0x190], 0xf
ja 0x1401d7d41
lea r8, [rbp + 0x1a0]
lea rcx, [rbp + 0x180]
mov edx, 0x10
call fcn.140293350
xor r14d, r14d
lea r15, str._abcdefghijklmno9
lea rdi, [rbp + 0x50]
lea rbx, [rbp + 0x80]
lea r12, [rbp + 0x300]
nop dword [rax]
cmp r14, 0x20
je 0x1401d7df7
mov r13w, word [r14 + r15]
movzx ecx, r13w
mov edx, 4
mov r8, qword [rbp + 0x398]
call rsi
mov rcx, qword [rbp + 0x398]
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov rdx, rbx
mov r8d, r13d
mov r9d, eax
call fcn.1401d8eb0
add r14, 2
movabs rax, 0x8000000000000002
cmp qword [rbp + 0x50], rax
jl 0x1401d7d60
mov rcx, qword [rbp + 0x2e8]
mov rdx, rdi
call fcn.1401d9120
mov qword [rbp + 0x308], rax
mov qword [rbp + 0x310], rdx
mov dword [rbp + 0x300], 0
lea rcx, [rbp + 0x240]
lea rdx, [rbp + 0x180]
mov r8d, r13d
mov r9, r12
call fcn.1401dddb0
jmp 0x1401d7d60
mov rax, qword [rbp + 0x390]
add rax, 0x50
mov qword [rbp + 0x270], rax
lea rbx, [rbp + 0x2c0]
lea r15, [rbp + 0x300]
movdqa xmm6, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmm7, xmmword [0x14029f730]
xorps xmm8, xmm8
pcmpeqd xmm9, xmm9
xor eax, eax
mov r13, qword [rbp + 0x398]
jmp 0x1401d7e46
mov eax, dword [rbp + 0x2f4]
mov qword [rbp + 0x388], rax
cmp al, 0x10
jae 0x1401d8888
call fcn.140251130
cmp qword [rax], 0
je 0x1401d7e70
add rax, 8
jmp 0x1401d7e81
mov rcx, rax
xor edx, edx
call fcn.1400d4700
mov r13, qword [rbp + 0x398]
movdqu xmm10, xmmword [rax]
inc qword [rax]
movzx eax, byte [0x1405b1481]
mov ecx, 0x4210
mov edx, 0x10
call fcn.1401159f0
test rax, rax
je 0x1401d7ed0
mov rdi, rax
add rdi, 0x4000
mov r8d, 0x210
mov rcx, rdi
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov eax, 0x1ff
mov edx, 0x1c0
jmp 0x1401d7eeb
mov edx, 0x10
mov r8d, 0x4210
mov cl, 1
call fcn.140279190
xor edi, edi
mov r13, qword [rbp + 0x398]
mov qword [rbp + 0x290], rdi
mov qword [rbp + 0x298], rax
mov qword [rbp + 0x2a0], rdx
mov qword [rbp + 0x2a8], 0
movdqu xmmword [rbp + 0x2b0], xmm10
movzx eax, byte [rbp + 0x90]
test byte [rbp + 0x388], 1
jne 0x1401d7f70
and byte [rbp + 0x120], 0x7f
and al, 0x7f
and byte [rbp + 0x121], 0x7f
mov byte [rbp + 0x90], al
movzx eax, byte [rbp + 0x91]
test byte [rbp + 0x388], 2
je 0x1401d7f88
or al, 0x80
mov byte [rbp + 0x91], al
movzx eax, byte [rbp + 0x92]
test byte [rbp + 0x388], 4
je 0x1401d7fae
or al, 0x80
jmp 0x1401d7fbe
or al, 0x80
mov byte [rbp + 0x90], al
movzx eax, byte [rbp + 0x91]
test byte [rbp + 0x388], 2
jne 0x1401d7f4a
and byte [rbp + 0x122], 0x7f
and al, 0x7f
and byte [rbp + 0x123], 0x7f
mov byte [rbp + 0x91], al
movzx eax, byte [rbp + 0x92]
test byte [rbp + 0x388], 4
jne 0x1401d7f62
and byte [rbp + 0x124], 0x7f
and al, 0x7f
and byte [rbp + 0x125], 0x7f
mov rcx, qword [rbp + 0x388]
lea edx, [rcx + 1]
mov dword [rbp + 0x2f4], edx
mov byte [rbp + 0x92], al
movzx eax, byte [rbp + 0x94]
and al, 0xfe
shr cl, 3
or cl, al
mov byte [rbp + 0x94], cl
mov dword [rbp + 0x374], 0
jmp 0x1401d8015
mov rcx, r15
lea rdx, [rbp + 0x290]
mov r8, r12
mov r9, rbx
call fcn.1401dd920
mov eax, dword [rbp + 0x374]
movzx ecx, ax
cmp ecx, 0x100
mov dword [rbp + 0x2f0], ecx
jae 0x1401d87f0
mov edi, eax
mov edx, 4
mov r8, r13
call rsi
mov r14d, eax
lea eax, [rdi + 1]
mov dword [rbp + 0x374], eax
test r14d, r14d
je 0x1401d8015
mov ecx, r14d
call fcn.1401dc290
mov r12, rax
mov qword [rbp + 0x378], rax
mov r8d, r14d
shl r8d, 0x10
or r8d, 1
mov byte [rsp + 0x20], 0
mov rcx, rbx
mov edx, edi
mov r9, r13
call fcn.1401d9540
cmp dword [rbp + 0x2c0], 1
jne 0x1401d8000
mov qword [rsp + 0x20], r13
lea rcx, [rbp + 0x228]
lea rdx, [rbp + 0x80]
mov r8d, edi
mov r9d, r14d
call fcn.1401d8eb0
mov rdx, qword [rbp + 0x228]
movabs rax, 0x8000000000000001
add rax, rdx
movabs rcx, 0x8000000000000002
cmp rdx, rcx
mov ecx, 0
cmovge rax, rcx
cmp rax, 2
je 0x1401d8105
cmp rax, 1
jne 0x1401d8155
mov eax, dword [rbp + 0x230]
mov dword [rbp + 0x354], eax
mov dword [rbp + 0x350], 2
cmp byte [rbp + 0x388], 6
je 0x1401d8390
jmp 0x1401d87b0
test byte [rbp + 0x388], 6
jne 0x1401d835c
cmp word [rbp + 0x378], 0x6a
jne 0x1401d835c
lea rax, str._C:UsersKasikek.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tao_0.16.9_srcplatform_implwindowskeyboard_layout.rs
mov qword [rbp + 0x358], rax
mov qword [rbp + 0x360], 1
mov dword [rbp + 0x350], 0
cmp byte [rbp + 0x388], 6
je 0x1401d8390
jmp 0x1401d87b0
mov qword [rbp + 0x2f8], rdx
mov rax, qword [rbp + 0x230]
mov qword [rbp + 0x380], rax
mov rdi, qword [rbp + 0x238]
mov rax, qword [rbp + 0x390]
cmp qword [rax + 0x48], 0
je 0x1401d82c9
mov byte [rbp + 0x3a7], 0
mov rcx, qword [rbp + 0x270]
mov rdx, qword [rbp + 0x380]
mov r8, rdi
call fcn.140073ad0
mov r14, rax
mov rax, qword [rbp + 0x390]
mov rcx, qword [rax + 0x30]
mov rbx, qword [rax + 0x38]
mov rax, r14
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm10, xmm0, 0
mov qword [rbp + 0x2e0], rcx
lea rsi, [rcx - 0x10]
xor eax, eax
mov qword [rbp + 0x2d8], rax
and r14, rbx
mov rax, qword [rbp + 0x2e0]
movdqu xmm11, xmmword [rax + r14]
movdqa xmm0, xmm11
pcmpeqb xmm0, xmm10
pmovmskb r15d, xmm0
test r15d, r15d
jne 0x1401d823f
pcmpeqb xmm11, xmm9
pmovmskb eax, xmm11
test eax, eax
jne 0x1401d82c9
mov rax, qword [rbp + 0x2d8]
add r14, rax
add r14, 0x10
add rax, 0x10
jmp 0x1401d81d9
lea eax, [r15 - 1]
and eax, r15d
mov r15d, eax
test ax, ax
je 0x1401d8204
tzcnt r13d, r15d
add r13, r14
and r13, rbx
mov rcx, r13
shl rcx, 4
mov rax, rsi
sub rax, rcx
cmp qword [rax + 8], rdi
jne 0x1401d8230
mov r12, qword [rax]
mov rcx, qword [rbp + 0x380]
mov rdx, r12
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401d8230
neg r13
shl r13, 4
mov rax, qword [rbp + 0x2e0]
add rax, r13
cmp rax, 0x10
je 0x1401d82c9
mov rdx, qword [rbp + 0x2f8]
test rdx, rdx
je 0x1401d82ab
mov r8d, 1
mov rcx, qword [rbp + 0x380]
call fcn.140115a00
mov r13, qword [rbp + 0x398]
mov rsi, qword [sym.imp.USER32.dll_MapVirtualKeyExW]
lea rbx, [rbp + 0x2c0]
lea r15, [rbp + 0x300]
jmp 0x1401d8336
mov rax, qword [rbp + 0x2f8]
mov qword [rbp + 0x300], rax
mov rax, qword [rbp + 0x380]
mov qword [rbp + 0x308], rax
mov qword [rbp + 0x310], rdi
mov byte [rbp + 0x3a7], 1
lea r15, [rbp + 0x300]
mov rcx, r15
call fcn.140279700
mov r12, rax
mov rdi, rdx
mov byte [rbp + 0x3a7], 1
mov rcx, qword [rbp + 0x2e8]
mov rdx, rax
mov r8, rdi
call fcn.1401de5e0
mov r13, qword [rbp + 0x398]
mov rsi, qword [sym.imp.USER32.dll_MapVirtualKeyExW]
lea rbx, [rbp + 0x2c0]
mov qword [rbp + 0x358], r12
mov qword [rbp + 0x360], rdi
mov dword [rbp + 0x350], 0
cmp byte [rbp + 0x388], 6
je 0x1401d8390
jmp 0x1401d87b0
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x360], rax
movdqu xmm0, xmmword [rbp + 0x2c0]
movdqa xmmword [rbp + 0x350], xmm0
cmp byte [rbp + 0x388], 6
jne 0x1401d87b0
nop word [rax + rax]
cmp byte [rbp + 0x218], 0
jne 0x1401d87b0
cmp qword [rbp + 0x1f8], 0
je 0x1401d8a99
movdqa xmm0, xmmword [rbp + 0x200]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmm6
movdqa xmmword [rbp + 0x300], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm7
movdqa xmmword [rbp + 0x310], xmm1
movdqa xmmword [rbp + 0x320], xmm0
lea rax, [rbp + 0x330]
movaps xmmword [rax], xmm8
mov qword [rax + 0x10], 0
mov byte [rbp + 0x240], 0
mov r8d, 1
mov rcx, r15
lea rdx, [rbp + 0x240]
call fcn.140074d60
mov rax, qword [rbp + 0x310]
mov r9, qword [rbp + 0x330]
shl r9, 0x38
or r9, qword [rbp + 0x338]
mov rcx, qword [rbp + 0x318]
mov r8, qword [rbp + 0x300]
add r8, rax
rol rax, 0xd
xor rcx, r9
xor rax, r8
rol r8, 0x20
mov rdx, qword [rbp + 0x308]
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rcx, r8
xor rax, rdx
rol rdx, 0x20
xor r8, r9
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
xor rax, r8
rol r8, 0x20
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r8, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r8
add r8, rax
rol rax, 0xd
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
rol rcx, 0x15
xor rax, r8
add rdx, rax
rol rax, 0x11
mov r8, rdx
rol r8, 0x20
xor r8, rax
xor r8, rcx
xor r8, rdx
mov r14, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x1e8]
mov rcx, r8
shr rcx, 0x39
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rcx, [r14 - 0x38]
xor edx, edx
and r8, rax
movdqu xmm1, xmmword [r14 + r8]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb r9d, xmm2
nop dword [rax]
test r9w, r9w
je 0x1401d8580
tzcnt r10d, r9d
lea r11d, [r9 - 1]
and r11d, r9d
add r10, r8
and r10, rax
neg r10
imul r10, r10, 0x38
cmp byte [rcx + r10], 0
mov r9d, r11d
jne 0x1401d8550
jmp 0x1401d85a0
pcmpeqb xmm1, xmm9
pmovmskb r9d, xmm1
test r9d, r9d
jne 0x1401d8a99
add r8, rdx
add r8, 0x10
add rdx, 0x10
jmp 0x1401d8533
cmp qword [r14 + r10 - 0x18], 0
je 0x1401d87b0
add r14, r10
lea rcx, [r14 - 0x10]
lea rdx, [rbp + 0x378]
call fcn.1401c9610
mov rdi, qword [r14 - 0x30]
mov rcx, qword [r14 - 0x28]
mov rdx, rax
shr rdx, 0x39
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rdx, [rdi - 0x20]
movzx r8d, word [rbp + 0x378]
cmp r8w, 4
jbe 0x1401d867e
xor r9d, r9d
and rax, rcx
movdqu xmm1, xmmword [rdi + rax]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb r10d, xmm2
test r10d, r10d
jne 0x1401d864d
pcmpeqb xmm1, xmm9
pmovmskb r10d, xmm1
test r10d, r10d
mov rsi, qword [sym.imp.USER32.dll_MapVirtualKeyExW]
jne 0x1401d87b0
add rax, r9
add rax, 0x10
add r9, 0x10
jmp 0x1401d85fa
lea r11d, [r10 - 1]
and r11w, r10w
mov r10d, r11d
je 0x1401d8614
tzcnt r14d, r10d
add r14, rax
and r14, rcx
mov r11, r14
shl r11, 5
mov rsi, rdx
sub rsi, r11
movzx r11d, word [rsi]
cmp r8w, r11w
jne 0x1401d8640
cmp r11w, 4
jbe 0x1401d8640
neg r14
jmp case.0x1401d8738.0
movzx r9d, word [rbp + 0x37a]
mov r10d, dword [rbp + 0x37c]
xor r11d, r11d
and rax, rcx
movdqu xmm1, xmmword [rdi + rax]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb esi, xmm2
test esi, esi
jne 0x1401d86fa
pcmpeqb xmm1, xmm9
pmovmskb esi, xmm1
test esi, esi
mov rsi, qword [sym.imp.USER32.dll_MapVirtualKeyExW]
lea rbx, [rbp + 0x2c0]
lea r15, [rbp + 0x300]
add byte [rdi], cl
test edx, esp
add byte [rax], al
invalid
add rax, r11
add rax, 0x10
add r11, 0x10
jmp 0x1401d8690
cmp r10d, dword [rbx + 4]
je case.0x1401d8738.0
nop word cs:[rax + rax]
lea ebx, [rsi - 1]
and bx, si
mov esi, ebx
je 0x1401d86a8
tzcnt r14d, esi
add r14, rax
and r14, rcx
mov r15, r14
shl r15, 5
mov rbx, rdx
sub rbx, r15
movzx r15d, word [rbx]
cmp r15w, 4
ja case.default.0x1401d8738
cmp r8w, r15w
jne case.default.0x1401d8738
neg r14
movzx r15d, r8b
movzx edi, al
lea r12, [0x1404b3ef4]
movsxd r15, dword [r12 + r15*4]
add r15, r12
jmp r15
cmp r9w, word [rbx + 2]
jne case.default.0x1401d8738
shl r14, 5
cmp dword [rdi + r14 - 0x18], 0
mov rsi, qword [sym.imp.USER32.dll_MapVirtualKeyExW]
lea rbx, [rbp + 0x2c0]
lea r15, [rbp + 0x300]
jne 0x1401d87b0
mov rcx, r15
lea rdx, [rbp + 0x350]
call fcn.1401d3e40
cmp dword [rbp + 0x300], 0
jne 0x1401d87b0
add rdi, r14
mov r8, qword [rbp + 0x310]
cmp r8, qword [rdi - 8]
jne 0x1401d87a2
mov rdx, qword [rdi - 0x10]
mov rcx, qword [rbp + 0x308]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete al
jmp 0x1401d87a4
xor eax, eax
xor al, 1
mov byte [rbp + 0x218], al
nop dword [rax]
mov r8, qword [rbp + 0x378]
mov rax, qword [rbp + 0x360]
mov qword [rbp + 0x310], rax
movdqa xmm0, xmmword [rbp + 0x350]
movdqa xmmword [rbp + 0x300], xmm0
lea rcx, [rbp + 0x240]
lea rdx, [rbp + 0x290]
mov r9, r15
call fcn.1401dd920
jmp 0x1401d8015
movdqu xmm0, xmmword [rbp + 0x290]
movdqu xmm1, xmmword [rbp + 0x2a0]
movdqu xmm2, xmmword [rbp + 0x2b0]
movdqa xmmword [rbp + 0x320], xmm2
movdqa xmmword [rbp + 0x310], xmm1
movdqa xmmword [rbp + 0x300], xmm0
lea rcx, [rbp + 0x240]
lea rdx, [rbp + 0x1e0]
mov r8, qword [rbp + 0x388]
mov r9, r15
call fcn.1401dd6e0
mov rcx, qword [rbp + 0x240]
test rcx, rcx
je 0x1401d7e40
mov rdx, qword [rbp + 0x248]
test rdx, rdx
je 0x1401d7e40
mov rax, rdx
shl rax, 5
add rdx, rax
add rdx, 0x31
je 0x1401d7e40
sub rcx, rax
add rcx, 0xffffffffffffffe0
mov r8d, 0x10
call fcn.140115a00
jmp 0x1401d7e40
cmp byte [rbp + 0x218], 0
je 0x1401d89aa
xor r14d, r14d
lea rdi, [rbp + 0x300]
pcmpeqd xmm6, xmm6
lea rbx, [0x1404b3e10]
jmp 0x1401d88b3
inc r14b
cmp r14b, 0xf
ja 0x1401d89aa
mov byte [rbp + 0x300], r14b
cmp qword [rbp + 0x1f8], 0
je 0x1401d88b0
lea rcx, [rbp + 0x200]
mov rdx, rdi
call fcn.1401c9330
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x1e8]
mov r8, rax
shr r8, 0x39
movd xmm0, r8d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea r8, [rcx - 0x38]
xor r9d, r9d
and rax, rdx
movdqu xmm1, xmmword [rcx + rax]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb r10d, xmm2
nop word cs:[rax + rax]
test r10w, r10w
je 0x1401d8960
tzcnt r11d, r10d
lea esi, [r10 - 1]
and esi, r10d
add r11, rax
and r11, rdx
neg r11
imul r11, r11, 0x38
mov r10d, esi
cmp r14b, byte [r8 + r11]
jne 0x1401d8930
jmp 0x1401d8980
pcmpeqb xmm1, xmm6
pmovmskb r10d, xmm1
test r10d, r10d
jne 0x1401d88b0
add rax, r9
add rax, 0x10
add r9, 0x10
jmp 0x1401d890c
add rcx, r11
add rcx, 0xffffffffffffffd0
mov rdx, rbx
call fcn.1401de160
test rax, rax
mov r13, qword [rbp + 0x398]
je 0x1401d88b0
mov dword [rax], 4
jmp 0x1401d88b0
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x180]
mov r8d, 0xa0
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp + 0x390]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
mov rdx, qword [rbp + 0x280]
and rdx, rcx
movdqu xmm0, xmmword [rax + rdx]
pmovmskb r8d, xmm0
test r8d, r8d
jne 0x1401d8a09
mov r9d, 0x10
nop dword [rax]
add rdx, r9
and rdx, rcx
movdqu xmm0, xmmword [rax + rdx]
pmovmskb r8d, xmm0
add r9, 0x10
test r8d, r8d
je 0x1401d89f0
tzcnt r8d, r8d
add r8, rdx
and r8, rcx
movzx edx, byte [rax + r8]
test dl, dl
js 0x1401d8a2f
movdqa xmm0, xmmword [rax]
pmovmskb edx, xmm0
tzcnt r8d, edx
movzx edx, byte [rax + r8]
lea r9, [r8 - 0x10]
and r9, rcx
mov rcx, qword [rbp + 0x278]
mov byte [rax + r8], cl
mov byte [rax + r9 + 0x10], cl
and dl, 1
movzx ecx, dl
mov rsi, qword [rbp + 0x390]
sub qword [rsi + 0x10], rcx
neg r8
imul rcx, r8, 0xa8
mov rdx, qword [rbp + 0x288]
mov qword [rax + rcx - 0xa8], rdx
lea rdi, [rax + rcx]
add rdi, 0xffffffffffffff60
lea rdx, [rbp - 0x50]
mov r8d, 0xa0
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rdx, rdi
inc qword [rsi + 0x18]
jmp 0x1401d7599
lea rcx, [0x1404b3e98]
call fcn.140299e50
ud2
and rbx, r12
mov rax, qword [rbp - 0x50]
movdqu xmm8, xmmword [rax + rbx]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb r15d, xmm0
test r15d, r15d
jne 0x1401d921f
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x1401d9284
mov rax, qword [rbp - 0x58]
add rbx, rax
add rbx, 0x10
add rax, 0x10
mov qword [rbp - 0x58], rax
jmp 0x1401d91c0
lea eax, [r15 - 1]
and eax, r15d
mov r15d, eax
test ax, ax
je 0x1401d91e0
tzcnt edi, r15d
add rdi, rbx
and rdi, r12
mov rcx, rdi
shl rcx, 4
loope 0x1401d9235
mov rax, r13
sub rax, rcx
cmp qword [rax + 8], rsi
jne 0x1401d9210
mov r14, qword [rax]
mov rcx, qword [rbp - 0x40]
ror byte [rcx + rcx*4 - 0xe], 0x49
mov eax, esi
invalid
ror byte [rcx + rcx*4 - 0xe], 0x49
mov eax, esi
invalid
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401d9210
neg rdi
shl rdi, 4
shl edi, 4
mov rax, qword [rbp - 0x50]
mov al, 0x48
add eax, edi
add rax, rdi
cmp rax, 0x10
je 0x1401d9284
mov rax, qword [rbp - 0x38]
mov rdx, qword [rax]
adc byte [rax - 0x7b], cl
sal byte [rdi + rsi + 0x41], cl
je 0x1401d92aa
mov r8d, 1
test rdx, rdx
je 0x1401d92aa
mov r8d, 1
add dword [rax], eax
add byte [rax], al
mov rcx, qword [rbp - 0x40]
call fcn.140115a00
jmp 0x1401d92aa
mov byte [rbp - 0x29], 0
mov rcx, qword [rbp - 0x38]
mov ecx, dword [rbp - 0x38]
xlatb
add byte [rax - 0x75], cl
mov ecx, dword [rbp - 0x38]
call fcn.140279700
call fcn.140279700
outsd dx, dword [rsi]
add al, 0xa
add byte [rax - 0x75], cl
mov rcx, qword [rbp - 0x48]
mov r14, rax
mov rsi, rdx
mov esi, edx
invalid
invalid
mov rcx, qword [rbp - 0x48]
mov r14, rax
mov rsi, rdx
mov esi, edx
mov byte [rbp - 0x29], 0
mov rdx, rax
ret 0x8949
invalid
xlatb
add byte [rax - 0x77], cl
ret 0x8949
call fcn.1401de5e0
mov rax, r14
mov rdx, rsi
movaps xmm6, xmmword [rbp - 0x20]
sub byte [rbp - 0x20], dh
movaps xmm7, xmmword [rbp - 0x10]
sub byte [rbp - 0x10], bh
movaps xmm8, xmmword [rbp]
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
nop word cs:[rax + rax]
add byte [rax], al
add byte [rax - 0x77], cl
mov dword [rsp + 0x10], edx
mov qword [rsp + 0x10], rdx
push rbp
push r15
push r14
push rsi
push r13
push r12
push rsp
push rsp
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rdx + 0x80]
movdqa xmmword [rsp + 0x20], xmm8
movq qword [rsp + 0x20], mm0
movq qword [rsp + 0x20], mm0
movdqa xmmword [rsp + 0x30], xmm7
jg 0x1401d9383
and al, 0x30
movdqa xmmword [rsp + 0x40], xmm6
and al, 0x40
cmp byte [rbp - 0x29], 0
je 0x1401d9330
mov rax, qword [rbp - 0x38]
mov rdx, qword [rax]
test rdx, rdx
test edx, edx
test edx, edx
je 0x1401d9330
mov r8d, 1
add byte [rax], al
mov rcx, qword [rbp - 0x40]
call fcn.140115a00
invalid
invalid
invalid
invalid
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x20]
and al, 0x20
and al, 0x20
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
int3
int3
add byte [rax], al
add byte [rsi + 0x44], ah
movq qword [rsp + 0x70], mm0
and al, 0x70
movdqa xmmword [rsp + 0x60], xmm7
movdqa xmmword [rsp + 0x50], xmm6
je 0x1401d93a9
push rax
mov rsi, r8
mov rbx, rdx
invalid
mov ebx, edx
mov qword [rsp + 0x20], rcx
cmp qword [rcx + 0x18], 0
sbb byte [rax], al
and byte [rax - 0x7d], cl
jns 0x1401d93ad
invalid
add byte [rdi], cl
test ah, ch
in al, dx
je case.0x1401d7986.222
in al, dx
add byte [rax], al
add byte [rax - 0x75], cl
invalid
invalid
jl case.0x1401d7986.221
mov rdi, qword [rsp + 0x20]
lea rcx, [rdi + 0x20]
and byte [rax - 0x77], cl
invalid
and byte [rax - 0x73], cl
and byte [r8 - 0x77], r9b
and byte [rax - 0x77], cl
fimul dword [rcx - 0x77]
invalid
mov r8, rsi
mov eax, esi
call fcn.140073ad0
cmpsd dword [rsi], dword [rdi]
jmp 0x106a6ddb2
mov r14, rax
mov r14, rax
mov rcx, qword [rdi]
mov ecx, dword [rdi]
mov r13, qword [rdi + 8]
shr rax, 0x39
call 0x1ae2cf9fa
invalid
outsd dx, dword [rsi]
or byte [rax - 0x3f], cl
call 0x1ae2cf9fa
movd mm0, eax
outsb dx, byte [rsi]
shl byte [rsi + 0xf], 0x60
sal dl, 0xf
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
jo 0x1401d938a
add byte [rsi + 0xf], ah
jo 0x1401d93bf
invalid
invalid
jo 0x1401d938a
add byte [rsi + 0xf], ah
jo 0x1401d93bf
add byte [rax - 0x77], cl
and al, 0x28
invalid
mov qword [rsp + 0x28], rcx
lea rbp, [rcx - 0x10]
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x30], eax
invalid
pcmpeqd xmm7, xmm7
and r14, r13
mov rax, qword [rsp + 0x28]
mov eax, dword [rsp + 0x28]
mov eax, dword [rsp + 0x28]
movdqu xmm8, xmmword [rax + r14]
add al, 0x30
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb r12d, xmm0
pmovmskb r12d, mm0
test r12d, r12d
jne case.0x1401d7986.239
invalid
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
invalid
jne case.0x1401d7986.222
mov rax, qword [rsp + 0x30]
mov eax, dword [rsp + 0x30]
add r14, rax
add r14, 0x10
add esi, 0x10
add esi, 0x10
add rax, 0x10
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x30], eax
jmp case.0x1401d7986.202
invalid
lea eax, [r12 - 1]
and eax, r12d
inc dword [rcx + riz - 0x20]
mov r12d, eax
test ax, ax
test eax, eax
test eax, eax
je 0x1401d9405
tzcnt edi, r12d
cld
add rdi, r14
and rdi, r13
mov rcx, rdi
mov ecx, edi
mov ecx, edi
shl rcx, 4
mov rax, rbp
sub rax, rcx
call 0x188e5bda1
cmp dword [rax + 8], esi
cmp qword [rax + 8], rsi
jne case.0x1401d7986.309
mov r15, qword [rax]
mov rcx, rbx
mov rdx, r15
mov r8, rsi
mov eax, esi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
invalid
jne case.0x1401d7986.309
out 0xa, al
add byte [rbp + 0x48bd75c0], al
sal byte [rbp - 0x43], 0x48
neg rdi
neg edi
shl rdi, 4
mov rax, qword [rsp + 0x28]
and al, 0x28
add rax, rdi
cmp rax, 0x10
jne case.0x1401d8738.446
clc
adc byte [rbp + 0x6c], dh
test rsi, rsi
je 0x1401d94b1
invalid
and al, 0xf
mov byte [rbx + 0xf000000], cl
add byte [rax], al
add byte [rdi], cl
js 0x1401d951e
movzx eax, byte [0x1405b1481]
mov edx, 1
add byte [rax], al
invalid
mov dh, 5
out 0x7f, eax
cmp eax, 0x1ba00
add byte [rax], al
add byte [rax], al
add byte [rax - 0x77], cl
mov ecx, esi
mov rcx, rsi
call fcn.1401159f0
test rax, rax
test eax, eax
invalid
je case.0x1401d7986.307
mov r14, rax
jmp 0x1401d94b7
invalid
mov r14d, 1
add byte [rax], al
add byte [rcx + rcx*4 - 0xf], cl
mov ecx, esi
mov rcx, r14
mov rdx, rbx
mov r8, rsi
fimul dword [rcx - 0x77]
invalid
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x38], rsi
and al, 0x38
add byte [rax - 0x77], cl
je 0x1401d94ed
invalid
cmp byte [rcx + rcx*4 + 0x74], cl
and al, 0x40
mov qword [rsp + 0x40], r14
je 0x1401d94f2
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x38]
call fcn.140279700
or al, byte [rax]
or al, byte [rax]
mov r15, rax
mov rsi, rdx
mov rcx, qword [rsp + 0x20]
mov rdx, rax
mov r8, rsi
mov eax, esi
call fcn.1401de5e0
add byte [rax], al
mov rax, r15
mov rdx, rsi
mov edx, esi
movaps xmm6, xmmword [rsp + 0x50]
je 0x1401d9522
push rax
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x70]
add rsp, 0x88
add byte [rax], al
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140279200
invalid
add byte [rcx + 1], bh
mov ecx, 1
add byte [rax - 0x77], cl
bnd call fcn.140299c70
call fcn.140299c70
mov rdx, rsi
call fcn.140299c70
add ah, cl
int3
int3
int3
int3
inc dword [rbx]
add byte [rax], al
lodsb al, byte [rsi]
sub eax, 0x4634800
invalid
add al, 0x82
add eax, edx