Function at 0x180038810
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push rbp
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
call fcn.18001b220
test rax, rax
je 0x180039a3c
mov qword [rsp + 0x2e8], rbx
call fcn.1800175c0
mov rbx, rax
test rax, rax
je 0x180039a34
mov rcx, qword gs:[0x58]
mov qword [rsp + 0x2d8], rdi
mov edi, dword [0x1803ad344]
mov r10d, 4
mov rcx, qword [rcx + rdi*8]
mov ecx, dword [r10 + rcx]
cmp dword [0x1803e4ad4], ecx
jg 0x180039a45
jmp 0x180038881
mov r10d, 4
mov rax, qword [0x1803e4480]
mov rax, qword [rbx + rax]
mov qword [rbp + 0xe0], rax
test rax, rax
je 0x180039a2c
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x2c0], r14
xor r14d, r14d
mov dword [rbp + 0x208], r14d
cmp dword [rax + 0x10], r14d
jle 0x180039a24
mov r9, qword gs:[0x58]
xor edx, edx
mov qword [rsp + 0x2e0], rsi
mov r8, rdi
movaps xmmword [rsp + 0x280], xmm8
xorps xmm8, xmm8
movaps xmmword [rsp + 0x270], xmm9
movss xmm9, dword [0x1801c134c]
movaps xmmword [rsp + 0x260], xmm10
movss xmm10, dword [0x1801c1854]
movaps xmmword [rsp + 0x250], xmm11
movss xmm11, dword [0x1801c17a0]
mov qword [rsp + 0x2d0], r12
mov qword [rsp + 0x2c8], r13
mov qword [rsp + 0x2b8], r15
movaps xmmword [rsp + 0x2a0], xmm6
mov qword [rbp + 0x128], rdi
movabs rdi, 0x7fffffff0000
movaps xmmword [rsp + 0x290], xmm7
mov qword [rbp + 0x218], rdx
nop word [rax + rax]
mov rax, qword [rax + 0x18]
mov rsi, qword [rax + rdx*8 + 0x20]
mov qword [rbp + 0x10], rsi
test rsi, rsi
je 0x180039991
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x180039991
mov r13, qword [rax + 0x30]
test r13, r13
je 0x180039991
lea rcx, [r13 + 0x60]
cmp rcx, 0x40000
jbe 0x180039991
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180039991
mov rbx, qword [rcx]
test rbx, rbx
je 0x180039991
mov r12, qword [r9 + r8*8]
mov r15d, r10d
mov eax, dword [r15 + r12]
cmp dword [0x1803e4980], eax
jg 0x180039a80
jmp 0x1800389da
mov rdx, qword [rbp + 0x218]
mov rax, qword [0x1803e45f8]
cmp byte [rax + rsi], 0
jne 0x180039991
mov eax, dword [r15 + r12]
cmp dword [0x1803e4a74], eax
jg 0x180039abb
mov r8, rsi
call fcn.18006cd20
test rax, rax
je 0x18003998a
lea rdx, str.Local
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x18003998a
call fcn.18001b220
mov rcx, rax
call fcn.18001aee0
mov rdx, rax
add rax, 0x98
cmp rax, 0x40000
jbe 0x180038a7e
lea rcx, [rax + 8]
cmp rcx, rdi
jae 0x180038a7e
mov rax, qword [rax]
cmp rax, 0x40000
jbe 0x180038a7e
lea rcx, [rax + 8]
cmp rcx, rdi
jae 0x180038a7e
mov rbx, qword [rax]
add rbx, 0x10
cmp rbx, 0x40000
jbe 0x180038a7e
lea rax, [rbx + 8]
cmp rax, rdi
jae 0x180038a7e
mov rbx, qword [rbx]
jmp 0x180038a80
xor ebx, ebx
test rdx, rdx
je 0x180038ab4
test rbx, rbx
je 0x180038ab4
lea rdx, str.BaseMelee
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
jne 0x180038ab0
lea rdx, str.Jackhammer
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x180038ab4
mov bl, 1
jmp 0x180038ab6
xor bl, bl
mov rcx, rsi
call fcn.180017910
test al, al
je 0x18003998a
cmp byte [0x1803ad7aa], 0
je 0x1800395b5
test bl, bl
je 0x1800395b5
call fcn.18001b220
lea rcx, [rax + 0x118]
cmp rcx, 0x40000
jbe 0x180038b6e
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038b6e
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x180038b6e
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038b6e
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x180038b6e
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038b6e
mov rbx, qword [rcx]
test rbx, rbx
je 0x180038b6e
mov eax, dword [r15 + r12]
cmp dword [0x1803e46f8], eax
jg 0x180039af9
mov rdx, qword [0x1803e4550]
lea r8, [rbp + 0x20]
mov r9, rbx
mov qword [rbp + 0x20], 0
lea rcx, [rbp - 0x78]
mov dword [rbp + 0x28], 0
call fcn.18006cc60
jmp 0x180038b7d
mov qword [rbp - 0x78], 0
mov dword [rbp - 0x70], 0
movsd xmm0, qword [rbp - 0x78]
lea rcx, [rsi + 0x118]
mov eax, dword [rbp - 0x70]
movsd qword [rbp - 0x30], xmm0
mov dword [rbp - 0x28], eax
cmp rcx, 0x40000
jbe 0x180038c36
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038c36
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x180038c36
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038c36
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x180038c36
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038c36
mov rbx, qword [rcx]
test rbx, rbx
je 0x180038c36
mov eax, dword [r15 + r12]
cmp dword [0x1803e46f8], eax
jg 0x180039b37
mov rdx, qword [0x1803e4550]
lea r8, [rbp]
mov r9, rbx
mov qword [rbp], 0
lea rcx, [rsp + 0x50]
mov dword [rbp + 8], 0
call fcn.18006cc60
movss xmm1, dword [rsp + 0x58]
movss xmm2, dword [rsp + 0x54]
movss xmm0, dword [rsp + 0x50]
jmp 0x180038c54
movaps xmm0, xmm8
movaps xmm2, xmm8
movaps xmm1, xmm8
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm2
movss dword [rsp + 0x58], xmm1
subss xmm0, dword [rbp - 0x30]
subss xmm2, dword [rbp - 0x2c]
subss xmm1, dword [rbp - 0x28]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
sqrtss xmm0, xmm0
comiss xmm0, dword [0x1802a8994]
ja 0x1800395b5
call fcn.18001b220
mov rcx, rax
call fcn.18006d240
mov r14, rax
call fcn.18001b220
test r14, r14
je 0x1800395ae
mov r8, qword [r14]
test r8, r8
je 0x1800395ae
mov r8, qword [r8 + 0x10]
mov edx, 0xffffffff
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180038cc2
test ecx, ecx
je 0x1800395ae
mov r9d, ecx
lea rdi, [0x1801a05d0]
nop
movsx ecx, byte [r8]
lea r8, [r8 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
xor edx, dword [rdi + rax*4]
sub r9, 1
jne 0x180038ce0
not edx
movabs rdi, 0x7fffffff0000
cmp edx, 0x479168ed
jne 0x1800395ae
mov rbx, qword [0x1803ad728]
test rbx, rbx
je 0x1800395ae
mov eax, dword [r15 + r12]
cmp dword [0x1803e5098], eax
jg 0x180039b75
mov rax, qword [0x1803e4b48]
movss xmm0, dword [rbx + rax]
comiss xmm0, xmm8
jbe 0x1800395ae
mov rcx, qword [0x1803ad728]
add rcx, 0x118
cmp rcx, 0x40000
jbe 0x180038de0
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038de0
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x180038de0
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038de0
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x180038de0
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038de0
mov rbx, qword [rcx]
test rbx, rbx
je 0x180038de0
mov eax, dword [r15 + r12]
cmp dword [0x1803e46f8], eax
jg 0x180039bb0
mov rdx, qword [0x1803e4550]
lea r8, [rbp - 0x10]
mov r9, rbx
mov qword [rbp - 0x10], 0
lea rcx, [rsp + 0x5c]
mov dword [rbp - 8], 0
call fcn.18006cc60
jmp 0x180038df1
mov qword [rsp + 0x5c], 0
mov dword [rsp + 0x64], 0
call fcn.18001b220
mov rbx, rax
test rax, rax
je 0x180038e3d
mov ecx, dword [r15 + r12]
cmp dword [0x1803e47cc], ecx
jg 0x180039bee
mov rax, qword [0x1803e4ff8]
mov rbx, qword [rbx + rax]
test rbx, rbx
je 0x180038e3d
mov eax, dword [r15 + r12]
cmp dword [0x1803e4da0], eax
jg 0x180039c29
mov rdx, rbx
lea rcx, [rbp - 0x6c]
call qword [0x1803e4e00]
jmp 0x180038e4c
mov qword [rbp - 0x6c], 0
mov dword [rbp - 0x64], 0
mov eax, dword [rbp - 0x64]
movsd xmm0, qword [rbp - 0x6c]
mov dword [rbp - 0x18], eax
mov eax, dword [r15 + r12]
cmp dword [0x1803e4840], eax
movsd qword [rbp - 0x20], xmm0
jg 0x180039c67
movss xmm0, dword [rsp + 0x60]
subss xmm0, dword [rbp - 0x1c]
movss xmm1, dword [rsp + 0x5c]
subss xmm1, dword [rbp - 0x20]
movss xmm2, dword [rsp + 0x64]
subss xmm2, dword [rbp - 0x18]
mov rax, qword [0x1803e5450]
mulss xmm0, xmm0
mulss xmm1, xmm1
movss xmm3, dword [rax + r14]
mulss xmm2, xmm2
addss xmm3, xmm11
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm2
sqrtss xmm0, xmm1
comiss xmm0, xmm3
ja 0x1800395ae
mov eax, dword [r15 + r12]
cmp dword [0x1803e4da4], eax
jg 0x180039ca2
mov rax, qword [0x1803e4380]
movss xmm7, dword [rax + r14]
mov eax, dword [r15 + r12]
cmp dword [0x1803e42ac], eax
jg 0x180039cdd
mov rax, qword [0x1803e5318]
mov rcx, r14
call rax
test al, al
jne 0x1800395ae
call fcn.18001b220
mov rbx, rax
test rax, rax
je 0x180038f51
mov ecx, dword [r15 + r12]
cmp dword [0x1803e47cc], ecx
jg 0x180039d1b
mov rax, qword [0x1803e4ff8]
mov rbx, qword [rbx + rax]
test rbx, rbx
je 0x180038f51
mov eax, dword [r15 + r12]
cmp dword [0x1803e4da0], eax
jg 0x180039d56
mov rdx, rbx
lea rcx, [rsp + 0x40]
call qword [0x1803e4e00]
jmp 0x180038f62
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
mov rcx, qword [0x1803ad728]
add rcx, 0x118
cmp rcx, 0x40000
jbe 0x180038ff8
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038ff8
mov rcx, qword [rcx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x180038ff8
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038ff8
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x180038ff8
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180038ff8
mov rbx, qword [rcx]
test rbx, rbx
je 0x180038ff8
mov eax, dword [r15 + r12]
cmp dword [0x1803e46f8], eax
jg 0x180039d94
mov rdx, qword [0x1803e4550]
lea r8, [rbp + 0x30]
mov r9, rbx
mov qword [rbp + 0x30], 0
lea rcx, [rsp + 0x68]
mov dword [rbp + 0x38], 0
call fcn.18006cc60
jmp 0x180039009
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x70], 0
call fcn.18001b760
mov rbx, qword [0x1803ad728]
xor edi, edi
mov qword [rbp + 0x130], rdi
mov rsi, rax
test rax, rax
jne 0x180039036
mov qword [rbp + 0x130], rbx
lea rcx, [rbp + 0x200]
jmp 0x180039072
mov eax, dword [r15 + r12]
cmp dword [0x1803e43a8], eax
jg 0x180039dd2
mov rax, qword [0x1803e53b8]
mov byte [rbp + 0x200], dil
mov qword [rax + rsi], rbx
mov eax, dword [r15 + r12]
cmp dword [0x1803e4c8c], eax
jg 0x180039e0d
mov rcx, qword [0x1803e5090]
add rcx, rsi
mov byte [rcx], 1
movabs rax, 0x8812c42680783262
mov qword [rbp + 0x210], rax
movabs rcx, 0x87bdcdb8cf403e36
mov rax, qword [rbp + 0x210]
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0x210], rcx
mov rax, qword [rbp + 0x210]
mov qword [rbp + 0xa8], rax
movabs rax, 0x8812c455f3195e05
mov qword [rbp + 0x210], rax
mov rax, qword [rbp + 0x210]
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x210], rcx
lea rcx, [rbp + 0xa0]
mov rax, qword [rbp + 0x210]
mov qword [rbp + 0x148], rax
movdqa xmm0, xmmword [rbp + 0x140]
pxor xmm0, xmmword [rbp + 0xa0]
movdqa xmmword [rbp + 0xa0], xmm0
call fcn.180010dc0
mov qword [rbp + 0x120], rdi
mov rbx, rax
test rsi, rsi
jne 0x180039123
lea rcx, [rbp + 0x120]
jmp 0x18003913d
mov eax, dword [r15 + r12]
cmp dword [0x1803e4734], eax
jg 0x180039e48
mov rcx, qword [0x1803e5020]
add rcx, rsi
mov eax, dword [r15 + r12]
mov qword [rcx], rbx
cmp dword [0x1803e4840], eax
jg 0x180039e83
mov rax, qword [0x1803e5450]
mov dword [rbp + 0x210], edi
movss xmm6, dword [rax + r14]
test rsi, rsi
jne 0x180039181
movss dword [rbp + 0x210], xmm6
call fcn.18001a5e0
mov rbx, rax
lea rcx, [rbp + 0xe8]
jmp 0x1800391c6
mov eax, dword [r15 + r12]
cmp dword [0x1803e4b54], eax
jg 0x180039ebe
mov rax, qword [0x1803e45b0]
mov qword [rbp + 0xe8], rdi
movss dword [rax + rsi], xmm6
call fcn.18001a5e0
mov rbx, rax
mov eax, dword [r15 + r12]
cmp dword [0x1803e4288], eax
jg 0x180039ef9
mov rcx, qword [0x1803e50c0]
add rcx, rsi
mov qword [rcx], rbx
movss xmm4, dword [rsp + 0x48]
movss xmm2, dword [rsp + 0x44]
movss xmm5, dword [rsp + 0x70]
movss xmm3, dword [rsp + 0x6c]
subss xmm5, xmm4
movss xmm1, dword [rsp + 0x68]
subss xmm3, xmm2
movsd xmm0, qword [rsp + 0x40]
movss dword [rsp + 0x48], xmm4
movss dword [rbp + 0xb8], xmm4
movsd qword [rbp + 0xb0], xmm0
addss xmm4, xmm5
mov qword [rbp + 0xcc], rdi
addss xmm2, xmm3
mov dword [rbp + 0xc8], edi
mov qword [rbp + 0xd8], rdi
mov dword [rbp + 0xd4], edi
movss dword [rbp + 0xc4], xmm4
movss dword [rbp + 0xc0], xmm2
subss xmm1, dword [rsp + 0x40]
addss xmm1, dword [rsp + 0x40]
movss dword [rbp + 0xbc], xmm1
test rsi, rsi
jne 0x18003925f
lea rax, [rbp + 0xc8]
jmp 0x180039279
mov eax, dword [r15 + r12]
cmp dword [0x1803e4528], eax
jg 0x180039f34
mov rax, qword [0x1803e48c8]
add rax, rsi
movups xmm0, xmmword [rbp + 0xb0]
movsd xmm1, qword [rbp + 0xc0]
movups xmmword [rax], xmm0
movsd qword [rax + 0x10], xmm1
call fcn.18001a5e0
mov rdx, qword [0x1803ad728]
mov rdi, rax
add rdx, 0x118
cmp rdx, 0x40000
jbe 0x18003933b
lea rcx, [rdx + 8]
movabs r8, 0x7fffffff0000
cmp rcx, r8
jae 0x18003933b
mov rcx, qword [rdx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x18003933b
lea rax, [rcx + 8]
cmp rax, r8
jae 0x18003933b
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x18003933b
lea rax, [rcx + 8]
cmp rax, r8
jae 0x18003933b
mov rbx, qword [rcx]
test rbx, rbx
je 0x18003933b
mov eax, dword [r15 + r12]
cmp dword [0x1803e46f8], eax
jg 0x180039f6f
mov rdx, qword [0x1803e4550]
lea r8, [rbp + 0x40]
mov r9, rbx
mov qword [rbp + 0x40], 0
lea rcx, [rbp - 0x60]
mov dword [rbp + 0x48], 0
call fcn.18006cc60
jmp 0x18003934a
mov qword [rbp - 0x60], 0
mov dword [rbp - 0x58], 0
movsd xmm6, qword [rbp - 0x60]
mov ebx, dword [rbp - 0x58]
test rdi, rdi
jne 0x180039360
mov qword [rbp - 0x54], rdi
mov dword [rbp - 0x4c], edi
jmp 0x1800393b0
mov eax, dword [r15 + r12]
cmp dword [0x1803e4818], eax
jg 0x180039fad
mov rdx, qword [0x1803e4d70]
lea rax, [rbp + 0xf0]
mov r9, rdi
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x50]
movsd qword [rbp + 0xf0], xmm6
lea rcx, [rbp - 0x54]
mov dword [rbp + 0xf8], ebx
mov qword [rbp + 0x50], 0
mov dword [rbp + 0x58], 0
call fcn.18006cca0
movsd xmm6, qword [rbp - 0x54]
mov ebx, dword [rbp - 0x4c]
mov qword [rbp + 0x64], 0
mov dword [rbp + 0x60], 0
test rsi, rsi
jne 0x1800393d2
lea rax, [rbp + 0x60]
jmp 0x1800393ec
mov eax, dword [r15 + r12]
cmp dword [0x1803e4958], eax
jg 0x180039feb
mov rax, qword [0x1803e43d0]
add rax, rsi
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
call fcn.18001a5e0
mov rdx, qword [0x1803ad728]
mov rdi, rax
add rdx, 0x118
cmp rdx, 0x40000
jbe 0x18003949e
lea rcx, [rdx + 8]
movabs r8, 0x7fffffff0000
cmp rcx, r8
jae 0x18003949e
mov rcx, qword [rdx]
add rcx, 0x48
cmp rcx, 0x40000
jbe 0x18003949e
lea rax, [rcx + 8]
cmp rax, r8
jae 0x18003949e
mov rcx, qword [rcx]
add rcx, 0x198
cmp rcx, 0x40000
jbe 0x18003949e
lea rax, [rcx + 8]
cmp rax, r8
jae 0x18003949e
mov rbx, qword [rcx]
test rbx, rbx
je 0x18003949e
mov eax, dword [r15 + r12]
cmp dword [0x1803e46f8], eax
jg 0x18003a026
mov rdx, qword [0x1803e4550]
lea r8, [rbp + 0x70]
mov r9, rbx
mov qword [rbp + 0x70], 0
lea rcx, [rbp - 0x48]
mov dword [rbp + 0x78], 0
call fcn.18006cc60
jmp 0x1800394ad
mov qword [rbp - 0x48], 0
mov dword [rbp - 0x40], 0
movsd xmm6, qword [rbp - 0x48]
mov ebx, dword [rbp - 0x40]
test rdi, rdi
jne 0x1800394c3
mov qword [rbp - 0x3c], rdi
mov dword [rbp - 0x34], edi
jmp 0x18003951c
mov eax, dword [r15 + r12]
cmp dword [0x1803e4818], eax
jg 0x18003a064
mov rdx, qword [0x1803e4d70]
lea rax, [rbp + 0x100]
mov r9, rdi
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x80]
movsd qword [rbp + 0x100], xmm6
lea rcx, [rbp - 0x3c]
mov dword [rbp + 0x108], ebx
mov qword [rbp + 0x80], 0
mov dword [rbp + 0x88], 0
call fcn.18006cca0
movsd xmm6, qword [rbp - 0x3c]
mov ebx, dword [rbp - 0x34]
mov qword [rbp + 0x94], 0
mov dword [rbp + 0x90], 0
test rsi, rsi
jne 0x180039547
lea rax, [rbp + 0x90]
jmp 0x180039561
mov eax, dword [r15 + r12]
cmp dword [0x1803e5118], eax
jg 0x18003a0a2
mov rax, qword [0x1803e4788]
add rax, rsi
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
mov eax, dword [r15 + r12]
cmp dword [0x1803e4838], eax
jg 0x18003a0dd
mov rdx, rsi
mov rcx, r14
call qword [0x1803e44a8]
mov eax, dword [r15 + r12]
cmp dword [0x1803e509c], eax
jg 0x18003a11b
movaps xmm1, xmm7
mov rcx, r14
call qword [0x1803e45e8]
mov rsi, qword [rbp + 0x10]
movabs rdi, 0x7fffffff0000
mov r14d, dword [rbp + 0x208]
cmp byte [0x1803ad8ab], 0
je 0x18003998a
lea rcx, [r13 + 0x30]
cmp rcx, 0x40000
jbe 0x180039686
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180039686
mov rdi, qword [rcx]
test rdi, rdi
je 0x180039688
lea rcx, [rdi + 8]
cmp rcx, 0x40000
jbe 0x180039688
lea rax, [rcx + 8]
movabs rdx, 0x7fffffff0000
cmp rax, rdx
jae 0x180039688
mov rcx, qword [rcx]
test rcx, rcx
je 0x180039688
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180039688
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x180039688
mov rcx, qword [rcx]
test rcx, rcx
je 0x180039688
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x180039666
lea rax, [rcx + 0xc]
cmp rax, rdx
jae 0x180039666
movsd xmm1, qword [rcx]
movss xmm2, dword [rcx + 8]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rbp + 0x10], xmm1
jmp 0x180039672
movaps xmm2, xmm8
movaps xmm0, xmm8
movaps xmm1, xmm8
movss dword [rsp + 0x30], xmm1
movss dword [rsp + 0x34], xmm0
movss dword [rsp + 0x38], xmm2
jmp 0x180039699
xor edi, edi
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
call fcn.18001b220
mov rbx, rax
test rax, rax
jne 0x1800396c5
movaps xmm5, xmm8
movaps xmm6, xmm8
movaps xmm4, xmm8
movss dword [rbp - 0x80], xmm5
movss dword [rsp + 0x7c], xmm6
movss dword [rsp + 0x78], xmm4
jmp 0x180039713
mov eax, dword [r15 + r12]
cmp dword [0x1803e4684], eax
jg 0x18003a159
movsd xmm0, qword [rsp + 0x30]
lea r8, [rbp + 0x110]
mov eax, dword [rsp + 0x38]
lea rcx, [rsp + 0x78]
mov rdx, rbx
movsd qword [rbp + 0x110], xmm0
mov dword [rbp + 0x118], eax
call qword [0x1803e4cc8]
movss xmm5, dword [rbp - 0x80]
movss xmm4, dword [rsp + 0x78]
movss xmm6, dword [rsp + 0x7c]
cmp byte [0x1803ad8ab], 0
je 0x180039980
cmp qword [0x1803ad728], 0
je 0x180039980
lea rcx, [rsi + 0x5f8]
movabs rdx, 0x7fffffff0000
cmp rcx, 0x40000
jbe 0x180039755
lea rax, [rcx + 4]
cmp rax, rdx
jae 0x180039755
mov eax, dword [rcx]
jmp 0x180039757
xor eax, eax
shr eax, 6
test al, 1
je 0x180039980
test rdi, rdi
je 0x1800397d9
lea rcx, [rdi + 8]
cmp rcx, 0x40000
jbe 0x1800397d9
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x1800397d9
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800397d9
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x1800397d9
lea rax, [rcx + 8]
cmp rax, rdx
jae 0x1800397d9
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800397d9
add rcx, 0x90
cmp rcx, 0x40000
jbe 0x1800397d9
lea rax, [rcx + 0xc]
cmp rax, rdx
jae 0x1800397d9
movsd xmm1, qword [rcx]
movss xmm3, dword [rcx + 8]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movaps xmm2, xmm0
movsd qword [rbp + 0x10], xmm1
movaps xmm0, xmm1
jmp 0x1800397e5
movaps xmm3, xmm8
movaps xmm2, xmm8
movaps xmm0, xmm8
subss xmm4, xmm0
subss xmm6, xmm2
subss xmm5, xmm3
mulss xmm4, xmm4
mulss xmm6, xmm6
mulss xmm5, xmm5
addss xmm4, xmm6
addss xmm4, xmm5
comiss xmm4, xmm10
jae 0x180039980
call fcn.18001b220
movabs rdi, 0x7fffffff0000
lea rcx, [rax + 0x4c8]
cmp rcx, 0x40000
jbe 0x18003998a
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18003998a
mov rcx, qword [rcx]
add rcx, 0x20
cmp rcx, 0x40000
jbe 0x18003998a
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18003998a
mov rcx, qword [rcx]
add rcx, 0x10
cmp rcx, 0x40000
jbe 0x18003998a
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18003998a
mov rcx, qword [rcx]
test rcx, rcx
je 0x18003998a
add rcx, 0x14
cmp rcx, 0x40000
jbe 0x1800398a7
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800398a7
mov eax, dword [rcx]
jmp 0x1800398a9
xor eax, eax
shr eax, 8
test al, 1
je 0x18003998a
mov rdi, qword [0x1803ad728]
call fcn.18001b220
mov ecx, dword [rax + 0x640]
test ecx, ecx
je 0x1800398d2
cmp dword [rdi + 0x640], ecx
je 0x1800398df
cmp byte [0x1803ad8b6], 0
jne 0x180039980
call fcn.18001b220
mov rbx, rax
test rax, rax
jne 0x1800398f2
movaps xmm1, xmm8
jmp 0x18003990e
mov eax, dword [r15 + r12]
cmp dword [0x1803e4648], eax
jg 0x18003a197
mov rax, qword [0x1803e4460]
movss xmm1, dword [rbx + rax]
movss xmm0, dword [0x1803ad710]
addss xmm0, xmm9
comiss xmm1, xmm0
jbe 0x180039980
call fcn.18001b220
mov rbx, rax
test rax, rax
je 0x180039949
mov ecx, dword [r15 + r12]
cmp dword [0x1803e4d60], ecx
jg 0x18003a1d2
mov rdx, rdi
mov rcx, rbx
call qword [0x1803e4a78]
call fcn.18001b220
mov rbx, rax
test rax, rax
jne 0x18003995c
movaps xmm0, xmm8
jmp 0x180039978
mov eax, dword [r15 + r12]
cmp dword [0x1803e4648], eax
jg 0x18003a210
mov rax, qword [0x1803e4460]
movss xmm0, dword [rbx + rax]
movss dword [0x1803ad710], xmm0
movabs rdi, 0x7fffffff0000
mov rdx, qword [rbp + 0x218]
mov rax, qword [rbp + 0xe0]
inc r14d
mov r8, qword [rbp + 0x128]
inc rdx
mov r9, qword gs:[0x58]
mov dword [rbp + 0x208], r14d
mov rax, qword [rax + 0x28]
mov qword [rbp + 0x218], rdx
mov r10d, 4
cmp r14d, dword [rax + 0x10]
jl 0x180038960
movaps xmm11, xmmword [rsp + 0x250]
movaps xmm10, xmmword [rsp + 0x260]
movaps xmm9, xmmword [rsp + 0x270]
movaps xmm8, xmmword [rsp + 0x280]
movaps xmm7, xmmword [rsp + 0x290]
movaps xmm6, xmmword [rsp + 0x2a0]
mov r15, qword [rsp + 0x2b8]
mov r13, qword [rsp + 0x2c8]
mov r12, qword [rsp + 0x2d0]
mov rsi, qword [rsp + 0x2e0]
mov r14, qword [rsp + 0x2c0]
mov rdi, qword [rsp + 0x2d8]
mov rbx, qword [rsp + 0x2e8]
add rsp, 0x2f0
pop rbp
ret
lea rcx, [0x1803e4ad4]
call fcn.18011c184
cmp dword [0x1803e4ad4], 0xffffffff
jne 0x18003887b
mov ecx, 0xae00109b
call fcn.180015290
lea rcx, [0x1803e4ad4]
mov qword [0x1803e4480], rax
call fcn.18011c124
jmp 0x18003887b
lea rcx, [0x1803e4980]
call fcn.18011c184
cmp dword [0x1803e4980], 0xffffffff
jne 0x1800389d3
mov ecx, 0x33f7a6a3
call fcn.180015290
lea rcx, [0x1803e4980]
mov qword [0x1803e45f8], rax
call fcn.18011c124
jmp 0x1800389d3
lea rcx, [0x1803e4a74]
call fcn.18011c184
cmp dword [0x1803e4a74], 0xffffffff
jne 0x1800389fb
mov ecx, 0x8bb6774c
call fcn.1800123f0
lea rcx, [0x1803e4a74]
mov rdx, qword [rax]
mov qword [0x1803e4a38], rdx
call fcn.18011c124
jmp 0x1800389fb
lea rcx, [0x1803e46f8]
call fcn.18011c184
cmp dword [0x1803e46f8], 0xffffffff
jne 0x180038b46
mov ecx, 0x56e64b7d
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4550], rcx
lea rcx, [0x1803e46f8]
call fcn.18011c124
jmp 0x180038b46
lea rcx, [0x1803e46f8]
call fcn.18011c184
cmp dword [0x1803e46f8], 0xffffffff
jne 0x180038bfb
mov ecx, 0x56e64b7d
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4550], rcx
lea rcx, [0x1803e46f8]
call fcn.18011c124
jmp 0x180038bfb
lea rcx, [0x1803e5098]
call fcn.18011c184
cmp dword [0x1803e5098], 0xffffffff
jne 0x180038d34
mov ecx, 0x43f29029
call fcn.180015290
lea rcx, [0x1803e5098]
mov qword [0x1803e4b48], rax
call fcn.18011c124
jmp 0x180038d34
lea rcx, [0x1803e46f8]
call fcn.18011c184
cmp dword [0x1803e46f8], 0xffffffff
jne 0x180038db7
mov ecx, 0x56e64b7d
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4550], rcx
lea rcx, [0x1803e46f8]
call fcn.18011c124
jmp 0x180038db7
lea rcx, [0x1803e47cc]
call fcn.18011c184
cmp dword [0x1803e47cc], 0xffffffff
jne 0x180038e0e
mov ecx, 0x6d5c7dd2
call fcn.180015290
lea rcx, [0x1803e47cc]
mov qword [0x1803e4ff8], rax
call fcn.18011c124
jmp 0x180038e0e
lea rcx, [0x1803e4da0]
call fcn.18011c184
cmp dword [0x1803e4da0], 0xffffffff
jne 0x180038e2e
mov ecx, 0xf3daab4b
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4e00], rcx
lea rcx, [0x1803e4da0]
call fcn.18011c124
jmp 0x180038e2e
lea rcx, [0x1803e4840]
call fcn.18011c184
cmp dword [0x1803e4840], 0xffffffff
jne 0x180038e6c
mov ecx, 0xf717cec3
call fcn.180015290
lea rcx, [0x1803e4840]
mov qword [0x1803e5450], rax
call fcn.18011c124
jmp 0x180038e6c
lea rcx, [0x1803e4da4]
call fcn.18011c184
cmp dword [0x1803e4da4], 0xffffffff
jne 0x180038ed3
mov ecx, 0xe79a0df3
call fcn.180015290
lea rcx, [0x1803e4da4]
mov qword [0x1803e4380], rax
call fcn.18011c124
jmp 0x180038ed3
lea rcx, [0x1803e42ac]
call fcn.18011c184
cmp dword [0x1803e42ac], 0xffffffff
jne 0x180038ef0
mov ecx, 0xaa26e158
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e5318], rcx
lea rcx, [0x1803e42ac]
call fcn.18011c124
jmp 0x180038ef0
lea rcx, [0x1803e47cc]
call fcn.18011c184
cmp dword [0x1803e47cc], 0xffffffff
jne 0x180038f21
mov ecx, 0x6d5c7dd2
call fcn.180015290
lea rcx, [0x1803e47cc]
mov qword [0x1803e4ff8], rax
call fcn.18011c124
jmp 0x180038f21
lea rcx, [0x1803e4da0]
call fcn.18011c184
cmp dword [0x1803e4da0], 0xffffffff
jne 0x180038f41
mov ecx, 0xf3daab4b
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4e00], rcx
lea rcx, [0x1803e4da0]
call fcn.18011c124
jmp 0x180038f41
lea rcx, [0x1803e46f8]
call fcn.18011c184
cmp dword [0x1803e46f8], 0xffffffff
jne 0x180038fcf
mov ecx, 0x56e64b7d
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4550], rcx
lea rcx, [0x1803e46f8]
call fcn.18011c124
jmp 0x180038fcf
lea rcx, [0x1803e43a8]
call fcn.18011c184
cmp dword [0x1803e43a8], 0xffffffff
jne 0x180039046
mov ecx, 0xb52f21cc
call fcn.180015290
lea rcx, [0x1803e43a8]
mov qword [0x1803e53b8], rax
call fcn.18011c124
jmp 0x180039046
lea rcx, [0x1803e4c8c]
call fcn.18011c184
cmp dword [0x1803e4c8c], 0xffffffff
jne 0x180039068
mov ecx, 0xa5bffe2c
call fcn.180015290
lea rcx, [0x1803e4c8c]
mov qword [0x1803e5090], rax
call fcn.18011c124
jmp 0x180039068
lea rcx, [0x1803e4734]
call fcn.18011c184
cmp dword [0x1803e4734], 0xffffffff
jne 0x180039133
mov ecx, 0x8b0d22a8
call fcn.180015290
lea rcx, [0x1803e4734]
mov qword [0x1803e5020], rax
call fcn.18011c124
jmp 0x180039133
lea rcx, [0x1803e4840]
call fcn.18011c184
cmp dword [0x1803e4840], 0xffffffff
jne 0x180039150
mov ecx, 0xf717cec3
call fcn.180015290
lea rcx, [0x1803e4840]
mov qword [0x1803e5450], rax
call fcn.18011c124
jmp 0x180039150
lea rcx, [0x1803e4b54]
call fcn.18011c184
cmp dword [0x1803e4b54], 0xffffffff
jne 0x180039191
mov ecx, 0x6f95d21e
call fcn.180015290
lea rcx, [0x1803e4b54]
mov qword [0x1803e45b0], rax
call fcn.18011c124
jmp 0x180039191
lea rcx, [0x1803e4288]
call fcn.18011c184
cmp dword [0x1803e4288], 0xffffffff
jne 0x1800391bc
mov ecx, 0x2f2d7eeb
call fcn.180015290
lea rcx, [0x1803e4288]
mov qword [0x1803e50c0], rax
call fcn.18011c124
jmp 0x1800391bc
lea rcx, [0x1803e4528]
call fcn.18011c184
cmp dword [0x1803e4528], 0xffffffff
jne 0x18003926f
mov ecx, 0x8d6e9b50
call fcn.180015290
lea rcx, [0x1803e4528]
mov qword [0x1803e48c8], rax
call fcn.18011c124
jmp 0x18003926f
lea rcx, [0x1803e46f8]
call fcn.18011c184
cmp dword [0x1803e46f8], 0xffffffff
jne 0x180039313
mov ecx, 0x56e64b7d
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4550], rcx
lea rcx, [0x1803e46f8]
call fcn.18011c124
jmp 0x180039313
lea rcx, [0x1803e4818]
call fcn.18011c184
cmp dword [0x1803e4818], 0xffffffff
jne 0x180039370
mov ecx, 0xf93a4acc
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4d70], rcx
lea rcx, [0x1803e4818]
call fcn.18011c124
jmp 0x180039370
lea rcx, [0x1803e4958]
call fcn.18011c184
cmp dword [0x1803e4958], 0xffffffff
jne 0x1800393e2
mov ecx, 0x9a820d40
call fcn.180015290
lea rcx, [0x1803e4958]
mov qword [0x1803e43d0], rax
call fcn.18011c124
jmp 0x1800393e2
lea rcx, [0x1803e46f8]
call fcn.18011c184
cmp dword [0x1803e46f8], 0xffffffff
jne 0x180039476
mov ecx, 0x56e64b7d
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4550], rcx
lea rcx, [0x1803e46f8]
call fcn.18011c124
jmp 0x180039476
lea rcx, [0x1803e4818]
call fcn.18011c184
cmp dword [0x1803e4818], 0xffffffff
jne 0x1800394d3
mov ecx, 0xf93a4acc
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4d70], rcx
lea rcx, [0x1803e4818]
call fcn.18011c124
jmp 0x1800394d3
lea rcx, [0x1803e5118]
call fcn.18011c184
cmp dword [0x1803e5118], 0xffffffff
jne 0x180039557
mov ecx, 0xbb875491
call fcn.180015290
lea rcx, [0x1803e5118]
mov qword [0x1803e4788], rax
call fcn.18011c124
jmp 0x180039557
lea rcx, [0x1803e4838]
call fcn.18011c184
cmp dword [0x1803e4838], 0xffffffff
jne 0x180039578
mov ecx, 0x3dc5d92d
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e44a8], rcx
lea rcx, [0x1803e4838]
call fcn.18011c124
jmp 0x180039578
lea rcx, [0x1803e509c]
call fcn.18011c184
cmp dword [0x1803e509c], 0xffffffff
jne 0x180039594
mov ecx, 0x4c51f85a
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e45e8], rcx
lea rcx, [0x1803e509c]
call fcn.18011c124
jmp 0x180039594
lea rcx, [0x1803e4684]
call fcn.18011c184
cmp dword [0x1803e4684], 0xffffffff
jne 0x1800396d5
mov ecx, 0xe1debe3f
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4cc8], rcx
lea rcx, [0x1803e4684]
call fcn.18011c124
jmp 0x1800396d5
lea rcx, [0x1803e4648]
call fcn.18011c184
cmp dword [0x1803e4648], 0xffffffff
jne 0x180039902
mov ecx, 0xc566d10
call fcn.180015290
lea rcx, [0x1803e4648]
mov qword [0x1803e4460], rax
call fcn.18011c124
jmp 0x180039902
lea rcx, [0x1803e4d60]
call fcn.18011c184
cmp dword [0x1803e4d60], 0xffffffff
jne 0x18003993d
mov ecx, 0x6e4dd739
call fcn.1800123f0
mov rcx, qword [rax]
mov qword [0x1803e4a78], rcx
lea rcx, [0x1803e4d60]
call fcn.18011c124
jmp 0x18003993d
lea rcx, [0x1803e4648]
call fcn.18011c184
cmp dword [0x1803e4648], 0xffffffff
jne 0x18003996c
mov ecx, 0xc566d10
call fcn.180015290
lea rcx, [0x1803e4648]
mov qword [0x1803e4460], rax
call fcn.18011c124
jmp 0x18003996c