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

Disassembly:
sub rsp, 0x78
cmp byte [0x1801f22aa], 0
je 0x18002abf9
lea rcx, str.scr_ornate_heist
call fcn.1800254b0
lea rcx, str.scr_ornate_heist
call fcn.1800251a0
call fcn.18000a950
mov edx, eax
mov dword [rsp + 0x40], 0x49d9
lea rcx, str.scr_heist_ornate_banknotes
call fcn.180029010
call fcn.1800291a0
call fcn.180029210
lea rcx, str.scr_ornate_heist
call fcn.1800254b0
lea rcx, str.scr_ornate_heist
call fcn.1800251a0
call fcn.18000a950
mov edx, eax
mov dword [rsp + 0x40], 0xdead
lea rcx, str.scr_heist_ornate_banknotes
call fcn.180029010
call fcn.1800291a0
call fcn.180029210
lea rcx, str.scr_ornate_heist
call fcn.1800254b0
lea rcx, str.scr_ornate_heist
call fcn.1800251a0
call fcn.18000a950
mov edx, eax
mov dword [rsp + 0x40], 0x3779
lea rcx, str.scr_heist_ornate_banknotes
call fcn.180029010
call fcn.1800291a0
call fcn.180029210
lea rcx, str.scr_ornate_heist
call fcn.1800254b0
lea rcx, str.scr_ornate_heist
call fcn.1800251a0
call fcn.18000a950
mov edx, eax
mov dword [rsp + 0x40], 0xcc4d
lea rcx, str.scr_heist_ornate_banknotes
call fcn.180029010
call fcn.1800291a0
add rsp, 0x78
jmp fcn.180029210
add rsp, 0x78
ret
mov rax, rsp
sub rsp, 0xf8
mov qword [rax + 8], rbx
movzx ebx, byte [0x1801f22da]
mov qword [rax + 0x10], rbp
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.180008bf0
xor ebp, ebp
mov ebx, ebp
cmp byte [0x1801f22d8], bl
sete bl
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.180008d00
cmp byte [0x1801f22d4], bpl
xorps xmm10, xmm10
movss xmm11, dword [0x1801ba89c]
je 0x18002c91b
lea ecx, [rbp + 0x20]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18002c91b
call fcn.18000a950
mov ecx, eax
call fcn.180029910
test eax, eax
jne 0x18002c8a6
call fcn.18000a950
mov ecx, eax
call fcn.1800297e0
test eax, eax
je 0x18002c8a6
call fcn.18000a950
mov ebx, eax
call fcn.18000a950
mov ecx, eax
xor edx, edx
call fcn.1800298c0
call fcn.18000a950
mov ecx, eax
xor edx, edx
call fcn.180029a40
call fcn.18000a950
mov ecx, eax
xor edx, edx
call fcn.180029950
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.180028c70
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.180028c70
movzx eax, byte [0x1801f22cb]
test al, al
je 0x18002c8f1
mov ebx, ebp
sete bl
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.1800298c0
mov ebx, ebp
cmp byte [0x1801f22cb], bl
sete bl
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.180029a40
mov ebx, ebp
cmp byte [0x1801f22cb], bl
sete bl
call fcn.18000a950
mov edx, ebx
jmp 0x18002c914
call fcn.18000a950
mov ecx, eax
xor edx, edx
call fcn.1800298c0
call fcn.18000a950
mov ecx, eax
xor edx, edx
call fcn.180029a40
call fcn.18000a950
xor edx, edx
mov ecx, eax
call fcn.180029950
cmp byte [0x1801f22d2], bpl
je 0x18002c937
call fcn.18000a950
mov ecx, eax
call fcn.18000a910
mov ecx, eax
call fcn.1800292a0
cmp byte [0x1801f22d3], bpl
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm7
je 0x18002c9dc
call fcn.18000a950
mov ecx, eax
call fcn.18000a910
mov ecx, eax
call fcn.1800292a0
call fcn.18000a950
mov ecx, eax
call fcn.1800297e0
test eax, eax
je 0x18002c9dc
call fcn.18000a950
mov ecx, eax
call fcn.180028b50
test eax, eax
je 0x18002c9d6
mov eax, dword [0x1801f28cc]
sub eax, 6
mov dword [0x1801f28cc], eax
cmp eax, 0xfffffd30
jl 0x18002c9dc
call fcn.18000a950
mov ecx, eax
call fcn.1800081d0
movd xmm7, dword [0x1801f28cc]
movaps xmm6, xmm0
cvtdq2ps xmm7, xmm7
call fcn.18000a950
mov dword [rsp + 0x28], ebp
mov ecx, eax
mov dword [rsp + 0x20], ebp
movaps xmm3, xmm6
xorps xmm2, xmm2
movaps xmm1, xmm7
call fcn.180008c40
jmp 0x18002c9dc
mov dword [0x1801f28cc], ebp
cmp byte [0x1801f22d1], bpl
je 0x18002cad6
mov edx, 0x15
xor ecx, ecx
lea r8d, [rdx - 0x14]
call fcn.180029450
mov edx, 0x25
xor ecx, ecx
lea r8d, [rdx - 0x24]
call fcn.180029450
call fcn.18000a950
mov ecx, eax
call fcn.1800297a0
test eax, eax
jne 0x18002ca3a
call fcn.18000a950
mov ecx, eax
call fcn.180028a90
comiss xmm0, dword [0x1801ba8e0]
jbe 0x18002ca3a
call fcn.18000a950
mov ecx, eax
call fcn.18002a020
call fcn.18000a950
mov ecx, eax
call fcn.180028b50
test eax, eax
je 0x18002cad6
call fcn.18000a950
mov ecx, eax
call fcn.180029910
test eax, eax
jne 0x18002cad6
lea edx, [rax + 0x15]
xor ecx, ecx
call fcn.180029390
test eax, eax
je 0x18002ca99
call fcn.18000a950
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.180028c70
mov edx, 0x25
xor ecx, ecx
call fcn.180029390
test eax, eax
je 0x18002cad6
call fcn.18000a950
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.180028c70
cmp byte [0x1801f22d0], bpl
je 0x18002cb3b
call fcn.18000a950
mov ecx, eax
mov ebx, eax
call fcn.180028b50
test eax, eax
jne 0x18002cb3b
mov ecx, ebx
call fcn.180029910
test eax, eax
jne 0x18002cb3b
mov ecx, ebx
call fcn.180029540
test eax, eax
jne 0x18002cb12
mov ecx, ebx
call fcn.1800294c0
test eax, eax
je 0x18002cb3b
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.180028c70
cmp byte [0x1801f22d7], bpl
je 0x18002cb67
call fcn.18001b880
mov ecx, eax
xor edx, edx
call fcn.1800253c0
call fcn.18001b880
mov ecx, eax
xor edx, edx
call fcn.180025430
xor ecx, ecx
call fcn.180025480
movzx ebx, byte [0x1801f22cf]
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.180029820
call fcn.1800292d0
test eax, eax
jne 0x18002cba4
mov ebx, ebp
cmp byte [0x1801f22cf], bl
sete bl
call fcn.18000a950
mov r8d, ebx
mov edx, 0x20
mov ecx, eax
call fcn.18000a690
cmp byte [0x1801f22d6], bpl
je 0x18002cbe5
call fcn.18001b880
mov ecx, eax
call fcn.180029ba0
mov ecx, eax
mov ebx, eax
call fcn.180025480
call fcn.18001b880
mov ecx, eax
mov edx, ebx
call fcn.1800253c0
movzx ebx, byte [0x1801f22d6]
call fcn.18001b880
mov edx, ebx
mov ecx, eax
call fcn.180025430
cmp byte [0x1801f22d5], bpl
je 0x18002cc21
mov ecx, 5
call fcn.180025480
mov ebx, dword [0x1801f22dc]
call fcn.18001b880
mov edx, ebx
mov ecx, eax
call fcn.1800253c0
movzx ebx, byte [0x1801f22d5]
call fcn.18001b880
mov edx, ebx
mov ecx, eax
call fcn.180025430
cmp byte [0x1801f22ce], bpl
je 0x18002cc34
movss xmm0, dword [0x1801ba818]
jmp 0x18002cc3c
movss xmm0, dword [0x1801ba858]
call fcn.180029270
movzx ebx, byte [0x1801f22cc]
call fcn.18000a950
mov r8d, ebx
mov edx, 0xdf
mov ecx, eax
call fcn.18000a690
movzx eax, byte [0x1801f22cb]
test al, al
je 0x18002ccac
mov ebx, ebp
sete bl
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.1800298c0
mov ebx, ebp
cmp byte [0x1801f22cb], bl
sete bl
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.180029a40
mov ebx, ebp
cmp byte [0x1801f22cb], bl
sete bl
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.180029950
movzx eax, byte [0x1801f22a9]
test al, al
je 0x18002ccf4
mov ebx, eax
call fcn.18000a950
mov edx, ebx
mov ecx, eax
call fcn.180008bf0
call fcn.18000a950
mov edx, 0x80
mov ecx, eax
lea r8d, [rdx - 0x7f]
call fcn.180008df0
call fcn.18000a950
mov ecx, eax
xor r8d, r8d
mov edx, 0x80
call fcn.180008df0
mov ebx, ebp
jmp 0x18002cd05
call fcn.18000a950
mov ecx, eax
call fcn.180028f80
mov ebx, 1
call fcn.18000a950
mov ecx, eax
mov edx, ebx
call fcn.18000a700
cmp byte [0x1801f22ca], bpl
je 0x18002cf29
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xb0], xmm9
call fcn.18000a950
xor r8d, r8d
lea rcx, [rsp + 0x70]
mov edx, eax
call fcn.180008100
call fcn.18000a950
mov ecx, eax
call fcn.180028e70
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.180008e60
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.180008e60
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.180008e60
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.180008e60
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.180008e60
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.180008e60
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
cmp byte [0x1801f22a4], bpl
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
je 0x18002d014
mov qword [rsp + 0xf0], rdi
call fcn.18000a950
mov ecx, eax
call fcn.18002b470
mov rdi, qword [0x1801f28f8]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x18002d00c
mov qword [rsp + 0x110], rsi
nop word [rax + rax]
mov esi, dword [rbx + 0x1c]
mov ecx, esi
call fcn.180029870
mov ecx, esi
call fcn.180029b00
mov ecx, esi
call fcn.180029a90
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], bpl
je 0x18002cfd8
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], bpl
jne 0x18002cfd3
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x18002cfd3
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], bpl
je 0x18002cfc0
mov rbx, rax
jmp 0x18002cfff
mov rcx, qword [rax]
mov rbx, rax
cmp byte [rcx + 0x19], bpl
jne 0x18002cfff
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx]
mov rbx, rcx
mov rcx, rax
cmp byte [rax + 0x19], bpl
je 0x18002cff0
cmp rbx, rdi
jne 0x18002cf90
mov rsi, qword [rsp + 0x110]
mov rdi, qword [rsp + 0xf0]
call fcn.18002bfc0
call fcn.18002a4c0
cmp byte [0x1801f22a7], bpl
je 0x18002d050
mov rdx, qword [0x1801f2260]
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 [0x1801f22a8], bpl
je 0x18002d0c0
call fcn.18000a950
mov ecx, eax
call fcn.18000a910
imul ecx, eax, 0x1bb
mov rax, qword [0x1801f2260]
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.180029300
mov rcx, qword [0x1801f2260]
add eax, 0x3e7
mov rdx, qword [rcx + 0xb8]
mov rcx, qword [rdx + 0x50]
mov dword [rcx + 0x63d90], eax
movzx ecx, byte [0x1801f22a6]
call fcn.180028fb0
movzx ecx, byte [0x1801f22a5]
call fcn.180028fe0
cmp byte [0x1801f22c9], bpl
je 0x18002d103
mov ebx, dword [0x1801f3cd0]
add ebx, 0xc
mov dword [0x1801f3cd0], ebx
call fcn.18000a950
movd xmm1, ebx
mov ecx, eax
cvtdq2ps xmm1, xmm1
call fcn.180008b30
cmp byte [0x1801f22cd], bpl
setne bpl
mov ecx, ebp
call fcn.180028a10
mov ecx, ebp
call fcn.1800289e0
call fcn.18002a770
cmp byte [0x1801f22ad], 0
mov rbp, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x100]
je 0x18002d22d
lea rcx, str.scr_rcbarry2
call fcn.1800254b0
lea rcx, str.scr_rcbarry2
call fcn.1800251a0
call fcn.18000a950
mov edx, eax
mov dword [rsp + 0x40], 0x49d9
lea rcx, str.sp_clown_appear_trails
call fcn.180029010
call fcn.1800291a0
call fcn.180029210
lea rcx, str.scr_rcbarry2
call fcn.1800254b0
lea rcx, str.scr_rcbarry2
call fcn.1800251a0
call fcn.18000a950
mov edx, eax
mov dword [rsp + 0x40], 0xdead
lea rcx, str.sp_clown_appear_trails
call fcn.180029010
call fcn.1800291a0
lea rcx, str.scr_rcbarry2
call fcn.1800254b0
lea rcx, str.scr_rcbarry2
call fcn.1800251a0
call fcn.18000a950
mov edx, eax
mov dword [rsp + 0x40], 0x3779
lea rcx, str.sp_clown_appear_trails
call fcn.180029010
call fcn.1800291a0
call fcn.180029210
lea rcx, str.scr_rcbarry2
call fcn.1800254b0
lea rcx, str.scr_rcbarry2
call fcn.1800251a0
call fcn.18000a950
mov edx, eax
mov dword [rsp + 0x40], 0xcc4d
lea rcx, str.sp_clown_appear_trails
call fcn.180029010
call fcn.1800291a0
call fcn.180029210
call fcn.18002a8d0
call fcn.18002a9e0
add rsp, 0xf8
jmp 0x18002aaf0