Function at 0x140021890
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 [0x1401940c0]
xor rax, rsp
mov qword [rbp + 0x200], rax
xor r12d, r12d
lea rcx, [rbp + 0x90]
call fcn.1400014e0
mov rax, qword [0x14022ec18]
mov rax, qword [rax + 0x4b10]
lea r8, str.Background
xor edx, edx
mov rcx, qword [rax]
call fcn.1400577e0
mov r13, rax
xorps xmm8, xmm8
movss xmm10, dword [0x14017c120]
cmp byte [0x14022eb5a], r12b
je 0x1400219e3
cmp byte [0x14022ebd8], r12b
je 0x1400219e3
movss xmm0, dword [0x140194d6c]
mulss xmm0, dword [0x14017c0c4]
movss xmm6, dword [0x14022eed0]
mulss xmm6, xmm10
mulss xmm0, xmm10
call fcn.140122070
movaps xmm7, xmm0
mulss xmm7, dword [0x14017c174]
mulss xmm7, xmm6
lea rcx, [0x140194d58]
call fcn.140053320
mov ebx, eax
movss xmm0, dword [0x14022eed4]
mulss xmm0, xmm10
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm0
test eax, 0xff000000
je 0x1400219e3
comiss xmm7, xmm10
jb 0x1400219e3
mov dword [rsp + 0x28], 0x3f
movss xmm0, dword [0x14017c1b0]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
movaps xmm2, xmm7
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.140070d00
mov r9d, ebx
mov r8d, dword [r13 + 0x78]
mov rdx, qword [r13 + 0x80]
mov rcx, r13
call fcn.140070270
mov dword [r13 + 0x78], r12d
lea r8, [0x14022ed80]
lea rdx, [rbp + 0x198]
lea rcx, [0x14022ed10]
call fcn.1400109a0
mov r15, qword [rax]
mov qword [rbp - 0x58], r15
mov rbx, qword [0x14022ed10]
mov rbx, qword [rbx]
movss xmm9, dword [0x14017c15c]
movss xmm7, dword [0x14017c1c4]
cmp byte [rbx + 0x19], r12b
jne 0x1400222a9
movabs r14, 0x6666666666666667
movss xmm6, dword [0x14017c1c8]
lea rsi, [0x140151434]
lea rdi, str.:.1f
cmp byte [rbx + 0x29], 0
jne 0x140022249
cmp byte [rbx + 0x28], 0
je 0x140022249
cmp byte [0x140194d38], 0
je 0x140021a74
movzx eax, byte [r15 + 0x30]
cmp byte [rbx + 0x30], al
je 0x140022249
cmp byte [0x14022eaf6], 0
je 0x140021aaa
lea rcx, [0x140194d10]
call fcn.140053320
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.1400717c0
cmp byte [0x14022eaf8], 0
je 0x140021aff
lea rdi, [rbx + 0x50]
lea rsi, [rdi + 0x110]
cmp rdi, rsi
je 0x140021af1
lea rcx, [0x140194d00]
call fcn.140053320
mov r9d, eax
lea r8, [rdi + 8]
movss dword [rsp + 0x20], xmm9
mov rdx, rdi
mov rcx, r13
call fcn.140071660
add rdi, 0x10
cmp rdi, rsi
jne 0x140021ac3
lea rsi, [0x140151434]
lea rdi, str.:.1f
cmp byte [0x14022ebd8], 1
jne 0x140022249
cmp byte [0x14022eaf1], 0
je 0x140021b63
lea rcx, [0x140194cf0]
call fcn.140053320
mov rcx, qword [0x14022ec18]
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.140071660
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1a8], xmm1
mov qword [rbp + 0x1b8], r12
cmp byte [0x14022eaf2], 0
je 0x140021c3c
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.140003300
mov r8d, 0xa
lea rdx, [rbp + 0xb8]
lea rcx, [0x14022ee40]
call fcn.140040c30
mov qword [rbp - 0x50], rax
lea rdx, [rbx + 0x170]
lea rcx, [rbp - 0x48]
call fcn.14000ca10
nop
mov rdx, qword [rbp + 0x1b0]
cmp rdx, qword [rbp + 0x1b8]
je 0x140021c22
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 0x140021c33
lea r8, [rbp - 0x50]
lea rcx, [rbp + 0x1a8]
call fcn.140025450
nop
lea rcx, [rbp - 0x48]
call fcn.14000e650
cmp byte [0x14022eaf3], 0
je 0x140021dc4
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.140025280
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
mov qword [rbp + 8], r12
mov r8d, 0x14
lea rdx, [0x140172890]
lea rcx, [rbp - 0x10]
call fcn.140003300
nop
lea r9, [rbp + 0x158]
lea r8, [rbp - 0x10]
lea rcx, [rsp + 0x60]
call fcn.1400130a0
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.140003300
mov r8d, 0xa
lea rdx, [rbp + 0xd8]
lea rcx, [0x14022ee40]
call fcn.140040c30
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 0x140021d88
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 0x140021d99
lea r8, [rbp - 0x50]
lea rcx, [rbp + 0x1a8]
call fcn.140025450
nop
lea rcx, [rbp - 0x48]
call fcn.14000e650
nop
lea rcx, [rsp + 0x60]
call fcn.14000e650
nop
lea rcx, [rbp - 0x10]
call fcn.14000e650
nop
lea rcx, [rbp + 0x158]
call fcn.14000e650
cmp byte [0x14022eaf7], 0
je 0x140021f48
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.140025280
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
mov qword [rbp + 8], r12
mov r8d, 6
lea rdx, [0x1401728a8]
lea rcx, [rbp - 0x10]
call fcn.140003300
nop
lea r9, [rbp + 0x178]
lea r8, [rbp - 0x10]
lea rcx, [rsp + 0x60]
call fcn.1400130a0
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.140003300
mov r8d, 0xa
lea rdx, [rbp + 0xf8]
lea rcx, [0x14022ee40]
call fcn.140040c30
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 0x140021f0c
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 0x140021f1d
lea r8, [rbp - 0x50]
lea rcx, [rbp + 0x1a8]
call fcn.140025450
nop
lea rcx, [rbp - 0x48]
call fcn.14000e650
nop
lea rcx, [rsp + 0x60]
call fcn.14000e650
nop
lea rcx, [rbp - 0x10]
call fcn.14000e650
nop
lea rcx, [rbp + 0x178]
call fcn.14000e650
cmp byte [0x14022eaf0], 0
je 0x14002204a
lea rdx, [rbx + 0x190]
lea rcx, [rbp - 0x50]
call fcn.14000ca10
mov rcx, rax
call fcn.140021130
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.140003300
mov r8d, 0x10
lea rdx, [rbp + 0x70]
lea rcx, [0x14022ee40]
call fcn.140040c30
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 0x140021fd0
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.140003300
nop
mov rdx, qword [rbp + 0x1b0]
cmp rdx, qword [rbp + 0x1b8]
je 0x14002202e
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 0x140022040
lea r8, [rsp + 0x60]
lea rcx, [rbp + 0x1a8]
call fcn.140025450
nop
lea rcx, [rsp + 0x68]
call fcn.14000e650
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 0x1400221b9
mov r14, r12
movabs r12, 0x6666666666666667
nop dword [rax + rax]
lea rdi, [r14 + r14*4]
mov rcx, qword [rsi + rdi*8]
call fcn.1400604b0
mov rax, qword [rbp + 0x1a8]
lea r8, [rax + 8]
lea r8, [r8 + rdi*8]
cmp qword [r8 + 0x18], 0xf
jbe 0x1400220b6
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 0x1400220ee
mulss xmm1, xmm6
jmp 0x1400220f2
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 0x140022111
add rcx, r8
cmp r8, rcx
je 0x14002216f
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.140074f80
call fcn.140060550
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 0x140022090
xor r12d, r12d
movabs r14, 0x6666666666666667
test rsi, rsi
je 0x140022245
cmp rsi, rdi
je 0x1400221e0
lea rcx, [rsi + 8]
call fcn.14000e650
add rsi, 0x28
cmp rsi, rdi
jne 0x1400221c7
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 0x14002222b
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022db1
mov rcx, rsi
call fcn.1400f1a70
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 0x140022278
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x140022273
nop dword [rax]
cmp rbx, qword [rax + 0x10]
jne 0x140022273
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140022260
mov rbx, rax
jmp 0x14002229f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x14002229f
nop dword [rax]
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x140022290
cmp byte [rbx + 0x19], 0
je 0x140021a3b
cmp byte [0x14022ebd8], 1
jne 0x140022d37
mov rbx, qword [0x14022ed20]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x140022af9
movss xmm6, dword [0x14017c1a4]
cmp byte [rbx + 0x28], 0
je 0x140022aa2
cmp qword [rbx + 0x58], 0
je 0x140022aa2
cmp byte [0x14022eaf4], 0
je 0x1400226ef
lea r14, [rbx + 0x48]
cmp qword [rbx + 0x60], 0xf
jbe 0x140022303
mov r14, qword [rbx + 0x48]
mov rax, qword [rbx + 0x58]
cmp rax, 6
jb 0x1400226ef
lea rdi, [rax + r14]
lea r8, [rdi - 5]
sub r8, r14
mov edx, 0x77
mov rcx, r14
call fcn.140123bd0
test rax, rax
je 0x1400226ef
mov rdx, r12
lea r8, str.weapon
nop dword [rax]
movzx ecx, byte [rax + rdx]
inc rdx
cmp cl, byte [r8 + rdx - 1]
jne 0x140022359
cmp rdx, 6
jne 0x140022340
mov ecx, r12d
jmp 0x14002235e
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x140022383
inc rax
lea r8, [rdi - 5]
sub r8, rax
mov edx, 0x77
mov rcx, rax
call fcn.140123bd0
test rax, rax
jne 0x140022332
jmp 0x1400226ef
sub rax, r14
cmp rax, 0xffffffffffffffff
je 0x1400226ef
cmp dword [rbx + 0x68], 0xffffffff
jne 0x1400226ef
lea rdx, [rbx + 0x48]
lea rcx, [rbp + 0x1e0]
call fcn.14000ca10
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 0x1400223df
add r14, rdi
jmp 0x1400223e9
add r14, rdx
lea rdi, [rbp + 0x1e0]
cmp rdi, r14
je 0x140022404
sub rsi, rdi
movsx ecx, byte [rdi]
call fcn.140102ab0
mov byte [rsi + rdi], al
inc rdi
cmp rdi, r14
jne 0x1400223f1
lea rcx, [0x140194d10]
call fcn.140053320
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.1400717c0
lea rcx, [0x140194cf0]
call fcn.140053320
mov rcx, qword [0x14022ec18]
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.140071660
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.140003300
mov r8d, 0xc
lea rdx, [rsp + 0x60]
lea rcx, [0x14022ee40]
call fcn.140040c30
mov rcx, rax
call fcn.1400604b0
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 0x140022db7
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.140003300
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 0x140022560
add rcx, rdx
cmp rdx, rcx
je 0x1400225be
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.140074f80
nop
lea rcx, [rbp + 0x98]
call fcn.14000e650
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.140025280
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 0x140022670
add rcx, rdx
cmp rdx, rcx
je 0x1400226d1
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.140074f80
nop
lea rcx, [rbp + 0x118]
call fcn.14000e650
call fcn.140060550
nop
lea rcx, [rbp + 0x1e0]
call fcn.14000e650
cmp byte [0x14022eaf5], 0
je 0x140022aa2
lea r14, [rbx + 0x48]
cmp qword [rbx + 0x60], 0xf
jbe 0x14002270b
mov r14, qword [rbx + 0x48]
mov rcx, qword [rbx + 0x58]
cmp rcx, 0xa
jb 0x140022778
lea rsi, [rcx + r14]
lea r8, [rsi - 9]
sub r8, r14
mov edx, 0x70
mov rcx, r14
call fcn.140123bd0
mov rdi, rax
test rax, rax
je 0x140022778
nop word [rax + rax]
mov r8d, 0xa
lea rdx, str.projectile
mov rcx, rdi
call fcn.140123c70
test eax, eax
je 0x1400227ce
inc rdi
lea r8, [rsi - 9]
sub r8, rdi
mov edx, 0x70
mov rcx, rdi
call fcn.140123bd0
mov rdi, rax
test rax, rax
jne 0x140022740
mov rdi, 0xffffffffffffffff
cmp rdi, 0xffffffffffffffff
je 0x140022aa2
lea rdx, [rbx + 0x48]
lea rcx, [rbp + 0x1c0]
call fcn.14000ca10
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 0x1400227d3
add r14, rdi
jmp 0x1400227dd
sub rdi, r14
jmp 0x14002277f
add r14, rdx
lea rdi, [rbp + 0x1c0]
cmp rdi, r14
je 0x1400227f8
sub rsi, rdi
movsx ecx, byte [rdi]
call fcn.140102ab0
mov byte [rsi + rdi], al
inc rdi
cmp rdi, r14
jne 0x1400227e5
lea rcx, [0x140194d10]
call fcn.140053320
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.1400717c0
lea rcx, [0x140194cf0]
call fcn.140053320
mov rcx, qword [0x14022ec18]
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.140071660
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.140003300
mov r8d, 0xa
lea rdx, [rsp + 0x60]
lea rcx, [0x14022ee40]
call fcn.140040c30
mov rcx, rax
call fcn.1400604b0
mov rax, qword [rbp + 0x1d0]
lea rcx, [rax - 0xb]
cmp rax, rcx
jb 0x140022dab
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 0x140022924
add rcx, rdx
cmp rdx, rcx
je 0x140022983
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.140074f80
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.140025280
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 0x140022a23
add rcx, rdx
cmp rdx, rcx
je 0x140022a84
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.140074f80
nop
lea rcx, [rbp + 0x138]
call fcn.14000e650
call fcn.140060550
nop
lea rcx, [rbp + 0x1c0]
call fcn.14000e650
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x140022ace
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x140022ac9
cmp rbx, qword [rax + 0x10]
jne 0x140022ac9
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140022ab6
mov rbx, rax
jmp 0x140022aef
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x140022aef
nop word [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x140022ae0
cmp byte [rbx + 0x19], 0
je 0x1400222d2
cmp byte [0x14022ebec], 0
je 0x140022d37
mov rax, qword [0x14022ec18]
or dword [rax + 0x4a00], 0x10
movaps xmm0, xmmword [0x14017c600]
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.140003300
mov r8d, 0xa
lea rdx, [rbp + 0x70]
lea rcx, [0x14022ee40]
call fcn.140040c30
mov rcx, rax
call fcn.1400604b0
mov rbx, qword [0x14022ec18]
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.14006c610
mov dword [rbx + 0x38e8], 0x3f266666
mov edx, 0xff3f3faf
mov ecx, 0xa
call fcn.140053830
mov edx, 0xff3f3faf
mov ecx, 0xb
call fcn.140053830
mov edx, 0xff3f3faf
mov ecx, 0xc
call fcn.140053830
xor edx, edx
mov r8d, 0x2162
lea rcx, [0x1401728d0]
call fcn.14005da20
test al, al
je 0x140022cd3
cmp qword [r15 + 0x168], 0
jbe 0x140022cce
mov dword [rsp + 0x50], r12d
lea rdx, [rsp + 0x50]
lea rcx, [r15 + 0x160]
call fcn.14000af60
mov rdi, rax
cmp byte [rax], 0
je 0x140022cbb
mov rcx, qword [0x14022ec18]
mov rbx, qword [rcx + 0x4000]
xor edx, edx
mov rcx, rbx
call fcn.140056e80
mov esi, eax
add rbx, 0x100
mov ecx, dword [rbx]
mov r8d, dword [rbx + 4]
cmp ecx, r8d
jne 0x140022c78
inc ecx
test r8d, r8d
je 0x140022c64
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x140022c69
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.14006d400
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 0x140022c9b
mov rcx, qword [rcx]
lea r9, [rsp + 0x58]
xor edx, edx
call fcn.14008b270
mov rax, qword [0x14022ec18]
mov rcx, qword [rax + 0x4000]
dec dword [rcx + 0x100]
inc r12d
movsxd rax, r12d
cmp rax, qword [r15 + 0x168]
jb 0x140022c02
call fcn.14005fdf0
mov ecx, 3
mov r9, qword [0x14022ec18]
mov eax, dword [r9 + 0x4a78]
cmp eax, ecx
jge 0x140022cf0
mov ecx, eax
test eax, eax
jle 0x140022d28
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 0x140022cf0
mov ecx, 1
call fcn.140053b00
call fcn.140060550
lea rcx, [rbp - 0x70]
call fcn.1400014e0
mov rcx, qword [rax]
sub rcx, qword [rbp + 0x90]
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mulss xmm0, dword [0x14017c0a0]
movss dword [0x14022ebe8], xmm0
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.1400f1a50
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.14000efe0
nop
call fcn.1401024d8
nop
call fcn.14000efe0
int3