Function at 0x1800373a0
Capabilities:
Encode data using xor

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 - 0x5a8]
sub rsp, 0x680
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
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1801561e0]
xor rax, rsp
mov qword [rbp + 0x4d0], rax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x258], xmm1
xor r12d, r12d
mov qword [rbp + 0x268], r12
cmp qword [0x1801847c8], r12
je 0x1800384dd
mov ecx, dword [0x180184604]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x180185f30], ecx
jle 0x180037495
lea rcx, [0x180185f30]
call fcn.180113138
cmp dword [0x180185f30], 0xffffffff
jne 0x180037495
mov rdx, qword [0x180184778]
mov rax, qword [0x1801806f0]
mov rdx, qword [rax + rdx]
mov qword [0x180186368], rdx
lea rcx, [0x180185f30]
call fcn.1801130d8
mov r8d, r12d
mov dword [rsp + 0x48], r12d
mov rbx, qword [0x180186368]
cmp dword [rbx + 0x10], r12d
jle 0x180038483
mov rcx, r12
mov qword [rbp - 8], rcx
movabs r15, 0x15d757606d170c3c
movss xmm11, dword [0x180137c64]
movss xmm15, dword [0x180137b1c]
mov r13d, dword [rsp + 0x4c]
nop word [rax + rax]
mov rax, qword [rbx + 8]
movzx ecx, byte [rax + rcx]
and ecx, 0x80
mov edx, ecx
neg rdx
or rdx, rcx
sar rdx, 0x3f
not rdx
test rdx, rdx
je 0x180038466
mov eax, r8d
imul eax, dword [rbx + 0x14]
movsxd rdi, eax
add rdi, qword [rbx]
and rdi, rdx
je 0x180038466
cmp rdi, qword [0x1801847c8]
je 0x180038466
cmp byte [0x180184624], 0
jne 0x18003754c
cmp byte [0x1801807f1], 0
jne 0x18003754c
mov eax, dword [0x1801807d8]
cmp qword [rax + rdi], 0
je 0x180038466
movsd xmm0, qword [rdi + 0x90]
mov eax, dword [rdi + 0x98]
mov dword [rbp + 0x28], eax
mov rax, qword [0x1801847c8]
movss xmm7, dword [rbp + 0x28]
movaps xmm1, xmm7
subss xmm1, dword [rax + 0x98]
movaps xmm6, xmm0
shufps xmm6, xmm6, 0x55
movsd qword [rbp + 0x20], xmm0
movaps xmm2, xmm6
subss xmm2, dword [rax + 0x94]
movss xmm8, dword [rbp + 0x20]
movaps xmm0, xmm8
subss xmm0, dword [rax + 0x90]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x1800375c2
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x1800375cf
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
mov r8d, dword [rsp + 0x48]
xorps xmm14, xmm14
cvtss2sd xmm14, xmm0
movss xmm0, dword [0x180180814]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm14
jb 0x180038466
movss dword [rbp + 0x158], xmm7
movaps xmm0, xmm8
unpcklps xmm0, xmm6
movsd qword [rbp + 0x30], xmm0
mov eax, dword [rbp + 0x158]
mov dword [rbp + 0x38], eax
lea rdx, [rbp + 0x30]
lea rcx, [rsp + 0x68]
call fcn.1800106c0
movss xmm12, dword [rsp + 0x6c]
movss xmm13, dword [rsp + 0x68]
comiss xmm11, xmm13
ja 0x18003765d
comiss xmm11, xmm12
ja 0x18003765d
movss xmm0, dword [0x180184878]
subss xmm0, xmm11
comiss xmm13, xmm0
ja 0x18003765d
movss xmm0, dword [0x18018487c]
subss xmm0, xmm11
comiss xmm12, xmm0
ja 0x18003765d
mov al, 1
jmp 0x18003765f
xor al, al
test al, al
je 0x180038466
mov rax, qword [0x1801846d0]
mov rcx, rdi
call rax
mov esi, eax
mov rdx, qword [0x1801846d0]
mov rcx, qword [0x1801847c8]
call rdx
mov ebx, eax
mov dword [rbp + 0x250], eax
cvttss2si r14d, dword [rdi + 0x280]
mov dword [rsp + 0x50], r14d
mov edx, esi
mov rcx, r15
call fcn.180044180
mov dword [rsp + 0x54], eax
mov edx, esi
movabs rcx, 0x9483af821605b1d8
call fcn.180044180
mov dword [rsp + 0x58], eax
mov edx, esi
movabs rcx, 0x6c0e2e0125610278
call fcn.180044180
mov r15d, eax
mov dword [rsp + 0x4c], eax
mov qword [rbp + 0x270], r12
mov qword [rbp + 0x280], r12
mov qword [rbp + 0x288], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x270], 0
xor r8d, r8d
lea rdx, [0x18012f3d3]
lea rcx, [rbp + 0x270]
call fcn.180040f40
nop
mov edx, r15d
movabs rcx, 0x6d0de6a7b5da71f8
call fcn.180044570
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180037726
mov rdx, rax
lea rcx, [rbp + 0x270]
call fcn.180040f40
xor r12b, r12b
cmp byte [0x1801807fa], r12b
je 0x180037776
mov r9d, reloc.WS2_32.dll_send
mov r8d, esi
mov edx, ebx
movabs rcx, 0xfcdff7b72d23a1ac
call fcn.180044cd0
movzx r12d, r12b
test eax, eax
mov ebx, 1
cmovne r12d, ebx
jmp 0x18003777b
mov ebx, 1
xor r15b, r15b
cmp byte [0x1801807fb], r15b
jne 0x180037790
cmp byte [0x180184626], r15b
je 0x1800377ab
mov edx, esi
movabs rcx, 0x47d6f43d77935c75
call fcn.180044180
movzx r15d, r15b
test eax, eax
cmove r15d, ebx
mov byte [rsp + 0x20], 0
mov dword [rsp + 0x38], 0xd3f59190
mov dword [rsp + 0x3c], 0xa8acdec8
mov dword [rsp + 0x40], 0xeee9a6
mov byte [rsp + 0x44], 1
xor ecx, ecx
nop
lea eax, [rcx - 0x46]
xor byte [rsp + rcx + 0x38], al
inc rcx
cmp rcx, 0xb
jb 0x1800377d0
mov byte [rsp + 0x44], 0
lea rcx, [rsp + 0x38]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1800377f1
lea rcx, [rbp + 0x270]
cmp qword [rbp + 0x288], 0x10
cmovae rcx, qword [rbp + 0x270]
mov rdx, qword [rbp + 0x280]
cmp rdx, rax
jne 0x180037835
mov r8, rdx
lea rdx, [rsp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180037835
mov byte [rsp + 0x20], 1
jmp 0x180037849
mov eax, dword [0x1801807d8]
mov ecx, dword [0x1801807e4]
mov rax, qword [rax + rdi]
mov r13d, dword [rcx + rax]
cmp r14d, 0x65
setle byte [rsp + 0x21]
xor bl, bl
xor edx, edx
mov r8, qword [0x1801848a8]
mov r9, qword [0x1801848a0]
sub r8, r9
sar r8, 2
test r8, r8
je 0x180037899
xor ecx, ecx
mov r10d, 1
nop dword [rax + rax]
movzx ebx, bl
cmp dword [r9 + rcx], r13d
cmove ebx, r10d
inc edx
lea rcx, [rcx + 4]
movsxd rax, edx
cmp rax, r8
jb 0x180037880
xor r14b, r14b
cmp byte [0x180180840], r14b
jne 0x1800378b7
cmp byte [0x180180878], r14b
jne 0x1800378b7
cmp byte [0x180180b58], r14b
je 0x1800378de
xor r8d, r8d
mov edx, dword [rbp + 0x250]
movabs rcx, 0x997abd671d25ca0b
call fcn.180043e60
movzx r14d, r14b
test eax, eax
mov eax, 1
cmovne r14d, eax
mov qword [rbp + 0x290], 0
mov qword [rbp + 0x2a0], 0
mov qword [rbp + 0x2a8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x290], 0
xor r8d, r8d
lea rdx, [0x18012f3d3]
lea rcx, [rbp + 0x290]
call fcn.180040f40
nop
cmp byte [0x1801807fc], 0
je 0x180037a1c
lea r8, [rbp + 0x248]
mov edx, esi
call fcn.180046130
mov eax, dword [rbp + 0x248]
mov dword [rbp + 0x250], eax
lea r8, [rbp + 0x250]
lea rdx, [rbp + 0x238]
call fcn.18004d140
mov rax, qword [rax]
cmp qword [rax + 0x28], 0
jne 0x1800379ba
mov dword [rsp + 0x28], 0xcfddd5ef
mov dword [rsp + 0x2c], 0xa4dad3
mov byte [rsp + 0x30], 1
xor edx, edx
mov ecx, edx
nop word [rax + rax]
lea eax, [rcx - 0x46]
xor byte [rsp + rcx + 0x28], al
inc rcx
cmp rcx, 7
jb 0x180037980
mov byte [rsp + 0x30], dl
mov qword [rbp], rdx
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], reloc.WS2_32.dll_ntohs
mov r8d, 7
lea rdx, [rsp + 0x28]
lea rcx, [rbp]
call fcn.180040f40
jmp 0x1800379dd
lea r8, [rbp + 0x250]
lea rdx, [rbp + 0x228]
call fcn.18004d140
mov rdx, qword [rax]
add rdx, 0x18
lea rcx, [rbp]
call fcn.18003f330
lea rcx, [rbp + 0x290]
call fcn.180040e40
movups xmm0, xmmword [rbp]
movups xmmword [rbp + 0x290], xmm0
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rbp + 0x2a0], xmm1
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp], 0
lea rcx, [rbp]
call fcn.180040e40
mov r8d, 0x796e
lea rdx, [rbp + 0x420]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x420]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x164], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x40], xmm1
mov eax, dword [rbp + 0x164]
mov dword [rbp + 0x48], eax
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.1800106c0
mov r8d, 0x9995
lea rdx, [rbp + 0x410]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x410]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x170], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x50], xmm1
mov eax, dword [rbp + 0x170]
mov dword [rbp + 0x58], eax
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x78]
call fcn.1800106c0
mov r8d, 0xb1c5
lea rdx, [rbp + 0x460]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x460]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x17c], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x60], xmm1
mov eax, dword [rbp + 0x17c]
mov dword [rbp + 0x68], eax
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.1800106c0
mov r8d, 0xeeeb
lea rdx, [rbp + 0x480]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x480]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x188], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x70], xmm1
mov eax, dword [rbp + 0x188]
mov dword [rbp + 0x78], eax
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x78]
call fcn.1800106c0
mov r8d, 0x49d9
lea rdx, [rbp + 0x490]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x490]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x194], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x80], xmm1
mov eax, dword [rbp + 0x194]
mov dword [rbp + 0x88], eax
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x70]
call fcn.1800106c0
mov r8d, 0x29d2
lea rdx, [rbp + 0x4a0]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x4a0]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x1a0], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x90], xmm1
mov eax, dword [rbp + 0x1a0]
mov dword [rbp + 0x98], eax
lea rdx, [rbp + 0x90]
lea rcx, [rbp - 0x68]
call fcn.1800106c0
mov r8d, 0xbb0
lea rdx, [rbp + 0x4b0]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x4b0]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x1ac], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0xa0], xmm1
mov eax, dword [rbp + 0x1ac]
mov dword [rbp + 0xa8], eax
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x60]
call fcn.1800106c0
mov r8d, 0x9d4d
lea rdx, [rbp + 0x3c0]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x3c0]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x1b8], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0xb0], xmm1
mov eax, dword [rbp + 0x1b8]
mov dword [rbp + 0xb8], eax
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x58]
call fcn.1800106c0
mov r8d, 0x6e5c
lea rdx, [rbp + 0x3d0]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x3d0]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x1c4], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0xc0], xmm1
mov eax, dword [rbp + 0x1c4]
mov dword [rbp + 0xc8], eax
lea rdx, [rbp + 0xc0]
lea rcx, [rbp - 0x50]
call fcn.1800106c0
mov r8d, 0xdead
lea rdx, [rbp + 0x3e0]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x3e0]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x1d0], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0xd0], xmm1
mov eax, dword [rbp + 0x1d0]
mov dword [rbp + 0xd8], eax
lea rdx, [rbp + 0xd0]
lea rcx, [rbp - 0x48]
call fcn.1800106c0
mov r8d, 0x2e28
lea rdx, [rbp + 0x3f0]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x3f0]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x1dc], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0xe0], xmm1
mov eax, dword [rbp + 0x1dc]
mov dword [rbp + 0xe8], eax
lea rdx, [rbp + 0xe0]
lea rcx, [rbp - 0x40]
call fcn.1800106c0
mov r8d, 0xe39f
lea rdx, [rbp + 0x400]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x400]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x1e8], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0xf0], xmm1
mov eax, dword [rbp + 0x1e8]
mov dword [rbp + 0xf8], eax
lea rdx, [rbp + 0xf0]
lea rcx, [rbp - 0x38]
call fcn.1800106c0
mov r8d, 0xf9bb
lea rdx, [rbp + 0x4c0]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x4c0]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x1f4], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x100], xmm1
mov eax, dword [rbp + 0x1f4]
mov dword [rbp + 0x108], eax
lea rdx, [rbp + 0x100]
lea rcx, [rbp - 0x30]
call fcn.1800106c0
mov r8d, 0xca72
lea rdx, [rbp + 0x470]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x470]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x200], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x110], xmm1
mov eax, dword [rbp + 0x200]
mov dword [rbp + 0x118], eax
lea rdx, [rbp + 0x110]
lea rcx, [rbp - 0x28]
call fcn.1800106c0
mov r8d, 0x9000
lea rdx, [rbp + 0x430]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x430]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x20c], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x120], xmm1
mov eax, dword [rbp + 0x20c]
mov dword [rbp + 0x128], eax
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x20]
call fcn.1800106c0
mov r8d, 0x3779
lea rdx, [rbp + 0x440]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x440]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x218], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x130], xmm1
mov eax, dword [rbp + 0x218]
mov dword [rbp + 0x138], eax
lea rdx, [rbp + 0x130]
lea rcx, [rbp - 0x18]
call fcn.1800106c0
mov r8d, 0xcc4d
lea rdx, [rbp + 0x450]
mov rcx, rdi
call qword [0x1801847c0]
movaps xmm1, xmmword [rbp + 0x450]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
movss dword [rbp + 0x224], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x140], xmm1
mov eax, dword [rbp + 0x224]
mov dword [rbp + 0x148], eax
lea rdx, [rbp + 0x140]
lea rcx, [rbp - 0x10]
call fcn.1800106c0
movss xmm10, dword [rbp - 0xc]
movaps xmm0, xmm10
movss xmm9, dword [rbp - 0x14]
addss xmm0, xmm9
mulss xmm0, xmm15
movss xmm8, dword [rsp + 0x74]
movaps xmm7, xmm8
subss xmm7, xmm0
andps xmm7, xmmword [0x1801385e0]
mulss xmm7, dword [0x180137b60]
movaps xmm6, xmm7
mulss xmm6, xmm15
xor eax, eax
mov qword [rbp + 0x2b0], rax
mov qword [rbp + 0x2b8], rax
xor ecx, ecx
mov qword [rbp + 0x2c0], rcx
xorps xmm0, xmm0
movsd qword [rbp + 0x2c8], xmm0
mov qword [rbp + 0x2d0], rax
mov byte [rbp + 0x2d8], al
mov qword [rbp + 0x2e0], rcx
mov qword [rbp + 0x2f0], rcx
mov qword [rbp + 0x2f8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x2e0], al
lea r8d, [rax + 6]
lea rdx, str.Player
lea rcx, [rbp + 0x2e0]
call fcn.180040f40
nop
mov qword [rbp + 0x300], 0
mov qword [rbp + 0x310], 0
mov qword [rbp + 0x318], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x300], 0
xor r8d, r8d
lea rdx, [0x18012f3d3]
lea rcx, [rbp + 0x300]
call fcn.180040f40
mov dword [rbp + 0x320], 0
mov byte [rbp + 0x324], 0
mov qword [rbp + 0x328], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x330], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x340], xmm1
movups xmmword [rbp + 0x350], xmm0
movups xmmword [rbp + 0x360], xmm1
movups xmmword [rbp + 0x370], xmm0
movups xmmword [rbp + 0x380], xmm1
movups xmmword [rbp + 0x390], xmm0
movups xmmword [rbp + 0x3a0], xmm1
movups xmmword [rbp + 0x3b0], xmm0
mov qword [rbp + 0x2b0], rdi
mov dword [rbp + 0x2b8], esi
mov eax, dword [rsp + 0x50]
mov dword [rbp + 0x2bc], eax
mov eax, dword [rsp + 0x54]
mov dword [rbp + 0x2c0], eax
mov eax, dword [rsp + 0x58]
mov dword [rbp + 0x2c4], eax
movsd qword [rbp + 0x2c8], xmm14
mov eax, dword [rsp + 0x4c]
mov dword [rbp + 0x2d0], eax
mov dword [rbp + 0x2d4], r13d
lea rdx, [rbp + 0x270]
cmp qword [rbp + 0x288], 0x10
cmovae rdx, qword [rbp + 0x270]
mov r8, qword [rbp + 0x280]
lea rcx, [rbp + 0x2e0]
call fcn.180040f40
lea rdx, [rbp + 0x290]
cmp qword [rbp + 0x2a8], 0x10
cmovae rdx, qword [rbp + 0x290]
mov r8, qword [rbp + 0x2a0]
lea rcx, [rbp + 0x300]
call fcn.180040f40
mov byte [rbp + 0x2d8], r14b
movzx eax, byte [rsp + 0x21]
mov byte [rbp + 0x320], al
mov byte [rbp + 0x321], r12b
mov byte [rbp + 0x322], r15b
mov byte [rbp + 0x323], bl
movzx eax, byte [rsp + 0x20]
mov byte [rbp + 0x324], al
movss dword [rbp + 0x330], xmm7
movss dword [rbp + 0x334], xmm6
movss dword [rbp + 0x328], xmm13
movss dword [rbp + 0x32c], xmm12
movss xmm0, dword [rsp + 0x70]
movss dword [rbp + 0x338], xmm0
movss dword [rbp + 0x33c], xmm8
movss xmm1, dword [rsp + 0x78]
movss dword [rbp + 0x340], xmm1
movss xmm0, dword [rsp + 0x7c]
movss dword [rbp + 0x344], xmm0
movss xmm1, dword [rbp - 0x80]
movss dword [rbp + 0x348], xmm1
movss xmm0, dword [rbp - 0x7c]
movss dword [rbp + 0x34c], xmm0
movss xmm1, dword [rbp - 0x78]
movss dword [rbp + 0x350], xmm1
movss xmm0, dword [rbp - 0x74]
movss dword [rbp + 0x354], xmm0
movss xmm1, dword [rbp - 0x70]
movss dword [rbp + 0x358], xmm1
movss xmm0, dword [rbp - 0x6c]
movss dword [rbp + 0x35c], xmm0
movss xmm1, dword [rbp - 0x68]
movss dword [rbp + 0x360], xmm1
movss xmm0, dword [rbp - 0x64]
movss dword [rbp + 0x364], xmm0
movss xmm1, dword [rbp - 0x60]
movss dword [rbp + 0x368], xmm1
movss xmm0, dword [rbp - 0x5c]
movss dword [rbp + 0x36c], xmm0
movss xmm1, dword [rbp - 0x58]
movss dword [rbp + 0x370], xmm1
movss xmm0, dword [rbp - 0x54]
movss dword [rbp + 0x374], xmm0
movss xmm1, dword [rbp - 0x50]
movss dword [rbp + 0x378], xmm1
movss xmm0, dword [rbp - 0x4c]
movss dword [rbp + 0x37c], xmm0
movss xmm1, dword [rbp - 0x48]
movss dword [rbp + 0x380], xmm1
movss xmm0, dword [rbp - 0x44]
movss dword [rbp + 0x384], xmm0
movss xmm1, dword [rbp - 0x40]
movss dword [rbp + 0x388], xmm1
movss xmm0, dword [rbp - 0x3c]
movss dword [rbp + 0x38c], xmm0
movss xmm1, dword [rbp - 0x38]
movss dword [rbp + 0x390], xmm1
movss xmm0, dword [rbp - 0x34]
movss dword [rbp + 0x394], xmm0
movss xmm1, dword [rbp - 0x30]
movss dword [rbp + 0x398], xmm1
movss xmm0, dword [rbp - 0x2c]
movss dword [rbp + 0x39c], xmm0
movss xmm1, dword [rbp - 0x28]
movss dword [rbp + 0x3a0], xmm1
movss xmm0, dword [rbp - 0x24]
movss dword [rbp + 0x3a4], xmm0
movss xmm1, dword [rbp - 0x20]
movss dword [rbp + 0x3a8], xmm1
movss xmm0, dword [rbp - 0x1c]
movss dword [rbp + 0x3ac], xmm0
movss xmm1, dword [rbp - 0x18]
movss dword [rbp + 0x3b0], xmm1
movss dword [rbp + 0x3b4], xmm9
movss xmm0, dword [rbp - 0x10]
movss dword [rbp + 0x3b8], xmm0
movss dword [rbp + 0x3bc], xmm10
mov rax, qword [rbp + 0x260]
cmp rax, qword [rbp + 0x268]
je 0x180038404
lea rdx, [rbp + 0x2b0]
mov rcx, rax
call fcn.180013730
add qword [rbp + 0x260], 0x110
jmp 0x18003841b
lea r8, [rbp + 0x2b0]
mov rdx, rax
lea rcx, [rbp + 0x258]
call fcn.18004d760
nop
lea rcx, [rbp + 0x300]
call fcn.180040e40
lea rcx, [rbp + 0x2e0]
call fcn.180040e40
nop
lea rcx, [rbp + 0x290]
call fcn.180040e40
nop
lea rcx, [rbp + 0x270]
call fcn.180040e40
mov rbx, qword [0x180186368]
mov r8d, dword [rsp + 0x48]
xor r12d, r12d
movabs r15, 0x15d757606d170c3c
inc r8d
mov dword [rsp + 0x48], r8d
mov rcx, qword [rbp - 8]
inc rcx
mov qword [rbp - 8], rcx
cmp r8d, dword [rbx + 0x10]
jl 0x1800374e0
mov rdi, qword [0x1801848c0]
mov rbx, qword [0x1801848b8]
cmp rbx, rdi
je 0x1800384bb
lea rcx, [rbx + 0x50]
call fcn.180040e40
lea rcx, [rbx + 0x30]
call fcn.180040e40
add rbx, 0x110
cmp rbx, rdi
jne 0x180038496
mov rbx, qword [0x1801848b8]
mov qword [0x1801848c0], rbx
mov r8, qword [rbp + 0x260]
mov rdx, qword [rbp + 0x258]
lea rcx, [0x1801848b8]
call fcn.1800555e0
nop
lea rcx, [rbp + 0x258]
call fcn.18003ee40
mov rcx, qword [rbp + 0x4d0]
xor rcx, rsp
call fcn.180112f90
lea r11, [rsp + 0x680]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret