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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push r12
push r15
lea rbp, [rsp - 0x280]
sub rsp, 0x380
mov r15, rcx
call fcn.14008f2f0
mov rcx, r15
mov edx, dword [rax + 0x10c]
call fcn.14002b520
movdqa xmm0, xmmword [0x1401f8bd0]
lea rdx, str.hotkeybox
xor r12d, r12d
lea rcx, [rbp + 0x1b0]
movdqu xmmword [rbp + 0x1c0], xmm0
mov word [rbp + 0x1b0], r12w
lea r8d, [r12 + 9]
call fcn.140003280
lea rdx, [rbp + 0x1b0]
mov rcx, r15
call fcn.14002ab20
mov rcx, rax
mov dword [rsp + 0x20], r12d
lea r9, vtable.type_info.0
xor edx, edx
lea r8, vtable.type_info.0
call sub.msvcrt.dll___RTDynamicCast
mov rdx, qword [rbp + 0x1c8]
mov qword [r15 + 0x350], rax
cmp rdx, 8
jb 0x1400a9a4b
mov rcx, qword [rbp + 0x1b0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a9a46
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab3a
call fcn.14017b7ac
mov qword [rsp + 0x378], rbx
mov qword [rsp + 0x370], rsi
mov qword [rsp + 0x368], rdi
mov qword [rsp + 0x360], r13
mov qword [rsp + 0x358], r14
call fcn.14008f0d0
mov r9d, r12d
mov dword [rbp + 0x2b0], r12d
mov rax, qword [rax + 0x28]
mov qword [rbp + 0x140], rax
test eax, eax
jle 0x1400aaaf0
mov ecx, dword [0x14022faf0]
mov rax, qword gs:[0x58]
mov rsi, qword [rax + rcx*8]
lea rdi, [rax + rcx*8]
mov qword [rsp + 0x30], rsi
mov qword [rbp + 0x148], rdi
mov ecx, InitCommonControls
lea rbx, [0x14022ed48]
mov eax, dword [rcx + rsi]
cmp dword [0x14022ed70], eax
jle 0x1400a9b44
lea rcx, [0x14022ed70]
call fcn.14017bc80
cmp dword [0x14022ed70], 0xffffffff
jne 0x1400a9b3d
xorps xmm0, xmm0
mov qword [0x14022ed58], r12
mov ecx, InitCommonControls
mov qword [0x14022ed60], r12
movdqu xmmword [0x14022ed48], xmm0
mov qword [0x14022ed68], r12
call fcn.14017b770
mov qword [0x14022ed48], rax
lea rcx, [0x1401c98b0]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov rax, qword [0x14022ed48]
mov qword [rax], rbx
call fcn.14017ba50
lea rcx, [0x14022ed70]
call fcn.14017bc20
mov r9d, dword [rbp + 0x2b0]
mov rax, qword [0x14022ed48]
mov rcx, r12
mov r8, qword [0x14022ed60]
test rax, rax
je 0x1400a9b65
mov rdx, qword [rax]
test rdx, rdx
je 0x1400a9b65
mov rcx, qword [rdx]
movsxd rdx, r9d
add rdx, r8
test rcx, rcx
je 0x1400a9b85
mov rax, qword [rcx]
test rax, rax
je 0x1400a9b85
mov rax, qword [rax]
test rax, rax
je 0x1400a9b85
mov rax, qword [rax]
jmp 0x1400a9b88
mov rax, r12
mov rcx, qword [rax + 0x10]
mov r13, r12
mov rax, qword [rax + 8]
dec rcx
and rcx, rdx
mov qword [rsp + 0x68], r12
mov r8, qword [rax + rcx*8]
mov rdx, qword [r8 + 8]
test rdx, rdx
je 0x1400a9bd1
mov eax, dword [rdx + 8]
test eax, eax
je 0x1400a9bd1
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x1400a9bc5
mov eax, dword [rdx + 8]
test eax, eax
jne 0x1400a9bb2
jmp 0x1400a9bd1
mov rax, qword [r8 + 8]
mov r13, qword [r8]
mov qword [rsp + 0x68], rax
mov ecx, 0x5d8
call fcn.14017b770
test rax, rax
je 0x1400a9bf2
mov edx, 1
mov rcx, rax
call fcn.1400472e0
mov r14, rax
jmp 0x1400a9bf5
mov r14, r12
mov r8d, ILCombine
mov qword [rsp + 0x38], r14
lea rdx, str.main_item_hotkey.xml
mov qword [rbp + 0x160], r12
lea rcx, [rbp + 0x150]
mov qword [rbp + 0x168], 7
mov word [rbp + 0x150], r12w
call fcn.140003280
lea r8, [rbp + 0x210]
mov qword [rbp + 0x248], r12
lea rdx, [rbp + 0x150]
mov rcx, r14
call fcn.14000bdd0
mov rdx, qword [rbp + 0x168]
cmp rdx, 8
jb 0x1400a9c90
mov rcx, qword [rbp + 0x150]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a9c8b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab40
call fcn.14017b7ac
mov rcx, qword [r15 + 0x350]
mov rax, qword [rcx]
call qword [rax + 0x2b8]
test eax, eax
jne 0x1400a9cfb
mov rcx, r14
call fcn.14002e410
mov rcx, r14
mov ebx, eax
call fcn.14002e370
mov rcx, qword [r15 + 0x350]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x64], ebx
mov rax, qword [rcx]
call qword [rax + 0x318]
lea r9, vtable.type_info.0
mov dword [rsp + 0x20], r12d
mov rcx, rax
lea r8, vtable.type_info.0
xor edx, edx
call sub.msvcrt.dll___RTDynamicCast
mov rcx, rax
lea rdx, [rsp + 0x60]
mov r8b, 1
call fcn.140043af0
mov rbx, qword [rdi]
mov edi, InitCommonControls
mov eax, dword [rbx + rdi]
cmp dword [0x14022ef48], eax
jle 0x1400a9d47
lea rcx, [0x14022ef48]
call fcn.14017bc80
cmp dword [0x14022ef48], 0xffffffff
jne 0x1400a9d47
lea rcx, [0x14022ef00]
call fcn.14007aa80
lea rcx, [0x1401c9c00]
call fcn.14017ba50
lea rcx, [0x14022ef48]
call fcn.14017bc20
lea rdx, [rbp + 0x1d0]
mov rcx, r13
call fcn.1400894e0
mov r8, rax
lea rdx, [rbp + 0x190]
mov r9d, 1
lea rcx, [0x14022ef00]
call fcn.14007e320
mov rdx, qword [rbp + 0x1e8]
cmp rdx, 8
jb 0x1400a9db8
mov rcx, qword [rbp + 0x1d0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a9db3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab46
call fcn.14017b7ac
mov eax, dword [rbx + rdi]
cmp dword [0x14022ef48], eax
jle 0x1400a9dfc
lea rcx, [0x14022ef48]
call fcn.14017bc80
cmp dword [0x14022ef48], 0xffffffff
jne 0x1400a9dfc
lea rcx, [0x14022ef00]
call fcn.14007aa80
lea rcx, [0x1401c9c00]
call fcn.14017ba50
lea rcx, [0x14022ef48]
call fcn.14017bc20
lea rdx, [rbp + 0x190]
lea rcx, [0x14022ef00]
call fcn.140080670
mov r8d, 7
test al, al
je 0x1400a9ebd
lea rdx, str.hk_icon
mov qword [rbp + 0xc0], r12
lea rcx, [rbp + 0xb0]
mov qword [rbp + 0xc8], r8
mov word [rbp + 0xb0], r12w
call fcn.140003280
lea rdx, [rbp + 0xb0]
mov rcx, r14
call fcn.140039c90
mov rdx, qword [rbp + 0xc8]
mov rbx, rax
cmp rdx, 8
jb 0x1400a9e9e
mov rcx, qword [rbp + 0xb0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a9e99
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab4c
call fcn.14017b7ac
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], 7
mov word [rbp + 0xb0], r12w
jmp 0x1400a9fd4
lea rdx, str._s:err
lea rcx, [rbp + 0x190]
call fcn.140003280
mov eax, dword [rbx + rdi]
cmp dword [0x14022ef48], eax
jle 0x1400a9f14
lea rcx, [0x14022ef48]
call fcn.14017bc80
cmp dword [0x14022ef48], 0xffffffff
jne 0x1400a9f14
lea rcx, [0x14022ef00]
call fcn.14007aa80
lea rcx, [0x1401c9c00]
call fcn.14017ba50
lea rcx, [0x14022ef48]
call fcn.14017bc20
lea rdx, [rbp + 0x190]
lea rcx, [0x14022ef00]
call fcn.140080670
test al, al
je 0x1400a9fe3
mov r8d, 7
mov qword [rbp + 0xe0], r12
lea rdx, str.hk_icon
mov qword [rbp + 0xe8], 7
lea rcx, [rbp + 0xd0]
mov word [rbp + 0xd0], r12w
call fcn.140003280
lea rdx, [rbp + 0xd0]
mov rcx, r14
call fcn.140039c90
mov rdx, qword [rbp + 0xe8]
mov rbx, rax
cmp rdx, 8
jb 0x1400a9fba
mov rcx, qword [rbp + 0xd0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a9fb5
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab52
call fcn.14017b7ac
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xe8], 7
mov word [rbp + 0xd0], r12w
lea rdx, [rbp + 0x190]
mov rcx, rbx
call fcn.14002f830
mov r8d, 7
mov qword [rbp + 0x100], r12
lea rdx, str.hk_name
mov qword [rbp + 0x108], 7
lea rcx, [rbp + 0xf0]
mov word [rbp + 0xf0], r12w
call fcn.140003280
lea rdx, [rbp + 0xf0]
mov rcx, r14
call fcn.140039c90
mov rdx, qword [rbp + 0x108]
mov rbx, rax
cmp rdx, 8
jb 0x1400aa06e
mov rcx, qword [rbp + 0xf0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400aa069
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab58
call fcn.14017b7ac
mov qword [rbp + 0x100], r12
mov rcx, rbx
mov word [rbp + 0xf0], r12w
lea r12, [r13 + 0x20]
mov qword [rbp + 0x108], 7
mov rdx, r12
mov rax, qword [rbx]
call qword [rax + 0x2a8]
xor eax, eax
cmp dword [r13 + 0x100], eax
je 0x1400aa11a
lea r8d, [rax + 5]
mov qword [rbp - 0x20], rax
lea rdx, [0x1401d5d20]
mov qword [rbp - 0x18], 7
lea rcx, [rbp - 0x30]
mov word [rbp - 0x30], ax
call fcn.140003280
xor edx, edx
lea rcx, [rbx + 0x4d0]
call fcn.140037ea0
lea rcx, [rbp - 0x30]
cmp rax, rcx
je 0x1400aa0fb
cmp qword [rbp - 0x18], 8
lea rdx, [rbp - 0x30]
mov r8, qword [rbp - 0x20]
mov rcx, rax
cmovae rdx, qword [rbp - 0x30]
call fcn.140003280
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + 0x58]
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x1400aa1bc
mov rcx, qword [rbp - 0x30]
jmp 0x1400aa18a
mov r8d, 3
mov qword [rbp], rax
lea rdx, [0x1401d5d30]
mov qword [rbp + 8], 7
lea rcx, [rbp - 0x10]
mov word [rbp - 0x10], ax
call fcn.140003280
xor edx, edx
lea rcx, [rbx + 0x4d0]
call fcn.140037ea0
lea rcx, [rbp - 0x10]
cmp rax, rcx
je 0x1400aa171
cmp qword [rbp + 8], 8
lea rdx, [rbp - 0x10]
mov r8, qword [rbp]
mov rcx, rax
cmovae rdx, qword [rbp - 0x10]
call fcn.140003280
mov rax, qword [rbx]
xor edx, edx
mov rcx, rbx
call qword [rax + 0x58]
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x1400aa1bc
mov rcx, qword [rbp - 0x10]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400aa1b7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab34
call fcn.14017b7ac
movzx eax, word [r13 + 0xfc]
test ax, ax
je 0x1400aa553
movzx ebx, ax
lea rdx, str.hk_text
xor eax, eax
movzx edi, bl
lea rcx, [rbp + 0x110]
shr ebx, 8
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x128], 7
lea r8d, [rax + 7]
mov word [rbp + 0x110], ax
call fcn.140003280
lea rdx, [rbp + 0x110]
mov rcx, r14
call fcn.140039c90
mov rdx, qword [rbp + 0x128]
mov rsi, rax
cmp rdx, 8
jb 0x1400aa260
mov rcx, qword [rbp + 0x110]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400aa25b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab5e
call fcn.14017b7ac
xor eax, eax
mov qword [rbp + 0x128], 7
mov qword [rbp + 0x120], rax
mov word [rbp + 0x110], ax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], ax
test bl, 2
je 0x1400aa2a6
lea r8d, [rax + 7]
lea rdx, str.Ctrl_
lea rcx, [rsp + 0x70]
call fcn.140002740
test bl, 4
je 0x1400aa2c2
mov r8d, 8
lea rdx, str.Shift_
lea rcx, [rsp + 0x70]
call fcn.140002740
test bl, 1
je 0x1400aa2de
mov r8d, 6
lea rdx, str.Alt_
lea rcx, [rsp + 0x70]
call fcn.140002740
test bl, 8
je 0x1400aa2fa
mov r8d, 6
lea rdx, str.Win_
lea rcx, [rsp + 0x70]
call fcn.140002740
test edi, edi
je 0x1400aa3b8
lea rbx, [0x14022f070]
xor edx, edx
mov rcx, rbx
mov r8d, 0x80
call sub.msvcrt.dll_memset
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
xor edx, edx
mov ecx, edi
mov r8, rax
call qword [sym.imp.USER32.dll_MapVirtualKeyExW]
mov ecx, eax
shl ecx, 0x10
or ecx, 1
cmp edi, 0x20
jne 0x1400aa34d
lea rdx, str.Space
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrCpyW]
jmp 0x1400aa396
cmp edi, 5
jne 0x1400aa364
lea rdx, [0x1401d088c]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrCpyW]
jmp 0x1400aa396
cmp edi, 6
jne 0x1400aa37b
lea rdx, [0x1401d0894]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_StrCpyW]
jmp 0x1400aa396
lea eax, [rdi - 0x21]
mov r8d, 0x40
mov rdx, rbx
cmp eax, 0xe
ja 0x1400aa390
bts ecx, 0x18
call qword [sym.imp.USER32.dll_GetKeyNameTextW]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x1400aa3a0
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.140002740
movups xmm1, xmmword [rbp - 0x80]
mov rax, qword [rsi]
lea rdx, [rbp + 0x170]
movups xmm0, xmmword [rsp + 0x70]
mov rcx, rsi
movups xmmword [rbp + 0x180], xmm1
movups xmmword [rbp + 0x170], xmm0
call qword [rax + 0x2a8]
mov rdx, qword [rbp + 0x188]
cmp rdx, 8
jb 0x1400aa428
mov rcx, qword [rbp + 0x170]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400aa423
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab64
call fcn.14017b7ac
xor edi, edi
cmp dword [r13 + 0x100], edi
je 0x1400aa4de
lea r8d, [rdi + 5]
mov qword [rbp + 0x20], rdi
lea rdx, [0x1401d5d20]
mov qword [rbp + 0x28], 7
lea rcx, [rbp + 0x10]
mov word [rbp + 0x10], di
call fcn.140003280
xor edx, edx
lea rcx, [rsi + 0x4d0]
call fcn.140037ea0
lea rcx, [rbp + 0x10]
cmp rax, rcx
je 0x1400aa48c
cmp qword [rbp + 0x28], 8
lea rdx, [rbp + 0x10]
mov r8, qword [rbp + 0x20]
mov rcx, rax
cmovae rdx, qword [rbp + 0x10]
call fcn.140003280
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
call qword [rax + 0x58]
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x1400aa4d7
mov rcx, qword [rbp + 0x10]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400aa4d2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab34
call fcn.14017b7ac
mov rsi, qword [rsp + 0x30]
jmp 0x1400aa555
mov r8d, 3
mov qword [rbp + 0x40], rdi
lea rdx, [0x1401d5d30]
mov qword [rbp + 0x48], 7
lea rcx, [rbp + 0x30]
mov word [rbp + 0x30], di
call fcn.140003280
xor edx, edx
lea rcx, [rsi + 0x4d0]
call fcn.140037ea0
lea rcx, [rbp + 0x30]
cmp rax, rcx
je 0x1400aa535
cmp qword [rbp + 0x48], 8
lea rdx, [rbp + 0x30]
mov r8, qword [rbp + 0x40]
mov rcx, rax
cmovae rdx, qword [rbp + 0x30]
call fcn.140003280
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
call qword [rax + 0x58]
mov rdx, qword [rbp + 0x48]
cmp rdx, 8
jb 0x1400aa4d7
mov rcx, qword [rbp + 0x30]
jmp 0x1400aa4a5
xor edi, edi
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xa8], 7
mov word [rbp + 0x90], di
cmp dword [r13 + 4], 0
je 0x1400aa841
mov rdx, qword [r13 + 0x10]
mov r14, rdi
mov r15, rdi
test rdx, rdx
je 0x1400aa5ab
mov eax, dword [rdx + 8]
test eax, eax
je 0x1400aa5ab
nop
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x1400aa5a3
mov eax, dword [rdx + 8]
test eax, eax
jne 0x1400aa590
jmp 0x1400aa5ab
mov r14, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov eax, InitCommonControls
mov eax, dword [rax + rsi]
cmp dword [0x14022eef0], eax
jle 0x1400aa5f4
lea rcx, [0x14022eef0]
call fcn.14017bc80
cmp dword [0x14022eef0], 0xffffffff
jne 0x1400aa5f4
lea rcx, [0x14022eea0]
call fcn.140083c20
lea rcx, [0x1401c9c10]
call fcn.14017ba50
lea rcx, [0x14022eef0]
call fcn.14017bc20
mov rdx, qword [0x14022eee0]
mov ecx, dword [r14 + 0x10]
mov rbx, rdx
mov dword [rbp + 0x2b8], ecx
mov rax, qword [rdx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400aa633
cmp dword [rax + 0x20], ecx
jge 0x1400aa61d
mov rax, qword [rax + 0x10]
jmp 0x1400aa623
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400aa612
cmp rbx, rdx
je 0x1400aa633
cmp ecx, dword [rbx + 0x20]
jge 0x1400aa688
lea rax, [rbp + 0x2b8]
lea r9, [rbp + 0x2a8]
mov qword [rbp + 0x130], rax
lea r8, [rbp + 0x130]
lea rdx, [0x1401d3762]
lea rcx, [0x14022eee0]
call fcn.140082320
mov r8, rbx
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x138]
lea rcx, [0x14022eee0]
lea r9, [rax + 0x20]
call fcn.140082ee0
mov rbx, qword [rbp + 0x138]
mov rdx, qword [rbx + 0x30]
mov r8, rdi
mov rsi, rdi
test rdx, rdx
je 0x1400aa6bb
mov eax, dword [rdx + 8]
test eax, eax
je 0x1400aa6bb
nop
lea ecx, [rax + 1]
lock cmpxchg dword [rdx + 8], ecx
je 0x1400aa6b3
mov eax, dword [rdx + 8]
test eax, eax
jne 0x1400aa6a0
jmp 0x1400aa6bb
mov r8, qword [rbx + 0x28]
mov rsi, qword [rbx + 0x30]
test r8, r8
je 0x1400aa77c
lea rbx, [r8 + 0x18]
mov qword [rbp - 0x60], rdi
mov rdx, qword [rbx + 0x10]
lea rcx, [rbp - 0x70]
mov word [rbp - 0x70], di
add rdx, 3
lea rdi, [rbx + 0x10]
mov qword [rbp - 0x58], 7
call fcn.14000ec30
cmp qword [rbx + 0x18], 8
jb 0x1400aa6f7
mov rbx, qword [rbx]
mov r8, qword [rdi]
lea rcx, [rbp - 0x70]
mov rdx, rbx
call fcn.140002740
mov r8d, 3
lea rdx, [0x1401d50a0]
lea rcx, [rbp - 0x70]
call fcn.140002740
cmp qword [rbp - 0x58], 8
lea rdx, [rbp - 0x70]
mov r8, qword [rbp - 0x60]
lea rcx, [rbp + 0x90]
cmovae rdx, qword [rbp - 0x70]
call fcn.140002740
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x1400aa77a
mov rcx, qword [rbp - 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400aa775
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab34
call fcn.14017b7ac
xor edi, edi
mov qword [rsp + 0x50], rdi
lea rbx, [r14 + 0x18]
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x40]
mov word [rsp + 0x40], di
add rdx, 2
lea rdi, [rbx + 0x10]
mov qword [rsp + 0x58], 7
call fcn.14000ec30
cmp qword [rbx + 0x18], 8
jb 0x1400aa7b3
mov rbx, qword [rbx]
mov r8, qword [rdi]
lea rcx, [rsp + 0x40]
mov rdx, rbx
call fcn.140002740
mov r8d, 2
lea rdx, [0x1401f0478]
lea rcx, [rsp + 0x40]
call fcn.140002740
cmp qword [rsp + 0x58], 8
lea rdx, [rsp + 0x40]
mov r8, qword [rsp + 0x50]
lea rcx, [rbp + 0x90]
cmovae rdx, qword [rsp + 0x40]
call fcn.140002740
mov r8, qword [rsp + 0x58]
cmp r8, 8
jb 0x1400aa819
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x40]
inc r8
call fcn.140003490
test rsi, rsi
je 0x1400aa826
mov rcx, rsi
call fcn.140008e90
test r15, r15
je 0x1400aa833
mov rcx, r15
call fcn.140008e90
mov r15, qword [rbp + 0x2a0]
xor edi, edi
mov r14, qword [rsp + 0x38]
mov rdx, qword [r12 + 0x10]
lea rbx, [r12 + 0x10]
add rdx, 2
mov qword [rbp - 0x40], rdi
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], di
call fcn.14000ec30
cmp qword [r12 + 0x18], 8
jb 0x1400aa874
mov r12, qword [r12]
mov r8, qword [rbx]
lea rcx, [rbp - 0x50]
mov rdx, r12
call fcn.140002740
mov r8d, 2
lea rdx, [0x1401f0478]
lea rcx, [rbp - 0x50]
call fcn.140002740
cmp qword [rbp - 0x38], 8
lea rdx, [rbp - 0x50]
mov r8, qword [rbp - 0x40]
lea rcx, [rbp + 0x90]
cmovae rdx, qword [rbp - 0x50]
call fcn.140002740
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x1400aa8f7
mov rcx, qword [rbp - 0x50]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400aa8f2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aab34
call fcn.14017b7ac
xor r12d, r12d
mov qword [rbp + 0x68], 7
lea rbx, [r13 + 0x60]
mov qword [rbp + 0x60], r12
mov rdx, qword [rbx + 0x10]
lea rdi, [rbx + 0x10]
add rdx, 2
mov word [rbp + 0x50], r12w
lea rcx, [rbp + 0x50]
call fcn.14000ec30
cmp qword [rbx + 0x18], 8
jb 0x1400aa92e
mov rbx, qword [rbx]
mov r8, qword [rdi]
lea rcx, [rbp + 0x50]
mov rdx, rbx
call fcn.140002740
mov r8d, 2
lea rdx, [0x1401f0478]
lea rcx, [rbp + 0x50]
call fcn.140002740
cmp qword [rbp + 0x68], 8
lea rdx, [rbp + 0x50]
mov r8, qword [rbp + 0x60]
lea rcx, [rbp + 0x90]
cmovae rdx, qword [rbp + 0x50]
call fcn.140002740
lea rcx, [rbp + 0x50]
call fcn.1400034d0
cmp qword [r13 + 0x138], r12
jbe 0x1400aaa16
lea rbx, [r13 + 0x128]
mov qword [rbp + 0x80], r12
mov rdx, qword [rbx + 0x10]
lea rdi, [rbx + 0x10]
add rdx, 2
mov qword [rbp + 0x88], 7
lea rcx, [rbp + 0x70]
mov word [rbp + 0x70], r12w
call fcn.14000ec30
cmp qword [rbx + 0x18], 8
jb 0x1400aa9c4
mov rbx, qword [rbx]
mov r8, qword [rdi]
lea rcx, [rbp + 0x70]
mov rdx, rbx
call fcn.140002740
mov r8d, 2
lea rdx, [0x1401f0478]
lea rcx, [rbp + 0x70]
call fcn.140002740
cmp qword [rbp + 0x88], 8
lea rdx, [rbp + 0x70]
mov r8, qword [rbp + 0x80]
lea rcx, [rbp + 0x90]
cmovae rdx, qword [rbp + 0x70]
call fcn.140002740
lea rcx, [rbp + 0x70]
call fcn.1400034d0
call fcn.14008f2f0
cmp byte [rax + 0x51], r12b
je 0x1400aaa64
mov r8d, dword [r13 + 0x168]
lea rdx, [0x1401d50a8]
lea rcx, [rbp + 0x1f0]
call fcn.1400015b0
mov rdx, rax
cmp qword [rax + 0x18], 8
jb 0x1400aaa48
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp + 0x90]
call fcn.140002740
lea rcx, [rbp + 0x1f0]
call fcn.1400034d0
mov rax, qword [r14]
lea rdx, [rbp + 0x90]
mov rcx, r14
call qword [rax + 0x90]
mov rax, qword [r14]
mov edx, 0x190
mov rcx, r14
call qword [rax + 0xb0]
mov rcx, qword [r15 + 0x350]
mov rdx, r14
mov rax, qword [rcx]
call qword [rax + 0x2c0]
lea rcx, [rbp + 0x90]
call fcn.1400034d0
lea rcx, [rbp + 0x190]
call fcn.1400034d0
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1400aaac5
mov rcx, rax
call fcn.140008e90
mov r9d, dword [rbp + 0x2b0]
inc r9d
mov dword [rbp + 0x2b0], r9d
cmp r9d, dword [rbp + 0x140]
jge 0x1400aaaf0
mov rdi, qword [rbp + 0x148]
mov rsi, qword [rsp + 0x30]
jmp 0x1400a9ab8
mov rcx, qword [r15 + 0x350]
xor edx, edx
mov rax, qword [rcx]
mov r13, qword [rsp + 0x360]
mov rdi, qword [rsp + 0x368]
mov rsi, qword [rsp + 0x370]
mov rbx, qword [rsp + 0x378]
mov r14, qword [rsp + 0x358]
add rsp, 0x380
pop r15
pop r12
pop rbp
jmp qword [rax + 0x58]
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3
call fcn.1401b08a0
int3