Function at 0x1400218f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x360
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x1401930c0]
xor rax, rsp
mov qword [rbp + 0x200], rax
xor r12d, r12d
lea rcx, [rbp + 0x90]
call fcn.1400014d0
mov rax, qword [0x14022dc20]
mov rax, qword [rax + 0x4b10]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.140056d30
mov r13, rax
xorps xmm8, xmm8
movss xmm10, dword [0x14017b0a8]
cmp byte [0x14022db5a], r12b
je 0x140021a43
cmp byte [0x14022dbd8], r12b
je 0x140021a43
movss xmm0, dword [0x140193d6c]
mulss xmm0, dword [0x14017b04c]
movss xmm6, dword [0x14022ded0]
mulss xmm6, xmm10
mulss xmm0, xmm10
call fcn.1401215d0
movaps xmm7, xmm0
mulss xmm7, dword [0x14017b0fc]
mulss xmm7, xmm6
lea rcx, [0x140193d58]
call fcn.140052870
mov ebx, eax
movss xmm0, dword [0x14022ded4]
mulss xmm0, xmm10
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm0
test eax, 0xff000000
je 0x140021a43
comiss xmm7, xmm10
jb 0x140021a43
mov dword [rsp + 0x28], 0x3f
movss xmm0, dword [0x14017b138]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
movaps xmm2, xmm7
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.140070250
mov r9d, ebx
mov r8d, dword [r13 + 0x78]
mov rdx, qword [r13 + 0x80]
mov rcx, r13
call fcn.14006f7c0
mov dword [r13 + 0x78], r12d
lea r8, [0x14022dd80]
lea rdx, [rbp + 0x198]
lea rcx, [0x14022dd10]
call fcn.140010990
mov r15, qword [rax]
mov qword [rbp - 0x58], r15
mov rbx, qword [0x14022dd10]
mov rbx, qword [rbx]
movss xmm9, dword [0x14017b0e4]
movss xmm7, dword [0x14017b14c]
cmp byte [rbx + 0x19], r12b
jne 0x140022309
movabs r14, 0x6666666666666667
movss xmm6, dword [0x14017b150]
lea rsi, [0x140150434]
lea rdi, str.:.1f
cmp byte [rbx + 0x29], 0
jne 0x1400222a9
cmp byte [rbx + 0x28], 0
je 0x1400222a9
cmp byte [0x140193d38], 0
je 0x140021ad4
movzx eax, byte [r15 + 0x30]
cmp byte [rbx + 0x30], al
je 0x1400222a9
cmp byte [0x14022daf6], 0
je 0x140021b0a
lea rcx, [0x140193d10]
call fcn.140052870
mov r9d, eax
lea r8, [rbx + 0x48]
lea rdx, [rbx + 0x40]
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x20], xmm8
mov rcx, r13
call fcn.140070d10
cmp byte [0x14022daf8], 0
je 0x140021b5f
lea rdi, [rbx + 0x50]
lea rsi, [rdi + 0x110]
cmp rdi, rsi
je 0x140021b51
lea rcx, [0x140193d00]
call fcn.140052870
mov r9d, eax
lea r8, [rdi + 8]
movss dword [rsp + 0x20], xmm9
mov rdx, rdi
mov rcx, r13
call fcn.140070bb0
add rdi, 0x10
cmp rdi, rsi
jne 0x140021b23
lea rsi, [0x140150434]
lea rdi, str.:.1f
cmp byte [0x14022dbd8], 1
jne 0x1400222a9
cmp byte [0x14022daf1], 0
je 0x140021bc3
lea rcx, [0x140193cf0]
call fcn.140052870
mov rcx, qword [0x14022dc20]
movss xmm1, dword [rcx + 0x14]
mulss xmm1, xmm10
movss xmm0, dword [rcx + 0x10]
mulss xmm0, xmm10
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
lea r8, [rbx + 0x38]
movss dword [rsp + 0x20], xmm9
mov r9d, eax
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.140070bb0
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1a8], xmm1
mov qword [rbp + 0x1b8], r12
cmp byte [0x14022daf2], 0
je 0x140021c9c
movups xmmword [rbp + 0xb8], xmm0
mov qword [rbp + 0xc8], r12
mov qword [rbp + 0xd0], r12
mov r8d, 0x13
lea rdx, str.Montserrat_Semibold
lea rcx, [rbp + 0xb8]
call fcn.1400032f0
mov r8d, 0xa
lea rdx, [rbp + 0xb8]
lea rcx, [0x14022de40]
call fcn.140040c90
mov qword [rbp - 0x50], rax
lea rdx, [rbx + 0x170]
lea rcx, [rbp - 0x48]
call fcn.14000ca00
nop
mov rdx, qword [rbp + 0x1b0]
cmp rdx, qword [rbp + 0x1b8]
je 0x140021c82
mov rax, qword [rbp - 0x50]
mov qword [rdx], rax
movups xmm0, xmmword [rbp - 0x48]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rbp - 0x38]
movups xmmword [rdx + 0x18], xmm1
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
add qword [rbp + 0x1b0], 0x28
jmp 0x140021c93
lea r8, [rbp - 0x50]
lea rcx, [rbp + 0x1a8]
call fcn.1400254b0
nop
lea rcx, [rbp - 0x48]
call fcn.14000e640
cmp byte [0x14022daf3], 0
je 0x140021e24
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], 6
movss xmm0, dword [rbx + 0x2c]
movss dword [rbp - 0x68], xmm0
movabs rax, 0x7000000000000000
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x30], 1
lea rax, [rbp - 0x70]
mov qword [rbp + 0x38], rax
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp - 0x20], xmm0
movaps xmm1, xmmword [rbp + 0x20]
movdqa xmmword [rbp + 0x10], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x158]
call fcn.1400252e0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
mov qword [rbp + 8], r12
mov r8d, 0x14
lea rdx, [0x1401718b0]
lea rcx, [rbp - 0x10]
call fcn.1400032f0
nop
lea r9, [rbp + 0x158]
lea r8, [rbp - 0x10]
lea rcx, [rsp + 0x60]
call fcn.140013090
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
mov qword [rbp + 0xe8], r12
mov qword [rbp + 0xf0], r12
mov r8d, 0x13
lea rdx, str.Montserrat_Semibold
lea rcx, [rbp + 0xd8]
call fcn.1400032f0
mov r8d, 0xa
lea rdx, [rbp + 0xd8]
lea rcx, [0x14022de40]
call fcn.140040c90
mov qword [rbp - 0x50], rax
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x48], xmm1
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbp - 0x38], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp + 0x1b0]
cmp rdx, qword [rbp + 0x1b8]
je 0x140021de8
mov qword [rdx], rax
movups xmmword [rdx + 8], xmm1
movups xmmword [rdx + 0x18], xmm0
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
add qword [rbp + 0x1b0], 0x28
jmp 0x140021df9
lea r8, [rbp - 0x50]
lea rcx, [rbp + 0x1a8]
call fcn.1400254b0
nop
lea rcx, [rbp - 0x48]
call fcn.14000e640
nop
lea rcx, [rsp + 0x60]
call fcn.14000e640
nop
lea rcx, [rbp - 0x10]
call fcn.14000e640
nop
lea rcx, [rbp + 0x158]
call fcn.14000e640
cmp byte [0x14022daf7], 0
je 0x140021fa8
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], 2
mov eax, dword [rbx + 0x34]
mov dword [rbp + 0x48], eax
movabs rax, 0x1000000000000000
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x50], 1
lea rax, [rbp + 0x40]
mov qword [rbp + 0x58], rax
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp - 0x20], xmm0
movaps xmm1, xmmword [rbp + 0x60]
movdqa xmmword [rbp + 0x10], xmm1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x178]
call fcn.1400252e0
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
mov qword [rbp + 8], r12
mov r8d, 6
lea rdx, [0x1401718c8]
lea rcx, [rbp - 0x10]
call fcn.1400032f0
nop
lea r9, [rbp + 0x178]
lea r8, [rbp - 0x10]
lea rcx, [rsp + 0x60]
call fcn.140013090
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xf8], xmm0
mov qword [rbp + 0x108], r12
mov qword [rbp + 0x110], r12
mov r8d, 0x13
lea rdx, str.Montserrat_Semibold
lea rcx, [rbp + 0xf8]
call fcn.1400032f0
mov r8d, 0xa
lea rdx, [rbp + 0xf8]
lea rcx, [0x14022de40]
call fcn.140040c90
mov qword [rbp - 0x50], rax
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rbp - 0x48], xmm1
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbp - 0x38], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp + 0x1b0]
cmp rdx, qword [rbp + 0x1b8]
je 0x140021f6c
mov qword [rdx], rax
movups xmmword [rdx + 8], xmm1
movups xmmword [rdx + 0x18], xmm0
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
add qword [rbp + 0x1b0], 0x28
jmp 0x140021f7d
lea r8, [rbp - 0x50]
lea rcx, [rbp + 0x1a8]
call fcn.1400254b0
nop
lea rcx, [rbp - 0x48]
call fcn.14000e640
nop
lea rcx, [rsp + 0x60]
call fcn.14000e640
nop
lea rcx, [rbp - 0x10]
call fcn.14000e640
nop
lea rcx, [rbp + 0x178]
call fcn.14000e640
cmp byte [0x14022daf0], 0
je 0x1400220aa
lea rdx, [rbx + 0x190]
lea rcx, [rbp - 0x50]
call fcn.14000ca00
mov rcx, rax
call fcn.140021190
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x88], r12
mov r8d, 8
lea rdx, str.GunIcons
lea rcx, [rbp + 0x70]
call fcn.1400032f0
mov r8d, 0x10
lea rdx, [rbp + 0x70]
lea rcx, [0x14022de40]
call fcn.140040c90
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdi + r8], 0
jne 0x140022030
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.1400032f0
nop
mov rdx, qword [rbp + 0x1b0]
cmp rdx, qword [rbp + 0x1b8]
je 0x14002208e
mov rax, qword [rsp + 0x60]
mov qword [rdx], rax
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [rdx + 0x18], xmm1
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
add qword [rbp + 0x1b0], 0x28
jmp 0x1400220a0
lea r8, [rsp + 0x60]
lea rcx, [rbp + 0x1a8]
call fcn.1400254b0
nop
lea rcx, [rsp + 0x68]
call fcn.14000e640
xor r15b, r15b
mov rdi, qword [rbp + 0x1b0]
mov rcx, rdi
mov rsi, qword [rbp + 0x1a8]
sub rcx, rsi
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140022219
mov r14, r12
movabs r12, 0x6666666666666667
nop dword [rax + rax]
lea rdi, [r14 + r14*4]
mov rcx, qword [rsi + rdi*8]
call fcn.14005fa00
mov rax, qword [rbp + 0x1a8]
lea r8, [rax + 8]
lea r8, [r8 + rdi*8]
cmp qword [r8 + 0x18], 0xf
jbe 0x140022116
mov r8, qword [r8]
mov rcx, qword [rbp + 0x1b0]
sub rcx, rax
mov rax, r12
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx eax, r15b
movd xmm1, eax
cvtdq2ps xmm1, xmm1
lea rax, [rdx - 1]
cmp r14, rax
jne 0x14002214e
mulss xmm1, xmm6
jmp 0x140022152
mulss xmm1, xmm7
addss xmm1, dword [rbx + 0x44]
movss xmm0, dword [rbx + 0x48]
addss xmm0, xmm7
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x140022171
add rcx, r8
cmp r8, rcx
je 0x1400221cf
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x20], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0xffffffff
lea r9, [rbp - 0x60]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.1400744d0
call fcn.14005faa0
inc r15b
mov rdi, qword [rbp + 0x1b0]
mov rcx, rdi
mov rsi, qword [rbp + 0x1a8]
sub rcx, rsi
mov rax, r12
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movzx r14d, r15b
cmp r14, rdx
jb 0x1400220f0
xor r12d, r12d
movabs r14, 0x6666666666666667
test rsi, rsi
je 0x1400222a5
cmp rsi, rdi
je 0x140022240
lea rcx, [rsi + 8]
call fcn.14000e640
add rsi, 0x28
cmp rsi, rdi
jne 0x140022227
mov rsi, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1b8]
sub rcx, rsi
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, rsi
cmp rdx, 0x1000
jb 0x14002228b
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022e11
mov rcx, rsi
call fcn.1400f0fd0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1a8], xmm0
mov qword [rbp + 0x1b8], r12
mov r15, qword [rbp - 0x58]
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x1400222d8
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400222d3
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x1400222d3
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400222c0
mov rbx, rax
jmp 0x1400222ff
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x1400222ff
nop dword [rax]
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x1400222f0
cmp byte [rbx + 0x19], 0
je 0x140021a9b
cmp byte [0x14022dbd8], 1
jne 0x140022d97
mov rbx, qword [0x14022dd20]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x140022b59
movss xmm6, dword [0x14017b12c]
cmp byte [rbx + 0x28], 0
je 0x140022b02
cmp qword [rbx + 0x58], 0
je 0x140022b02
cmp byte [0x14022daf4], 0
je 0x14002274f
lea r14, [rbx + 0x48]
cmp qword [rbx + 0x60], 0xf
jbe 0x140022363
mov r14, qword [rbx + 0x48]
mov rax, qword [rbx + 0x58]
cmp rax, 6
jb 0x14002274f
lea rdi, [rax + r14]
lea r8, [rdi - 5]
sub r8, r14
mov edx, 0x77
mov rcx, r14
call fcn.140123130
test rax, rax
je 0x14002274f
mov rdx, r12
lea r8, str.weapon
nop dword [rax]
movzx ecx, byte [rax + rdx]
inc rdx
cmp cl, byte [r8 + rdx - 1]
jne 0x1400223b9
cmp rdx, 6
jne 0x1400223a0
mov ecx, r12d
jmp 0x1400223be
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400223e3
inc rax
lea r8, [rdi - 5]
sub r8, rax
mov edx, 0x77
mov rcx, rax
call fcn.140123130
test rax, rax
jne 0x140022392
jmp 0x14002274f
sub rax, r14
cmp rax, 0xffffffffffffffff
je 0x14002274f
cmp dword [rbx + 0x68], 0xffffffff
jne 0x14002274f
lea rdx, [rbx + 0x48]
lea rcx, [rbp + 0x1e0]
call fcn.14000ca00
nop
lea rsi, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 0xf
seta cl
mov rdi, qword [rbp + 0x1e0]
cmova rsi, rdi
lea rdx, [rbp + 0x1e0]
mov r14, qword [rbp + 0x1f0]
test cl, cl
je 0x14002243f
add r14, rdi
jmp 0x140022449
add r14, rdx
lea rdi, [rbp + 0x1e0]
cmp rdi, r14
je 0x140022464
sub rsi, rdi
movsx ecx, byte [rdi]
call fcn.140102010
mov byte [rsi + rdi], al
inc rdi
cmp rdi, r14
jne 0x140022451
lea rcx, [0x140193d10]
call fcn.140052870
mov r9d, eax
lea rdx, [rbx + 0x38]
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x20], xmm8
lea r8, [rbx + 0x40]
mov rcx, r13
call fcn.140070d10
lea rcx, [0x140193cf0]
call fcn.140052870
mov rcx, qword [0x14022dc20]
movss xmm1, dword [rcx + 0x14]
mulss xmm1, xmm10
movss xmm0, dword [rcx + 0x10]
mulss xmm0, xmm10
movss dword [rbp - 0x58], xmm0
movss dword [rbp - 0x54], xmm1
movss dword [rsp + 0x20], xmm9
mov r9d, eax
lea r8, [rbx + 0x40]
lea rdx, [rbp - 0x58]
mov rcx, r13
call fcn.140070bb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
mov r8d, 0x13
lea rdx, str.Montserrat_Semibold
lea rcx, [rsp + 0x60]
call fcn.1400032f0
mov r8d, 0xc
lea rdx, [rsp + 0x60]
lea rcx, [0x14022de40]
call fcn.140040c90
mov rcx, rax
call fcn.14005fa00
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], r12
mov qword [rbp + 0xb0], r12
mov rax, qword [rbp + 0x1f0]
cmp rax, 7
jb 0x140022e17
add rax, 0xfffffffffffffff9
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 0xf
cmova rdx, qword [rbp + 0x1e0]
add rdx, 7
lea rcx, [rbp + 0x98]
call fcn.1400032f0
nop
lea rdx, [rbp + 0x98]
cmp qword [rbp + 0xb0], 0xf
cmova rdx, qword [rbp + 0x98]
movss xmm1, dword [rbx + 0x3c]
movss xmm0, dword [rbx + 0x40]
addss xmm0, xmm6
movss dword [rbp - 0x60], xmm0
movss dword [rbp - 0x5c], xmm1
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x1400225c0
add rcx, rdx
cmp rdx, rcx
je 0x14002261e
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rbp - 0x70], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdx
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0xffffffff
lea r9, [rbp - 0x60]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.1400744d0
nop
lea rcx, [rbp + 0x98]
call fcn.14000e640
lea rax, str.:.1f_.
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 0xa
movss xmm0, dword [rbx + 0x2c]
movss dword [rbp + 0x68], xmm0
movabs rax, 0x7000000000000000
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x50], 1
lea rax, [rbp + 0x60]
mov qword [rbp + 0x58], rax
movaps xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp - 0x70], xmm0
movaps xmm1, xmmword [rbp + 0x40]
movdqa xmmword [rsp + 0x60], xmm1
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x118]
call fcn.1400252e0
nop
lea rdx, [rbp + 0x118]
cmp qword [rbp + 0x130], 0xf
cmova rdx, qword [rbp + 0x118]
movss xmm1, dword [rbx + 0x3c]
addss xmm1, xmm7
movss xmm0, dword [rbx + 0x40]
addss xmm0, xmm6
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x1400226d0
add rcx, rdx
cmp rdx, rcx
je 0x140022731
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0xffffffff
lea r9, [rsp + 0x50]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.1400744d0
nop
lea rcx, [rbp + 0x118]
call fcn.14000e640
call fcn.14005faa0
nop
lea rcx, [rbp + 0x1e0]
call fcn.14000e640
cmp byte [0x14022daf5], 0
je 0x140022b02
lea r14, [rbx + 0x48]
cmp qword [rbx + 0x60], 0xf
jbe 0x14002276b
mov r14, qword [rbx + 0x48]
mov rcx, qword [rbx + 0x58]
cmp rcx, 0xa
jb 0x1400227d8
lea rsi, [rcx + r14]
lea r8, [rsi - 9]
sub r8, r14
mov edx, 0x70
mov rcx, r14
call fcn.140123130
mov rdi, rax
test rax, rax
je 0x1400227d8
nop word [rax + rax]
mov r8d, 0xa
lea rdx, str.projectile
mov rcx, rdi
call fcn.1401231d0
test eax, eax
je 0x14002282e
inc rdi
lea r8, [rsi - 9]
sub r8, rdi
mov edx, 0x70
mov rcx, rdi
call fcn.140123130
mov rdi, rax
test rax, rax
jne 0x1400227a0
mov rdi, 0xffffffffffffffff
cmp rdi, 0xffffffffffffffff
je 0x140022b02
lea rdx, [rbx + 0x48]
lea rcx, [rbp + 0x1c0]
call fcn.14000ca00
nop
lea rsi, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0xf
seta cl
mov rdi, qword [rbp + 0x1c0]
cmova rsi, rdi
lea rdx, [rbp + 0x1c0]
mov r14, qword [rbp + 0x1d0]
test cl, cl
je 0x140022833
add r14, rdi
jmp 0x14002283d
sub rdi, r14
jmp 0x1400227df
add r14, rdx
lea rdi, [rbp + 0x1c0]
cmp rdi, r14
je 0x140022858
sub rsi, rdi
movsx ecx, byte [rdi]
call fcn.140102010
mov byte [rsi + rdi], al
inc rdi
cmp rdi, r14
jne 0x140022845
lea rcx, [0x140193d10]
call fcn.140052870
mov r9d, eax
lea rdx, [rbx + 0x38]
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x20], xmm8
lea r8, [rbx + 0x40]
mov rcx, r13
call fcn.140070d10
lea rcx, [0x140193cf0]
call fcn.140052870
mov rcx, qword [0x14022dc20]
movss xmm1, dword [rcx + 0x14]
mulss xmm1, xmm10
movss xmm0, dword [rcx + 0x10]
mulss xmm0, xmm10
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm1
movss dword [rsp + 0x20], xmm9
mov r9d, eax
lea r8, [rbx + 0x40]
lea rdx, [rbp + 0x20]
mov rcx, r13
call fcn.140070bb0
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
mov r8d, 0x13
lea rdx, str.Montserrat_Semibold
lea rcx, [rsp + 0x60]
call fcn.1400032f0
mov r8d, 0xa
lea rdx, [rsp + 0x60]
lea rcx, [0x14022de40]
call fcn.140040c90
mov rcx, rax
call fcn.14005fa00
mov rax, qword [rbp + 0x1d0]
lea rcx, [rax - 0xb]
cmp rax, rcx
jb 0x140022e0b
mov qword [rbp + 0x1d0], rcx
lea rax, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0xf
cmova rax, qword [rbp + 0x1c0]
mov byte [rax + rcx], 0
lea rdx, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0xf
cmova rdx, qword [rbp + 0x1c0]
movss xmm1, dword [rbx + 0x3c]
movss xmm0, dword [rbx + 0x40]
addss xmm0, xmm6
movss dword [rbp + 0x30], xmm0
movss dword [rbp + 0x34], xmm1
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x140022984
add rcx, rdx
cmp rdx, rcx
je 0x1400229e3
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0xffffffff
lea r9, [rbp + 0x30]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.1400744d0
lea rax, str.:.1f_.
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 0xa
movss xmm0, dword [rbx + 0x2c]
movss dword [rbp - 8], xmm0
movabs rax, 0x7000000000000000
mov qword [rbp - 0x10], rax
mov qword [rbp + 0x10], 1
lea rax, [rbp - 0x10]
mov qword [rbp + 0x18], rax
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x70], xmm1
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x138]
call fcn.1400252e0
nop
lea rdx, [rbp + 0x138]
cmp qword [rbp + 0x150], 0xf
cmova rdx, qword [rbp + 0x138]
movss xmm1, dword [rbx + 0x3c]
addss xmm1, xmm7
movss xmm0, dword [rbx + 0x40]
addss xmm0, xmm6
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm1
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], 0
jne 0x140022a83
add rcx, rdx
cmp rdx, rcx
je 0x140022ae4
mov rax, qword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x88]
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm8
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0xffffffff
lea r9, [rsp + 0x58]
movss xmm2, dword [rax + 0x10]
mov rdx, r13
mov rcx, qword [rax + 8]
call fcn.1400744d0
nop
lea rcx, [rbp + 0x138]
call fcn.14000e640
call fcn.14005faa0
nop
lea rcx, [rbp + 0x1c0]
call fcn.14000e640
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x140022b2e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x140022b29
cmp rbx, qword [rax + 0x10]
jne 0x140022b29
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140022b16
mov rbx, rax
jmp 0x140022b4f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x140022b4f
nop word [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x140022b40
cmp byte [rbx + 0x19], 0
je 0x140022332
cmp byte [0x14022dbec], 0
je 0x140022d97
mov rax, qword [0x14022dc20]
or dword [rax + 0x4a00], 0x10
movaps xmm0, xmmword [0x14017b590]
movups xmmword [rax + 0x4a40], xmm0
mov qword [rax + 0x4a50], r12
mov qword [rax + 0x4a58], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r12
mov qword [rbp + 0x88], r12
mov r8d, 0x13
lea rdx, str.Montserrat_Semibold
lea rcx, [rbp + 0x70]
call fcn.1400032f0
mov r8d, 0xa
lea rdx, [rbp + 0x70]
lea rcx, [0x14022de40]
call fcn.140040c90
mov rcx, rax
call fcn.14005fa00
mov rbx, qword [0x14022dc20]
mov dword [rbp - 0x70], r12d
movss xmm0, dword [rbx + 0x38e8]
movss dword [rbp - 0x6c], xmm0
lea rcx, [rbx + 0x4a88]
lea rdx, [rbp - 0x70]
call fcn.14006bb60
mov dword [rbx + 0x38e8], 0x3f266666
mov edx, 0xff3f3faf
mov ecx, 0xa
call fcn.140052d80
mov edx, 0xff3f3faf
mov ecx, 0xb
call fcn.140052d80
mov edx, 0xff3f3faf
mov ecx, 0xc
call fcn.140052d80
xor edx, edx
mov r8d, 0x2162
lea rcx, [0x1401718f0]
call fcn.14005cf70
test al, al
je 0x140022d33
cmp qword [r15 + 0x168], 0
jbe 0x140022d2e
mov dword [rsp + 0x50], r12d
lea rdx, [rsp + 0x50]
lea rcx, [r15 + 0x160]
call fcn.14000af50
mov rdi, rax
cmp byte [rax], 0
je 0x140022d1b
mov rcx, qword [0x14022dc20]
mov rbx, qword [rcx + 0x4000]
xor edx, edx
mov rcx, rbx
call fcn.1400563d0
mov esi, eax
add rbx, 0x100
mov ecx, dword [rbx]
mov r8d, dword [rbx + 4]
cmp ecx, r8d
jne 0x140022cd8
inc ecx
test r8d, r8d
je 0x140022cc4
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x140022cc9
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.14006c950
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], esi
inc dword [rbx]
mov qword [rsp + 0x58], 0
lea rcx, [rdi + 8]
cmp qword [rcx + 0x18], 0xf
jbe 0x140022cfb
mov rcx, qword [rcx]
lea r9, [rsp + 0x58]
xor edx, edx
call fcn.14008a7c0
mov rax, qword [0x14022dc20]
mov rcx, qword [rax + 0x4000]
dec dword [rcx + 0x100]
inc r12d
movsxd rax, r12d
cmp rax, qword [r15 + 0x168]
jb 0x140022c62
call fcn.14005f340
mov ecx, 3
mov r9, qword [0x14022dc20]
mov eax, dword [r9 + 0x4a78]
cmp eax, ecx
jge 0x140022d50
mov ecx, eax
test eax, eax
jle 0x140022d88
cdqe
lea r8, [rax + rax*4]
mov rdx, qword [r9 + 0x4a80]
movsxd rax, dword [rdx + r8*4 - 0x14]
add rax, rax
movups xmm0, xmmword [rdx + r8*4 - 0x10]
movups xmmword [r9 + rax*8 + 0x39cc], xmm0
dec dword [r9 + 0x4a78]
mov eax, dword [r9 + 0x4a78]
dec ecx
test ecx, ecx
jg 0x140022d50
mov ecx, 1
call fcn.140053050
call fcn.14005faa0
lea rcx, [rbp - 0x70]
call fcn.1400014d0
mov rcx, qword [rax]
sub rcx, qword [rbp + 0x90]
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, dword [0x14017b028]
movss dword [0x14022dbe8], xmm0
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.1400f0fb0
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14000efd0
nop
call fcn.140101a38
nop
call fcn.14000efd0
int3