Function at 0x180011cb0
Capabilities:
Hash data with crc32

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x3a0]
sub rsp, 0x4a0
mov rdi, rdx
mov r12, rcx
mov rcx, rdi
xor edx, edx
mov rbx, r8
call fcn.18002cb90
xor r13d, r13d
lea r14, [rdi + 8]
xor edx, edx
mov qword [rdi], r13
mov r8d, 0xdc
mov dword [r14], r13d
lea rcx, [rbp - 0x7c]
call fcn.180008e20
xor eax, eax
mov ecx, 0x62a70b8f
mov dword [rbp + 0x6a], eax
test rbx, rbx
mov eax, 0x99eb4ece
cmovne eax, ecx
mov ecx, 0x22a7ba8f
mov dword [rsp + 0x70], eax
mov eax, 0x720c1742
cmovne eax, ecx
xor ecx, ecx
mov dword [rbp + 0x6e], eax
mov rax, qword [r12 + 0xc7]
mov qword [rsp + 0x74], rax
movzx eax, word [r12 + 0xb7]
mov word [rsp + 0x7c], ax
movzx eax, byte [r12 + 0xbd]
mov word [rsp + 0x7e], ax
call fcn.180008290
sub eax, 0x386e02c7
mov word [rbp + 0x68], r13w
mov dword [rbp - 0x80], eax
movzx eax, word [r12 + 0xbf]
mov word [rbp + 0x62], ax
movzx eax, word [r12 + 0xc1]
mov word [rbp + 0x64], ax
movzx eax, word [r12 + 0xb5]
mov word [rbp + 0x66], ax
test rbx, rbx
je 0x180011da7
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [rbp + 0x60], ax
mov rdx, rbx
movzx r8d, ax
lea rcx, [rbp - 0x7c]
jmp 0x180011e18
lea rcx, [r12 + 0xa9c]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movabs rcx, 0x5b2e97076512942d
lea rdx, [r12 + 0xa9c]
add ax, 7
mov word [rbp + 0x60], ax
movabs rax, 0x5b71f366067dec48
mov qword [rbp + 0x3e0], rax
mov rax, qword [rbp + 0x3e0]
movzx r8d, word [rbp + 0x60]
xor rax, rcx
mov qword [rbp + 0x3e0], rax
lea rcx, [rbp - 0x75]
mov eax, dword [rbp + 0x3e0]
mov dword [rbp - 0x7c], eax
movzx eax, word [rbp + 0x3e4]
mov word [rbp - 0x78], ax
movzx eax, byte [rbp + 0x3e6]
mov byte [rbp - 0x76], al
call fcn.180008d30
mov edx, 0x4020f499
lea r8, [rsp + 0x70]
mov r9d, 0xfa
lea r10, [0x1800438c0]
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r8]
lea r8, [r8 + 1]
movzx eax, dl
xor rcx, rax
shr edx, 8
xor edx, dword [r10 + rcx*4]
add r9d, 0xffffffff
jne 0x180011e40
movzx eax, dl
lea rbx, [r12 + 0x1764]
xor rax, 0xaf
shr edx, 8
mov dword [rbp + 0x3e0], 0x190
mov dword [rbp + 0x3e8], 0x190
xor edx, dword [r10 + rax*4]
not edx
mov eax, dword [r12 + 0xb1]
mov dword [rsp + 0x60], eax
movabs rax, 0x56a51f2d0447a302
mov qword [rsp + 0x64], rax
mov dword [rbp + 0x6a], edx
cmp dword [rbx], r13d
jne 0x180011eb2
mov dword [rbx], 0x800
mov r10, qword [r12]
lea rsi, [r12 + 0x1774]
movzx ecx, byte [rsi]
mov eax, setsockopt
test cl, cl
mov edx, r13d
mov r8d, 0xa00
lea rcx, [rsp + 0x70]
cmove edx, eax
mov r9d, reloc.WS2_32.dll_inet_ntoa
mov dword [rsp + 0x58], edx
mov eax, r13d
cmove eax, r8d
mov edx, 0x102
mov dword [rsp + 0x50], eax
lea r8, [rsp + 0x60]
mov qword [rsp + 0x48], rbx
lea rax, [rbp + 0x3e8]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x210]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x3e0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
call r10
test eax, eax
jne 0x1800120be
cmp dword [rbp + 0x3e0], 0x140
jne 0x1800120be
mov r8d, dword [rbx]
lea rcx, [r12 + 0x5dc]
lea r9d, [rax + 3]
mov rdx, rsi
call fcn.18001b0b0
mov eax, dword [rbp + 0x3e0]
lea esi, [rax + rax]
mov eax, dword [r14]
and eax, 0x1fffffff
cmp esi, eax
jbe 0x180011f8d
sub esi, eax
xor edx, edx
mov r8d, esi
mov rcx, rdi
call fcn.1800107b0
jmp 0x18001207e
je 0x18001207e
mov rbx, qword [rdi]
cmp esi, 0x1fffffff
mov qword [rsp + 0x4f0], r15
mov r15d, r13d
cmovbe r15d, esi
test r15d, r15d
je 0x180011ffc
test rbx, rbx
je 0x180012001
mov rcx, rdi
call fcn.18001c540
mov edx, r15d
mov rcx, rdi
mov ebx, eax
call fcn.18002dcf0
mov rcx, rdi
call fcn.18001c540
mov r15d, eax
cmp ebx, eax
je 0x18001204f
mov rbx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r9d, [r15 + 8]
mov r8, rbx
mov rcx, rax
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov qword [rdi], rax
jmp 0x18001204f
test rbx, rbx
jne 0x180012033
mov edx, r15d
mov rcx, rdi
call fcn.18002dcf0
mov rcx, rdi
call fcn.18001c540
lea ebx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rdi], rax
jmp 0x18001204f
test r15d, r15d
jne 0x18001204f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi], r13
and dword [r14], 0xe0000000
mov eax, esi
and eax, 0x1fffffff
mov edx, esi
or dword [r14], eax
mov rcx, rdi
call fcn.18002dcf0
mov rcx, qword [rdi]
mov r15, qword [rsp + 0x4f0]
test rcx, rcx
je 0x18001207e
mov byte [rsi + rcx], r13b
cmp dword [r14], r13d
je 0x180012086
mov r14, qword [rdi]
mov r8d, dword [rbp + 0x3e0]
lea rcx, [rbp + 0x80]
mov r9b, 1
mov rdx, r14
call fcn.180007450
mov r8d, dword [rbp + 0x3e0]
lea rcx, [r12 + 0x95c]
lea rdx, [rbp + 0x80]
call fcn.180008d30
mov al, 1
jmp 0x1800120c0
xor al, al
add rsp, 0x4a0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret