Function at 0x140022940
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
mov eax, 0x10d0
call fcn.1400e57a0
sub rsp, rax
mov rax, qword [0x140122060]
xor rax, rsp
mov qword [rsp + 0x10c0], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x1050], xmm0
lea rsi, [rsp + 0x10e8]
movabs r12, 0xff00ff00ff00ff00
mov qword [rsp + 0x1058], r12
mov qword [rsp + 0x1060], rsi
mov rax, qword [rsi]
xor rax, r12
mov qword [rsp + 0x1050], rax
xor r13d, r13d
mov qword [rsi], r13
mov qword [rsp + 0x170], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xb48], eax
mov qword [rsp + 0xb40], 8
mov rax, qword [0x14012b570]
add rax, 0x5c0
mov qword [rsp + 0xb38], rax
mov dword [rsp + 0xb4c], 2
lea rax, [rsp + 0x170]
mov qword [rsp + 0xb50], rax
lea rcx, [rsp + 0xb30]
call fcn.140042310
cmp byte [0x14012a1e8], r13b
je 0x140022af5
mov rcx, qword [0x14012b570]
add rcx, 0x7f8
mov qword [rsp + 0xf88], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x6e8], eax
mov qword [rsp + 0x6e0], 8
mov qword [rsp + 0x6d8], rcx
mov dword [rsp + 0x6ec], 2
lea rax, [rsp + 0xf88]
mov qword [rsp + 0x6f0], rax
lea rcx, [rsp + 0x6d0]
call fcn.140042310
cmp dword [rsp + 0xf88], 4
je 0x140022ae9
mov dword [rsp + 0x38], 4
mov rax, qword [0x14012b570]
add rax, 0x7f8
mov qword [rsp + 0x688], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x698], eax
mov dword [rsp + 0x69c], 4
lea rax, [rsp + 0x38]
mov qword [rsp + 0x680], rax
mov qword [rsp + 0x690], 4
lea rcx, [rsp + 0x680]
call fcn.140042310
mov byte [0x14012b3af], 1
jmp 0x140022bcd
cmp byte [0x14012b3af], 0
je 0x140022bcd
mov rcx, qword [0x14012b570]
add rcx, 0x7f8
mov qword [rsp + 0xf88], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x698], eax
mov qword [rsp + 0x690], 8
mov qword [rsp + 0x688], rcx
mov dword [rsp + 0x69c], 2
lea rax, [rsp + 0xf88]
mov qword [rsp + 0x6a0], rax
lea rcx, [rsp + 0x680]
call fcn.140042310
cmp dword [rsp + 0xf88], 4
jne 0x140022bc6
mov dword [rsp + 0x38], 1
mov rax, qword [0x14012b570]
add rax, 0x7f8
mov qword [rsp + 0x6d8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x6e8], eax
mov dword [rsp + 0x6ec], 4
lea rax, [rsp + 0x38]
mov qword [rsp + 0x6d0], rax
mov qword [rsp + 0x6e0], 4
lea rcx, [rsp + 0x6d0]
call fcn.140042310
mov byte [0x14012b3af], 0
cmp byte [0x14012a1e2], 0
je 0x140022cce
movd xmm0, dword [0x14012b3c0]
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x14012a1e4]
jp 0x140022bf4
je 0x140022cce
mov qword [rsp + 0x100], 0x3b43460
mov qword [rsp + 0x108], 0xb8
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], r13
mov ecx, reloc.WS2_32.dll_recv
call fcn.1400e4df0
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
lea rbx, [rax + 0x10]
mov qword [rsp + 0xa0], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x100]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x98], rbx
lea r8, [rsp + 0x90]
mov rdx, qword [0x14012b620]
call fcn.140042850
mov qword [rsp + 0xb88], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xb98], eax
mov dword [rsp + 0xb9c], 4
lea rax, [0x14012a1e4]
mov qword [rsp + 0xb80], rax
mov qword [rsp + 0xb90], 4
lea rcx, [rsp + 0xb80]
call fcn.140042310
cvttss2si eax, dword [0x14012a1e4]
mov dword [0x14012b3c0], eax
mov rbx, qword [rsp + 0x170]
cmp byte [0x14012a1f9], 0
je 0x140022d3a
mov dword [rsp + 0xfb0], 0
lea rax, [rbx + 0xd0]
mov qword [rsp + 0xbd8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xbe8], eax
mov dword [rsp + 0xbec], 4
lea rax, [rsp + 0xfb0]
mov qword [rsp + 0xbd0], rax
mov qword [rsp + 0xbe0], 4
lea rcx, [rsp + 0xbd0]
call fcn.140042310
cmp byte [0x14012a1f8], 0
je 0x140022d54
mov byte [0x14012b3ae], 1
movss xmm0, dword [0x14010d890]
jmp 0x140022d6c
cmp byte [0x14012b3ae], 0
je 0x140022dc5
mov byte [0x14012b3ae], 0
movss xmm0, dword [0x14010d8b0]
lea rax, [rbx + 0x8c]
mov qword [rsp + 0x638], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x648], eax
lea rax, [rsp + 0xf78]
movss dword [rsp + 0xf78], xmm0
mov dword [rsp + 0x64c], 4
mov qword [rsp + 0x630], rax
mov qword [rsp + 0x640], 4
lea rcx, [rsp + 0x630]
call fcn.140042310
cmp byte [0x14012a1ed], 0
je 0x14002319b
cmp byte [0x14012b3bc], 0
jne 0x140022e93
mov qword [rsp + 0x110], 0x3b0c7f8
mov qword [rsp + 0x118], 0xb8
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x128], reloc.WS2_32.dll_recv
mov qword [rsp + 0x130], reloc.WLDAP32.dll_Ordinal_32
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], r13
mov ecx, Ordinal_41
call fcn.1400e4df0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rax
lea rbx, [rax + 0x28]
mov qword [rsp + 0xb8], rbx
mov r8d, Ordinal_45
lea rdx, [rsp + 0x110]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0xb0], rbx
lea r8, [rsp + 0xa8]
mov rdx, qword [0x14012b620]
call fcn.140042850
mov qword [0x14012b3c8], rax
mov byte [0x14012b3bc], 1
jmp 0x140022e9a
mov rax, qword [0x14012b3c8]
lea rcx, [rax + 0x60]
mov qword [rsp + 0x1028], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xa08], eax
mov qword [rsp + 0xa00], 8
mov qword [rsp + 0x9f8], rcx
mov dword [rsp + 0xa0c], 2
lea rax, [rsp + 0x1028]
mov qword [rsp + 0xa10], rax
lea rcx, [rsp + 0x9f0]
call fcn.140042310
movss xmm0, dword [0x14010d944]
movss dword [rsp + 0x7c], xmm0
mov rbx, qword [rsp + 0x1028]
lea rax, [rbx + 0x48]
mov qword [rsp + 0xc28], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xc38], eax
mov dword [rsp + 0xc3c], 4
lea rax, [rsp + 0x7c]
mov qword [rsp + 0xc20], rax
mov qword [rsp + 0xc30], 4
lea rcx, [rsp + 0xc20]
call fcn.140042310
movss xmm0, dword [0x14010d8d0]
movss dword [rsp + 0x78], xmm0
lea rax, [rbx + 0x50]
mov qword [rsp + 0xc78], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xc88], eax
mov dword [rsp + 0xc8c], 4
lea rax, [rsp + 0x78]
mov qword [rsp + 0xc70], rax
mov qword [rsp + 0xc80], 4
lea rcx, [rsp + 0xc70]
call fcn.140042310
mov rcx, qword [0x14012b3c8]
add rcx, 0x98
mov qword [rsp + 0x1020], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xcd8], eax
mov qword [rsp + 0xcd0], 8
mov qword [rsp + 0xcc8], rcx
mov dword [rsp + 0xcdc], 2
lea rax, [rsp + 0x1020]
mov qword [rsp + 0xce0], rax
lea rcx, [rsp + 0xcc0]
call fcn.140042310
mov dword [rsp + 0x80], 0
mov rax, qword [rsp + 0x1020]
add rax, 0x18
mov qword [rsp + 0xd18], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xd28], eax
mov dword [rsp + 0xd2c], 4
lea rax, [rsp + 0x80]
mov qword [rsp + 0xd10], rax
mov qword [rsp + 0xd20], 4
lea rcx, [rsp + 0xd10]
call fcn.140042310
movss xmm0, dword [0x14012a1f0]
ucomiss xmm0, dword [0x14012a1f4]
jp 0x14002307d
je 0x14002319b
mov rcx, qword [0x14012b3c8]
add rcx, 0x78
mov qword [rsp + 0x1010], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xd78], eax
mov qword [rsp + 0xd70], 8
mov qword [rsp + 0xd68], rcx
mov dword [rsp + 0xd7c], 2
lea rax, [rsp + 0x1010]
mov qword [rsp + 0xd80], rax
lea rcx, [rsp + 0xd60]
call fcn.140042310
movss xmm0, dword [0x14010da4c]
movss dword [rsp + 0x84], xmm0
mov rbx, qword [rsp + 0x1010]
lea rax, [rbx + 0x14]
mov qword [rsp + 0xdb8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xdc8], eax
mov dword [rsp + 0xdcc], 4
lea rax, [rsp + 0x84]
mov qword [rsp + 0xdb0], rax
mov qword [rsp + 0xdc0], 4
lea rcx, [rsp + 0xdb0]
call fcn.140042310
lea rax, [rbx + 0x10]
mov qword [rsp + 0xe08], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xe18], eax
mov dword [rsp + 0xe1c], 4
lea rax, [0x14012a1f0]
mov qword [rsp + 0xe00], rax
mov qword [rsp + 0xe10], 4
lea rcx, [rsp + 0xe00]
call fcn.140042310
movss xmm0, dword [0x14012a1f0]
movss dword [0x14012a1f4], xmm0
cmp byte [0x14012a236], 0
je 0x14002368c
movss xmm0, dword [0x14012a158]
ucomiss xmm0, dword [0x14012a148]
jp 0x1400231e5
jne 0x1400231e5
movss xmm0, dword [0x14012a15c]
ucomiss xmm0, dword [0x14012a14c]
jp 0x1400231e5
jne 0x1400231e5
movss xmm0, dword [0x14012a160]
ucomiss xmm0, dword [0x14012a150]
jp 0x1400231e5
je 0x14002368c
mov rcx, qword [0x14012b620]
add rcx, 0x3b0c7f8
mov qword [rsp + 0x1008], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xe68], eax
mov qword [rsp + 0xe60], 8
mov qword [rsp + 0xe58], rcx
mov dword [rsp + 0xe6c], 2
lea rax, [rsp + 0x1008]
mov qword [rsp + 0xe70], rax
lea rcx, [rsp + 0xe50]
call fcn.140042310
mov qword [rsp + 0x1000], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xeb8], eax
mov qword [rsp + 0xeb0], 8
mov rax, qword [rsp + 0x1008]
add rax, 0xb8
mov qword [rsp + 0xea8], rax
mov dword [rsp + 0xebc], 2
lea rax, [rsp + 0x1000]
mov qword [rsp + 0xec0], rax
lea rcx, [rsp + 0xea0]
call fcn.140042310
mov qword [rsp + 0xff8], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xf08], eax
mov qword [rsp + 0xf00], 8
mov rax, qword [rsp + 0x1000]
mov qword [rsp + 0xef8], rax
mov dword [rsp + 0xf0c], 2
lea rax, [rsp + 0xff8]
mov qword [rsp + 0xf10], rax
lea rcx, [rsp + 0xef0]
call fcn.140042310
mov qword [rsp + 0x1048], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x738], eax
mov qword [rsp + 0x730], 8
mov rax, qword [rsp + 0xff8]
add rax, 0x10
mov qword [rsp + 0x728], rax
mov dword [rsp + 0x73c], 2
lea rax, [rsp + 0x1048]
mov qword [rsp + 0x740], rax
lea rcx, [rsp + 0x720]
call fcn.140042310
mov qword [rsp + 0x1018], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x788], eax
mov qword [rsp + 0x780], 8
mov rax, qword [rsp + 0x1048]
add rax, 0x20
mov qword [rsp + 0x778], rax
mov dword [rsp + 0x78c], 2
lea rax, [rsp + 0x1018]
mov qword [rsp + 0x790], rax
lea rcx, [rsp + 0x770]
call fcn.140042310
mov rbx, qword [rsp + 0x1018]
test rbx, rbx
je 0x14002368c
mov qword [rsp + 0x1030], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xaf8], eax
mov qword [rsp + 0xaf0], 8
lea rax, [rbx + 0x58]
mov qword [rsp + 0xae8], rax
mov dword [rsp + 0xafc], 2
lea rax, [rsp + 0x1030]
mov qword [rsp + 0xb00], rax
lea rcx, [rsp + 0xae0]
call fcn.140042310
mov qword [rsp + 0xfe0], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x7d8], eax
mov qword [rsp + 0x7d0], 8
mov rax, qword [rsp + 0x1030]
add rax, 0x28
mov qword [rsp + 0x7c8], rax
mov dword [rsp + 0x7dc], 2
lea rax, [rsp + 0xfe0]
mov qword [rsp + 0x7e0], rax
lea rcx, [rsp + 0x7c0]
call fcn.140042310
mov qword [rsp + 0x1038], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x828], eax
mov qword [rsp + 0x820], 8
mov rax, qword [rsp + 0xfe0]
add rax, 0x10
mov qword [rsp + 0x818], rax
mov dword [rsp + 0x82c], 2
lea rax, [rsp + 0x1038]
mov qword [rsp + 0x830], rax
lea rcx, [rsp + 0x810]
call fcn.140042310
mov rax, qword [rsp + 0x1038]
mov qword [rsp + 0x868], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x878], eax
mov dword [rsp + 0x87c], 4
lea rdi, [0x14012a148]
mov qword [rsp + 0x860], rdi
mov qword [rsp + 0x870], 0x10
lea rcx, [rsp + 0x860]
call fcn.140042310
mov qword [rsp + 0xff0], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x8c8], eax
mov qword [rsp + 0x8c0], 8
lea rax, [rbx + 0x60]
mov qword [rsp + 0x8b8], rax
mov dword [rsp + 0x8cc], 2
lea rax, [rsp + 0xff0]
mov qword [rsp + 0x8d0], rax
lea rcx, [rsp + 0x8b0]
call fcn.140042310
mov qword [rsp + 0xfe8], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x5a8], eax
mov qword [rsp + 0x5a0], 8
mov rax, qword [rsp + 0xff0]
add rax, 0x28
mov qword [rsp + 0x598], rax
mov dword [rsp + 0x5ac], 2
lea rax, [rsp + 0xfe8]
mov qword [rsp + 0x5b0], rax
lea rcx, [rsp + 0x590]
call fcn.140042310
mov qword [rsp + 0x1040], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x558], eax
mov qword [rsp + 0x550], 8
mov rax, qword [rsp + 0xfe8]
add rax, 0x10
mov qword [rsp + 0x548], rax
mov dword [rsp + 0x55c], 2
lea rax, [rsp + 0x1040]
mov qword [rsp + 0x560], rax
lea rcx, [rsp + 0x540]
call fcn.140042310
mov rax, qword [rsp + 0x1040]
mov qword [rsp + 0x4f8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x508], eax
mov dword [rsp + 0x50c], 4
mov qword [rsp + 0x4f0], rdi
mov qword [rsp + 0x500], 0x10
lea rcx, [rsp + 0x4f0]
call fcn.140042310
movups xmm0, xmmword [0x14012a148]
movups xmmword [0x14012a158], xmm0
mov ecx, dword [0x14012a0f8]
call qword [sym.imp.USER32.dll_GetKeyState]
shr ax, 0xf
and al, 1
mov byte [0x14012a0e9], al
cmp byte [0x14012a1ec], 0
je 0x1400237a4
mov ecx, dword [0x14012a0fc]
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x1400237a4
mov qword [rsp + 0x1070], 0x3b04fe0
mov qword [rsp + 0x1078], 0xb8
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r13
mov ecx, reloc.WS2_32.dll_recv
call fcn.1400e4df0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
lea rbx, [rax + 0x10]
mov qword [rsp + 0x50], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x1070]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x48], rbx
lea r8, [rsp + 0x40]
mov rdx, qword [0x14012b620]
call fcn.140042850
movss xmm0, dword [0x14010d954]
movss dword [rsp + 0x88], xmm0
add rax, 0x18
mov qword [rsp + 0x188], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x198], eax
mov dword [rsp + 0x19c], 4
lea rax, [rsp + 0x88]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], 4
lea rcx, [rsp + 0x180]
call fcn.140042310
mov dword [0x14012b3b8], 0x1e
jmp 0x140023887
movd xmm0, dword [0x14012b3b8]
cvtdq2ps xmm0, xmm0
ucomiss xmm0, dword [0x1401220dc]
jp 0x1400237be
je 0x140023887
mov qword [rsp + 0x1070], 0x3b04fe0
xorps xmm0, xmm0
mov qword [rsp + 0x1078], 0xb8
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r13
mov ecx, reloc.WS2_32.dll_recv
call fcn.1400e4df0
lea rbx, [rax + 0x10]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rbx
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x1070]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x48], rbx
lea r8, [rsp + 0x40]
mov rdx, qword [0x14012b620]
call fcn.140042850
add rax, 0x18
mov qword [rsp + 0x188], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x198], eax
lea rax, [0x1401220dc]
mov dword [rsp + 0x19c], 4
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], 4
lea rcx, [rsp + 0x180]
call fcn.140042310
cvttss2si eax, dword [0x1401220dc]
mov dword [0x14012b3b8], eax
mov qword [rsp + 0x160], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x468], eax
mov qword [rsp + 0x460], 8
mov rax, qword [0x14012b570]
add rax, 0x828
mov qword [rsp + 0x458], rax
mov dword [rsp + 0x46c], 2
lea rax, [rsp + 0x160]
mov qword [rsp + 0x470], rax
lea rcx, [rsp + 0x450]
call fcn.140042310
cmp byte [0x14012a1fb], 0
je 0x140023a24
mov qword [rsp + 0x158], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x418], eax
mov qword [rsp + 0x410], 8
mov rax, qword [0x14012b570]
add rax, 0x830
mov qword [rsp + 0x408], rax
mov dword [rsp + 0x41c], 2
lea rax, [rsp + 0x158]
mov qword [rsp + 0x420], rax
lea rcx, [rsp + 0x400]
call fcn.140042310
mov rbx, qword [rsp + 0x158]
test rbx, rbx
je 0x140023a24
mov dword [rsp + 0xf80], r13d
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x3c8], eax
mov qword [rsp + 0x3c0], 4
mov rax, qword [rsp + 0x160]
add rax, 0x20
mov qword [rsp + 0x3b8], rax
mov dword [rsp + 0x3cc], 2
lea rax, [rsp + 0xf80]
mov qword [rsp + 0x3d0], rax
lea rcx, [rsp + 0x3b0]
call fcn.140042310
mov eax, dword [rsp + 0xf80]
shr eax, 9
test al, 1
je 0x140023a24
mov byte [rsp + 0xf70], 1
lea rax, [rbx + 0x3b0]
mov qword [rsp + 0x5e8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x5f8], eax
mov dword [rsp + 0x5fc], 4
lea rax, [rsp + 0xf70]
mov qword [rsp + 0x5e0], rax
mov qword [rsp + 0x5f0], 1
lea rcx, [rsp + 0x5e0]
call fcn.140042310
mov rcx, qword [0x14012b570]
call fcn.140013980
mov rdi, rax
test rax, rax
je 0x140024923
lea rdx, [rsp + 0xf90]
mov rcx, rax
call fcn.140013530
nop
mov r14, qword [rsp + 0xfa0]
test r14, r14
je 0x140024915
mov esi, 7
movabs rcx, 0x7ffffffffffffffe
cmp byte [0x14012a110], 0
je 0x140023d8e
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
lea r15, [rsp + 0xf90]
cmp qword [rsp + 0xfa8], 8
cmovae r15, qword [rsp + 0xf90]
cmp r14, 8
jae 0x140023ab6
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x58], xmm0
mov ebx, esi
jmp 0x140023ae4
mov rbx, r14
or rbx, rsi
cmp rbx, rcx
cmova rbx, rcx
lea rdx, [rbx + 1]
call fcn.14000a310
mov qword [rsp + 0x58], rax
lea r8, [r14*2 + 2]
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], rbx
lea rcx, [rsp + 0x58]
call fcn.140020ca0
movzx ebx, al
mov rcx, rdi
call fcn.1400134b0
mov r14, rax
test bl, bl
je 0x140023d8e
mov dword [rsp + 0xf84], 0
mov ecx, dword [0x14012b3a0]
mov dword [rsp + 0x378], ecx
mov qword [rsp + 0x370], 4
lea rbx, [rax + 0x2a8]
mov qword [rsp + 0x368], rbx
mov dword [rsp + 0x37c], 2
lea rax, [rsp + 0xf84]
mov qword [rsp + 0x380], rax
lea rcx, [rsp + 0x360]
call fcn.140042310
movss xmm0, dword [0x14010d8bc]
comiss xmm0, dword [rsp + 0xf84]
jbe 0x140023d8e
mov dword [rsp + 0xfb8], 0x40400000
mov qword [rsp + 0x318], rbx
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x328], eax
mov dword [rsp + 0x32c], 4
lea rax, [rsp + 0xfb8]
mov qword [rsp + 0x310], rax
mov qword [rsp + 0x320], 4
lea rcx, [rsp + 0x310]
call fcn.140042310
mov dword [rsp + 0xf48], 0x3f800000
lea rax, [r14 + 0x2ac]
mov qword [rsp + 0x278], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x288], eax
mov dword [rsp + 0x28c], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x280], 4
lea rcx, [rsp + 0x270]
call fcn.140042310
mov byte [rsp + 0xf50], 0
lea rax, [r14 + 0x2b1]
mov qword [rsp + 0x228], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x238], eax
mov dword [rsp + 0x23c], 4
lea rax, [rsp + 0xf50]
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x230], 1
lea rcx, [rsp + 0x220]
call fcn.140042310
mov byte [rsp + 0xf58], 0
lea rax, [r14 + 0x2eb]
mov qword [rsp + 0x1d8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x1e8], eax
mov dword [rsp + 0x1ec], 4
lea rax, [rsp + 0xf58]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1e0], 1
lea rcx, [rsp + 0x1d0]
call fcn.140042310
mov byte [rsp + 0xf60], 1
lea rax, [r14 + 0x2a0]
mov qword [rsp + 0x4a8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x4b8], eax
mov dword [rsp + 0x4bc], 4
lea rax, [rsp + 0xf60]
mov qword [rsp + 0x4a0], rax
mov qword [rsp + 0x4b0], 1
lea rcx, [rsp + 0x4a0]
call fcn.140042310
mov byte [rsp + 0xf40], 1
lea rax, [r14 + 0x2e8]
mov qword [rsp + 0x2c8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x2d8], eax
mov dword [rsp + 0x2dc], 4
lea rax, [rsp + 0xf40]
mov qword [rsp + 0x2c0], rax
mov qword [rsp + 0x2d0], 1
lea rcx, [rsp + 0x2c0]
call fcn.140042310
lea rdx, [rsp + 0x138]
mov rcx, rdi
call fcn.140013530
mov rcx, rax
call fcn.1400118a0
test al, al
je 0x14002490d
mov rcx, rdi
call fcn.1400134b0
mov rbx, rax
test rax, rax
je 0x14002490d
mov rdi, 0xffffffffffffffff
movabs r15, 0xf27849aa1da26a9f
movabs r14, 0x6e5e413bb15f40b8
cmp byte [0x14012a11c], 0
je 0x14002420a
movabs rax, 0xf25649dd1dcd6afd
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0xc0], rcx
movabs rax, 0x6e2e4156b13040db
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc8], rax
movabs rax, 0x331c4acab1dd0ce6
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xd0], rax
movabs r12, 0x43dc604d5b126582
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x1080], rax
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x1088], rax
movabs rax, 0x33784aa4b1a80c89
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x1090], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x1098], rax
vmovdqu ymm0, ymmword [rsp + 0xc0]
vpxor ymm1, ymm0, ymmword [rsp + 0x1080]
vmovdqu ymmword [rsp + 0xc0], ymm1
lea rcx, [rsp + 0xc0]
mov rax, rdi
vzeroupper
inc rax
cmp word [rcx + rax*2], 0
jne 0x140023ed5
lea rcx, [rsp + 0xf90]
cmp qword [rsp + 0xfa8], 8
cmovae rcx, qword [rsp + 0xf90]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xc0]
mov rdx, qword [rsp + 0xfa0]
call fcn.140009df0
cmp rax, rdi
je 0x14002402d
mov dword [rsp + 0xfd8], 0
lea rax, [rbx + 0x3b8]
mov qword [rsp + 0x908], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x918], eax
mov dword [rsp + 0x91c], 4
lea rax, [rsp + 0xfd8]
mov qword [rsp + 0x900], rax
mov qword [rsp + 0x910], 4
lea rcx, [rsp + 0x900]
call fcn.140042310
mov dword [rsp + 0xfd0], 0x49742400
lea rax, [rbx + 0x3bc]
mov qword [rsp + 0x958], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x968], eax
mov dword [rsp + 0x96c], 4
lea rax, [rsp + 0xfd0]
mov qword [rsp + 0x950], rax
mov qword [rsp + 0x960], 4
lea rcx, [rsp + 0x950]
call fcn.140042310
mov dword [rsp + 0xfc8], 0x49742400
lea rax, [rbx + 0x3c8]
mov qword [rsp + 0x9a8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x9b8], eax
mov dword [rsp + 0x9bc], 4
lea rax, [rsp + 0xfc8]
mov qword [rsp + 0x9a0], rax
mov qword [rsp + 0x9b0], 4
lea rcx, [rsp + 0x9a0]
jmp 0x140024205
movabs rax, 0xf25649dd1dcd6afd
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xe0], rax
movabs rax, 0x6e2a4155b12a40d0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xe8], rax
movabs rax, 0x33784ac3b1c60ce0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x10a0], rax
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x10a8], rax
movabs rax, 0x33784aa4b1a80c89
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x10b0], rax
mov qword [rsp + 0x30], r12
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x10b8], rax
vmovdqu ymm0, ymmword [rsp + 0xe0]
vpxor ymm1, ymm0, ymmword [rsp + 0x10a0]
vmovdqu ymmword [rsp + 0xe0], ymm1
lea rcx, [rsp + 0xe0]
mov rax, rdi
vzeroupper
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x140024110
lea rcx, [rsp + 0xf90]
cmp qword [rsp + 0xfa8], 8
cmovae rcx, qword [rsp + 0xf90]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xe0]
mov rdx, qword [rsp + 0xfa0]
call fcn.140009df0
cmp rax, rdi
je 0x14002420a
mov byte [rsp + 0xf68], 1
lea rax, [rbx + 0x3a8]
mov qword [rsp + 0xa48], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xa58], eax
mov dword [rsp + 0xa5c], 4
lea rax, [rsp + 0xf68]
mov qword [rsp + 0xa40], rax
mov qword [rsp + 0xa50], 1
lea rcx, [rsp + 0xa40]
call fcn.140042310
mov dword [rsp + 0xfc0], 0x3f800000
lea rax, [rbx + 0x3ac]
mov qword [rsp + 0xa98], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0xaa8], eax
mov dword [rsp + 0xaac], 4
lea rax, [rsp + 0xfc0]
mov qword [rsp + 0xa90], rax
mov qword [rsp + 0xaa0], 4
lea rcx, [rsp + 0xa90]
call fcn.140042310
cmp byte [0x14012a11d], 0
je 0x1400243e6
movabs rax, 0xf21949c11dcd6afa
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x30], r15
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x1070], rax
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x1078], rax
movdqa xmm0, xmmword [rsp + 0x160]
pxor xmm0, xmmword [rsp + 0x1070]
movdqa xmmword [rsp + 0x160], xmm0
lea rax, [rsp + 0x160]
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140024290
lea rcx, [rsp + 0xf90]
cmp qword [rsp + 0xfa8], 8
cmovae rcx, qword [rsp + 0xf90]
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x160]
mov rdx, qword [rsp + 0xfa0]
call fcn.140009df0
cmp rax, 0xffffffffffffffff
je 0x1400243e6
mov dword [rsp + 0xf48], 0x3f800000
lea rax, [rbx + 0x3bc]
mov qword [rsp + 0x2c8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x2d8], eax
mov dword [rsp + 0x2dc], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x2c0], rax
mov qword [rsp + 0x2d0], 4
lea rcx, [rsp + 0x2c0]
call fcn.140042310
mov dword [rsp + 0xf48], 0x3f800000
lea rax, [rbx + 0x3a8]
mov qword [rsp + 0x4a8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x4b8], eax
mov dword [rsp + 0x4bc], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x4a0], rax
mov qword [rsp + 0x4b0], 4
lea rcx, [rsp + 0x4a0]
call fcn.140042310
mov byte [rsp + 0xf40], 1
lea rax, [rbx + 0x3b8]
mov qword [rsp + 0x1d8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x1e8], eax
mov dword [rsp + 0x1ec], 4
lea rax, [rsp + 0xf40]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1e0], 1
lea rcx, [rsp + 0x1d0]
call fcn.140042310
cmp byte [0x14012a122], 0
je 0x140024555
mov qword [rsp + 0x160], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x238], eax
mov qword [rsp + 0x230], 8
lea rax, [rbx + 0x2f8]
mov qword [rsp + 0x228], rax
mov dword [rsp + 0x23c], 2
lea rax, [rsp + 0x160]
mov qword [rsp + 0x240], rax
lea rcx, [rsp + 0x220]
call fcn.140042310
mov qword [rsp + 0x158], r13
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x288], eax
mov qword [rsp + 0x280], 8
mov r15, qword [rsp + 0x160]
lea rax, [r15 + 0x80]
mov qword [rsp + 0x278], rax
mov dword [rsp + 0x28c], 2
lea rax, [rsp + 0x158]
mov qword [rsp + 0x290], rax
lea rcx, [rsp + 0x270]
call fcn.140042310
mov r12, qword [rsp + 0x158]
test r15, r15
jne 0x1400244c1
test r12, r12
je 0x140024555
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r13
mov r14, qword [rsp + 0xfa0]
lea rdi, [rsp + 0xf90]
cmp qword [rsp + 0xfa8], 8
cmovae rdi, qword [rsp + 0xf90]
cmp r14, 8
jae 0x140024502
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x58], xmm0
jmp 0x14002453b
mov rsi, r14
or rsi, 7
movabs rax, 0x7ffffffffffffffe
cmp rsi, rax
cmova rsi, rax
lea rdx, [rsi + 1]
call fcn.14000a310
mov qword [rsp + 0x58], rax
lea r8, [r14*2 + 2]
mov rdx, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], rsi
mov r8, r12
mov rdx, r15
lea rcx, [rsp + 0x58]
call fcn.14001ecb0
cmp byte [0x14012a11e], 0
je 0x1400247df
mov dword [rsp + 0xf48], 0xc0a00000
lea rax, [rbx + 0x308]
mov qword [rsp + 0x318], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x328], eax
mov dword [rsp + 0x32c], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x310], rax
mov qword [rsp + 0x320], 4
lea rcx, [rsp + 0x310]
call fcn.140042310
mov dword [rsp + 0xf48], 0xc0a00000
lea rax, [rbx + 0x30c]
mov qword [rsp + 0x368], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x378], eax
mov dword [rsp + 0x37c], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x360], rax
mov qword [rsp + 0x370], 4
lea rcx, [rsp + 0x360]
call fcn.140042310
mov dword [rsp + 0xf48], 0
lea rax, [rbx + 0x348]
mov qword [rsp + 0x5e8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x5f8], eax
mov dword [rsp + 0x5fc], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x5e0], rax
mov qword [rsp + 0x5f0], 4
lea rcx, [rsp + 0x5e0]
call fcn.140042310
mov dword [rsp + 0xf48], 0
lea rax, [rbx + 0x34c]
mov qword [rsp + 0x3b8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x3c8], eax
mov dword [rsp + 0x3cc], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x3b0], rax
mov qword [rsp + 0x3c0], 4
lea rcx, [rsp + 0x3b0]
call fcn.140042310
mov dword [rsp + 0xf48], 0
lea rax, [rbx + 0x314]
mov qword [rsp + 0x408], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x418], eax
mov dword [rsp + 0x41c], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x400], rax
mov qword [rsp + 0x410], 4
lea rcx, [rsp + 0x400]
call fcn.140042310
mov dword [rsp + 0xf48], 0
lea rax, [rbx + 0x320]
mov qword [rsp + 0x458], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x468], eax
mov dword [rsp + 0x46c], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x450], rax
mov qword [rsp + 0x460], 4
lea rcx, [rsp + 0x450]
call fcn.140042310
mov dword [rsp + 0xf48], 0
lea rax, [rbx + 0x310]
mov qword [rsp + 0x188], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x198], eax
mov dword [rsp + 0x19c], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], 4
lea rcx, [rsp + 0x180]
call fcn.140042310
cmp byte [0x14012a111], 0
je 0x140024840
mov byte [rsp + 0xf40], 1
lea rax, [rbx + 0x2a0]
mov qword [rsp + 0x4f8], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x508], eax
mov dword [rsp + 0x50c], 4
lea rax, [rsp + 0xf40]
mov qword [rsp + 0x4f0], rax
mov qword [rsp + 0x500], 1
lea rcx, [rsp + 0x4f0]
call fcn.140042310
cmp byte [0x14012a112], 0
je 0x140024903
mov dword [rsp + 0xf48], 0
lea rax, [rbx + 0x2f0]
mov qword [rsp + 0x548], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x558], eax
mov dword [rsp + 0x55c], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x540], rax
mov qword [rsp + 0x550], 4
lea rcx, [rsp + 0x540]
call fcn.140042310
mov dword [rsp + 0xf48], 0
lea rax, [rbx + 0x2f4]
mov qword [rsp + 0x598], rax
mov eax, dword [0x14012b3a0]
mov dword [rsp + 0x5a8], eax
mov dword [rsp + 0x5ac], 4
lea rax, [rsp + 0xf48]
mov qword [rsp + 0x590], rax
mov qword [rsp + 0x5a0], 4
lea rcx, [rsp + 0x590]
call fcn.140042310
movabs r12, 0xff00ff00ff00ff00
lea rsi, [rsp + 0x10e8]
lea rcx, [rsp + 0xf90]
call fcn.1400076a0
nop
mov rax, qword [rsp + 0x1050]
xor rax, r12
mov qword [rsi], rax
mov rcx, qword [rsp + 0x10c0]
xor rcx, rsp
call fcn.1400e4b30
lea r11, [rsp + 0x10d0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret