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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov rdi, r9
mov qword [rbp - 8], r8
mov r14, rdx
mov rbx, rcx
mov eax, dword [0x1402b73c4]
mov ecx, dword [0x1402b73c8]
shrd ecx, eax, 0x1c
xor ecx, 0x486e3c57
mov eax, ecx
lea rax, [rax + rax*2]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r12, rsp
imul eax, dword [0x1402b73cc], 0x6faa2a87
imul ecx, dword [0x1402b73d0], 0x10902f8
add eax, ecx
add eax, 0xa35c0854
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r13, rsp
imul eax, dword [0x1402b73d4], 0x2115b77d
imul ecx, dword [0x1402b73d8], 0x2d58f75d
add eax, ecx
add eax, 0x73542341
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400fe1d0
sub rsp, rax
mov r9, rsp
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov qword [r12 + 0x10], 0
mov eax, dword [rdi + 0xc]
mov edx, eax
mov eax, edx
imul ecx, dword [0x1402b73dc], 0x75018964
imul r8d, dword [0x1402b73e0], 0x2ed2032d
add ecx, r8d
add ecx, 0x717c506a
cmp edx, ecx
je 0x1400b95f3
mov r8, qword [rdi]
mov r15d, 0
test r8, r8
je 0x1400b95f6
mov qword [rbp - 0x10], r9
mov qword [rbp], rbx
mov eax, dword [0x1402b73e4]
mov ecx, dword [0x1402b73e8]
shrd ecx, eax, 0x18
mov r9d, ecx
xor r9d, 0x503458a3
lea r10, [0x140224578]
mov eax, dword [0x1402b73ec]
shr eax, 2
mov ecx, eax
xor cl, 0xc5
mov rax, qword [0x1402b73f0]
mov rsi, qword [0x1402b73f8]
shrd rsi, rax, 0x13
movabs r11, 0x377ee13b0e4fc436
xor r11, rsi
xor r15d, r15d
mov eax, 0xffffffff
mov ebx, eax
movzx esi, byte [r8 + r15]
and ebx, r9d
xor ebx, esi
shr eax, cl
mov esi, eax
xor esi, dword [r10 + rbx*4]
mov rbx, r15
add rbx, r11
mov r15, rbx
mov eax, esi
cmp rbx, rdx
jne 0x1400b95a4
imul eax, dword [0x1402b7400], 0x32d1719d
imul ecx, dword [0x1402b7404], 0xbc22fe84
add eax, ecx
add eax, 0xd7237849
mov r15d, esi
xor r15d, eax
mov rbx, qword [rbp]
mov r9, qword [rbp - 0x10]
jmp 0x1400b95f6
xor r15d, r15d
mov qword [rbp], r9
lea rsi, [rbx + 0x10]
sub rsp, 0x20
mov rcx, r14
mov rdx, rdi
mov r8, qword [rbp - 8]
mov r9, r12
call fcn.1400a4c04
add rsp, 0x20
mov rax, qword [0x1402b7408]
mov rcx, qword [0x1402b7410]
shrd rcx, rax, 0x38
mov rax, qword [r12 + 0x10]
movabs rdx, 0xe233430a30032637
xor rcx, rdx
and rcx, rax
mov rdx, qword [0x1402b7418]
movabs r8, 0x914dfeccfa3203ac
imul rdx, r8
mov r8, qword [0x1402b7420]
movabs r9, 0x23c45a773ad9ca13
imul r8, r9
add r8, rdx
movabs rdx, 0x564345dfebb0cea6
add r8, rdx
cmp rcx, r8
je 0x1400b96cd
mov rcx, qword [0x1402b7428]
mov rdx, qword [0x1402b7430]
shrd rdx, rcx, 0x25
movabs rcx, 0x70454753a6037a0a
xor rdx, rcx
cmp rax, rdx
setne al
mov ecx, dword [0x1402b7438]
mov edx, dword [0x1402b743c]
shrd edx, ecx, 0x12
xor edx, 0x3de6c122
cmp dword [r12], edx
setne cl
or cl, al
cmp cl, 1
je 0x1400b9849
imul eax, dword [0x1402b74a4], 0xa675a938
imul ecx, dword [0x1402b74a8], 0xc54b4919
add eax, ecx
add eax, 0xd31696d2
mov dword [r13], eax
sub rsp, 0x20
mov rcx, r14
mov rdx, r13
mov r8, qword [rbp - 8]
mov r9, r12
call fcn.1400a79fd
add rsp, 0x20
mov rax, qword [r12 + 0x10]
mov rcx, qword [0x1402b74b0]
movabs rdx, 0x86686b7c61628242
imul rcx, rdx
mov rdx, qword [0x1402b74b8]
movabs r8, 0x825817c168e01c0a
imul rdx, r8
add rdx, rcx
movabs rcx, 0xff1a7801f80b5aef
add rdx, rcx
mov rcx, qword [0x1402b74c0]
mov r8, qword [0x1402b74c8]
shrd r8, rcx, 0x16
and rdx, rax
movabs rcx, 0xcdc5443604af22af
xor r8, rcx
cmp rdx, r8
je 0x1400b97d5
mov rcx, qword [0x1402b74d0]
movabs rdx, 0xd8009e314c862e83
imul rcx, rdx
mov rdx, qword [0x1402b74d8]
movabs r8, 0x75a30d997b15b07c
imul rdx, r8
add rdx, rcx
movabs rcx, 0x1a7d96e4a16a7a5
add rdx, rcx
cmp rax, rdx
setne al
mov ecx, dword [str.1FM_y_]
mov edx, dword [0x1402b74e4]
shrd edx, ecx, 3
xor edx, 0x2b7aabaf
cmp dword [r12], edx
setne cl
or cl, al
cmp cl, 1
je 0x1400b99f9
cmp r15d, dword [r13]
je 0x1400b9824
mov eax, dword [0x1402b7544]
mov ecx, dword [0x1402b7548]
shrd ecx, eax, 0x1c
xor ecx, 0x2cb356d2
or dword [rdi + 8], ecx
sub rsp, 0x20
mov rcx, rsi
call fcn.14002ae9f
add rsp, 0x20
mov eax, dword [rax]
mov ecx, dword [0x1402b754c]
mov edx, dword [0x1402b7550]
shrd edx, ecx, 0x1d
xor edx, 0xe89ea295
cmp eax, edx
je 0x1400b95fe
sub rsp, 0x20
mov rsi, qword [rbp]
mov rcx, rsi
call fcn.14003e518
add rsp, 0x20
mov rax, qword [rsi]
mov rcx, qword [rbp + 0x70]
mov qword [rcx], rax
mov al, 1
jmp 0x1400b9b90
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x9bc], 0
je 0x1400b9ba1
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r8, [rax + 0x9a9]
mov al, byte [reloc.WS2_32.dll_send]
mov cl, byte [0x1402b7441]
shr cl, 2
shl al, 6
or al, cl
xor al, 0xd4
cmp byte [r8 + 0x12], al
je 0x1400b99d7
mov qword [rbp], rbx
movabs rax, 0x8a40bfa5554039a
movabs rdx, 0xec8b86854aa7321e
movabs r9, 0xb087f744279f0895
movabs r10, 0x27985efb557d31eb
movabs r11, 0xa125e21d25dfe0a5
movabs rsi, 0x302fc94df9046872
movabs rdi, 0x6d716e6df350906
movabs rbx, 0xb76a7eef60c4bae9
movabs r14, 0x35db5bf18f12c1c5
xor r15d, r15d
imul ecx, dword [0x1402b7448], 0x5f73b6bd
imul r12d, dword [0x1402b7450], 0x24a12d77
add r12d, ecx
mov ecx, r12d
add cl, 0xa
mov r12, r15
shl r12, cl
imul ecx, dword [0x1402b7458], 0xf5963a26
imul r13d, dword [0x1402b7460], 0x33a1e116
add ecx, r13d
add ecx, 0xdc0ede38
and r12d, ecx
mov rcx, qword [0x1402b7468]
imul rcx, rax
mov r13, qword [0x1402b7470]
imul r13, rdx
add r13, rcx
add r13, r9
mov ecx, r12d
shr r13, cl
mov ecx, r13d
xor byte [r8 + r15], r13b
mov rcx, qword [0x1402b7478]
imul rcx, r10
mov r12, qword [0x1402b7480]
imul r12, r11
add r12, rcx
add r15, rsi
add r15, r12
mov rcx, qword [0x1402b7488]
imul rcx, rdi
mov r12, qword [0x1402b7490]
imul r12, rbx
add r12, rcx
add r12, r14
cmp r15, r12
jne 0x1400b9904
movzx eax, byte [0x1402b7498]
movzx ecx, byte [0x1402b7499]
imul eax, eax, 0xffffff85
imul ecx, ecx, 0x70
add cl, al
add cl, 0x76
mov byte [r8 + 0x12], cl
mov rbx, qword [rbp]
imul eax, dword [0x1402b749c], 0x88fcccf1
imul ecx, dword [0x1402b74a0], 0xffed0f95
lea edx, [rax + rcx]
add edx, 0xc32fc0f9
jmp 0x1400b9b7e
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x9dc], 0
je 0x1400b9bd4
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r8, [rax + 0x9bd]
movzx eax, byte [0x1402b74e8]
movzx ecx, byte [0x1402b74e9]
imul eax, eax, 0xffffffd6
imul ecx, ecx, 0xffffffd9
add cl, al
add cl, 0xc
cmp byte [r8 + 0x1c], cl
je 0x1400b9b61
mov r12, rbx
movabs rax, 0xfe3fa658569e1360
movabs rdx, 0x36539b38c29ce265
movabs r9, 0xc68593d1f524c996
movabs r10, 0x3aac742b2c1960ea
movabs r11, 0x1895c52b7ee94dba
movabs rsi, 0xe6e200982198d757
movabs rdi, 0x280bb73875970445
xor ebx, ebx
imul ecx, dword [0x1402b74f0], 0xcd5e9113
imul r14d, dword [0x1402b74f8], 0xd2ff0d10
add r14d, ecx
mov ecx, r14d
add cl, 0xdc
mov r14, rbx
shl r14, cl
mov ecx, dword [0x1402b7500]
shr ecx, 0xe
xor ecx, 0x78
and r14d, ecx
mov rcx, qword [0x1402b7508]
imul rcx, rax
mov r15, qword [0x1402b7510]
imul r15, rdx
add r15, rcx
add r15, r9
mov ecx, r14d
shr r15, cl
mov ecx, r15d
xor byte [r8 + rbx], r15b
mov rcx, qword [0x1402b7518]
imul rcx, r10
mov r14, qword [0x1402b7520]
imul r14, r11
add r14, rcx
add rbx, rsi
mov rcx, rbx
add rcx, r14
mov rbx, qword [0x1402b7528]
mov r14, qword [0x1402b7530]
shrd r14, rbx, 0x1e
xor r14, rdi
mov rbx, rcx
cmp rcx, r14
jne 0x1400b9aa1
movzx eax, byte [0x1402b7538]
movzx ecx, byte [0x1402b7539]
imul eax, eax, 0xffffff94
imul ecx, ecx, 0x3d
add cl, al
add cl, 0x7d
mov byte [r8 + 0x1c], cl
mov rbx, r12
imul eax, dword [0x1402b753c], 0x9e226eb3
imul ecx, dword [0x1402b7540], 0xa055867c
lea edx, [rax + rcx]
add edx, 0x66fa856f
sub rsp, 0x20
mov rcx, rbx
call fcn.1400b3366
add rsp, 0x20
xor eax, eax
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x9bc], 1
sub rsp, 0x20
lea rcx, [0x1400ba073]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x1400b9869
mov eax, dword [0x1402bcbf8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov byte [rax + 0x9dc], 1
sub rsp, 0x20
lea rcx, [0x1400ba139]
call fcn.1400d8bb4
add rsp, 0x20
jmp 0x1400b9a19