Function at 0x180048c20
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x18029d790]
xor rax, rsp
mov qword [rbp - 0x50], rax
mov rax, qword [0x180336948]
mov rcx, qword [rax + 0x3ef0]
movss xmm10, dword [rcx + 0x20]
movss xmm8, dword [rcx + 0x24]
movss xmm6, dword [rcx + 0x28]
movss xmm9, dword [rcx + 0x2c]
mov ecx, dword [0x180341720]
call fcn.1800277d0
cmp byte [rax], 0
je 0x18004905a
xor r12d, r12d
mov qword [rsp + 0x60], r12
movdqa xmm0, xmmword [0x180271630]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], r12b
lea r8d, [r12 + 3]
lea rdx, [0x18025ff20]
lea rcx, [rsp + 0x60]
call fcn.180011ef0
nop
mov r13, qword [0x1803415a0]
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
xorps xmm7, xmm7
movss dword [rsp + 0x20], xmm7
movss xmm3, dword [0x180271578]
movss xmm2, dword [r13 + 0x14]
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.1800a0080
mov rcx, qword [0x180336948]
mov rax, qword [rcx + 0x3ef0]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef0]
mov r10, qword [rax + 0x298]
lea r8, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae r8, qword [rsp + 0x60]
movaps xmm0, xmmword [0x1802722e0]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.180077730
mov r9d, eax
movss xmm12, dword [rsp + 0x54]
movaps xmm0, xmm12
movss xmm11, dword [0x18027137c]
mulss xmm0, xmm11
mulss xmm9, xmm11
addss xmm8, xmm9
mulss xmm6, xmm11
addss xmm6, xmm10
movaps xmm2, xmm8
subss xmm2, xmm0
movss xmm9, dword [0x180271494]
subss xmm2, xmm9
movss xmm0, dword [rsp + 0x50]
mulss xmm0, xmm11
movaps xmm1, xmm6
subss xmm1, xmm0
subss xmm1, xmm7
movss dword [rsp + 0x50], xmm1
movss dword [rsp + 0x54], xmm2
movss xmm2, dword [r13 + 0x14]
lea r15, [r12 - 1]
test eax, 0xff000000
je 0x180048e51
mov rcx, r15
nop
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180048df0
add rcx, r8
cmp r8, rcx
je 0x180048e51
ucomiss xmm2, xmm7
jp 0x180048e12
jne 0x180048e12
mov rax, qword [r10 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm7
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r8
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
lea r9, [rsp + 0x50]
mov rdx, r10
mov rcx, r13
call fcn.1800a02a0
mov byte [rsp + 0x50], 0x7b
mov al, 8
mov cl, 0x1e
mov dl, 0x18
mov r8b, recv
mov r9b, 9
movzx r10d, cl
mov r11b, 0x5b
mov bl, socket
mov dil, reloc.WS2_32.dll_sendto
mov sil, 0x1f
movzx r14d, cl
xor r12d, r12d
xor al, 0x7b
mov byte [rsp + 0x51], al
xor cl, 0x7b
mov byte [rsp + 0x52], cl
xor dl, 0x7b
mov byte [rsp + 0x53], dl
xor r8b, 0x7b
mov byte [rsp + 0x54], r8b
xor r9b, 0x7b
mov byte [rsp + 0x55], r9b
xor r10b, 0x7b
mov byte [rsp + 0x56], r10b
xor r11b, 0x7b
mov byte [rsp + 0x57], r11b
xor bl, 0x7b
mov byte [rsp + 0x58], bl
xor dil, 0x7b
mov byte [rsp + 0x59], dil
xor sil, 0x7b
mov byte [rsp + 0x5a], sil
xor r14b, 0x7b
mov byte [rsp + 0x5b], r14b
mov byte [rsp + 0x5c], r12b
mov qword [rbp - 0x70], r12
movdqa xmm0, xmmword [0x180271630]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], r12b
lea rax, [rsp + 0x51]
mov r8, r15
inc r8
cmp byte [rax + r8], 0
jne 0x180048ef4
lea rdx, [rsp + 0x51]
lea rcx, [rbp - 0x70]
call fcn.180011ef0
nop
lea rax, [rbp - 0x70]
cmp qword [rbp - 0x58], 0x10
cmovae rax, qword [rbp - 0x70]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rax
movss dword [rsp + 0x20], xmm7
movss xmm3, dword [0x180271578]
movss xmm2, dword [r13 + 0x14]
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.1800a0080
mov rcx, qword [0x180336948]
mov rax, qword [rcx + 0x3ef0]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ef0]
mov r10, qword [rax + 0x298]
lea r8, [rbp - 0x70]
cmp qword [rbp - 0x58], 0x10
cmovae r8, qword [rbp - 0x70]
movaps xmm0, xmmword [0x1802722e0]
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.180077730
mov ecx, eax
addss xmm12, dword [0x180271400]
subss xmm9, xmm12
movss xmm0, dword [rsp + 0x54]
mulss xmm0, xmm11
subss xmm8, xmm0
subss xmm8, xmm9
movss xmm0, dword [rsp + 0x50]
mulss xmm0, xmm11
subss xmm6, xmm0
subss xmm6, xmm7
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm8
movss xmm2, dword [r13 + 0x14]
test eax, 0xff000000
je 0x180049041
nop dword [rax]
inc r15
cmp byte [r8 + r15], 0
jne 0x180048fe0
add r15, r8
cmp r8, r15
je 0x180049041
ucomiss xmm2, xmm7
jp 0x180049002
jne 0x180049002
mov rax, qword [r10 + 0x38]
movss xmm2, dword [rax + 0x10]
movups xmm0, xmmword [r10 + 0x88]
movups xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x48], 0
movss dword [rsp + 0x40], xmm7
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r8
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
lea r9, [rsp + 0x50]
mov rdx, r10
mov rcx, r13
call fcn.1800a02a0
nop
lea rcx, [rbp - 0x70]
call fcn.180011d00
nop
lea rcx, [rsp + 0x60]
call fcn.180011d00
jmp 0x18004954a
mulss xmm6, dword [0x18027137c]
subss xmm6, dword [0x180271470]
movss dword [rbp - 0x80], xmm6
mov dword [rbp - 0x7c], 0x43b40000
mov byte [rsp + 0x50], gethostname
mov al, 0x4f
mov cl, 0x57
mov dl, 0x4a
mov r8b, 0x54
mov r9b, 0x5c
xor r10d, r10d
xor al, 0x38
mov byte [rsp + 0x51], al
xor cl, 0x38
mov byte [rsp + 0x52], cl
xor dl, 0x38
mov byte [rsp + 0x53], dl
xor r8b, 0x38
mov byte [rsp + 0x54], r8b
xor r9b, 0x38
mov byte [rsp + 0x55], r9b
mov byte [rsp + 0x56], r10b
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x51]
call fcn.1800502c0
mov ecx, dword [0x180341778]
call fcn.1800277d0
mov rbx, rax
mov cl, 0x30
mov dword [rsp + 0x50], 0x5d554230
mov dword [rsp + 0x54], 0x1055465f
mov dword [rsp + 0x58], 0x5b5f5d43
mov word [rsp + 0x5c], 0x55
xor r12d, r12d
mov eax, r12d
nop dword [rax + rax]
xor byte [rsp + rax + 0x51], cl
inc rax
cmp rax, 0xc
jae 0x180049114
movzx ecx, byte [rsp + 0x50]
jmp 0x180049100
mov byte [rsp + 0x5d], r12b
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
lea rax, [rsp + 0x51]
mov r15, 0xffffffffffffffff
mov r8, r15
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180049140
lea rdx, [rsp + 0x51]
lea rcx, [rsp + 0x60]
call fcn.180011ef0
mov byte [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.18004d070
mov ecx, dword [0x18034171c]
call fcn.1800277d0
mov rbx, rax
mov cl, 0x4a
mov dword [rsp + 0x50], 0x272f384a
mov dword [rsp + 0x54], 0x6a2f3c25
mov dword [rsp + 0x58], 0x392b262c
mov word [rsp + 0x5c], 0x22
mov rax, r12
xor byte [rsp + rax + 0x51], cl
inc rax
cmp rax, 0xc
jae 0x1800491b7
movzx ecx, byte [rsp + 0x50]
jmp 0x1800491a3
mov byte [rsp + 0x5d], 0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
lea rax, [rsp + 0x51]
mov r8, r15
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800491e0
lea rdx, [rsp + 0x51]
lea rcx, [rsp + 0x60]
call fcn.180011ef0
mov byte [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.18004d070
mov ecx, dword [0x1803416f8]
call fcn.1800277d0
mov r14, rax
mov byte [rsp + 0x50], 0x59
mov cl, 0x37
mov dl, 0x30
mov r8b, 0x3e
mov r9b, 0x31
mov r10b, 0x2d
mov r11b, 0x34
mov bl, 0x36
mov dil, 0x3d
mov sil, 0x3c
xor eax, eax
xor cl, 0x59
mov byte [rsp + 0x51], cl
xor dl, 0x59
mov byte [rsp + 0x52], dl
xor r8b, 0x59
mov byte [rsp + 0x53], r8b
xor r9b, 0x59
mov byte [rsp + 0x54], r9b
xor r10b, 0x59
mov byte [rsp + 0x55], r10b
xor r11b, 0x59
mov byte [rsp + 0x56], r11b
xor bl, 0x59
mov byte [rsp + 0x57], bl
xor dil, 0x59
mov byte [rsp + 0x58], dil
xor sil, 0x59
mov byte [rsp + 0x59], sil
mov byte [rsp + 0x5a], al
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
lea rax, [rsp + 0x51]
mov r8, r15
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800492b0
lea rdx, [rsp + 0x51]
lea rcx, [rsp + 0x60]
call fcn.180011ef0
mov byte [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.18004d070
mov ecx, dword [0x1803416f8]
call fcn.1800277d0
cmp byte [rax], 0
je 0x18004936f
mov ecx, dword [0x180341768]
call fcn.180027860
mov rdx, rax
movdqa xmm0, xmmword [0x180272370]
movdqu xmmword [rbp - 0x70], xmm0
mov dword [rbp - 0x60], 0x575a475d
xor eax, eax
mov byte [rbp - 0x5c], al
mov rcx, r12
nop dword [rax + rax]
movzx eax, byte [rbp - 0x70]
xor byte [rbp + rcx - 0x6f], al
inc rcx
cmp rcx, 0x13
jb 0x180049320
mov byte [rbp - 0x5c], 0
mov dword [rbp - 0x80], 0x64
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], 4
lea rax, [0x18025ff3c]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
lea r8, [rsp + 0x50]
lea rcx, [rbp - 0x6f]
call fcn.18004dbc0
call fcn.180050940
movss xmm1, dword [0x180271464]
xorps xmm0, xmm0
call fcn.1800855d0
movss dword [rbp - 0x80], xmm6
mov dword [rbp - 0x7c], 0x43b40000
mov byte [rsp + 0x50], 0x43
mov al, 0x26
mov cl, 0x2d
mov dl, 0x37
mov r8b, 0x2a
movzx r9d, dl
mov r10b, 0x3a
xor r11d, r11d
xor al, 0x43
mov byte [rsp + 0x51], al
xor cl, 0x43
mov byte [rsp + 0x52], cl
xor dl, 0x43
mov byte [rsp + 0x53], dl
xor r8b, 0x43
mov byte [rsp + 0x54], r8b
xor r9b, 0x43
mov byte [rsp + 0x55], r9b
xor r10b, 0x43
mov byte [rsp + 0x56], r10b
mov byte [rsp + 0x57], r11b
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x51]
call fcn.1800502c0
mov ecx, dword [0x1803417ac]
call fcn.18002caf0
mov rbx, rax
mov ecx, dword [0x180341770]
call fcn.1800277d0
mov rdi, rax
mov cl, 0x59
mov dword [rsp + 0x50], 0x3c2b3e59
mov dword [rsp + 0x54], 0x3c3d3837
mov dword [rsp + 0x58], 0x363a3079
mov word [rsp + 0x5c], gethostname
mov rax, r12
nop word [rax + rax]
xor byte [rsp + rax + 0x51], cl
inc rax
cmp rax, 0xc
jae 0x180049444
movzx ecx, byte [rsp + 0x50]
jmp 0x180049430
mov byte [rsp + 0x5d], 0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
lea rax, [rsp + 0x51]
mov r8, r15
inc r8
cmp byte [rax + r8], 0
jne 0x180049464
lea rdx, [rsp + 0x51]
lea rcx, [rsp + 0x60]
call fcn.180011ef0
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.18004d070
mov ecx, dword [0x180341790]
call fcn.18002caf0
mov rbx, rax
mov ecx, dword [0x1803416b0]
call fcn.1800277d0
mov rdi, rax
mov cl, 0x7a
mov dword [rsp + 0x50], 0x1f081d7a
mov dword [rsp + 0x54], 0x1f1e1b14
mov dword [rsp + 0x58], 0x171b145a
mov word [rsp + 0x5c], 0x1f
mov rax, r12
nop word [rax + rax]
xor byte [rsp + rax + 0x51], cl
inc rax
cmp rax, 0xc
jae 0x1800494f4
movzx ecx, byte [rsp + 0x50]
jmp 0x1800494e0
mov byte [rsp + 0x5d], 0
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
lea rax, [rsp + 0x51]
inc r15
cmp byte [rax + r15], 0
jne 0x180049511
mov r8, r15
lea rdx, [rsp + 0x51]
lea rcx, [rsp + 0x60]
call fcn.180011ef0
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.18004d070
call fcn.180050940
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.1801a9b50
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret