Function at 0x1800b4180
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0xd0
mov rax, qword [0x180119040]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r13, r9
mov qword [rbp - 0x51], r9
mov r14, qword [rbp + 0x7f]
mov qword [rbp - 0x49], r14
xor r15d, r15d
mov rcx, r9
mov rbx, qword [r9 + 0x18]
cmp rbx, 0xf
jbe 0x1800b41d4
mov rcx, qword [r9]
mov rsi, qword [r9 + 0x10]
mov qword [rsp + 0x20], reloc.WS2_32.dll_inet_addr
lea r9, str.AthenaLobby
xor r8d, r8d
mov rdx, rsi
call fcn.1800250b0
movzx edi, byte [0x18011c24b]
cmp rax, 0xffffffffffffffff
je 0x1800b424a
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x1800b420d
mov rcx, qword [r14]
mov qword [rsp + 0x20], 0xc
lea r9, str.OnBeginIntro
xor r8d, r8d
mov rdx, qword [r14 + 0x10]
call fcn.1800250b0
cmp rax, 0xffffffffffffffff
je 0x1800b424a
test dil, dil
je 0x1800b424a
movsd xmm0, qword [0x180104018]
comisd xmm0, xmmword [0x18011ac10]
ja 0x1800b4323
mov rcx, r13
cmp rbx, 0xf
jbe 0x1800b4257
mov rcx, qword [r13]
mov qword [rsp + 0x20], reloc.WS2_32.dll_inet_addr
lea r9, str.AthenaLobby
xor r8d, r8d
mov rdx, rsi
call fcn.1800250b0
cmp rax, 0xffffffffffffffff
je 0x1800b42b5
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x1800b4285
mov rcx, qword [r14]
mov qword [rsp + 0x20], 9
lea r9, str.OnSuccess
xor r8d, r8d
mov rdx, qword [r14 + 0x10]
call fcn.1800250b0
cmp rax, 0xffffffffffffffff
je 0x1800b42b5
test dil, dil
je 0x1800b42b5
cmp dword [0x18011abec], 0xf
jl 0x1800b4323
mov rcx, r13
cmp rbx, 0xf
jbe 0x1800b42c2
mov rcx, qword [r13]
mov qword [rsp + 0x20], reloc.WS2_32.dll_inet_addr
lea r9, str.AthenaLobby
xor r8d, r8d
mov rdx, rsi
call fcn.1800250b0
cmp rax, 0xffffffffffffffff
je 0x1800b498e
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x1800b42f4
mov rcx, qword [r14]
mov qword [rsp + 0x20], 0x2b
lea r9, str.DynamicHandleLoadingScreenVisibilityChanged
xor r8d, r8d
mov rdx, qword [r14 + 0x10]
call fcn.1800250b0
cmp rax, 0xffffffffffffffff
je 0x1800b498e
test dil, dil
je 0x1800b498e
cmp byte [0x18011c248], 0
jne 0x1800b463e
mov byte [0x18011c248], 1
mov cl, 1
call fcn.180009480
call fcn.1800afa00
mov rcx, qword [0x18011ada0]
test rcx, rcx
je 0x1800b4384
cmp qword [0x18011ae78], 0
je 0x1800b4362
mov rax, qword [0x18011ae48]
jmp 0x1800b436c
movsxd rax, dword [0x18011ac30]
add rax, rcx
mov rcx, qword [rax]
test rcx, rcx
je 0x1800b4384
movsxd rax, dword [0x18011ac2c]
mov r9, qword [rax + rcx]
test r9, r9
jne 0x1800b4387
mov r9, r15
mov rdx, qword [0x18011be30]
cmp word [rdx], 0
je 0x1800b43af
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
inc rcx
cmp word [rdx + rcx*2], 0
jne 0x1800b43a0
inc rcx
jmp 0x1800b43b2
mov rcx, r15
mov dword [rbp - 0x59], ecx
mov dword [rbp - 0x55], ecx
mov rax, r15
test ecx, ecx
cmovne rax, rdx
mov qword [rbp - 0x61], rax
movaps xmm0, xmmword [rbp - 0x61]
movdqa xmmword [rbp - 0x21], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], 3
mov qword [rbp - 0x29], 0xf
mov eax, dword [0x1800f99ac]
mov word [rbp - 0x41], ax
movzx eax, byte [0x1800f99ae]
mov byte [rbp - 0x3f], al
mov byte [rbp - 0x3e], 0
lea r8, [rbp - 0x21]
lea rdx, [rbp - 0x41]
mov rcx, r9
call fcn.1800a0c90
mov rcx, qword [0x18011ada0]
test rcx, rcx
je 0x1800b444e
cmp qword [0x18011ae78], 0
je 0x1800b442c
mov rax, qword [0x18011ae48]
jmp 0x1800b4436
movsxd rax, dword [0x18011ac30]
add rax, rcx
mov rcx, qword [rax]
test rcx, rcx
je 0x1800b444e
movsxd rax, dword [0x18011ac2c]
mov rcx, qword [rax + rcx]
test rcx, rcx
jne 0x1800b4451
mov rcx, r15
mov dword [rbp - 0x59], reloc.WS2_32.dll_socket
mov dword [rbp - 0x55], reloc.WS2_32.dll_socket
lea rax, str._nWelcome_to_CraniumV1_
mov qword [rbp - 0x61], rax
movaps xmm0, xmmword [rbp - 0x61]
movdqa xmmword [rbp - 0x21], xmm0
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], 3
mov qword [rbp - 0x29], 0xf
mov eax, dword [0x1800f99ac]
mov word [rbp - 0x41], ax
movzx eax, byte [0x1800f99ae]
mov byte [rbp - 0x3f], al
mov byte [rbp - 0x3e], 0
lea r8, [rbp - 0x21]
lea rdx, [rbp - 0x41]
call fcn.1800a0c90
call fcn.180024300
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], r15
call fcn.1800afe90
mov qword [rbp - 0x61], rax
lea r8, [rbp - 0x61]
xor edx, edx
lea rcx, [rbp - 0x21]
call fcn.180016c60
mov r15, qword [rbp - 0x21]
mov rsi, r15
mov r12, qword [rbp - 0x19]
cmp r15, r12
je 0x1800b45a3
nop dword [rax]
lea rdx, [rbp - 0x41]
mov rcx, qword [rsi]
call fcn.180013b50
nop
mov rdi, qword [rbp - 0x39]
mov rbx, qword [rbp - 0x41]
cmp rbx, rdi
je 0x1800b4551
nop word [rax + rax]
mov rax, qword [rbx]
mov qword [rbp - 0x61], rax
mov rdx, qword [0x18011c1e0]
cmp rdx, qword [0x18011c1e8]
je 0x1800b4534
mov qword [rdx], rax
add qword [0x18011c1e0], 8
jmp 0x1800b4544
lea r8, [rbp - 0x61]
lea rcx, [0x18011c1d8]
call fcn.180016c60
add rbx, 8
cmp rbx, rdi
jne 0x1800b4510
mov rbx, qword [rbp - 0x41]
test rbx, rbx
je 0x1800b4596
mov rax, qword [rbp - 0x31]
sub rax, rbx
sar rax, 3
lea rdx, [rax*8]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1800b458e
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b4672
mov rcx, rbx
call fcn.1800c8790
add rsi, 8
cmp rsi, r12
jne 0x1800b44f0
test r15, r15
je 0x1800b45e8
mov rax, qword [rbp - 0x11]
sub rax, r15
sar rax, 3
lea rdx, [rax*8]
mov rax, r15
cmp rdx, 0x1000
jb 0x1800b45e0
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800b486d
mov rcx, r15
call fcn.1800c8790
lea rdx, str.Welcome_to_CraniumV1_
lea rcx, [rbp - 0x41]
call fcn.1800090e0
mov rcx, rax
call fcn.180097780
lea rcx, [rbp - 0x21]
call fcn.180039770
lea rdx, [rbp - 1]
mov rcx, rax
call fcn.1800a14f0
nop
mov r8, rax
lea rdx, str.Current_Engine_Game_Version:
lea rcx, [rbp - 0x41]
call fcn.180014140
mov rcx, rax
call fcn.180097780
nop
lea rcx, [rbp - 1]
call fcn.180011620
xor r15d, r15d
call fcn.18003dcb0
mov edx, 1
lea rcx, [rbp - 1]
call fcn.1800b62d0
mov rbx, rax
mov ecx, dword [0x18011abec]
cmp ecx, 0xb
jl 0x1800b46c3
cmp ecx, 0x1b
je 0x1800b46c3
cmp ecx, 0x13
jge 0x1800b4679
lea rdx, str.Apollo_Terrain
jmp 0x1800b46ca
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
cmp ecx, 0x17
jge 0x1800b468d
mov r8d, 0xf
lea rdx, str.Artemis_Terrain
jmp 0x1800b46d0
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x41], xmm0
movdqu xmmword [rbp - 0x31], xmm1
cmp ecx, 0x1b
lea rcx, [rbp - 0x41]
jge 0x1800b46b4
mov r8d, 0xf
lea rdx, str.Asteria_Terrain
jmp 0x1800b46e3
mov r8d, 0xe
lea rdx, str.Helios_Terrain
jmp 0x1800b46e3
lea rdx, str.Athena_Terrain
mov r8d, 0xe
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x41], xmm0
movdqu xmmword [rbp - 0x31], xmm1
lea rcx, [rbp - 0x41]
call fcn.180005840
nop
mov r9, rbx
lea r8, [rbp - 0x41]
lea rcx, [rbp - 0x21]
call fcn.180035a00
nop
mov rdx, qword [rbp - 0x29]
cmp rdx, 7
jbe 0x1800b473e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b4738
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b4738
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8790
nop
lea rcx, [rbp - 1]
call fcn.180011590
mov rdx, qword [0x18011c158]
cmp rdx, 7
jbe 0x1800b478d
mov rcx, qword [0x18011c140]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x1800b4788
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800b486d
mov rcx, r8
call fcn.1800c8790
movups xmm0, xmmword [rbp - 0x21]
movaps xmmword [0x18011c140], xmm0
movups xmm1, xmmword [rbp - 0x11]
movaps xmmword [0x18011c150], xmm1
movdqa xmm0, xmmword [0x180104360]
movdqu xmmword [rbp - 0x11], xmm0
mov word [rbp - 0x21], r15w
lea rcx, [rbp - 0x21]
call fcn.180011590
mov rax, qword [0x18011c1c0]
cmp rax, qword [0x18011c1c8]
je 0x1800b47d5
mov qword [0x18011c1c8], rax
call fcn.1800af130
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
mov ecx, 0x20
call fcn.1800c8160
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x31], socket
mov edx, 0x1f
mov qword [rbp - 0x29], rdx
movups xmm0, xmmword [str.GameplayAbilities]
movups xmmword [rax], xmm0
movzx ecx, byte [reloc.WS2_32.dll_WSAStartup]
mov byte [rax + 0x10], cl
mov byte [rax + 0x11], 0
test rbx, rbx
je 0x1800b483c
lea rdx, [rbp - 0x41]
mov rcx, rbx
call fcn.1800066b0
mov rdx, qword [rbp - 0x29]
test eax, eax
jle 0x1800b483c
movsxd rdi, eax
add rdi, rbx
jmp 0x1800b483f
mov rdi, r15
cmp rdx, 0xf
jbe 0x1800b4879
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800b4874
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800b4874
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800c8790
mov rbx, qword [rdi]
movsxd rax, dword [rdi + 8]
lea rdi, [rbx + rax*8]
cmp rbx, rdi
je 0x1800b4920
nop dword [rax]
cmp dword [0x18011abec], 5
jge 0x1800b48e4
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1800b48a6
mov rax, r15
jmp 0x1800b48b1
movsxd rax, dword [0x1801190a0]
mov rax, qword [rax + rcx]
mov qword [rbp - 0x61], rax
mov rdx, qword [0x18011c1c8]
cmp rdx, qword [0x18011c1d0]
je 0x1800b48d2
mov qword [rdx], rax
add qword [0x18011c1c8], 8
jmp 0x1800b4913
lea r8, [rbp - 0x61]
lea rcx, [0x18011c1c0]
call fcn.180016c60
jmp 0x1800b4913
mov rdx, qword [0x18011c1c8]
cmp rdx, qword [0x18011c1d0]
je 0x1800b4904
mov rax, qword [rbx]
mov qword [rdx], rax
add qword [0x18011c1c8], 8
jmp 0x1800b4913
mov r8, rbx
lea rcx, [0x18011c1c0]
call fcn.180016c60
add rbx, 8
cmp rbx, rdi
jne 0x1800b4890
mov byte [rbp - 0x71], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], r15
mov qword [rbp - 0x29], 0xf
mov ecx, 0x20
call fcn.1800c8160
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x31], 0x19
mov qword [rbp - 0x29], 0x1f
movups xmm0, xmmword [str.SetReplayRecordingEnabled]
movups xmmword [rax], xmm0
movsd xmm0, qword [0x1800f9d30]
movsd qword [rax + 0x10], xmm0
movzx ecx, byte [0x1800f9d38]
mov byte [rax + 0x18], cl
mov byte [rax + 0x19], 0
lea r8, [rbp - 0x71]
lea rdx, [rbp - 0x41]
mov rcx, qword [0x18011ac20]
call fcn.1800a0c90
mov ecx, WSACleanup
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800b49d4
cmp byte [0x18011c24e], 0
jne 0x1800b49d4
cmp byte [0x18011c24b], 0
je 0x1800b49d4
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], r15
mov qword [rbp - 0x29], 7
mov word [rbp - 0x41], r15w
xor edx, edx
lea rcx, [rbp - 0x41]
call fcn.18003c840
nop
mov rcx, r13
call fcn.180011620
nop
mov rcx, r14
call fcn.180011620
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.1800c8140
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret