Function at 0x180046160
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x6260]
mov eax, 0x6360
call fcn.180147670
sub rsp, rax
movaps xmmword [rsp + 0x6350], xmm6
movaps xmmword [rsp + 0x6340], xmm7
movaps xmmword [rsp + 0x6330], xmm8
movaps xmmword [rsp + 0x6320], xmm9
movaps xmmword [rsp + 0x6310], xmm10
movaps xmmword [rsp + 0x6300], xmm11
movaps xmmword [rsp + 0x62f0], xmm12
movaps xmmword [rsp + 0x62e0], xmm13
movaps xmmword [rsp + 0x62d0], xmm14
movaps xmmword [rsp + 0x62c0], xmm15
mov rax, qword [0x1801d11f0]
xor rax, rsp
mov qword [rbp + 0x61b0], rax
mov r14, qword [0x1801ebaf8]
mov rsi, rcx
mov r12, rdx
xor edx, edx
mov rax, qword [r14 + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rdi, qword [r14 + 0x3eb0]
movsxd rcx, dword [rdi + 0xe8]
mov rax, qword [rdi + 0xf0]
mov r8d, dword [rax + rcx*4 - 4]
mov rcx, rsi
call fcn.180018410
mov ebx, eax
cmp dword [r14 + 0x3ef8], eax
jne 0x18004624e
mov r8, rsi
mov edx, ntohl
mov ecx, eax
call fcn.18002eb40
mov r14, qword [0x1801ebaf8]
lea rax, [r14 + 0x37e0]
mov edx, 8
lea rcx, [rbp - 0x70]
nop
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx - 0x20], xmm0
movups xmmword [rcx - 0x10], xmm1
sub rdx, 1
jne 0x180046260
movups xmm0, xmmword [rax]
mov rdx, r14
movups xmm1, xmmword [rax + 0x10]
mov rax, qword [rax + 0x20]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov qword [rcx + 0x20], rax
lea rcx, [rbp + 0x3d0]
call fcn.180009eb0
movss xmm6, dword [rdi + 0xf8]
mov rax, rsi
movss xmm7, dword [rdi + 0xfc]
mov r14, qword [0x1801ebaf8]
cmp rsi, 0xffffffffffffffff
jae 0x180046312
movzx ecx, byte [rax]
test cl, cl
je 0x180046312
cmp cl, 0x23
jne 0x180046309
cmp byte [rax + 1], cl
je 0x180046312
inc rax
cmp rax, 0xffffffffffffffff
jb 0x1800462f8
movss xmm5, dword [r14 + 0x3c10]
movss xmm8, dword [0x1801b3188]
cmp rsi, rax
je 0x18004635c
movss xmm3, dword [0x1801b3174]
lea rdx, [rsp + 0x40]
mov rcx, qword [r14 + 0x3c08]
movaps xmm2, xmm5
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
movss dword [rsp + 0x20], xmm8
call fcn.18003d2b0
movss xmm5, dword [rsp + 0x44]
call fcn.180027320
addss xmm5, dword [rbp - 0x18]
movss xmm3, dword [r14 + 0x3820]
lea rcx, [rbp - 0x78]
movaps xmm4, xmm6
movss dword [rbp + 0x3c0], xmm6
addss xmm4, xmm0
movss dword [rbp + 0x3c4], xmm7
addss xmm3, xmm3
movaps xmm1, xmm8
movaps xmm2, xmm4
movss dword [rbp + 0x3c8], xmm4
addss xmm3, dword [r14 + 0x3c10]
subss xmm2, xmm0
movss dword [rbp - 0x80], xmm4
subss xmm4, xmm6
addss xmm5, xmm3
movss dword [rsp + 0x78], xmm2
movss dword [rbp - 0x78], xmm4
addss xmm5, xmm7
movaps xmm0, xmm5
movss dword [rbp + 0x3cc], xmm5
movss dword [rbp - 0x7c], xmm5
subss xmm0, xmm3
subss xmm5, xmm7
movss dword [rsp + 0x7c], xmm0
movss dword [rbp - 0x74], xmm5
call fcn.180026ec0
xor r8d, r8d
lea rcx, [rbp + 0x3c0]
mov edx, ebx
xor r9d, r9d
call fcn.180027030
lea r9, [rsp + 0x70]
mov dword [rsp + 0x20], 0
lea r8, [rsp + 0x50]
mov edx, ebx
lea rcx, [rsp + 0x78]
call fcn.180043730
not ebx
lea rdx, [0x1801a73c1]
mov r8d, ebx
lea r11, [0x1801a8920]
movzx r10d, al
mov r9b, reloc.WLDAP32.dll_Ordinal_35
nop word [rax + rax]
cmp r9b, 0x23
jne 0x180046453
cmp byte [rdx], r9b
jne 0x180046453
cmp byte [rdx + 1], r9b
cmove r8d, ebx
movzx ecx, r8b
movzx eax, r9b
movzx r9d, byte [rdx]
xor rcx, rax
shr r8d, 8
inc rdx
xor r8d, dword [r11 + rcx*4]
test r9b, r9b
jne 0x180046440
mov rdx, qword [0x1801ebaf8]
not r8d
movsxd rax, dword [rdx + 0x4868]
cmp dword [rdx + 0x4858], eax
jle 0x1800464a1
imul rcx, rax, 0x38
mov rax, qword [rdx + 0x4860]
cmp dword [rcx + rax], r8d
jne 0x1800464a1
mov r14b, 1
jmp 0x1800464a4
xor r14b, r14b
test r10b, r10b
je 0x1800464bb
test r14b, r14b
jne 0x1800464bb
xor edx, edx
mov ecx, r8d
call fcn.1800282a0
mov r14b, 1
movss xmm0, dword [0x1801e5934]
movzx r8d, r14b
movss xmm1, dword [0x1801b3020]
xor edx, edx
movss xmm3, dword [0x1801b2f7c]
mov rcx, rsi
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm1
call fcn.1800125f0
movss xmm1, dword [0x1801e5934]
xorps xmm3, xmm3
movzx ebx, byte [rsp + 0x50]
mov edx, 1
movss xmm14, dword [0x1801b2f58]
movzx r8d, bl
movss dword [rsp + 0x28], xmm1
mov rcx, rsi
movss dword [rsp + 0x20], xmm14
movaps xmm15, xmm0
xorps xmm13, xmm13
call fcn.1800125f0
movss xmm1, dword [0x1801e5934]
xorps xmm3, xmm3
mulss xmm1, dword [0x1801b2f78]
movzx r8d, r14b
mov edx, 2
mov rcx, rsi
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x20], xmm14
call fcn.1800125f0
movss dword [rbp - 0x78], xmm0
test bl, bl
jne 0x180046570
test r14b, r14b
jne 0x180046570
xor r8d, r8d
jmp 0x180046573
mov r8b, 1
movss xmm0, dword [0x1801e5934]
xorps xmm3, xmm3
movss dword [rsp + 0x28], xmm0
mov edx, 3
mov rcx, rsi
movss dword [rsp + 0x20], xmm14
call fcn.1800125f0
mov r9, qword [0x1801ebaf8]
lea rcx, [rsp + 0x60]
movaps xmm10, xmm0
movups xmm1, xmmword [r9 + 0x38b8]
movss xmm12, dword [r9 + 0x37e0]
movups xmmword [rsp + 0x60], xmm1
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm12
movss dword [rsp + 0x6c], xmm1
call fcn.180018a20
movss xmm11, dword [0x1801b2ebc]
xorps xmm6, xmm6
movups xmm0, xmmword [r9 + 0x38c8]
movzx ecx, al
mov r8d, eax
xorps xmm7, xmm7
movups xmmword [rsp + 0x60], xmm0
shr r8d, 0x18
xorps xmm8, xmm8
shufps xmm0, xmm0, 0xff
cvtsi2ss xmm6, rcx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm9, xmm9
mulss xmm0, xmm12
cvtsi2ss xmm7, rcx
mov ecx, eax
shr ecx, 0x10
movzx eax, cl
lea rcx, [rsp + 0x60]
mulss xmm6, xmm11
cvtsi2ss xmm8, rax
mov eax, r8d
cvtsi2ss xmm9, rax
movss dword [rsp + 0x6c], xmm0
mulss xmm7, xmm11
mulss xmm9, xmm11
mulss xmm8, xmm11
call fcn.180018a20
movzx ecx, al
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm2, xmm2
xorps xmm3, xmm3
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cvtsi2ss xmm1, rcx
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
shr eax, 0x18
mulss xmm0, xmm11
mulss xmm1, xmm11
subss xmm6, xmm0
cvtsi2ss xmm2, rcx
subss xmm7, xmm1
mulss xmm6, xmm10
mulss xmm2, xmm11
cvtsi2ss xmm3, rax
mulss xmm7, xmm10
addss xmm6, xmm0
subss xmm8, xmm2
mulss xmm3, xmm11
addss xmm7, xmm1
movss dword [rsp + 0x40], xmm6
subss xmm9, xmm3
mulss xmm8, xmm10
movss dword [rsp + 0x44], xmm7
addss xmm8, xmm2
mulss xmm9, xmm10
movss dword [rsp + 0x48], xmm8
addss xmm9, xmm3
lea rcx, [rsp + 0x40]
movss dword [rsp + 0x4c], xmm9
call fcn.180018a20
movups xmm1, xmmword [r9 + 0x3928]
movzx ecx, al
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm1
cvtsi2ss xmm0, rcx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
shufps xmm1, xmm1, 0xff
mulss xmm1, xmm12
mulss xmm0, xmm11
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x60], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
mov ecx, eax
shr eax, 0x18
shr ecx, 0x10
movzx ecx, cl
mulss xmm0, xmm11
movss dword [rsp + 0x64], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
lea rcx, [rsp + 0x40]
mulss xmm0, xmm11
movss dword [rsp + 0x68], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
movzx eax, r14b
neg al
sbb r15d, r15d
and r15d, 0x30
mulss xmm0, xmm11
movss dword [rsp + 0x6c], xmm0
call fcn.180018a20
movss xmm8, dword [rbp - 0x2c]
lea rdx, [rsp + 0x78]
mov rcx, qword [rdi + 0x290]
lea r8, [rbp - 0x80]
mov r9d, eax
mov dword [rsp + 0x28], r15d
movss dword [rsp + 0x20], xmm8
call fcn.180039140
mov r8, qword [0x1801ebaf8]
lea rcx, [rsp + 0x40]
mov rbx, qword [rdi + 0x290]
movups xmm0, xmmword [r8 + 0x3908]
movups xmmword [rsp + 0x40], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x37e0]
movss dword [rsp + 0x4c], xmm0
call fcn.180018a20
movss xmm9, dword [rbp - 0x7c]
mov r13d, eax
movss xmm10, dword [rbp - 0x80]
movss xmm7, dword [rsp + 0x7c]
movss xmm11, dword [rsp + 0x78]
movss xmm6, dword [0x1801b2f0c]
test eax, 0xff000000
je 0x1800468f6
test byte [rbx + 0x30], 1
movaps xmm0, xmm10
mov dword [rsp + 0x20], r15d
movaps xmm3, xmm8
mov rcx, rbx
je 0x180046875
subss xmm0, xmm6
movaps xmm1, xmm9
subss xmm1, xmm6
lea r8, [rsp + 0x54]
lea rdx, [rsp + 0x40]
movss dword [rsp + 0x54], xmm0
movaps xmm0, xmm11
movss dword [rsp + 0x58], xmm1
addss xmm0, xmm6
movaps xmm1, xmm7
addss xmm1, xmm6
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
jmp 0x1800468ba
subss xmm0, dword [0x1801b2f08]
movaps xmm1, xmm11
lea r8, [rsp + 0x40]
addss xmm1, xmm6
lea rdx, [rsp + 0x54]
movss dword [rsp + 0x40], xmm0
movaps xmm0, xmm9
subss xmm0, dword [0x1801b2f08]
movss dword [rsp + 0x54], xmm1
movss dword [rsp + 0x44], xmm0
movaps xmm0, xmm7
addss xmm0, xmm6
movss dword [rsp + 0x58], xmm0
call fcn.180038980
movss xmm0, dword [rbp - 0x28]
mov r9d, r13d
mov r8d, dword [rbx + 0x78]
mov rcx, rbx
mov rdx, qword [rbx + 0x80]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 1
call fcn.180036bc0
mov r8, qword [0x1801ebaf8]
mov dword [rbx + 0x78], 0
mov rax, qword [r8 + 0x3eb0]
movaps xmm1, xmm7
movss xmm8, dword [rbp - 0x34]
addss xmm1, xmm9
movaps xmm0, xmm10
subss xmm0, xmm8
mov byte [rax + 0xb0], 1
mov rax, qword [r8 + 0x3eb0]
mulss xmm1, xmm6
subss xmm0, dword [0x1801b3054]
mov rcx, qword [rax + 0x290]
subss xmm1, dword [0x1801b3014]
mov eax, dword [rcx + 0x20]
lea rcx, [rsp + 0x60]
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm1
mov dword [0x1801ebaf0], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rax
call fcn.180018a20
movss xmm0, dword [0x1801b3048]
mov r8d, eax
mov rdx, qword [rsp + 0x40]
mov r9d, 3
mov rcx, qword [rdi + 0x290]
movss dword [rsp + 0x20], xmm0
call fcn.18003db90
lea rdx, [rsp + 0x40]
call fcn.180011490
movaps xmm1, xmm15
mov r8, qword [rax]
call fcn.180011630
mov rcx, qword [rbp + 0x3c0]
mov r9b, 1
xor r8d, r8d
mov rdx, rsi
call fcn.1800195b0
mov rcx, qword [rdi + 0x290]
lea r8, [rsp + 0x40]
movaps xmm1, xmm8
lea rdx, [rsp + 0x78]
subss xmm1, dword [0x1801b30a0]
movaps xmm0, xmm10
movaps xmm2, xmm9
subss xmm2, xmm13
mov r9b, 1
subss xmm0, xmm1
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x40], xmm0
call fcn.1800367c0
movss xmm12, dword [rbp - 0x30]
test r12, r12
je 0x180046a2a
movaps xmm0, xmm11
addss xmm7, xmm12
addss xmm0, xmm8
mov r9b, 1
xor r8d, r8d
mov rdx, r12
unpcklps xmm0, xmm7
movq rcx, xmm0
call fcn.1800195b0
mov rcx, qword [rdi + 0x290]
mov eax, dword [rcx + 0x58]
sub eax, 1
mov dword [rcx + 0x58], eax
jne 0x180046a46
mov rax, qword [rcx + 0x38]
add rax, 0x1c
jmp 0x180046a52
dec eax
cdqe
shl rax, 4
add rax, qword [rcx + 0x60]
movups xmm0, xmmword [rax]
movups xmmword [rcx + 0x88], xmm0
call fcn.1800365d0
movss xmm0, dword [rdi + 0x24]
addss xmm0, dword [rdi + 0x1c]
movss xmm1, dword [rbp - 0x20]
movss xmm4, dword [rdi + 0x18]
movss xmm3, dword [rbp + 0x3cc]
movaps xmm2, xmm4
addss xmm2, dword [rdi + 0x20]
subss xmm0, xmm1
comiss xmm0, xmm3
jbe 0x180046b15
mov rax, qword [0x1801ebaf8]
lea rcx, [rsp + 0x60]
mulss xmm1, xmm6
movss dword [rsp + 0x40], xmm2
movups xmm0, xmmword [rax + 0x3a68]
movss dword [rsp + 0x54], xmm4
movups xmmword [rsp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x37e0]
movss dword [rsp + 0x6c], xmm0
movaps xmm0, xmm3
addss xmm0, xmm14
addss xmm0, xmm1
addss xmm1, xmm3
movss dword [rsp + 0x44], xmm0
movss dword [rsp + 0x58], xmm1
call fcn.180018a20
mov rcx, qword [rdi + 0x290]
lea rdx, [rsp + 0x54]
mov r9d, eax
mov dword [rsp + 0x28], 0
lea r8, [rsp + 0x40]
movss dword [rsp + 0x20], xmm13
call fcn.180039140
test r14b, r14b
je 0x180046d1c
lea rdx, [rsp + 0x40]
movss dword [rsp + 0x44], xmm12
mov ecx, 2
mov dword [rsp + 0x40], 0
call fcn.180019240
xor edx, edx
mov r8d, 0x40000ab
mov rcx, rsi
call fcn.1800216e0
mov ecx, 1
call fcn.180019330
mov r10, qword [0x1801ebaf8]
lea rdx, [rsp + 0x40]
subss xmm9, dword [0x1801b2fa0]
xor r8d, r8d
movss dword [rsp + 0x40], xmm11
mov rcx, qword [r10 + 0x3eb0]
movss dword [rsp + 0x44], xmm9
call fcn.1800243d0
mov rax, qword [r10 + 0x3eb0]
lea rcx, [rsp + 0x60]
mov byte [rax + 0xb0], 1
mov rax, qword [r10 + 0x3eb0]
movups xmm0, xmmword [r10 + 0x38f8]
movss xmm1, dword [rax + 0x1c]
addss xmm1, dword [rax + 0x24]
movups xmmword [rsp + 0x60], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r10 + 0x37e0]
movss dword [rsp + 0x44], xmm1
movss dword [rsp + 0x6c], xmm0
movss xmm0, dword [rax + 0x18]
addss xmm0, dword [rax + 0x20]
movss dword [rsp + 0x40], xmm0
movsd xmm0, qword [rax + 0x18]
movsd qword [rsp + 0x54], xmm0
call fcn.180018a20
mov rcx, qword [r10 + 0x3eb0]
lea r8, [rsp + 0x40]
movss xmm7, dword [rbp - 0x3c]
lea rdx, [rsp + 0x54]
mov r9d, eax
mov dword [rsp + 0x28], 0xc0
movss dword [rsp + 0x20], xmm7
mov rcx, qword [rcx + 0x290]
call fcn.180039140
movss xmm0, dword [rbp - 0x70]
lea rcx, [rsp + 0x60]
mulss xmm0, dword [0x1801b2ed8]
mov r8, qword [0x1801ebaf8]
movss xmm6, dword [rbp - 0x38]
mulss xmm6, dword [0x1801b2fa0]
mov dword [rsp + 0x60], 0x3f800000
mov rax, qword [r8 + 0x3eb0]
movss dword [rsp + 0x6c], xmm0
mov dword [rsp + 0x64], 0x3f800000
mov dword [rsp + 0x68], 0x3f800000
mov byte [rax + 0xb0], 1
mov rax, qword [r8 + 0x3eb0]
movss xmm0, dword [rax + 0x18]
addss xmm0, dword [rax + 0x20]
movss xmm1, dword [rax + 0x1c]
addss xmm1, dword [rax + 0x24]
movss dword [rsp + 0x40], xmm0
movsd xmm0, qword [rax + 0x18]
movsd qword [rsp + 0x54], xmm0
movss dword [rsp + 0x44], xmm1
call fcn.180018a20
mov rcx, qword [r8 + 0x3eb0]
lea rdx, [rsp + 0x54]
movss dword [rsp + 0x30], xmm6
lea r8, [rsp + 0x40]
mov r9d, eax
mov dword [rsp + 0x28], 0xc0
movss dword [rsp + 0x20], xmm7
mov rcx, qword [rcx + 0x290]
call fcn.180039040
mov rdx, qword [0x1801ebaf8]
subss xmm10, xmm11
mov rcx, qword [rdx + 0x3eb0]
movss dword [rcx + 0x28], xmm10
movss xmm0, dword [rbp + 0x4ba0]
subss xmm0, dword [rbp + 0x4b98]
mov rcx, qword [rdx + 0x3eb0]
mulss xmm0, dword [rbp - 0x78]
movss dword [rcx + 0x2c], xmm0
lea rcx, [rbp + 0x3d0]
call fcn.18000bc70
movzx eax, r14b
mov rcx, qword [rbp + 0x61b0]
xor rcx, rsp
call fcn.180146940
lea r11, [rsp + 0x6360]
mov rbx, qword [r11 + 0x50]
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 rdi
pop rsi
pop rbp
ret