Function at 0x180011620
Capabilities:
Check for time delay via gettickcount
Encode data using xor
Hash data with crc32
Send data
Send data on socket

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
xor ebp, ebp
mov rbx, r8
mov edi, edx
mov esi, ebp
mov dword [rsp + 0x30], ebp
mov r12, rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9, qword [rbx + 8]
mov dword [rsp + 0xc8], ebp
sub r9, qword [rbx]
mov dword [rsp + 0x34], eax
movabs rax, 0x6666666666666667
imul r9
sar rdx, 3
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
lea rcx, [rdx*4]
call fcn.18002f604
mov edx, edi
mov rcx, r12
mov rbx, rax
mov qword [rsp + 0x48], rax
call fcn.180010d50
xor r9d, r9d
mov r13d, 1
mov dword [rsp + 0x38], r9d
mov dword [rsp + 0x3c], r13d
cmp dword [r12 + 0x64], ebp
je 0x180011ce0
nop
mov r8, qword [rsp + 0xc0]
movabs rax, 0x6666666666666667
mov r15d, r9d
mov r10, qword [r8]
mov rcx, qword [r8 + 8]
mov dword [rsp + 0x44], r9d
sub rcx, r10
mov r14d, r9d
mov esi, r9d
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1800117ec
mov rdi, rbx
mov rbx, r9
nop word [rax + rax]
cmp dword [rbx + r10], 0
jne 0x1800117b6
mov r8d, dword [rbx + r10 + 0x10]
mov rdx, qword [rbx + r10 + 8]
mov rcx, qword [r12 + 0x40]
lea rax, [r12 + 0x48]
xor r9d, r9d
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jle 0x180011c5d
mov r8, qword [rsp + 0xc0]
add rdi, 4
add r14d, 4
mov rax, qword [r8]
mov ecx, dword [rbx + rax + 4]
mov dword [rdi - 4], ecx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rsp + 0x34]
cmp eax, dword [r12 + 0x58]
jae 0x180011c5d
inc r15d
mov dword [rsp + 0x44], r15d
cmp ebp, 0x1e
jae 0x180011c5d
cmp ebp, 2
jbe 0x18001179d
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1800117a2
call fcn.1800110b0
cmp dword [r12 + 0x64], 0
je 0x180011c5d
mov r8, qword [rsp + 0xc0]
mov r10, qword [r8]
mov rcx, qword [r8 + 8]
inc esi
sub rcx, r10
movabs rax, 0x6666666666666667
add rbx, 0x14
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, esi
cmp rax, rdx
jb 0x180011710
mov ebx, dword [rsp + 0xc8]
test ebx, ebx
jne 0x180011c6f
mov r13d, dword [rsp + 0xb8]
xor r15d, r15d
cmp dword [r12 + 8], r15d
jne 0x18001192b
cmp dword [r12 + 0x64], 0
je 0x180011c5d
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [r12 + 0x10]
mov edi, dword [r12 + 0xc]
lea ecx, [r14 + 0x50]
mov esi, eax
call fcn.18002f604
mov rbp, rax
mov dword [rax + 4], 5
mov dword [rax + 8], r13d
mov qword [rax + 0xc], 1
mov dword [rax + 0x14], r14d
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], esi
mov dword [rax + 0x20], edi
mov dword [rax + 0x24], r14d
xor eax, eax
lea r11d, [rax + 0x30]
mov qword [rbp + 0x28], rax
test r14d, r14d
je 0x18001188e
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x30]
mov r8d, r14d
call fcn.18002fb80
lea r11d, [r14 + 0x30]
lea eax, [r11 - 4]
cmp eax, 1
jge 0x18001189d
or r8d, 0xffffffff
jmp 0x1800118d8
mov r8d, r15d
mov r9, r15
movsxd r10, eax
test eax, eax
je 0x1800118d5
lea r15, [0x18004dd40]
movsx ecx, byte [r9 + rbp + 4]
mov eax, r8d
inc r9
xor rcx, rax
shr eax, 8
movzx edx, cl
mov r8d, dword [r15 + rdx*4]
xor r8d, eax
cmp r9, r10
jne 0x1800118b1
xor r15d, r15d
not r8d
mov dword [rbp], r8d
mov rcx, qword [r12 + 0x40]
lea rax, [r12 + 0x48]
xor r9d, r9d
mov r8d, r11d
mov rdx, rbp
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_sendto]
mov rcx, rbp
call fcn.18002f934
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rsp + 0x34]
cmp eax, dword [r12 + 0x58]
jae 0x180011c5d
cmp dword [r12 + 8], 0
je 0x180011811
mov ecx, 5
mov dword [r12 + 0x9c], r15d
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [r12 + 0x10]
mov edi, dword [r12 + 0xc]
lea ecx, [r14 + 0x50]
mov esi, eax
mov eax, ecx
mov qword [rsp + 0x50], rax
call fcn.18002f604
mov dword [rax + 4], 5
mov dword [rax + 8], r13d
mov qword [rax + 0xc], 1
mov dword [rax + 0x14], r14d
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], esi
mov dword [rax + 0x20], edi
mov rbp, rax
mov dword [rax + 0x24], r14d
xor eax, eax
mov qword [rbp + 0x28], rax
lea r11d, [rax + 0x30]
test r14d, r14d
je 0x1800119ab
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x30]
mov r8d, r14d
call fcn.18002fb80
lea r11d, [r14 + 0x30]
lea eax, [r11 - 4]
cmp eax, 1
jge 0x1800119ba
or r8d, 0xffffffff
jmp 0x1800119fc
mov r8d, r15d
mov r9, r15
movsxd r10, eax
test eax, eax
je 0x1800119f9
lea r12, [0x18004dd40]
nop
movsx ecx, byte [r9 + rbp + 4]
mov eax, r8d
inc r9
xor rcx, rax
shr eax, 8
movzx edx, cl
mov r8d, dword [r12 + rdx*4]
xor r8d, eax
cmp r9, r10
jne 0x1800119d0
mov r12, qword [rsp + 0xb0]
not r8d
mov dword [rbp], r8d
mov rcx, qword [r12 + 0x40]
lea r15, [r12 + 0x48]
xor r9d, r9d
mov r8d, r11d
mov rdx, rbp
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov qword [rsp + 0x20], r15
call qword [sym.imp.WS2_32.dll_sendto]
mov rcx, rbp
call fcn.18002f934
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xor ebp, ebp
mov dword [rsp + 0x40], ebp
mov ebx, ebp
mov r13d, ebp
nop
cmp dword [r12 + 0x64], 0
je 0x180011b95
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0x64
jb 0x180011b5a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [rsp + 0x50]
mov ebx, dword [r12 + 0x10]
mov edi, dword [r12 + 0xc]
mov esi, eax
call fcn.18002f604
mov dword [rax + 4], 5
mov rbp, rax
mov eax, dword [rsp + 0xb8]
mov dword [rbp + 8], eax
mov qword [rbp + 0xc], 1
mov dword [rbp + 0x14], r14d
mov dword [rbp + 0x18], ebx
mov dword [rbp + 0x1c], esi
xor ecx, ecx
xor eax, eax
mov dword [rbp + 0x20], edi
mov dword [rbp + 0x24], r14d
lea r11d, [rcx + 0x30]
mov qword [rbp + 0x28], rax
test r14d, r14d
je 0x180011ad3
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x30]
mov r8d, r14d
call fcn.18002fb80
lea r11d, [r14 + 0x30]
xor ecx, ecx
lea eax, [r11 - 4]
cmp eax, 1
jge 0x180011ae2
or r8d, 0xffffffff
jmp 0x180011b29
mov r8d, ecx
mov r9, rcx
movsxd r10, eax
test eax, eax
je 0x180011b26
lea r15, [0x18004dd40]
nop word [rax + rax]
movsx ecx, byte [r9 + rbp + 4]
mov eax, r8d
inc r9
xor rcx, rax
shr eax, 8
movzx edx, cl
mov r8d, dword [r15 + rdx*4]
xor r8d, eax
cmp r9, r10
jne 0x180011b00
lea r15, [r12 + 0x48]
not r8d
mov dword [rbp], r8d
mov rcx, qword [r12 + 0x40]
xor r9d, r9d
mov r8d, r11d
mov rdx, rbp
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov qword [rsp + 0x20], r15
call qword [sym.imp.WS2_32.dll_sendto]
mov rcx, rbp
call fcn.18002f934
xor ebp, ebp
mov ebx, ebp
cmp dword [r12 + 0x9c], 0
jne 0x180011b7f
inc r13d
cmp r13d, 0x7d0
jbe 0x180011a40
mov r14d, dword [rsp + 0xc8]
jmp 0x180011ba3
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, dword [rsp + 0xc8]
mov edi, eax
mov dword [rsp + 0x34], eax
jmp 0x180011ba7
mov r14d, 1
mov dword [rsp + 0xc8], r14d
mov edi, dword [rsp + 0x34]
cmp dword [r12 + 0x9c], 0
jne 0x180011bd5
mov r13d, dword [rsp + 0x3c]
cmp r13d, 0x1f4
ja 0x180011bc9
add r13d, 0xa
mov dword [rsp + 0x3c], r13d
mov ebp, dword [rsp + 0x38]
inc ebp
mov dword [rsp + 0x38], ebp
jmp 0x180011c44
mov r8, qword [rsp + 0xc0]
mov edx, dword [rsp + 0xb8]
lea r9, [rsp + 0x40]
mov rcx, r12
call fcn.180011200
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x180011cf7
test r14d, r14d
jne 0x180011cd1
mov eax, dword [rsp + 0x40]
test eax, eax
jne 0x180011c14
mov ebp, dword [rsp + 0x38]
inc ebp
mov r13d, dword [rsp + 0x3c]
mov dword [rsp + 0x38], ebp
cmp eax, dword [rsp + 0x44]
jae 0x180011c35
cmp r13d, 0x1f4
ja 0x180011c35
add r13d, 0xa
mov dword [rsp + 0x3c], r13d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, edi
cmp eax, dword [r12 + 0x58]
jae 0x180011c5d
cmp dword [r12 + 0x64], 0
je 0x180011cdc
mov rbx, qword [rsp + 0x48]
xor r9d, r9d
jmp 0x1800116c0
mov dword [rsp + 0xc8], 1
mov ebx, dword [rsp + 0xc8]
mov esi, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
call fcn.18002f934
mov eax, dword [rsp + 0xb8]
mov rcx, qword [r12]
or edx, 0xffffffff
mov dword [rsp + 0xb8], eax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rcx, [r12 + 0x18]
lea rdx, [rsp + 0xb8]
call fcn.180012c50
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test ebx, ebx
mov ebp, 0
cmovne esi, ebp
mov eax, esi
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ebx, dword [rsp + 0xc8]
mov esi, ebp
jmp 0x180011c73
mov esi, dword [rsp + 0x30]
mov dword [rsp + 0xc8], 1
mov ebx, dword [rsp + 0xc8]
jmp 0x180011c73
mov ebx, dword [rsp + 0xc8]
mov esi, eax
jmp 0x180011c73