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

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x420
mov qword [rsp + 0xf0], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], rsi
mov rax, qword [0x1401620c0]
xor rax, rsp
mov qword [rsp + 0x410], rax
mov r14d, r9d
mov dword [rsp + 0x64], r9d
mov dword [rsp + 0xa8], r8d
mov rsi, rdx
mov qword [rsp + 0xe0], rdx
mov r13, rcx
mov rax, qword [rsp + 0x488]
mov dword [rsp + 0x40], 1
test rdx, rdx
je 0x1400aa9e4
test r8d, r8d
je 0x1400aa9e4
xor r12d, r12d
mov dword [r11 - 0x384], r12d
movzx ebx, byte [rdx]
movzx edi, word [rdx + 2]
shl edi, 0x10
or edi, 1
mov dword [rsp + 0xa0], edi
movzx ecx, byte [rdx + 1]
mov dword [rsp + 0x44], ecx
mov r15d, dword [rsp + 0x480]
mov rdx, r15
shl rdx, 4
add rdx, rax
mov qword [rsp + 0x80], rdx
mov dword [rdx], r12d
mov dword [rdx + 4], ebx
mov rax, qword [r13]
mov rcx, qword [rax - 0x10]
mov qword [rdx + 8], rcx
mov rax, qword [0x140160e18]
mov qword [r11 - 0x3b0], rax
test r9d, r9d
je 0x1400a9ae3
lea rdx, str.par
lea rcx, [r11 - 0x3b0]
call fcn.14002d430
jmp 0x1400a9af7
lea rdx, [0x1400e7464]
lea rcx, [rsp + 0x98]
call fcn.14002d430
mov byte [rsp + 0x100], 0
mov r8d, 0x104
lea rdx, [rsp + 0x100]
mov ecx, edi
call qword [sym.imp.USER32.dll_GetKeyNameTextA]
mov edi, eax
mov dword [rsp + 0x60], eax
test eax, eax
jne 0x1400a9b58
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp ebx, 0xa1
jne 0x1400a9b58
mov edi, 0xb
mov dword [rsp + 0x60], edi
mov dword [rsp + 0xc4], edi
lea rcx, [rsp + 0x100]
mov rax, qword [str.Right_Shift]
mov qword [rcx], rax
mov eax, dword [0x140117e98]
mov dword [rcx + 8], eax
mov byte [rsp + 0x203], 0
cmp ebx, 0x10
je 0x1400a9c4f
cmp ebx, 0xa0
je 0x1400a9c4f
cmp ebx, 0xa1
je 0x1400a9c4f
cmp ebx, 0x11
je 0x1400a9c33
cmp ebx, 0xa2
je 0x1400a9c33
cmp ebx, 0xa3
je 0x1400a9c33
cmp ebx, 0x12
je 0x1400a9c17
cmp ebx, 0xa4
je 0x1400a9c17
cmp ebx, 0xa5
je 0x1400a9c17
cmp ebx, 0x5b
jne 0x1400a9bd9
lea r8d, [rbx - 0x1b]
lea rdx, [rsp + 0x100]
lea rcx, [0x140169210]
call fcn.1400b85c0
jmp 0x1400a9c69
cmp ebx, 0x5c
jne 0x1400a9bf8
lea r8d, [rbx - 0x1c]
lea rdx, [rsp + 0x100]
lea rcx, [0x1401691d0]
call fcn.1400b85c0
jmp 0x1400a9c69
cmp ebx, 0x5d
jne 0x1400a9c69
lea r8d, [rbx - 0x1d]
lea rdx, [rsp + 0x100]
lea rcx, [0x140169190]
call fcn.1400b85c0
jmp 0x1400a9c69
mov r8d, 0x40
lea rdx, [rsp + 0x100]
lea rcx, [0x140169150]
call fcn.1400b85c0
jmp 0x1400a9c69
mov r8d, 0x40
lea rdx, [rsp + 0x100]
lea rcx, [0x140169110]
call fcn.1400b85c0
jmp 0x1400a9c69
mov r8d, 0x40
lea rdx, [rsp + 0x100]
lea rcx, [0x1401690d0]
call fcn.1400b85c0
test edi, edi
je 0x1400aa9c5
mov rax, qword [0x140160e18]
mov qword [rsp + 0x58], rax
mov rax, qword [0x140160e18]
mov qword [rsp + 0x78], rax
mov rax, qword [0x140160e18]
mov qword [rsp + 0x88], rax
mov rax, qword [0x140160e18]
mov qword [rsp + 0x70], rax
mov rax, qword [0x140160e18]
mov qword [rsp + 0x90], rax
mov rax, qword [0x140160e18]
mov qword [rsp + 0xd0], rax
mov rax, qword [0x140160e18]
mov qword [rsp + 0x50], rax
mov rax, qword [0x140160e18]
mov qword [rsp + 0xb0], rax
mov rax, qword [0x140160e18]
mov qword [rsp + 0xb8], rax
test r14d, r14d
je 0x1400a9d2c
lea rdx, str.cf2_b0
lea rcx, [rsp + 0x88]
call fcn.14002d430
lea rdx, str.cf0_b
lea rcx, [rsp + 0x70]
call fcn.14002d430
lea rdx, str._bullet
lea rcx, [rsp + 0xb8]
call fcn.14002d430
jmp 0x1400a9d65
lea rdx, [0x1400e4ec8]
lea rcx, [rsp + 0x88]
call fcn.14002d430
lea rdx, [0x1400e4ec8]
lea rcx, [rsp + 0x70]
call fcn.14002d430
lea rdx, [0x140117e68]
lea rcx, [rsp + 0xb8]
call fcn.14002d430
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xd0]
call fcn.14002d430
mov r14d, 1
mov dword [rsp + 0xac], r14d
mov edi, r14d
mov dword [rsp + 0x6c], r14d
mov r9d, 0x1ff00ff
mov r8d, dword [rsp + 0xa8]
nop
cmp edi, r8d
jae 0x1400a9dda
mov edx, 0x1ffffff
cmp dword [rsp + 0x470], 0
cmove edx, r9d
mov eax, edi
mov ecx, dword [rsi + rax*4]
and ecx, edx
mov eax, dword [rsi]
and eax, edx
cmp eax, ecx
jne 0x1400a9dda
add r14d, 1
mov dword [rsp + 0xac], r14d
add edi, 1
mov dword [rsp + 0x6c], edi
jmp 0x1400a9da0
cmp ebx, 0x10
je 0x1400a9e2d
cmp ebx, 0xa0
je 0x1400a9e2d
cmp ebx, 0xa1
je 0x1400a9e2d
cmp ebx, 0x11
je 0x1400a9e2d
cmp ebx, 0xa2
je 0x1400a9e2d
cmp ebx, 0xa3
je 0x1400a9e2d
cmp ebx, 0x12
je 0x1400a9e2d
cmp ebx, 0xa4
je 0x1400a9e2d
cmp ebx, 0xa5
je 0x1400a9e2d
cmp ebx, 0x5b
je 0x1400a9e2d
cmp ebx, 0x5c
je 0x1400a9e2d
cmp ebx, 0x5d
je 0x1400a9e2d
mov esi, r14d
jmp 0x1400a9e32
mov esi, 1
mov eax, dword [rsp + 0x478]
test eax, eax
je 0x1400aa197
cmp eax, 2
je 0x1400aa11d
cmp esi, 1
jbe 0x1400a9e68
mov r8d, esi
lea rdx, str.:__u
lea rcx, [rsp + 0x90]
call fcn.14002dec0
jmp 0x1400a9e7c
lea rdx, [0x1400e4ec8]
lea rcx, [rsp + 0x90]
call fcn.14002d430
cmp dword [rsp + 0x60], 1
jne 0x1400a9eaa
test dword [rsp + 0x44], 0xfffffffe
jne 0x1400a9eaa
lea rcx, [rsp + 0x100]
call qword [sym.imp.USER32.dll_CharLowerA]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14002d430
jmp 0x1400a9ebc
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x58]
call fcn.14002d430
cmp dword [rsp + 0x64], 0
je 0x1400a9f2e
lea rsi, [rsp + 0x100]
lea rdi, [0x1400e5fa8]
mov ecx, 2
repe cmpsb byte [rsi], byte [rdi]
je 0x1400a9f0b
lea rsi, [rsp + 0x100]
lea rdi, [0x140117e5c]
mov ecx, 2
repe cmpsb byte [rsi], byte [rdi]
je 0x1400a9f0b
lea rsi, [rsp + 0x100]
lea rdi, [0x1400f15c8]
mov ecx, 2
repe cmpsb byte [rsi], byte [rdi]
jne 0x1400a9f2e
lea rdx, [0x1400e5fa8]
lea rcx, [rsp + 0x58]
call fcn.14002d430
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x58]
call fcn.14002d580
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x88]
lea rdx, str._s__s_s__s
lea rcx, [rsp + 0x78]
call fcn.14002dec0
lea rdx, [0x1400e4ec8]
lea rcx, [rsp + 0x48]
call fcn.14002e750
nop
mov edi, dword [rsp + 0x44]
test dil, 1
je 0x1400a9fb6
cmp ebx, 0x10
je 0x1400a9fb6
cmp ebx, 0xa0
je 0x1400a9fb6
cmp ebx, 0xa1
je 0x1400a9fb6
lea rdx, [0x1401690d0]
lea rcx, [rsp + 0x48]
call fcn.14002d580
lea rdx, [0x1400f65f0]
lea rcx, [rsp + 0x48]
call fcn.14002d580
test dil, 2
je 0x1400a9ff3
cmp ebx, 0x11
je 0x1400a9ff3
cmp ebx, 0xa2
je 0x1400a9ff3
cmp ebx, 0xa3
je 0x1400a9ff3
lea rdx, [0x140169110]
lea rcx, [rsp + 0x48]
call fcn.14002d580
lea rdx, [0x1400f65f0]
lea rcx, [rsp + 0x48]
call fcn.14002d580
test dil, 4
je 0x1400aa030
cmp ebx, 0x12
je 0x1400aa030
cmp ebx, 0xa4
je 0x1400aa030
cmp ebx, 0xa5
je 0x1400aa030
lea rdx, [0x140169150]
lea rcx, [rsp + 0x48]
call fcn.14002d580
lea rdx, [0x1400f65f0]
lea rcx, [rsp + 0x48]
call fcn.14002d580
test dil, 0x40
je 0x1400aa05d
cmp ebx, 0x5b
je 0x1400aa05d
lea rdx, [0x140169210]
lea rcx, [rsp + 0x48]
call fcn.14002d580
lea rdx, [0x1400f65f0]
lea rcx, [rsp + 0x48]
call fcn.14002d580
test dil, 0x20
je 0x1400aa08a
cmp ebx, 0x5c
je 0x1400aa08a
lea rdx, [0x1401691d0]
lea rcx, [rsp + 0x48]
call fcn.14002d580
lea rdx, [0x1400f65f0]
lea rcx, [rsp + 0x48]
call fcn.14002d580
test dil, dil
jns 0x1400aa0b6
cmp ebx, 0x5d
je 0x1400aa0b6
lea rdx, [0x140169190]
lea rcx, [rsp + 0x48]
call fcn.14002d580
lea rdx, [0x1400f65f0]
lea rcx, [rsp + 0x48]
call fcn.14002d580
test edi, edi
je 0x1400aa0ce
lea rdx, [0x1400e4ec8]
lea rcx, [rsp + 0x90]
call fcn.14002d430
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x88]
lea rdx, str._s__s_s_s__s
lea rcx, [rsp + 0x50]
call fcn.14002dec0
nop
lea rcx, [rsp + 0x48]
call fcn.14002d2c0
jmp 0x1400aa280
lea rcx, [rsp + 0xb0]
call fcn.14002e250
mov edi, r12d
mov dword [rsp + 0x6c], r12d
cmp edi, esi
jae 0x1400aa154
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0xb0]
call fcn.14002d5f0
add edi, 1
mov dword [rsp + 0x6c], edi
jmp 0x1400aa132
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x88]
lea rdx, str._s_s_s
lea rcx, [rsp + 0x78]
call fcn.14002dec0
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x50]
call fcn.14002d3c0
mov edi, dword [rsp + 0x44]
jmp 0x1400aa280
lea rdx, [0x1400e4ec8]
lea rcx, [rsp + 0x78]
call fcn.14002d430
cmp dword [rsp + 0x60], 1
jne 0x1400aa26b
mov edi, dword [rsp + 0x44]
test edi, 0xfffffffe
jne 0x1400aa26f
lea rcx, [rsp + 0x100]
call qword [sym.imp.USER32.dll_CharLowerA]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.14002d430
cmp dword [rsp + 0x64], 0
je 0x1400aa25a
lea rsi, [rsp + 0x100]
lea rdi, [0x1400e5fa8]
mov ecx, 2
repe cmpsb byte [rsi], byte [rdi]
je 0x1400aa22d
lea rsi, [rsp + 0x100]
lea rdi, [0x140117e5c]
mov ecx, 2
repe cmpsb byte [rsi], byte [rdi]
je 0x1400aa22d
lea rsi, [rsp + 0x100]
lea rdi, [0x1400f15c8]
mov ecx, 2
repe cmpsb byte [rsi], byte [rdi]
jne 0x1400aa256
lea rdx, [0x1400e5fa8]
lea rcx, [rsp + 0x58]
call fcn.14002d430
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x58]
call fcn.14002d580
mov edi, dword [rsp + 0x44]
jmp 0x1400aa25a
mov edi, dword [rsp + 0x44]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x50]
call fcn.14002d3c0
jmp 0x1400aa280
mov edi, dword [rsp + 0x44]
lea rdx, [0x1400e4ec8]
lea rcx, [rsp + 0x50]
call fcn.14002d430
mov ecx, dword [rsp + 0x470]
test ecx, ecx
jne 0x1400aa437
cmp ebx, 0x20
jne 0x1400aa2ad
lea rdx, [0x1400e4f74]
mov rcx, r13
call fcn.14002d580
mov r14d, dword [rsp + 0x40]
jmp 0x1400aa952
cmp dword [rsp + 0x60], 1
jne 0x1400aa3f9
cmp dword [rsp + 0x64], 0
je 0x1400aa2e2
movzx eax, byte [rsp + 0x100]
cmp al, 0x5c
je 0x1400aa2d3
cmp al, 0x7b
je 0x1400aa2d3
cmp al, 0x7d
jne 0x1400aa2e2
lea rdx, [0x1400e5fa8]
mov rcx, r13
call fcn.14002d580
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x310]
call fcn.1400c2840
test dil, 1
je 0x1400aa30f
mov al, byte [rsp + 0x320]
bts eax, 7
mov byte [rsp + 0x320], al
test dil, 2
je 0x1400aa327
mov al, byte [rsp + 0x321]
bts eax, 7
mov byte [rsp + 0x321], al
test dil, 4
je 0x1400aa33f
mov al, byte [rsp + 0x322]
bts eax, 7
mov byte [rsp + 0x322], al
test dil, 0x40
je 0x1400aa357
mov al, byte [rsp + 0x36b]
bts eax, 7
mov byte [rsp + 0x36b], al
test dil, 0x20
je 0x1400aa36f
mov al, byte [rsp + 0x36c]
bts eax, 7
mov byte [rsp + 0x36c], al
test dil, dil
jns 0x1400aa386
mov al, byte [rsp + 0x36d]
bts eax, 7
mov byte [rsp + 0x36d], al
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov ecx, dword [rsp + 0xa0]
shr ecx, 0x10
movzx edx, cl
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x310]
mov ecx, ebx
call qword [sym.imp.USER32.dll_ToAsciiEx]
cmp eax, 1
jne 0x1400aa3d6
movzx edx, byte [rsp + 0x44]
mov rcx, r13
call fcn.14002d5c0
mov r14d, dword [rsp + 0x40]
jmp 0x1400aa952
lea rcx, [rsp + 0x100]
call qword [sym.imp.USER32.dll_CharLowerA]
mov rdx, rax
mov rcx, r13
call fcn.14002d580
mov r14d, dword [rsp + 0x40]
jmp 0x1400aa952
lea rdx, [rsp + 0x78]
mov rcx, r13
call fcn.14002d5f0
mov dword [rsp + 0x40], r14d
mov rdi, qword [rsp + 0x80]
mov dword [rdi], 1
cmp ebx, 0xd
jne 0x1400aa952
lea rdx, [rsp + 0x98]
mov rcx, r13
call fcn.14002d5f0
jmp 0x1400aa952
mov eax, ebx
mov dword [rsp + 0xc0], ebx
cmp ebx, 0xd
je 0x1400aa459
cmp ebx, 0x20
je 0x1400aa459
cmp ebx, 9
je 0x1400aa459
cmp ebx, 8
je 0x1400aa459
or edx, 0xffffffff
jmp 0x1400aa468
or edx, 0xffffffff
test edi, edi
cmovne eax, edx
mov dword [rsp + 0xc0], eax
sub eax, 8
je 0x1400aa818
sub eax, 1
je 0x1400aa7ff
sub eax, 4
je 0x1400aa7e5
sub eax, 0x13
je 0x1400aa7cc
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x210]
call fcn.1400c2840
test dil, 1
je 0x1400aa4b9
mov al, byte [rsp + 0x220]
bts eax, 7
mov byte [rsp + 0x220], al
test dil, 2
je 0x1400aa4d1
mov al, byte [rsp + 0x221]
bts eax, 7
mov byte [rsp + 0x221], al
test dil, 4
je 0x1400aa4e9
mov al, byte [rsp + 0x222]
bts eax, 7
mov byte [rsp + 0x222], al
test dil, 0x40
je 0x1400aa501
mov al, byte [rsp + 0x26b]
bts eax, 7
mov byte [rsp + 0x26b], al
test dil, 0x20
je 0x1400aa519
mov al, byte [rsp + 0x26c]
bts eax, 7
mov byte [rsp + 0x26c], al
test dil, dil
jns 0x1400aa530
mov al, byte [rsp + 0x26d]
bts eax, 7
mov byte [rsp + 0x26d], al
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov ecx, dword [rsp + 0xa0]
shr ecx, 0x10
movzx edx, cl
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x210]
mov ecx, ebx
call qword [sym.imp.USER32.dll_ToAsciiEx]
cmp eax, 1
jne 0x1400aa601
test edi, 0xfffffffe
je 0x1400aa58c
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.14002d5f0
mov r14d, dword [rsp + 0x40]
jmp 0x1400aa952
cmp dword [rsp + 0x64], 0
je 0x1400aa5ba
movzx eax, word [rsp + 0x44]
cmp al, 0x5c
je 0x1400aa5a4
cmp al, 0x7b
je 0x1400aa5a4
cmp al, 0x7d
jne 0x1400aa5bf
lea rdx, [0x1400e5fa8]
mov rcx, r13
call fcn.14002d580
mov ax, word [rsp + 0x44]
jmp 0x1400aa5bf
mov ax, word [rsp + 0x44]
cmp al, 0x20
jb 0x1400aa5dc
cmp al, 0x7f
je 0x1400aa5dc
movzx edx, al
mov rcx, r13
call fcn.14002d5c0
mov r14d, dword [rsp + 0x40]
jmp 0x1400aa952
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.14002d5f0
mov dword [rsp + 0x40], r14d
mov rdi, qword [rsp + 0x80]
mov dword [rdi], 1
jmp 0x1400aa952
test eax, eax
js 0x1400aa7b4
cmp ebx, 0x10
je 0x1400aa71b
cmp ebx, 0xa0
je 0x1400aa71b
cmp ebx, 0xa1
je 0x1400aa71b
cmp ebx, 0x11
je 0x1400aa71b
cmp ebx, 0xa2
je 0x1400aa71b
cmp ebx, 0xa3
je 0x1400aa71b
cmp ebx, 0x12
je 0x1400aa71b
cmp ebx, 0xa4
je 0x1400aa71b
cmp ebx, 0xa5
je 0x1400aa71b
cmp ebx, 0x5b
je 0x1400aa71b
cmp ebx, 0x5c
je 0x1400aa71b
cmp ebx, 0x5d
je 0x1400aa71b
test edi, 0xfffffffe
je 0x1400aa69e
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.14002d5f0
jmp 0x1400aa711
cmp ebx, 0xba
je 0x1400aa711
cmp ebx, 0xbf
je 0x1400aa711
cmp ebx, 0xc0
je 0x1400aa711
cmp ebx, 0xdb
je 0x1400aa711
cmp ebx, 0xdc
je 0x1400aa711
cmp ebx, 0xdd
je 0x1400aa711
cmp ebx, 0xde
je 0x1400aa711
cmp ebx, 0xdf
je 0x1400aa711
cmp eax, 2
jne 0x1400aa704
movzx edx, word [rsp + 0x44]
shr dx, 8
mov rcx, r13
call fcn.14002d5c0
mov r14d, 1
mov dword [rsp + 0xac], r14d
jmp 0x1400aa711
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.14002d5f0
mov dword [rsp + 0x40], r14d
jmp 0x1400aa7b9
mov dword [rsp + 0x68], 1
cmp dword [rsp + 0xa8], r14d
jbe 0x1400aa7a0
movsxd rax, r14d
mov rcx, qword [rsp + 0xe0]
movzx ecx, byte [rcx + rax*4 + 1]
cmp ebx, 0x10
je 0x1400aa794
cmp ebx, 0xa0
je 0x1400aa794
cmp ebx, 0xa1
je 0x1400aa794
cmp ebx, 0x11
je 0x1400aa788
cmp ebx, 0xa2
je 0x1400aa788
cmp ebx, 0xa3
je 0x1400aa788
cmp ebx, 0x12
je 0x1400aa77c
cmp ebx, 0xa4
je 0x1400aa77c
cmp ebx, 0xa5
jne 0x1400aa7a0
test cl, 4
je 0x1400aa7a0
mov dword [rsp + 0x68], r12d
jmp 0x1400aa7ad
test cl, 2
je 0x1400aa7a0
mov dword [rsp + 0x68], r12d
jmp 0x1400aa7ad
test cl, 1
je 0x1400aa7a0
mov dword [rsp + 0x68], r12d
jmp 0x1400aa7ad
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.14002d5f0
mov dword [rsp + 0x40], r14d
jmp 0x1400aa7b9
mov r14d, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x80]
mov dword [rdi], 1
jmp 0x1400aa952
lea rdx, [0x1400e4f74]
mov rcx, r13
call fcn.14002d580
mov r14d, dword [rsp + 0x40]
jmp 0x1400aa952
lea rdx, [rsp + 0x98]
mov rcx, r13
call fcn.14002d5f0
mov r14d, dword [rsp + 0x40]
jmp 0x1400aa952
lea rdx, [0x140117e38]
mov rcx, r13
call fcn.14002d580
mov r14d, dword [rsp + 0x40]
jmp 0x1400aa952
cmp ecx, 2
jne 0x1400aa932
test r15d, r15d
je 0x1400aa916
or r8, 0xffffffffffffffff
mov qword [rsp + 0xd8], r8
mov dword [rsp + 0xa4], r12d
mov dword [rsp + 0xc8], r15d
mov rdi, qword [rsp + 0x80]
lea rax, [rdi - 0x10]
mov qword [rsp + 0xe8], rax
nop
nop
cmp r12d, r14d
jae 0x1400aa8ea
test r15d, r15d
jle 0x1400aa8ea
cmp dword [rax], 0
je 0x1400aa8b5
mov ecx, dword [rax + 4]
cmp ecx, 0x10
je 0x1400aa8a8
cmp ecx, 0xa0
je 0x1400aa8a8
cmp ecx, 0xa1
je 0x1400aa8a8
cmp ecx, 0xd
je 0x1400aa89a
cmp ecx, 0x20
je 0x1400aa89a
cmp ecx, 9
jne 0x1400aa8ea
mov r8, qword [rax + 8]
mov qword [rsp + 0xd8], r8
jmp 0x1400aa8c1
add r12d, edx
mov dword [rsp + 0xa4], r12d
jmp 0x1400aa8c1
mov r8, qword [rax + 8]
mov qword [rsp + 0xd8], r8
add r12d, 1
mov dword [rsp + 0xa4], r12d
sub r15d, 1
mov dword [rsp + 0xc8], r15d
sub rax, 0x10
mov qword [rsp + 0xe8], rax
jmp 0x1400aa860
cmp r8, 0xffffffffffffffff
je 0x1400aa92b
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.14002e670
nop
mov rdx, rax
mov rcx, r13
call fcn.14002d3c0
nop
lea rcx, [rsp + 0x48]
call fcn.14002d2c0
jmp 0x1400aa92b
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.14002d5f0
mov rdi, qword [rsp + 0x80]
mov dword [rsp + 0x40], r14d
jmp 0x1400aa94c
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.14002d5f0
mov dword [rsp + 0x40], r14d
mov rdi, qword [rsp + 0x80]
mov dword [rdi], 1
lea rcx, [rsp + 0xb8]
call fcn.14002d2c0
nop
lea rcx, [rsp + 0xb0]
call fcn.14002d2c0
nop
lea rcx, [rsp + 0x50]
call fcn.14002d2c0
nop
lea rcx, [rsp + 0xd0]
call fcn.14002d2c0
nop
lea rcx, [rsp + 0x90]
call fcn.14002d2c0
nop
lea rcx, [rsp + 0x70]
call fcn.14002d2c0
nop
lea rcx, [rsp + 0x88]
call fcn.14002d2c0
nop
lea rcx, [rsp + 0x78]
call fcn.14002d2c0
nop
lea rcx, [rsp + 0x58]
call fcn.14002d2c0
jmp 0x1400aa9ca
mov r14d, dword [rsp + 0x40]
lea rcx, [rsp + 0x98]
call fcn.14002d2c0
nop
jmp 0x1400aa9df
mov eax, r14d
jmp 0x1400aa9e9
mov eax, 1
mov rcx, qword [rsp + 0x410]
xor rcx, rsp
call fcn.1400c2a20
lea r11, [rsp + 0x420]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret