Function at 0x140152230
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
movdqa xmm1, xmmword [0x14044a940]
movdqu xmmword [rsp + 0x30], xmm1
mov dl, 0x2a
mov r8b, 0x22
movzx r9d, r8b
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x31], al
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
xor byte [rsp + 0x38], cl
xor byte [rsp + 0x39], cl
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
xor byte [rsp + 0x3f], cl
xor dl, cl
mov byte [rsp + 0x40], dl
xor r8b, cl
mov byte [rsp + 0x41], r8b
xor r9b, cl
mov byte [rsp + 0x42], r9b
mov byte [rsp + 0x43], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x50], xmm1
lea rax, [rsp + 0x31]
mov r12, 0xffffffffffffffff
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x1401522f6
lea rdx, [rsp + 0x31]
lea rcx, [rbp - 0x60]
call fcn.14013ab10
nop
movdqa xmm1, xmmword [0x14044a8a0]
movdqu xmmword [rsp + 0x30], xmm1
mov dl, 0x35
movzx r8d, dl
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x31], al
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
xor byte [rsp + 0x38], cl
xor byte [rsp + 0x39], cl
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
xor byte [rsp + 0x3f], cl
xor dl, cl
mov byte [rsp + 0x40], dl
xor r8b, cl
mov byte [rsp + 0x41], r8b
mov byte [rsp + 0x42], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x30], xmm1
lea rax, [rsp + 0x31]
mov r8, r12
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1401523a0
lea rdx, [rsp + 0x31]
lea rcx, [rbp - 0x40]
call fcn.14013ab10
nop
movdqa xmm1, xmmword [0x14044a830]
movdqu xmmword [rsp + 0x30], xmm1
mov dl, reloc.WS2_32.dll_shutdown
movzx r8d, dl
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x31], al
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
xor byte [rsp + 0x38], cl
xor byte [rsp + 0x39], cl
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
xor byte [rsp + 0x3f], cl
xor dl, cl
mov byte [rsp + 0x40], dl
xor r8b, cl
mov byte [rsp + 0x41], r8b
mov byte [rsp + 0x42], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x10], xmm1
lea rax, [rsp + 0x31]
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x140152446
lea rdx, [rsp + 0x31]
lea rcx, [rbp - 0x20]
call fcn.14013ab10
nop
movdqa xmm1, xmmword [0x14044a930]
movdqu xmmword [rsp + 0x30], xmm1
mov dl, 0x5a
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x31], al
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
xor byte [rsp + 0x38], cl
xor byte [rsp + 0x39], cl
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
xor byte [rsp + 0x3f], cl
xor dl, cl
mov byte [rsp + 0x40], dl
mov byte [rsp + 0x41], 0
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x10], xmm1
lea rax, [rsp + 0x31]
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x1401524e0
lea rdx, [rsp + 0x31]
lea rcx, [rbp]
call fcn.14013ab10
nop
movdqa xmm1, xmmword [str.X6._75_14v_44]
movdqu xmmword [rsp + 0x30], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x31], al
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
xor byte [rsp + 0x38], cl
xor byte [rsp + 0x39], cl
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
mov byte [rsp + 0x3f], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x30], xmm1
lea rax, [rsp + 0x31]
mov r8, r12
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140152570
lea rdx, [rsp + 0x31]
lea rcx, [rbp + 0x20]
call fcn.14013ab10
nop
mov byte [rsp + 0x30], reloc.WS2_32.dll_shutdown
mov al, 0x61
mov cl, 0x7b
mov dl, 0x66
mov r8b, reloc.WS2_32.dll_getservbyport
mov r9b, WSACleanup
mov r10b, 0x7a
movzx r11d, r10b
xor ebx, ebx
xor al, 0x16
mov byte [rsp + 0x31], al
xor cl, 0x16
mov byte [rsp + 0x32], cl
xor dl, 0x16
mov byte [rsp + 0x33], dl
xor r8b, 0x16
mov byte [rsp + 0x34], r8b
xor r9b, 0x16
mov byte [rsp + 0x35], r9b
xor r10b, 0x16
mov byte [rsp + 0x36], r10b
xor r11b, 0x16
mov byte [rsp + 0x37], r11b
mov byte [rsp + 0x38], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x50], xmm1
lea rax, [rsp + 0x31]
mov r8, r12
inc r8
cmp byte [rax + r8], bl
jne 0x1401525f6
lea rdx, [rsp + 0x31]
lea rcx, [rbp + 0x40]
call fcn.14013ab10
nop
mov byte [rsp + 0x30], 0x52
mov al, 0x18
mov cl, 0x27
mov dl, 0x3f
mov r8b, 0x22
mov r9b, 0x1a
mov r10b, 0x3d
movzx r11d, r10b
mov bl, 0x39
mov dil, 0x7c
mov sil, getservbyname
mov r14b, 0x3e
movzx r15d, r14b
xor r13d, r13d
xor al, 0x52
mov byte [rsp + 0x31], al
xor cl, 0x52
mov byte [rsp + 0x32], cl
xor dl, 0x52
mov byte [rsp + 0x33], dl
xor r8b, 0x52
mov byte [rsp + 0x34], r8b
xor r9b, 0x52
mov byte [rsp + 0x35], r9b
xor r10b, 0x52
mov byte [rsp + 0x36], r10b
xor r11b, 0x52
mov byte [rsp + 0x37], r11b
xor bl, 0x52
mov byte [rsp + 0x38], bl
xor dil, 0x52
mov byte [rsp + 0x39], dil
xor sil, 0x52
mov byte [rsp + 0x3a], sil
xor r14b, 0x52
mov byte [rsp + 0x3b], r14b
xor r15b, 0x52
mov byte [rsp + 0x3c], r15b
mov byte [rsp + 0x3d], r13b
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x70], xmm1
lea rax, [rsp + 0x31]
mov r8, r12
inc r8
cmp byte [rax + r8], r13b
jne 0x1401526b7
lea rdx, [rsp + 0x31]
lea rcx, [rbp + 0x60]
call fcn.14013ab10
nop
mov byte [rsp + 0x30], 0x79
mov al, 0x30
mov cl, reloc.WS2_32.dll_getservbyport
mov dl, 0x2d
mov r8b, gethostbyaddr
mov r9b, reloc.WS2_32.dll_shutdown
movzx r10d, r9b
mov r11b, reloc.WS2_32.dll_select
mov bl, 0x57
mov dil, 0x1d
mov sil, reloc.WS2_32.dll_setsockopt
movzx r14d, sil
xor r15d, r15d
xor al, 0x79
mov byte [rsp + 0x31], al
xor cl, 0x79
mov byte [rsp + 0x32], cl
xor dl, 0x79
mov byte [rsp + 0x33], dl
xor r8b, 0x79
mov byte [rsp + 0x34], r8b
xor r9b, 0x79
mov byte [rsp + 0x35], r9b
xor r10b, 0x79
mov byte [rsp + 0x36], r10b
xor r11b, 0x79
mov byte [rsp + 0x37], r11b
xor bl, 0x79
mov byte [rsp + 0x38], bl
xor dil, 0x79
mov byte [rsp + 0x39], dil
xor sil, 0x79
mov byte [rsp + 0x3a], sil
xor r14b, 0x79
mov byte [rsp + 0x3b], r14b
mov byte [rsp + 0x3c], r15b
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x90], xmm1
lea rax, [rsp + 0x31]
mov r8, r12
inc r8
cmp byte [rax + r8], r15b
jne 0x140152772
lea rdx, [rsp + 0x31]
lea rcx, [rbp + 0x80]
call fcn.14013ab10
nop
mov byte [rsp + 0x30], reloc.WS2_32.dll_sendto
mov al, 0x57
mov cl, 0x75
mov dl, 0x78
movzx r8d, dl
mov r9b, 0x5c
mov r10b, 0x7b
movzx r11d, r10b
mov bl, 0x7f
mov dil, 0x3a
mov sil, reloc.WS2_32.dll_WSASetLastError
movzx r14d, dl
movzx r15d, dl
xor r13d, r13d
xor al, 0x14
mov byte [rsp + 0x31], al
xor cl, 0x14
mov byte [rsp + 0x32], cl
xor dl, 0x14
mov byte [rsp + 0x33], dl
xor r8b, 0x14
mov byte [rsp + 0x34], r8b
xor r9b, 0x14
mov byte [rsp + 0x35], r9b
xor r10b, 0x14
mov byte [rsp + 0x36], r10b
xor r11b, 0x14
mov byte [rsp + 0x37], r11b
xor bl, 0x14
mov byte [rsp + 0x38], bl
xor dil, 0x14
mov byte [rsp + 0x39], dil
xor sil, 0x14
mov byte [rsp + 0x3a], sil
xor r14b, 0x14
mov byte [rsp + 0x3b], r14b
xor r15b, 0x14
mov byte [rsp + 0x3c], r15b
mov byte [rsp + 0x3d], r13b
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xb0], xmm1
lea rax, [rsp + 0x31]
mov r8, r12
nop
inc r8
cmp byte [rax + r8], r13b
jne 0x140152840
lea rdx, [rsp + 0x31]
lea rcx, [rbp + 0xa0]
call fcn.14013ab10
nop
movdqa xmm1, xmmword [0x14044a860]
movdqu xmmword [rsp + 0x30], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x31], al
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
xor byte [rsp + 0x38], cl
xor byte [rsp + 0x39], cl
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
xor byte [rsp + 0x3f], cl
mov byte [rsp + 0x40], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xd0], xmm1
lea rax, [rsp + 0x31]
nop word [rax + rax]
inc r12
cmp byte [rax + r12], 0
jne 0x1401528e0
mov r8, r12
lea rdx, [rsp + 0x31]
lea rcx, [rbp + 0xc0]
call fcn.14013ab10
nop
lea rax, [rbp - 0x60]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xe0]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x68]
call fcn.140153200
nop
lea r9, [fcn.140135dd0]
mov edx, 0x20
lea r8d, [rdx - 0x16]
lea rcx, [rbp - 0x60]
call fcn.1401c752c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xor r15d, r15d
mov esi, r15d
mov qword [rsp + 0x60], r15
mov edi, r15d
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
sub rax, rdx
sar rax, 5
mov rbx, qword [rsp + 0x58]
test rax, rax
je 0x1401529c9
mov ecx, r15d
shl rcx, 5
add rcx, rdx
cmp rbx, rsi
je 0x140152994
mov rdx, rcx
mov rcx, rbx
call fcn.140135eb0
add rbx, 0x20
mov qword [rsp + 0x58], rbx
jmp 0x1401529ae
mov r8, rcx
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.1401533a0
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
inc edi
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
sub rax, rdx
sar rax, 5
movsxd rcx, edi
cmp rcx, rax
jb 0x140152972
mov rdi, qword [rsp + 0x50]
cmp rdi, rbx
je 0x140152a0b
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.140135eb0
nop
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x140152a41
lea rcx, [rbp - 0x80]
call fcn.1401362c0
add rdi, 0x20
cmp rdi, rbx
jne 0x1401529d3
lea rcx, [rsp + 0x50]
call fcn.140136110
nop
lea rcx, [rsp + 0x68]
call fcn.140136110
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [rbp - 0x80]
call fcn.140135dc0
mov byte [rsp + 0x30], 0x4b
mov cl, 0x2f
mov dl, 0x2e
mov r8b, 0x3f
movzx r9d, dl
mov r10b, 0x28
movzx r11d, r8b
mov bl, 0x6b
mov dil, WSASetLastError
mov sil, reloc.WS2_32.dll_getservbyport
xor r14d, r14d
xor cl, 0x4b
mov byte [rsp + 0x31], cl
xor dl, 0x4b
mov byte [rsp + 0x32], dl
xor r8b, 0x4b
mov byte [rsp + 0x33], r8b
xor r9b, 0x4b
mov byte [rsp + 0x34], r9b
xor r10b, 0x4b
mov byte [rsp + 0x35], r10b
xor r11b, 0x4b
mov byte [rsp + 0x36], r11b
xor bl, 0x4b
mov byte [rsp + 0x37], bl
xor dil, 0x4b
mov byte [rsp + 0x38], dil
xor sil, 0x4b
mov byte [rsp + 0x39], sil
mov byte [rsp + 0x3a], r14b
mov r8, rax
lea rdx, [rsp + 0x31]
lea rcx, [rbp - 0x60]
call fcn.140134380
mov byte [rbp + 0x110], 0x3d
mov al, 0x78
mov cl, 0x4f
movzx edx, cl
mov r8b, 0x52
movzx r9d, cl
xor r10d, r10d
xor al, 0x3d
mov byte [rbp + 0x111], al
xor cl, 0x3d
mov byte [rbp + 0x112], cl
xor dl, 0x3d
mov byte [rbp + 0x113], dl
xor r8b, 0x3d
mov byte [rbp + 0x114], r8b
xor r9b, 0x3d
mov byte [rbp + 0x115], r9b
mov byte [rbp + 0x116], r10b
mov dword [rsp + 0x28], 0x3a98
mov word [rsp + 0x20], r15w
mov r9d, 0x1010
lea r8, [rbp + 0x111]
lea rdx, [rbp - 0x60]
xor ecx, ecx
call fcn.140145110
lea rcx, [0x140443e9e]
call fcn.14014cf40
int3