Function at 0x18002c020
Capabilities:
Hash data using fnv
Log keystrokes via polling

Disassembly:
sub rsp, 0x78
cmp byte [0x1801f231a], 0
je 0x18002a4a9
lea rcx, str.scr_ornate_heist
call fcn.180024d90
lea rcx, str.scr_ornate_heist
call fcn.180024a80
call fcn.18000a910
mov edx, eax
mov dword [rsp + 0x40], 0x49d9
lea rcx, str.scr_heist_ornate_banknotes
call fcn.1800288c0
call fcn.180028a50
call fcn.180028ac0
lea rcx, str.scr_ornate_heist
call fcn.180024d90
lea rcx, str.scr_ornate_heist
call fcn.180024a80
call fcn.18000a910
mov edx, eax
mov dword [rsp + 0x40], 0xdead
lea rcx, str.scr_heist_ornate_banknotes
call fcn.1800288c0
call fcn.180028a50
call fcn.180028ac0
lea rcx, str.scr_ornate_heist
call fcn.180024d90
lea rcx, str.scr_ornate_heist
call fcn.180024a80
call fcn.18000a910
mov edx, eax
mov dword [rsp + 0x40], 0x3779
lea rcx, str.scr_heist_ornate_banknotes
call fcn.1800288c0
call fcn.180028a50
call fcn.180028ac0
lea rcx, str.scr_ornate_heist
call fcn.180024d90
lea rcx, str.scr_ornate_heist
call fcn.180024a80
call fcn.18000a910
mov edx, eax
mov dword [rsp + 0x40], 0xcc4d
lea rcx, str.scr_heist_ornate_banknotes
call fcn.1800288c0
call fcn.180028a50
add rsp, 0x78
jmp fcn.180028ac0
add rsp, 0x78
ret
mov rax, rsp
sub rsp, 0xf8
mov qword [rax + 8], rbx
movzx ebx, byte [0x1801f234a]
mov qword [rax + 0x10], rbp
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.180008bb0
xor ebp, ebp
mov ebx, ebp
cmp byte [0x1801f2348], bl
sete bl
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.180008cc0
cmp byte [0x1801f2344], bpl
xorps xmm10, xmm10
movss xmm11, dword [0x1801ba89c]
je 0x18002c1ab
lea ecx, [rbp + 0x20]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18002c1ab
call fcn.18000a910
mov ecx, eax
call fcn.1800291c0
test eax, eax
jne 0x18002c136
call fcn.18000a910
mov ecx, eax
call fcn.180029090
test eax, eax
je 0x18002c136
call fcn.18000a910
mov ebx, eax
call fcn.18000a910
mov ecx, eax
xor edx, edx
call fcn.180029170
call fcn.18000a910
mov ecx, eax
xor edx, edx
call fcn.1800292f0
call fcn.18000a910
mov ecx, eax
xor edx, edx
call fcn.180029200
mov dword [rsp + 0x48], 1
xorps xmm3, xmm3
mov dword [rsp + 0x40], 1
xorps xmm2, xmm2
mov ecx, ebx
movss dword [rsp + 0x20], xmm11
call fcn.180028520
mov dword [rsp + 0x48], 1
movaps xmm3, xmm11
mov dword [rsp + 0x40], 1
xorps xmm2, xmm2
mov ecx, ebx
movss dword [rsp + 0x20], xmm10
call fcn.180028520
movzx eax, byte [0x1801f233b]
test al, al
je 0x18002c181
mov ebx, ebp
sete bl
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.180029170
mov ebx, ebp
cmp byte [0x1801f233b], bl
sete bl
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.1800292f0
mov ebx, ebp
cmp byte [0x1801f233b], bl
sete bl
call fcn.18000a910
mov edx, ebx
jmp 0x18002c1a4
call fcn.18000a910
mov ecx, eax
xor edx, edx
call fcn.180029170
call fcn.18000a910
mov ecx, eax
xor edx, edx
call fcn.1800292f0
call fcn.18000a910
xor edx, edx
mov ecx, eax
call fcn.180029200
cmp byte [0x1801f2342], bpl
je 0x18002c1c7
call fcn.18000a910
mov ecx, eax
call fcn.18000a8d0
mov ecx, eax
call fcn.180028b50
cmp byte [0x1801f2343], bpl
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm7
je 0x18002c26c
call fcn.18000a910
mov ecx, eax
call fcn.18000a8d0
mov ecx, eax
call fcn.180028b50
call fcn.18000a910
mov ecx, eax
call fcn.180029090
test eax, eax
je 0x18002c26c
call fcn.18000a910
mov ecx, eax
call fcn.180028400
test eax, eax
je 0x18002c266
mov eax, dword [0x1801f293c]
sub eax, 6
mov dword [0x1801f293c], eax
cmp eax, 0xfffffd30
jl 0x18002c26c
call fcn.18000a910
mov ecx, eax
call fcn.180008190
movd xmm7, dword [0x1801f293c]
movaps xmm6, xmm0
cvtdq2ps xmm7, xmm7
call fcn.18000a910
mov dword [rsp + 0x28], ebp
mov ecx, eax
mov dword [rsp + 0x20], ebp
movaps xmm3, xmm6
xorps xmm2, xmm2
movaps xmm1, xmm7
call fcn.180008c00
jmp 0x18002c26c
mov dword [0x1801f293c], ebp
cmp byte [0x1801f2341], bpl
je 0x18002c366
mov edx, 0x15
xor ecx, ecx
lea r8d, [rdx - 0x14]
call fcn.180028d00
mov edx, 0x25
xor ecx, ecx
lea r8d, [rdx - 0x24]
call fcn.180028d00
call fcn.18000a910
mov ecx, eax
call fcn.180029050
test eax, eax
jne 0x18002c2ca
call fcn.18000a910
mov ecx, eax
call fcn.180028340
comiss xmm0, dword [0x1801ba8e0]
jbe 0x18002c2ca
call fcn.18000a910
mov ecx, eax
call fcn.1800298d0
call fcn.18000a910
mov ecx, eax
call fcn.180028400
test eax, eax
je 0x18002c366
call fcn.18000a910
mov ecx, eax
call fcn.1800291c0
test eax, eax
jne 0x18002c366
lea edx, [rax + 0x15]
xor ecx, ecx
call fcn.180028c40
test eax, eax
je 0x18002c329
call fcn.18000a910
movss xmm3, dword [0x1801baca0]
mov ecx, eax
mov dword [rsp + 0x48], 1
xorps xmm2, xmm2
mov dword [rsp + 0x40], 1
movss dword [rsp + 0x20], xmm3
call fcn.180028520
mov edx, 0x25
xor ecx, ecx
call fcn.180028c40
test eax, eax
je 0x18002c366
call fcn.18000a910
movss xmm3, dword [0x1801bb704]
mov ecx, eax
mov dword [rsp + 0x48], 1
xorps xmm2, xmm2
mov dword [rsp + 0x40], 1
movss dword [rsp + 0x20], xmm3
call fcn.180028520
cmp byte [0x1801f2340], bpl
je 0x18002c3cb
call fcn.18000a910
mov ecx, eax
mov ebx, eax
call fcn.180028400
test eax, eax
jne 0x18002c3cb
mov ecx, ebx
call fcn.1800291c0
test eax, eax
jne 0x18002c3cb
mov ecx, ebx
call fcn.180028df0
test eax, eax
jne 0x18002c3a2
mov ecx, ebx
call fcn.180028d70
test eax, eax
je 0x18002c3cb
movss xmm3, dword [0x1801ba874]
xorps xmm2, xmm2
mov dword [rsp + 0x48], 1
mov ecx, ebx
mov dword [rsp + 0x40], 1
movss dword [rsp + 0x20], xmm10
call fcn.180028520
cmp byte [0x1801f2347], bpl
je 0x18002c3f7
call fcn.18001b160
mov ecx, eax
xor edx, edx
call fcn.180024ca0
call fcn.18001b160
mov ecx, eax
xor edx, edx
call fcn.180024d10
xor ecx, ecx
call fcn.180024d60
movzx ebx, byte [0x1801f233f]
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.1800290d0
call fcn.180028b80
test eax, eax
jne 0x18002c434
mov ebx, ebp
cmp byte [0x1801f233f], bl
sete bl
call fcn.18000a910
mov r8d, ebx
mov edx, 0x20
mov ecx, eax
call fcn.18000a650
cmp byte [0x1801f2346], bpl
je 0x18002c475
call fcn.18001b160
mov ecx, eax
call fcn.180029450
mov ecx, eax
mov ebx, eax
call fcn.180024d60
call fcn.18001b160
mov ecx, eax
mov edx, ebx
call fcn.180024ca0
movzx ebx, byte [0x1801f2346]
call fcn.18001b160
mov edx, ebx
mov ecx, eax
call fcn.180024d10
cmp byte [0x1801f2345], bpl
je 0x18002c4b1
mov ecx, 5
call fcn.180024d60
mov ebx, dword [0x1801f234c]
call fcn.18001b160
mov edx, ebx
mov ecx, eax
call fcn.180024ca0
movzx ebx, byte [0x1801f2345]
call fcn.18001b160
mov edx, ebx
mov ecx, eax
call fcn.180024d10
cmp byte [0x1801f233e], bpl
je 0x18002c4c4
movss xmm0, dword [0x1801ba818]
jmp 0x18002c4cc
movss xmm0, dword [0x1801ba858]
call fcn.180028b20
movzx ebx, byte [0x1801f233c]
call fcn.18000a910
mov r8d, ebx
mov edx, 0xdf
mov ecx, eax
call fcn.18000a650
movzx eax, byte [0x1801f233b]
test al, al
je 0x18002c53c
mov ebx, ebp
sete bl
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.180029170
mov ebx, ebp
cmp byte [0x1801f233b], bl
sete bl
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.1800292f0
mov ebx, ebp
cmp byte [0x1801f233b], bl
sete bl
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.180029200
movzx eax, byte [0x1801f2319]
test al, al
je 0x18002c584
mov ebx, eax
call fcn.18000a910
mov edx, ebx
mov ecx, eax
call fcn.180008bb0
call fcn.18000a910
mov edx, 0x80
mov ecx, eax
lea r8d, [rdx - 0x7f]
call fcn.180008db0
call fcn.18000a910
mov ecx, eax
xor r8d, r8d
mov edx, 0x80
call fcn.180008db0
mov ebx, ebp
jmp 0x18002c595
call fcn.18000a910
mov ecx, eax
call fcn.180028830
mov ebx, 1
call fcn.18000a910
mov ecx, eax
mov edx, ebx
call fcn.18000a6c0
cmp byte [0x1801f233a], bpl
je 0x18002c7b9
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xb0], xmm9
call fcn.18000a910
xor r8d, r8d
lea rcx, [rsp + 0x70]
mov edx, eax
call fcn.1800080c0
call fcn.18000a910
mov ecx, eax
call fcn.180028720
movss xmm9, dword [rsp + 0x78]
mov r9d, 7
movss xmm8, dword [rsp + 0x70]
movaps xmm1, xmm9
movss xmm6, dword [rsp + 0x80]
addss xmm1, xmm11
movss xmm7, dword [0x1801bb2f4]
movaps xmm0, xmm8
mov dword [rsp + 0x40], 1
addss xmm0, xmm11
movss dword [rsp + 0x38], xmm10
movaps xmm2, xmm6
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], ebp
movss dword [rsp + 0x20], xmm7
call fcn.180008e20
mov dword [rsp + 0x40], 1
movaps xmm1, xmm9
addss xmm1, dword [0x1801ba8bc]
movss dword [rsp + 0x38], xmm10
movaps xmm0, xmm8
addss xmm0, dword [0x1801ba8bc]
mov dword [rsp + 0x30], 1
mov r9d, 7
mov dword [rsp + 0x28], ebp
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm7
call fcn.180008e20
mov dword [rsp + 0x40], 1
movaps xmm1, xmm9
addss xmm1, dword [0x1801ba8e0]
movss dword [rsp + 0x38], xmm10
movaps xmm0, xmm8
addss xmm0, dword [0x1801ba8e0]
mov dword [rsp + 0x30], 1
mov r9d, 7
mov dword [rsp + 0x28], ebp
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm7
call fcn.180008e20
mov dword [rsp + 0x40], 1
movaps xmm1, xmm9
addss xmm1, dword [0x1801ba90c]
movss dword [rsp + 0x38], xmm10
movaps xmm0, xmm8
addss xmm0, dword [0x1801ba90c]
mov dword [rsp + 0x30], 1
mov r9d, 7
mov dword [rsp + 0x28], ebp
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm7
call fcn.180008e20
mov dword [rsp + 0x40], 1
movaps xmm1, xmm9
addss xmm1, dword [0x1801ba930]
movss dword [rsp + 0x38], xmm10
movaps xmm0, xmm8
addss xmm0, dword [0x1801ba930]
mov dword [rsp + 0x30], 1
mov r9d, 7
mov dword [rsp + 0x28], ebp
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm7
call fcn.180008e20
addss xmm9, dword [0x1801ba944]
addss xmm8, dword [0x1801ba944]
mov dword [rsp + 0x40], 1
movss dword [rsp + 0x38], xmm10
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], ebp
movss dword [rsp + 0x20], xmm7
mov r9d, 7
movaps xmm2, xmm6
movaps xmm1, xmm9
movaps xmm0, xmm8
call fcn.180008e20
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
cmp byte [0x1801f2314], bpl
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
je 0x18002c8a4
mov qword [rsp + 0xf0], rdi
call fcn.18000a910
mov ecx, eax
call fcn.18002ad20
mov rdi, qword [0x1801f2968]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x18002c89c
mov qword [rsp + 0x110], rsi
nop word [rax + rax]
mov esi, dword [rbx + 0x1c]
mov ecx, esi
call fcn.180029120
mov ecx, esi
call fcn.1800293b0
mov ecx, esi
call fcn.180029340
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], bpl
je 0x18002c868
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], bpl
jne 0x18002c863
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x18002c863
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], bpl
je 0x18002c850
mov rbx, rax
jmp 0x18002c88f
mov rcx, qword [rax]
mov rbx, rax
cmp byte [rcx + 0x19], bpl
jne 0x18002c88f
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx]
mov rbx, rcx
mov rcx, rax
cmp byte [rax + 0x19], bpl
je 0x18002c880
cmp rbx, rdi
jne 0x18002c820
mov rsi, qword [rsp + 0x110]
mov rdi, qword [rsp + 0xf0]
call fcn.18002b870
call fcn.180029d70
cmp byte [0x1801f2317], bpl
je 0x18002c8e0
mov rdx, qword [0x1801f22d0]
mov rax, qword [rdx + 0xb8]
mov rcx, qword [rax + 0x30]
mov dword [rcx + 0x95130], ebp
mov rax, qword [rdx + 0xb8]
mov rcx, qword [rax + 0x30]
mov dword [rcx + 0x951b0], ebp
cmp byte [0x1801f2318], bpl
je 0x18002c950
call fcn.18000a910
mov ecx, eax
call fcn.18000a8d0
imul ecx, eax, 0x1bb
mov rax, qword [0x1801f22d0]
mov rax, qword [rax + 0xb8]
movsxd rdx, ecx
add rdx, 0x288e08
mov rcx, rdx
and edx, 0x3ffff
shr rcx, 0x12
and ecx, 0x3f
mov rax, qword [rax + rcx*8]
mov dword [rax + rdx*8], 1
call fcn.180028bb0
mov rcx, qword [0x1801f22d0]
add eax, 0x3e7
mov rdx, qword [rcx + 0xb8]
mov rcx, qword [rdx + 0x50]
mov dword [rcx + 0x63d90], eax
movzx ecx, byte [0x1801f2316]
call fcn.180028860
movzx ecx, byte [0x1801f2315]
call fcn.180028890
cmp byte [0x1801f2339], bpl
je 0x18002c993
mov ebx, dword [0x1801f3d40]
add ebx, 0xc
mov dword [0x1801f3d40], ebx
call fcn.18000a910
movd xmm1, ebx
mov ecx, eax
cvtdq2ps xmm1, xmm1
call fcn.180008af0
cmp byte [0x1801f233d], bpl
setne bpl
mov ecx, ebp
call fcn.1800282c0
mov ecx, ebp
call fcn.180028290
call fcn.18002a020
cmp byte [0x1801f231d], 0
mov rbp, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x100]
je 0x18002cabd
lea rcx, str.scr_rcbarry2
call fcn.180024d90
lea rcx, str.scr_rcbarry2
call fcn.180024a80
call fcn.18000a910
mov edx, eax
mov dword [rsp + 0x40], 0x49d9
lea rcx, str.sp_clown_appear_trails
call fcn.1800288c0
call fcn.180028a50
call fcn.180028ac0
lea rcx, str.scr_rcbarry2
call fcn.180024d90
lea rcx, str.scr_rcbarry2
call fcn.180024a80
call fcn.18000a910
mov edx, eax
mov dword [rsp + 0x40], 0xdead
lea rcx, str.sp_clown_appear_trails
call fcn.1800288c0
call fcn.180028a50
lea rcx, str.scr_rcbarry2
call fcn.180024d90
lea rcx, str.scr_rcbarry2
call fcn.180024a80
call fcn.18000a910
mov edx, eax
mov dword [rsp + 0x40], 0x3779
lea rcx, str.sp_clown_appear_trails
call fcn.1800288c0
call fcn.180028a50
call fcn.180028ac0
lea rcx, str.scr_rcbarry2
call fcn.180024d90
lea rcx, str.scr_rcbarry2
call fcn.180024a80
call fcn.18000a910
mov edx, eax
mov dword [rsp + 0x40], 0xcc4d
lea rcx, str.sp_clown_appear_trails
call fcn.1800288c0
call fcn.180028a50
call fcn.180028ac0
call fcn.18002a180
call fcn.18002a290
add rsp, 0xf8
jmp 0x18002a3a0