Function at 0x140003530
Capabilities:
Get keyboard layout
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x14013b4f8]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rcx, qword [0x14013c0a0]
mov rsi, rdx
mov edx, 0x4b
mov qword [rsp + 0x58], r9
mov rdi, r8
mov qword [rsp + 0x68], r8
mov rbx, r9
call fcn.1400a8480
mov rcx, qword [0x14013c0a0]
mov edx, 0x4e
mov r15d, eax
mov dword [rsp + 0x50], eax
call fcn.1400a8210
mov rcx, qword [0x14013c0a0]
mov edx, 0x67
movzx r12d, al
mov byte [rsp + 0x44], al
call fcn.1400a8210
mov rcx, qword [0x14013c0a0]
mov edx, 0x59
movzx r14d, al
call fcn.1400a8210
xor ecx, ecx
mov byte [rsp + 0x48], al
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x70], rax
call qword [sym.imp.USER32.dll_GetKeyboardState]
mov edx, 0xc000
test eax, eax
jne 0x140003601
xor edx, edx
lea rcx, [rbp - 0x80]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
jmp 0x140003670
cmp rsi, 0x12
jne 0x140003621
movzx ecx, byte [rbp + 0x25]
mov rax, rdi
shr rax, 0x10
bt ax, 8
movzx eax, byte [rbp - 0x6e]
cmovb ecx, eax
mov byte [rbp + 0x25], cl
cmp r15d, 3
je 0x140003642
cmp r15d, 1
jg 0x140003666
mov rax, qword [0x14013c0a8]
cmp byte [rax + 0x189], 0
je 0x140003666
test r12b, r12b
jne 0x140003666
cmp rsi, 0x90
jne 0x140003666
test byte [rbp - 0x70], 0x80
jne 0x140003666
mov rax, rdi
mov esi, 0x2b
shr rax, 0x10
test dx, ax
jne 0x140003666
xor byte [rbp + 0x10], 1
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_SetKeyboardState]
mov r10, qword [0x14013c0a8]
mov r13, rdi
shr r13, 0x10
mov ecx, 0x4000
cmp byte [r10 + 0x18b], 0
je 0x1400036a2
movzx eax, r13w
mov edx, 0xc000
and ax, dx
cmp ax, cx
je 0x14000391b
bt r13w, 0xd
movzx eax, byte [rbp - 0x6f]
movzx ecx, r13w
mov dword [rsp + 0x4c], ecx
jae 0x1400036e4
test byte [rbp + 0x25], 0x80
jne 0x1400036e4
shr r13w, 0xf
mov r15b, 1
not r13b
mov byte [rsp + 0x40], r15b
and r13b, r15b
test al, al
jns 0x1400036f8
test r14b, r14b
je 0x1400036de
mov byte [rbp - 0x6e], 0
jmp 0x1400036f3
mov byte [rbp + 0x25], 0x80
jmp 0x1400036f0
shr r13w, 0xf
not r13b
and r13b, 1
xor r15b, r15b
mov byte [rsp + 0x40], r15b
mov edx, dword [0x14013c884]
and ecx, 0x81ff
mov dword [rsp + 0x60], ecx
xor r12d, r12d
mov ecx, eax
mov edi, 1
movzx eax, byte [rbp - 0x70]
shr eax, 7
shr ecx, 7
lea r14d, [rax + rcx*2]
test edx, edx
jne 0x14000379f
mov rcx, qword [0x14013c0a0]
lea edx, [rdi + 0x65]
mov qword [0x14013c918], 0x100
call fcn.1400a8210
test al, al
je 0x14000376e
cmp rsi, 0x12
jne 0x14000376e
mov eax, dword [rsp + 0x4c]
mov r8d, 0x100
test r8w, ax
je 0x140003790
mov r10, qword [0x14013c0a8]
mov edx, dword [0x14013c884]
mov qword [0x14013c918], rsi
jmp 0x1400037b2
mov r8d, 0x100
cmp rsi, 0x5d
jne 0x140003790
mov r10, qword [0x14013c0a8]
mov edx, dword [0x14013c884]
mov qword [0x14013c918], rsi
jmp 0x1400037ae
mov r10, qword [0x14013c0a8]
mov edx, dword [0x14013c884]
jmp 0x1400037a5
mov r8d, 0x100
cmp rsi, qword [0x14013c918]
jne 0x1400037e3
mov eax, dword [rsp + 0x4c]
test edx, edx
jne 0x1400037ca
mov ecx, 0xc000
test cx, ax
jne 0x1400037ed
mov edx, edi
mov dword [0x14013c884], edx
jmp 0x1400037fa
cmp edx, edi
jne 0x1400037ed
test ax, ax
jns 0x1400037ed
mov edx, 2
mov dword [0x14013c884], edx
jmp 0x140003867
cmp edx, edi
jne 0x140003861
cmp rsi, 0x11
je 0x1400037f6
mov edx, r12d
mov dword [0x14013c884], edx
mov eax, dword [rsp + 0x4c]
test r15b, r15b
jne 0x14000382c
mov ecx, dword [rsp + 0x50]
cmp byte [r10 + 0x189], r12b
je 0x140003818
cmp byte [rsp + 0x44], r12b
jne 0x140003818
cmp ecx, 2
jne 0x14000382c
cmp ecx, 3
je 0x14000382c
cmp byte [rsp + 0x48], r12b
jne 0x14000382c
test edx, edx
je case.0x14000385f.13
test r8w, ax
jne case.0x14000385f.13
lea rax, [rsi - 0xc]
cmp rax, 0x22
ja case.0x14000385f.13
lea r8, [0x140000000]
movzx eax, byte [r8 + rax + 0x43ac]
mov ecx, dword [r8 + rax*4 + 0x437c]
add rcx, r8
jmp rcx
jle 0x1400037f6
mov eax, dword [rsp + 0x4c]
test r15b, r15b
je 0x1400037ff
mov edx, r12d
mov dword [0x14013c884], edx
jmp 0x14000382c
mov esi, 0x60
jmp 0x1400038c2
mov esi, 0x61
jmp 0x1400038c2
mov esi, 0x62
jmp 0x1400038c2
mov esi, 0x63
jmp 0x1400038c2
mov esi, 0x64
jmp 0x1400038c2
mov esi, 0x65
jmp 0x1400038c2
mov esi, 0x66
jmp 0x1400038c2
mov esi, 0x67
jmp 0x1400038c2
mov esi, 0x68
jmp 0x1400038c2
mov esi, 0x69
jmp 0x1400038c2
mov esi, 0x6e
test byte [rbp + 0x10], dil
je case.0x14000385f.13
or r14d, edi
test r13b, r13b
je case.0x140003d70.14
test byte [rbp + 0x25], 0x80
jne case.0x140003d70.14
test edx, edx
jne case.0x140003d70.14
mov rax, qword [rsp + 0x58]
test r15b, r15b
je 0x1400038f7
mov byte [rax], 0x1b
lea rbx, [rax + 1]
cmp rsi, 0x21
jne 0x140003971
cmp r14d, edi
jne 0x140003922
mov rcx, qword [0x1400ef010]
lea r8d, [rsi - 0x1f]
xor r9d, r9d
mov edx, 0x115
call qword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
jmp 0x140004351
cmp r14d, 3
jne 0x140003948
mov rcx, qword [0x1400ef010]
lea r8d, [r14 + 3]
xor r9d, r9d
mov edx, 0x115
call qword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
jmp 0x140004351
cmp r14d, 2
jne 0x140003aa6
mov rcx, qword [0x1400ef010]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x115
call qword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
jmp 0x140004351
cmp rsi, 0x22
jne 0x1400039eb
cmp r14d, 3
jne 0x14000399d
mov rcx, qword [0x1400ef010]
lea r8d, [rsi - 0x1b]
xor r9d, r9d
mov edx, 0x115
call qword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
jmp 0x140004351
cmp r14d, edi
jne 0x1400039c2
mov rcx, qword [0x1400ef010]
xor r9d, r9d
mov edx, 0x115
lea r8d, [r9 + 3]
call qword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
jmp 0x140004351
cmp r14d, 2
jne 0x140003aa6
mov rcx, qword [0x1400ef010]
xor r9d, r9d
mov r8, rdi
mov edx, 0x115
call qword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
jmp 0x140004351
cmp rsi, 0x2d
jne 0x140003a3c
cmp r14d, 2
jne 0x1400039fc
lea edx, [rsi + 0x74]
jmp 0x140003a4b
cmp r14d, edi
jne 0x140003aa6
mov edx, 0xa1
mov rcx, qword [0x14013c0a0]
call fcn.1400a8480
mov ecx, eax
sub ecx, edi
je 0x140003a91
cmp ecx, edi
jne 0x14000391b
mov rcx, qword [0x14013c0a8]
mov edx, 2
call fcn.14001c3f0
xor eax, eax
jmp 0x140004351
cmp rsi, 0x43
jne 0x140003a7d
cmp r14d, 3
jne 0x140003aa6
lea edx, [rsi + 0x5f]
mov rcx, qword [0x14013c0a0]
call fcn.1400a8480
cmp eax, 2
jne 0x14000391b
mov rcx, qword [0x14013c0a8]
lea rdx, [0x1400b2e30]
mov r8d, edi
call fcn.14001c350
xor eax, eax
jmp 0x140004351
cmp rsi, 0x56
jne 0x140003aa6
cmp r14d, 3
jne 0x140003aa6
lea edx, [rsi + 0x4c]
jmp 0x140003a0a
mov rcx, qword [0x14013c0a8]
mov edx, edi
call fcn.14001c3f0
xor eax, eax
jmp 0x140004351
test r15b, r15b
je 0x140003bae
cmp rsi, 0x73
jne 0x140003b0c
mov rcx, qword [0x14013c0a0]
lea edx, [rsi - 0x17]
call fcn.1400a8210
test al, al
jne 0x14000434c
mov r10, qword [0x14013c0a8]
cmp r14d, 2
jne 0x140003d27
lea rax, [rsi - 0x32]
cmp rax, 6
ja 0x140003ce0
mov r9, qword [rsp + 0x58]
lea rax, [0x140000000]
movzx eax, byte [rsi + rax + 0xb3626]
mov byte [rbx], al
sub ebx, r9d
lea eax, [rbx + 1]
jmp 0x140004351
cmp rsi, 0x20
jne 0x140003b51
mov rcx, qword [0x14013c0a0]
lea edx, [rsi + 0x3d]
call fcn.1400a8210
test al, al
je 0x140003b45
mov rcx, qword [0x1400ef010]
xor r9d, r9d
mov edx, 0x112
mov r8d, 0xf100
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x14000434c
mov r10, qword [0x14013c0a8]
jmp 0x140003c78
cmp rsi, 0xd
jne 0x140003bae
mov rcx, qword [0x14013c0a0]
lea edx, [rsi + 0x55]
call fcn.1400a8210
test al, al
je 0x140003acc
mov rcx, qword [0x14013c0a0]
lea edx, [rsi + 0x6d]
call fcn.1400a8480
cmp eax, edi
je 0x140003acc
mov rax, qword [rsp + 0x68]
mov ecx, 0xc000
shr rax, 0x10
and ax, cx
mov ecx, 0x4000
cmp ax, cx
je 0x14000434c
call fcn.140008ff0
jmp 0x14000434c
cmp rsi, 0x13
jne 0x140003be2
cmp r14d, 2
jne 0x140003bd3
cmp byte [r10 + 0x189], 0
sete al
mov byte [r10 + 0x189], al
xor eax, eax
jmp 0x140004351
mov word [rbx], 0x1a
mov eax, 0xfffffffe
jmp 0x140004351
cmp rsi, 8
jne 0x140003c4d
test r14d, r14d
jne 0x140003c16
mov rcx, qword [0x14013c0a0]
lea edx, [rsi + 0x41]
call fcn.1400a8210
test al, al
mov ecx, esi
mov edx, 0x7f
lea eax, [rsi - 0xa]
cmovne ecx, edx
mov byte [rbx], cl
mov byte [rbx + 1], r14b
jmp 0x140004351
cmp r14d, edi
jne 0x140003ad3
mov rcx, qword [0x14013c0a0]
mov edx, 0x49
call fcn.1400a8210
test al, al
mov ecx, 8
mov edx, 0x7f
cmovne edx, ecx
mov byte [rbx], dl
mov byte [rbx + 1], 0
lea eax, [rcx - 0xa]
jmp 0x140004351
cmp rsi, 9
jne 0x140003c72
cmp r14d, edi
jne 0x140003ad3
mov word [rbx], 0x5b1b
add rbx, 2
mov byte [rbx], 0x5a
sub ebx, eax
lea eax, [rbx + 1]
jmp 0x140004351
cmp rsi, 0x20
jne 0x140003cae
cmp r14d, 2
jne 0x140003c91
mov r9, qword [rsp + 0x58]
mov byte [rbx], 0
sub ebx, r9d
lea eax, [rbx + 1]
jmp 0x140004351
cmp r14d, 3
jne 0x140003d49
mov r9, qword [rsp + 0x58]
mov byte [rbx], 0xa0
sub ebx, r9d
lea eax, [rbx + 1]
jmp 0x140004351
cmp rsi, 3
jne 0x140003ad3
cmp r14d, 2
jne 0x140003d27
mov rcx, qword [0x14013b568]
test rcx, rcx
je 0x14000391b
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x30]
xor eax, eax
jmp 0x140004351
lea rax, [rsi - 0xbd]
test rax, 0xfffffffffffffffd
je 0x140003d14
cmp rsi, 0xdf
je 0x140003d01
cmp rsi, 0xdc
jne 0x140003d49
mov r9, qword [rsp + 0x58]
mov byte [rbx], 0x1c
sub ebx, r9d
lea eax, [rbx + 1]
jmp 0x140004351
mov r9, qword [rsp + 0x58]
mov byte [rbx], 0x1f
sub ebx, r9d
lea eax, [rbx + 1]
jmp 0x140004351
cmp r14d, 3
jne 0x140003d49
cmp rsi, 0xde
jne 0x140003d49
mov r9, qword [rsp + 0x58]
mov byte [rbx], 0x1e
sub ebx, r9d
lea eax, [rbx + 1]
jmp 0x140004351
lea rax, [rsi - 0xc]
cmp rax, 0x77
ja case.0x140003d70.14
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x4494]
mov ecx, dword [rdx + rax*4 + 0x43d0]
add rcx, rdx
jmp rcx
mov r15b, 0x30
jmp 0x140003f9d
mov r15b, 0x31
jmp 0x140003f9d
mov r15b, 0x32
jmp 0x140003f9d
mov r15b, 0x33
jmp 0x140003f9d
mov r15b, 0x34
jmp 0x140003f9d
mov r15b, 0x35
jmp 0x140003f9d
mov r15b, 0x36
jmp 0x140003f9d
mov r15b, 0x37
jmp 0x140003f9d
mov r15b, 0x38
jmp 0x140003f9d
mov r15b, 0x39
jmp 0x140003f9d
mov r15b, 0x2e
jmp 0x140003f9d
mov r15b, 0x2b
jmp 0x140003f9d
mov r15b, 0x2d
jmp 0x140003f9d
mov r15b, 0x2a
jmp 0x140003f9d
mov r15b, 0x2f
jmp 0x140003f9d
mov r15b, 0x47
jmp 0x140003f9d
mov edi, 2
jmp case.0x140003d70.112
mov edi, 3
jmp case.0x140003d70.112
mov edi, 4
jmp case.0x140003d70.112
mov edi, 5
jmp case.0x140003d70.112
mov edi, 6
jmp case.0x140003d70.112
mov edi, 7
jmp case.0x140003d70.112
mov edi, 8
jmp case.0x140003d70.112
mov edi, 9
jmp case.0x140003d70.112
mov edi, 0xa
jmp case.0x140003d70.112
mov edi, 0xb
jmp case.0x140003d70.112
mov edi, 0xc
jmp case.0x140003d70.112
mov edi, 0xd
jmp case.0x140003d70.112
mov edi, 0xe
jmp case.0x140003d70.112
mov edi, 0xf
jmp case.0x140003d70.112
mov edi, 0x10
jmp case.0x140003d70.112
mov edi, 0x11
jmp case.0x140003d70.112
mov edi, 0x12
jmp case.0x140003d70.112
mov edi, 0x13
jmp case.0x140003d70.112
mov edi, 0x14
mov eax, r14d
mov byte [rsp + 0x44], 0
lea rcx, [rsp + 0x44]
shr eax, 1
mov qword [rsp + 0x30], rcx
and r14b, 1
mov byte [rsp + 0x28], r15b
movzx r9d, r14b
mov rcx, rbx
mov byte [rsp + 0x20], al
mov r8d, edi
mov rdx, r10
call fcn.140010fe0
mov r9, qword [rsp + 0x58]
sub ebx, r9d
add eax, ebx
jmp 0x140004351
mov r8d, r12d
jmp 0x140003edf
mov r8d, edi
jmp 0x140003edf
mov r8d, 2
jmp 0x140003edf
mov r8d, 3
jmp 0x140003edf
mov r8d, 4
jmp 0x140003edf
mov r8d, 5
test r14b, 2
jne case.0x140003d70.14
mov eax, r14d
lea rcx, [rsp + 0x44]
mov qword [rsp + 0x30], rcx
and r14b, dil
shr eax, 1
movzx r9d, r14b
mov byte [rsp + 0x28], r15b
mov rcx, rbx
mov rdx, r10
mov byte [rsp + 0x20], al
call fcn.140011520
mov r9, qword [rsp + 0x58]
sub ebx, r9d
add eax, ebx
jmp 0x140004351
mov r8d, 0x41
jmp 0x140003f48
mov r8d, 0x42
jmp 0x140003f48
mov r8d, 0x43
jmp 0x140003f48
mov r8d, 0x44
jmp 0x140003f48
mov r8d, 0x47
mov eax, r14d
mov byte [rsp + 0x44], 0
lea rcx, [rsp + 0x44]
shr eax, 1
mov qword [rsp + 0x30], rcx
and r14b, dil
mov byte [rsp + 0x28], r15b
movzx r9d, r14b
mov rcx, rbx
mov byte [rsp + 0x20], al
mov rdx, r10
call fcn.140010ef0
mov r9, qword [rsp + 0x58]
sub ebx, r9d
add eax, ebx
jmp 0x140004351
mov rax, qword [rsp + 0x68]
shr rax, 0x10
bt ax, 8
jae 0x1400040a2
mov r15b, 0xd
cmp byte [rsp + 0x40], 0
je 0x14000406a
lea eax, [r15 - 0x30]
cmp al, 9
ja 0x140003fc5
mov eax, dword [0x14013c908]
lea edx, [rax + rax*4]
movsx eax, r15b
lea edx, [rdx - 0x18]
lea edx, [rax + rdx*2]
jmp 0x140003fc8
mov edx, r12d
mov dword [0x14013c908], edx
movzx r15d, byte [rsp + 0x40]
cmp byte [rbp - 0x6c], 0
mov byte [rsp + 0x40], 0
je 0x140004000
mov rcx, qword [0x14013c0a0]
mov edx, 0xaa
call fcn.1400a8210
test al, al
je 0x140004000
test r15b, r15b
mov byte [rbp - 0x6c], 0
sete byte [rsp + 0x40]
cmp dword [0x14013ed90], 2
jne 0x1400040d8
mov rax, qword [0x14013c900]
test rax, rax
je 0x1400040d8
mov rcx, qword [rsp + 0x70]
lea r14, [0x14013c90c]
mov edx, dword [rsp + 0x60]
lea r8, [rbp - 0x80]
mov qword [rsp + 0x30], rcx
mov r9, r14
mov dword [rsp + 0x28], r12d
mov ecx, esi
mov dword [rsp + 0x20], 3
call rax
mov ebx, eax
test eax, eax
jg 0x140004152
test r15b, r15b
jne 0x1400042f0
mov word [0x14013c90c], r12w
jmp 0x14000432f
mov eax, r14d
movzx r9d, r14b
shr eax, 1
and r9b, dil
movzx r8d, r15b
mov byte [rsp + 0x20], al
mov rdx, r10
mov rcx, rbx
call fcn.140011270
test eax, eax
jne 0x140003ea8
cmp r15b, 0xd
jne 0x140003fce
mov r10, qword [0x14013c0a8]
test r14d, r14d
jne 0x1400040c9
cmp byte [r10 + 0x18d], r14b
je 0x1400040c9
mov r9, qword [rsp + 0x58]
mov byte [rbx], 0xd
inc rbx
mov byte [rbx], 0xa
sub ebx, r9d
lea eax, [rbx + 1]
jmp 0x140004351
mov word [rbx], 0xd
mov eax, 0xfffffffe
jmp 0x140004351
mov rcx, qword [rsp + 0x70]
lea r14, [0x14013c920]
mov edx, dword [rsp + 0x60]
lea r8, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov r9, r14
mov ecx, esi
mov dword [rsp + 0x20], r12d
call qword [sym.imp.USER32.dll_ToAsciiEx]
movsxd rbx, eax
test eax, eax
jle 0x140004054
lea r8, [0x14013c928]
mov rcx, r12
nop word [rax + rax]
movzx eax, byte [r14 + rcx*2]
mov byte [rcx + r8], al
inc rcx
cmp rcx, rbx
jl 0x140004120
lea r14, [0x14013c90c]
mov dword [rsp + 0x28], 3
mov r9d, ebx
mov qword [rsp + 0x20], r14
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, ebx
test ebx, ebx
je 0x1400042d5
mov rbx, r12
mov edx, 0x80
cmp dword [0x14013c884], 2
mov eax, 0x1b
movzx ecx, word [r14 + rbx*2]
mov word [rsp + 0x4c], cx
jne 0x14000419a
lea eax, [rcx - 0x20]
cmp ax, 0x5f
ja 0x1400041e7
mov dword [0x14013c914], ecx
mov dword [0x14013c884], 3
jmp 0x1400042c9
cmp dword [0x14013c884], 3
jne 0x1400041ec
lea eax, [rcx - 0x20]
cmp ax, 0x5f
ja 0x1400041e7
mov edx, ecx
mov dword [0x14013c884], r12d
mov ecx, dword [0x14013c914]
call fcn.1400a4e50
cmp eax, 0xffffffff
je 0x1400042e1
mov rcx, qword [0x14013c0a8]
lea rdx, [rsp + 0x44]
mov r8d, edi
mov word [rsp + 0x44], ax
call fcn.140016e20
jmp 0x1400042c4
mov eax, 0x1b
mov dword [0x14013c884], r12d
test r13b, r13b
jne 0x140004261
mov edx, dword [0x14013c908]
mov rcx, qword [0x14013c0a8]
test edx, edx
je 0x140004257
call fcn.140009910
test al, al
jne 0x14000423c
cmp byte [0x14013b570], al
jne 0x14000423c
mov byte [rsp + 0x48], dl
lea r8, [rsp + 0x48]
mov edx, 0xffffffff
mov r9d, edi
call fcn.140016cc0
mov dword [0x14013c908], r12d
jmp 0x1400042bd
mov word [rsp + 0x44], dx
mov r8d, edi
lea rdx, [rsp + 0x44]
call fcn.140016e20
mov dword [0x14013c908], r12d
jmp 0x1400042bd
mov r8d, edi
lea rdx, [rsp + 0x4c]
jmp 0x1400042b8
cmp byte [rsp + 0x40], 0
je 0x140004283
cmp cx, dx
jae 0x140004283
mov word [rsp + 0x60], ax
call fcn.1400a62c0
mov word [rsp + 0x62], ax
lea rdx, [rsp + 0x60]
jmp 0x140004292
mov word [rsp + 0x50], ax
lea rdx, [rsp + 0x50]
mov word [rsp + 0x52], cx
test r15b, r15b
mov r8d, r12d
mov ecx, 2
mov rax, r12
setne r8b
inc r8d
test r15b, r15b
cmove rax, rcx
mov rcx, qword [0x14013c0a8]
add rdx, rax
call fcn.140016e20
xor ecx, ecx
call fcn.14000ad80
mov edx, 0x80
inc rbx
cmp rbx, rsi
jl 0x140004164
mov word [0x14013c90c], r12w
xor eax, eax
jmp 0x140004351
mov ecx, 0x10
call qword [sym.imp.USER32.dll_MessageBeep]
xor eax, eax
jmp 0x140004351
cmp word [0x14013c90c], 0
je 0x14000432f
mov rax, qword [0x14013c0a8]
cmp byte [rax + 0x109], 0
jne 0x140004323
mov rax, qword [rax + 0x10d8]
cmp dword [rax + 8], 0xfde9
je 0x140004323
cmp byte [0x14013b570], 0
je 0x14000432f
mov eax, 0xa
mov word [0x14013c90c], ax
cmp rsi, 0x12
jne 0x14000434c
mov rcx, qword [0x14013c0a0]
lea edx, [rsi + 0x4c]
call fcn.1400a8210
test al, al
je 0x14000391b
mov eax, 0xffffffff
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1400b0530
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret