Function at 0x14005bc80
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rbx
push rdi
lea rbp, [r11 - 0x58]
sub rsp, 0x140
mov rax, qword [0x1409b0280]
xor rax, rsp
mov qword [rbp], rax
mov qword [r11 + 8], rsi
mov qword [r11 + 0x10], r12
mov qword [r11 + 0x18], r13
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
call fcn.140053da0
call fcn.1400ae580
xor edi, edi
lea rsi, reloc.WS2_32.dll_accept
mov r13d, edi
nop dword [rax]
test dword [rsi - 4], 0xfffffffd
mov r15d, dword [rsi + 4]
mov r12d, dword [rsi]
je 0x14005bce7
xor al, al
jmp 0x14005bd7e
xor r14b, r14b
lea rbx, [0x1409ee218]
xor al, al
lea rcx, [0x1409ee2e8]
nop word [rax + rax]
test rdi, rdi
je 0x14005bd17
cmp dword [rbx - 8], r12d
jne 0x14005bd17
mov r14b, 1
call qword [rbx]
lea rcx, [0x1409ee2e8]
inc rdi
add rbx, 0x10
cmp rbx, rcx
jl 0x14005bd00
test r14b, r14b
jne 0x14005bd2e
xor al, al
xor edi, edi
jmp 0x14005bd7e
test al, al
jne 0x14005bd36
xor edi, edi
jmp 0x14005bd7e
test r15d, r15d
jne 0x14005bd41
mov al, 1
xor edi, edi
jmp 0x14005bd7e
xor dil, dil
lea rbx, [0x1409ee218]
xor al, al
nop dword [rax]
cmp dword [rbx - 8], r15d
jne 0x14005bd67
mov dil, 1
call qword [rbx]
test al, al
lea rcx, [0x1409ee2e8]
sete al
add rbx, 0x10
cmp rbx, rcx
jl 0x14005bd50
test dil, dil
movzx eax, al
mov edi, 0
cmove eax, edi
mov rcx, qword [rsi - 0x14]
mov byte [rsi + 9], al
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
jne 0x14005bd95
mov byte [rsi + 8], al
jmp 0x14005bdaf
mov rdx, qword [rsi - 0xc]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
mov qword [rsi + 0xc], rax
setne al
mov byte [rsi + 8], al
inc r13d
add rsi, 0x30
cmp r13d, 0x1e
jb 0x14005bcd0
mov r15, qword [rsp + 0x130]
mov r14, qword [rsp + 0x138]
mov r13, qword [rsp + 0x170]
mov r12, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x160]
movaps xmmword [rsp + 0x120], xmm6
call fcn.14004f540
call fcn.1400520c0
xor ecx, ecx
call rax
mov rcx, rax
call fcn.14004b640
test eax, eax
jne 0x14005c4a6
mov ecx, 0x29a
call fcn.1400edd6e
movups xmm0, xmmword [0x140983fe0]
movups xmm1, xmmword [0x140983ff0]
mov eax, dword [0x140984038]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [0x140984000]
movups xmmword [rbp - 0x70], xmm0
movups xmm0, xmmword [0x140984020]
movups xmmword [rbp - 0x50], xmm0
movsd xmm0, qword [0x140984030]
movups xmmword [rbp - 0x80], xmm1
movups xmm1, xmmword [0x140984010]
mov dword [rbp - 0x38], eax
mov rax, qword [str.DYWYSE_]
movsd qword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x60], xmm1
mov qword [rsp + 0x48], rax
call fcn.14003c030
cmp byte [rsp + 0x4f], 0
mov r10, rax
mov ebx, dword [reloc.WS2_32.dll_accept]
je 0x14005bfd1
cmp ebx, 2
jl 0x14005bf8a
movdqa xmm2, xmmword [0x140986240]
movdqa xmm4, xmmword [0x140986560]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x140986290]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1409862b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x48]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140986360]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140986430]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rsp + 0x48], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1409862b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rsp + 0x4c]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140986360]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140986430]
xorps xmm2, xmm0
movd dword [rsp + 0x4c], xmm2
jmp 0x14005bfd1
lea r9, [rsp + 0x48]
mov r8d, edi
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x37
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x14005bfa0
cmp byte [rbp - 0x35], 0
je 0x14005c171
mov r8d, edi
cmp ebx, 2
jl 0x14005c127
movdqa xmm0, xmmword [0x140986430]
lea rcx, [rsp + 0x70]
movdqa xmm5, xmmword [0x140986240]
movdqa xmm4, xmmword [0x140986560]
movdqa xmm6, xmmword [0x1409862b0]
movdqa xmmword [rsp + 0x50], xmm0
mov edx, dword [rsp + 0x50]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140986360]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 8], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140986360]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
cmp r8d, 0x58
jl 0x14005c020
cmp r8d, 0x5c
jge 0x14005c171
movsxd rax, r8d
lea r9, [rsp + 0x70]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x37
xor byte [r9 - 1], al
cmp r8d, 0x5c
jl 0x14005c140
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x70]
xor ecx, ecx
call r10
cmp byte [rbp - 0x35], 0
jne 0x14005c321
mov r8d, edi
cmp ebx, 2
jl 0x14005c2d7
movdqa xmm0, xmmword [0x140986430]
lea rcx, [rsp + 0x70]
movdqa xmm5, xmmword [0x140986240]
movdqa xmm4, xmmword [0x140986560]
movdqa xmm6, xmmword [0x1409862b0]
movdqa xmmword [rsp + 0x50], xmm0
mov edx, dword [rsp + 0x50]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add r8d, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140986360]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 8], xmm2
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, edx
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140986360]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
cmp r8d, 0x58
jl 0x14005c1d0
cmp r8d, 0x5c
jge 0x14005c321
movsxd rax, r8d
lea r9, [rsp + 0x70]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4bda12f7
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x37
xor byte [r9 - 1], al
cmp r8d, 0x5c
jl 0x14005c2f0
cmp byte [rsp + 0x4f], 0
jne 0x14005c471
cmp ebx, 2
jl 0x14005c431
movdqa xmm2, xmmword [0x140986240]
movdqa xmm4, xmmword [0x140986560]
movdqa xmm1, xmm2
movdqa xmm3, xmmword [0x140986290]
movdqa xmm0, xmm2
mov eax, dword [0x140986430]
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1409862b0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140986360]
movd xmm1, dword [rsp + 0x48]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movdqa xmm0, xmm3
xorps xmm2, xmm1
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
movd dword [rsp + 0x48], xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1409862b0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140986360]
movd xmm1, dword [rsp + 0x4c]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
xorps xmm2, xmm1
movd dword [rsp + 0x4c], xmm2
jmp 0x14005c471
lea r9, [rsp + 0x48]
mov r8d, edi
nop dword [rax]
mov eax, 0x4bda12f7
lea r9, [r9 + 1]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x37
xor byte [r9 - 1], al
cmp r8d, 8
jl 0x14005c440
call fcn.140039b70
cmp byte [0x14098200d], 0
mov rbx, rax
movzx ecx, word [0x14098200c]
mov word [rsp + 0x40], cx
je 0x14005c498
xor byte [rsp + 0x41], 0x38
mov byte [rsp + 0x40], Ordinal_50
lea rcx, [rsp + 0x40]
call fcn.1401753dc
mov ecx, eax
call rbx
mov ecx, 0x29a
call fcn.1400edd6e
call fcn.1400a32f0
call fcn.14005d0e0
xor edx, edx
lea rcx, [rbp - 0x30]
lea r8d, [rdx + 0x30]
call rax
mov ecx, 8
mov dword [0x1409f45a8], 0xbe91bf
call fcn.14015a210
lea rcx, [0x14005b640]
mov r9, rax
lea r8, [0x14005dfc0]
xor edx, edx
mov qword [rax], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov dword [rsp + 0x20], edi
call fcn.1401756c0
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14005c943
cmp dword [rsp + 0x58], 0
je 0x14005c938
movaps xmm0, xmmword [rsp + 0x50]
lea rcx, [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
call fcn.140159960
test eax, eax
jne 0x14005c938
movss xmm6, dword [0x1409860a0]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x110], xmm7
xorps xmm7, xmm7
movdqa xmmword [rsp + 0x50], xmm0
movzx eax, word [reloc.WS2_32.dll_getsockname]
lea rcx, [rsp + 0x44]
mov word [rsp + 0x44], ax
movzx eax, byte [reloc.WS2_32.dll_gethostname]
xor byte [rsp + 0x45], 0x38
xor al, 0x39
mov byte [rsp + 0x46], al
mov byte [rsp + 0x44], Ordinal_50
call fcn.1401753dc
cmp dword [rbp - 0x28], eax
je 0x14005c90c
call fcn.1400ac800
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp - 0x30]
xor edx, edx
call rax
test eax, eax
je 0x14005c5c4
call fcn.1400acb10
lea rcx, [rbp - 0x30]
call rax
call fcn.1400ace20
lea rcx, [rbp - 0x30]
call rax
jmp 0x14005c557
call fcn.1400edd28
call fcn.1400edd2f
mov rcx, qword [0x1409f6040]
lea r8, [0x1409f5ee8]
mov rdx, qword [0x1409f6010]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov rax, qword [0x1409f44f8]
test rax, rax
je 0x14005c601
mov rax, qword [rax + 0x98]
jmp 0x14005c604
mov rax, rdi
cmp qword [rax + 0x48], 0
jne 0x14005c610
call fcn.140087520
call fcn.140088360
call fcn.140066b40
mov rax, qword [0x1409f44f8]
movss xmm0, dword [rax + 0x36e0]
ucomiss xmm0, xmm7
jp 0x14005c67a
jne 0x14005c67a
call fcn.1400ad130
lea rcx, [rsp + 0x48]
call rax
call fcn.1400ab5a0
mov rcx, qword [0x1409f60a0]
lea rdx, [rsp + 0x60]
call rax
mov eax, dword [rsp + 0x48]
sub eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x4c]
sub ecx, dword [rsp + 0x64]
mov dword [0x1409f4518], eax
mov rax, qword [0x1409f44f8]
mov dword [0x1409f4520], ecx
mov dword [0x1409f447c], ecx
jmp 0x14005c680
mov ecx, dword [0x1409f447c]
cmp byte [rax + 0xd9c], 0
je 0x14005c759
movss xmm1, dword [rax + 0x38]
movss xmm0, dword [rax + 0x3708]
mulss xmm1, xmm1
comiss xmm0, xmm1
setae al
test al, al
je 0x14005c759
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm6, xmm0
jbe 0x14005c759
call fcn.1400ad130
lea rcx, [rsp + 0x50]
call rax
call fcn.1400ad440
cmp byte [0x14098200d], 0
mov rdi, rax
movzx ecx, word [0x14098200c]
mov word [rsp + 0x40], cx
je 0x14005c6ef
xor byte [rsp + 0x41], 0x38
mov byte [rsp + 0x40], Ordinal_50
lea rcx, [rsp + 0x40]
call fcn.1401753dc
cmp byte [0x14098200d], 0
mov ebx, eax
movzx ecx, word [0x14098200c]
mov word [rsp + 0x40], cx
je 0x14005c71a
xor byte [rsp + 0x41], 0x38
mov byte [rsp + 0x40], Ordinal_50
lea rcx, [rsp + 0x40]
call fcn.1401753dc
mov r9d, dword [rsp + 0x54]
xor edx, edx
mov r8d, dword [rsp + 0x50]
sub r9d, dword [0x1409f4520]
sub r8d, dword [0x1409f4518]
mov rcx, qword [0x1409f60a0]
mov dword [rsp + 0x30], 5
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call rdi
xor edi, edi
cmp byte [0x1409f5ac8], 0
je 0x14005c7ef
cmp byte [0x1409f447a], 0
jne 0x14005c832
call fcn.14004a4c0
call rax
mov rbx, rax
call fcn.1400aa340
lea rdx, [0x1409f4508]
mov rcx, rbx
call rax
mov eax, dword [0x1409f4510]
cdq
sub eax, edx
sar eax, 1
mov dword [0x1409f4508], eax
mov eax, dword [0x1409f4514]
cdq
sub eax, edx
sar eax, 1
mov dword [0x1409f450c], eax
call fcn.1400ad440
mov r9d, dword [0x1409f450c]
xor edx, edx
mov r8d, dword [0x1409f4508]
mov rcx, qword [0x1409f60a0]
mov dword [rsp + 0x30], 0x204
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
call rax
mov byte [0x1409f447a], 1
jmp 0x14005c832
mov eax, dword [0x1409f45a8]
cmp eax, 0xbe91bf
jne 0x14005c80a
lea rcx, [0x1409f4590]
call fcn.1400a3c00
jmp 0x14005c832
cmp eax, 0xe9a38e
je 0x14005c826
cmp eax, 0x157c017
je 0x14005c826
lea rcx, [0x1409f4590]
call fcn.1400a7d60
jmp 0x14005c832
lea rcx, [0x1409f4590]
call fcn.1400a6150
call fcn.1400689a0
call fcn.140068d40
mov rax, qword [0x1409f44f8]
mov rcx, qword [rax + 0x40b0]
mov rax, qword [rcx]
mov rcx, rdi
add rax, 0x48
cmp byte [rax], 0
cmovne rcx, rax
call fcn.140086ac0
cmp byte [0x14098200d], 0
mov rax, qword [0x1409f6020]
mov rcx, qword [rax]
movzx eax, word [0x14098200c]
mov word [rsp + 0x40], ax
mov rdi, qword [rcx + 0x40]
je 0x14005c88d
xor byte [rsp + 0x41], 0x38
mov byte [rsp + 0x40], Ordinal_50
lea rcx, [rsp + 0x40]
call fcn.1401753dc
cmp byte [0x14098200d], 0
mov ebx, eax
movzx ecx, word [0x14098200c]
mov word [rsp + 0x40], cx
je 0x14005c8b8
xor byte [rsp + 0x41], 0x38
mov byte [rsp + 0x40], Ordinal_50
lea rcx, [rsp + 0x40]
call fcn.1401753dc
mov rcx, qword [0x1409f6020]
mov r8d, ebx
mov edx, eax
call rdi
call fcn.140039860
cmp byte [0x140982919], 0
mov rbx, rax
movzx ecx, word [0x140982918]
mov word [rsp + 0x40], cx
je 0x14005c8f7
xor byte [rsp + 0x41], 0x38
mov byte [rsp + 0x40], Ordinal_50
lea rcx, [rsp + 0x40]
call fcn.1401753dc
mov ecx, eax
call rbx
xor edi, edi
jmp 0x14005c557
movaps xmm7, xmmword [rsp + 0x110]
mov eax, 2
movaps xmm6, xmmword [rsp + 0x120]
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.14015a1f0
add rsp, 0x140
pop rdi
pop rbx
pop rbp
ret
mov ecx, 1
call fcn.140159b10
int3
mov ecx, 6
mov dword [rsp + 0x58], edi
call fcn.140159b10
int3