Function at 0x14005a3d0
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Parse pe header

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5c8]
sub rsp, 0x6c8
movaps xmmword [rsp + 0x6b0], xmm6
xor r13d, r13d
mov dword [rbp + 0x620], r13d
lea rdx, [0x140bd7e60]
lea rcx, [rbp + 0xa8]
call fcn.14004ae50
nop
movups xmm0, xmmword [str._BCHJ]
movups xmmword [rbp + 0x100], xmm0
movups xmm1, xmmword [0x14015f720]
movups xmmword [rbp + 0x110], xmm1
mov eax, dword [0x14015f730]
mov dword [rbp + 0x120], eax
mov r8d, r13d
mov r12d, dword [reloc.WS2_32.dll_accept]
cmp r12d, 2
jl 0x14005a586
movdqa xmm5, xmmword [0x140160a50]
movdqa xmm4, xmmword [0x1401613d0]
movdqa xmm6, xmmword [0x140160ab0]
movdqa xmm0, xmmword [0x140160fd0]
movdqa xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x104]
mov edx, dword [rbp + 0x50]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, 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
andps xmm2, xmmword [0x140160b80]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
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
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140160b80]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x20
jl 0x14005a481
cmp r8d, 0x24
jge 0x14005a5d2
movsxd rax, r8d
lea r9, [rbp + 0x100]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x35
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x24
jl 0x14005a5a0
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x70]
call fcn.14004ae50
mov dword [rbp + 0x620], 1
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0x70]
call fcn.14004af30
lea rdx, [0x14015c78c]
lea rcx, [rbp + 0xa0]
call fcn.14004ae50
nop
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x68], rax
test rax, rax
je 0x14005a621
lock inc dword [rax + 0x10]
mov dword [rbp + 0x620], 3
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x68]
call fcn.14004af30
lea rdx, [0x140bd7de0]
lea rcx, [rbp + 0x98]
call fcn.14004ae50
nop
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x60], rax
test rax, rax
je 0x14005a660
lock inc dword [rax + 0x10]
mov dword [rbp + 0x620], 7
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x60]
call fcn.14004af30
lea rcx, [rbp + 0x60]
call fcn.14004b1e0
mov rbx, rax
movzx edx, byte [rbp + 0x610]
lea rcx, [rbp + 0x180]
call fcn.140067340
nop
mov r15, 0xffffffffffffffff
mov r8, r15
inc r8
cmp byte [rbx + r8], 0
jne 0x14005a6a4
mov rdx, rbx
lea rcx, [rbp + 0x180]
call fcn.140067360
nop
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14005a6d0
call fcn.14004b380
mov qword [rbp + 0x60], r13
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x14005a6e8
call fcn.14004b380
mov qword [rbp + 0x98], r13
mov rcx, qword [rbp + 0x68]
test rcx, rcx
je 0x14005a6fa
call fcn.14004b380
mov qword [rbp + 0x68], r13
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x14005a712
call fcn.14004b380
mov qword [rbp + 0xa0], r13
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x14005a724
call fcn.14004b380
mov qword [rbp + 0x70], r13
mov rcx, qword [rbp + 0xa8]
test rcx, rcx
je 0x14005a73c
call fcn.14004b380
mov qword [rbp + 0xa8], r13
lea rcx, [rbp + 0x180]
call fcn.140048e50
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.140050110
nop
mov eax, dword [0x14015ea70]
mov dword [rbp + 0x628], eax
cmp byte [0x14015ea73], 0
je 0x14005a842
cmp r12d, 2
jl 0x14005a7fb
movdqa xmm3, xmmword [0x140160a50]
movdqa xmm2, xmm3
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x1401613d0]
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x1401613d0]
shufps xmm2, xmm0, 0xdd
psrad xmm2, 4
movdqa xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x140160ab0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140160b80]
packuswb xmm2, xmm2
paddb xmm2, xmmword [0x140160fd0]
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp + 0x628], xmm2
jmp 0x14005a842
lea r9, [rbp + 0x628]
mov r8d, r13d
nop word [rax + rax]
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x35
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x14005a810
mov byte [rbp + 0x50], reloc.WS2_32.dll_sendto
mov al, 0x67
mov cl, 0x60
mov dl, 0x75
movzx r8d, cl
mov r9b, 0x61
movzx r10d, al
mov r11b, 0x4b
mov bl, 0x77
mov dil, 0x7b
mov sil, reloc.WS2_32.dll_WSASetLastError
mov r14b, WSAStartup
xor r12d, r12d
xor al, 0x14
mov byte [rbp + 0x51], al
xor cl, 0x14
mov byte [rbp + 0x52], cl
xor dl, 0x14
mov byte [rbp + 0x53], dl
xor r8b, 0x14
mov byte [rbp + 0x54], r8b
xor r9b, 0x14
mov byte [rbp + 0x55], r9b
xor r10b, 0x14
mov byte [rbp + 0x56], r10b
xor r11b, 0x14
mov byte [rbp + 0x57], r11b
xor bl, 0x14
mov byte [rbp + 0x58], bl
xor dil, 0x14
mov byte [rbp + 0x59], dil
xor sil, 0x14
mov byte [rbp + 0x5a], sil
xor r14b, 0x14
mov byte [rbp + 0x5b], r14b
mov byte [rbp + 0x5c], r12b
movzx edx, byte [rbp + 0x610]
lea rcx, [rsp + 0x20]
call fcn.140067340
nop
lea rax, [rbp + 0x51]
mov r8, r15
mov r12d, dword [reloc.WS2_32.dll_accept]
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14005a8e0
lea rdx, [rbp + 0x51]
lea rcx, [rsp + 0x20]
call fcn.140067360
nop
lea r8, [rsp + 0x20]
lea rdx, [rbp + 0x78]
lea rcx, [rbp + 0xf0]
call fcn.1400662a0
mov rcx, qword [rax]
add rcx, 0x40
lea rdx, [rbp + 0x628]
call fcn.14006b050
movzx ebx, al
lea rcx, [rsp + 0x20]
call fcn.140048e70
test bl, bl
je 0x14005b9bf
mov byte [rbp + 0x18], Ordinal_41
mov al, 0x5c
mov cl, 0x4d
mov dl, 0x50
movzx r8d, al
xor r9d, r9d
xor al, 0x28
mov byte [rbp + 0x19], al
xor cl, 0x28
mov byte [rbp + 0x1a], cl
xor dl, 0x28
mov byte [rbp + 0x1b], dl
xor r8b, 0x28
mov byte [rbp + 0x1c], r8b
mov byte [rbp + 0x1d], r9b
movzx edx, byte [rbp + 0x610]
lea rcx, [rsp + 0x20]
call fcn.140067340
nop
lea rax, [rbp + 0x19]
nop word [rax + rax]
inc r15
cmp byte [rax + r15], 0
jne 0x14005a980
mov r8, r15
lea rdx, [rbp + 0x19]
lea rcx, [rsp + 0x20]
call fcn.140067360
nop
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0xf0]
call fcn.1400662a0
mov rdx, qword [rax]
add rdx, 0x40
lea rcx, [rbp - 0x60]
call fcn.14005fae0
nop
lea rcx, [rsp + 0x20]
call fcn.140048e70
mov r9d, 0x400
lea r8, [rbp + 0x1b0]
lea rdx, [rbp - 0x60]
lea rcx, [0x14059f3a0]
call fcn.14004f490
test eax, eax
jne 0x14005b846
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x78]
call fcn.14005faa0
nop
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x78]
call fcn.14005f860
mov rdi, qword [rax]
mov byte [rbp + 0x610], 0xa
lea rdx, [rbp + 0x148]
lea rcx, [rbp + 0x78]
call fcn.14005f860
mov rbx, qword [rax]
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x78]
call fcn.14005f880
lea r9, [rbp + 0x610]
mov r8, rbx
mov rdx, qword [rax]
lea rcx, [rbp + 0x168]
call fcn.140065ff0
mov r9, rdi
mov r8, qword [rax]
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x78]
call fcn.14005f8a0
lea rdx, [rbp + 0x178]
lea rcx, [rbp + 0x78]
call fcn.14005f860
mov rdi, qword [rax]
mov byte [rbp + 0x618], reloc.WS2_32.dll_listen
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x78]
call fcn.14005f860
mov rbx, qword [rax]
lea rdx, [rbp + 0x128]
lea rcx, [rbp + 0x78]
call fcn.14005f880
lea r9, [rbp + 0x618]
mov r8, rbx
mov rdx, qword [rax]
lea rcx, [rbp + 0x130]
call fcn.140065ff0
mov r9, rdi
mov r8, qword [rax]
lea rdx, [rbp + 0x138]
lea rcx, [rbp + 0x78]
call fcn.14005f8a0
xor r8d, r8d
lea rdx, [0x14015c790]
lea rcx, [rbp + 0x78]
call fcn.14005f6a0
cmp rax, 0xffffffffffffffff
je 0x14005abec
movdqa xmm1, xmmword [0x140161810]
movdqu xmmword [rbp - 0x28], xmm1
mov cl, 0x63
movzx edx, cl
mov r9b, 0x6a
mov r10b, 0x69
mov r11b, 0x68
mov bl, Ordinal_45
movzx edi, r9b
mov sil, 0x65
mov r14b, 0x7a
movzx r15d, r10b
mov r12b, 0x61
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd r8d, xmm1
xor al, r8b
mov byte [rbp - 0x27], al
xor byte [rbp - 0x26], r8b
xor byte [rbp - 0x25], r8b
xor byte [rbp - 0x24], r8b
xor byte [rbp - 0x23], r8b
xor byte [rbp - 0x22], r8b
xor byte [rbp - 0x21], r8b
xor byte [rbp - 0x20], r8b
xor byte [rbp - 0x1f], r8b
xor byte [rbp - 0x1e], r8b
xor byte [rbp - 0x1d], r8b
xor byte [rbp - 0x1c], r8b
xor byte [rbp - 0x1b], r8b
xor byte [rbp - 0x1a], r8b
xor byte [rbp - 0x19], r8b
xor cl, r8b
mov byte [rbp - 0x18], cl
xor dl, r8b
mov byte [rbp - 0x17], dl
xor r9b, r8b
mov byte [rbp - 0x16], r9b
xor r10b, r8b
mov byte [rbp - 0x15], r10b
xor r11b, r8b
mov byte [rbp - 0x14], r11b
xor bl, r8b
mov byte [rbp - 0x13], bl
xor dil, r8b
mov byte [rbp - 0x12], dil
xor sil, r8b
mov byte [rbp - 0x11], sil
xor r14b, r8b
mov byte [rbp - 0x10], r14b
xor r15b, r8b
mov byte [rbp - 0xf], r15b
xor r12b, r8b
mov byte [rbp - 0xe], r12b
mov byte [rbp - 0xd], 0
mov rdx, r13
lea rcx, [0x140bd7cd0]
nop dword [rax]
movzx eax, byte [rbp + rdx - 0x27]
mov byte [rdx + rcx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14005abd0
lea rax, reloc.WS2_32.dll_WSAStartup
jmp 0x14005b007
xor r8d, r8d
lea rdx, str.c0000041
lea rcx, [rbp + 0x78]
call fcn.14005f6a0
cmp rax, 0xffffffffffffffff
je 0x14005ade5
movdqa xmm0, xmmword [0x140161490]
movdqu xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [0x1401612a0]
movdqu xmmword [rsp + 0x30], xmm1
movdqa xmm0, xmmword [0x140161270]
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x140161540]
movdqu xmmword [rsp + 0x50], xmm1
movdqa xmm0, xmmword [str._YWK]
movdqu xmmword [rsp + 0x60], xmm0
mov rcx, r13
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x21], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x22], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x23], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x24], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x25], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x26], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x27], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x28], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x29], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2a], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2b], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2c], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2d], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2e], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2f], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x30], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x31], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x32], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x33], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x34], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x35], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x36], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x37], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x38], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x39], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3a], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3b], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3c], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3d], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3e], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3f], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x40], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x41], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x42], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x43], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x44], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x45], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x46], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x47], al
add rcx, 0x27
cmp rcx, 0x4e
jb 0x14005ac52
mov byte [rsp + 0x6f], 0
mov rdx, r13
lea rcx, [0x140bd7cd0]
nop
movzx eax, byte [rsp + rdx + 0x21]
mov byte [rdx + rcx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14005add0
jmp 0x14005b000
xor r8d, r8d
lea rdx, str.c0000138
lea rcx, [rbp + 0x78]
call fcn.14005f6a0
cmp rax, 0xffffffffffffffff
je 0x14005aea5
movdqa xmm0, xmmword [0x1401614b0]
movdqu xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [0x140160cd0]
movdqu xmmword [rsp + 0x30], xmm1
movdqa xmm0, xmmword [0x140160cb0]
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1401614d0]
movdqu xmmword [rsp + 0x50], xmm1
movdqa xmm0, xmmword [0x140161300]
movdqu xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x140161340]
movdqu xmmword [rsp + 0x70], xmm1
mov dword [rbp - 0x80], 0x1031142
mov word [rbp - 0x7c], 0x379
xor eax, eax
mov byte [rbp - 0x7a], al
mov rcx, r13
nop dword [rax + rax]
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x21], al
inc rcx
cmp rcx, 0x65
jb 0x14005ae70
mov byte [rbp - 0x7a], 0
mov rdx, r13
lea rcx, [0x140bd7cd0]
movzx eax, byte [rsp + rdx + 0x21]
mov byte [rdx + rcx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14005ae90
jmp 0x14005b000
movdqa xmm1, xmmword [0x140160d00]
movdqu xmmword [rsp + 0x20], xmm1
movdqa xmm2, xmmword [0x140160d60]
movdqu xmmword [rsp + 0x30], xmm2
mov dl, 0x18
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], cl
xor byte [rsp + 0x23], cl
xor byte [rsp + 0x24], cl
xor byte [rsp + 0x25], cl
xor byte [rsp + 0x26], cl
xor byte [rsp + 0x27], cl
xor byte [rsp + 0x28], cl
xor byte [rsp + 0x29], cl
xor byte [rsp + 0x2a], cl
xor byte [rsp + 0x2b], cl
xor byte [rsp + 0x2c], cl
xor byte [rsp + 0x2d], cl
xor byte [rsp + 0x2e], cl
xor byte [rsp + 0x2f], cl
movd eax, xmm2
xor al, cl
mov byte [rsp + 0x30], al
xor byte [rsp + 0x31], cl
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
xor r8d, r8d
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x78]
call fcn.14005f6a0
cmp rax, 0xffffffffffffffff
je 0x14005b046
movdqa xmm0, xmmword [0x140161600]
movdqu xmmword [rbp - 0x28], xmm0
movdqa xmm1, xmmword [0x140160ff0]
movdqu xmmword [rbp - 0x18], xmm1
movdqa xmm0, xmmword [0x140160f70]
movdqu xmmword [rbp - 8], xmm0
mov dword [rbp + 8], 0x2d31652d
mov dword [rbp + 0xc], 0x20366520
mov dword [rbp + 0x10], 0x37203337
xor eax, eax
mov byte [rbp + 0x14], al
mov rcx, r13
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbp - 0x28]
xor byte [rbp + rcx - 0x27], al
inc rcx
cmp rcx, 0x3b
jb 0x14005afd0
mov byte [rbp + 0x14], 0
mov rdx, r13
lea rcx, [0x140bd7cd0]
nop
movzx eax, byte [rbp + rdx - 0x27]
mov byte [rdx + rcx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14005aff0
lea rax, [0x14015c1fc]
mov qword [0x140bd7cc0], rax
mov dword [0x140bd8430], r13d
mov dword [0x140bd843c], 0
mov dword [0x140bd8440], 0x43160000
mov dword [0x140bd8438], 0
lea rax, str.none
mov qword [0x140bd7dd0], rax
jmp 0x14005b838
mov byte [rbp + 0x40], reloc.WLDAP32.dll_Ordinal_35
mov al, 0x6b
mov cl, reloc.WS2_32.dll_WSACleanup
mov r8b, 0x6a
mov r9b, 0x67
xor edx, edx
xor al, 0x23
mov byte [rbp + 0x41], al
xor cl, 0x23
mov byte [rbp + 0x42], cl
xor r8b, 0x23
mov byte [rbp + 0x43], r8b
xor r9b, 0x23
mov byte [rbp + 0x44], r9b
mov byte [rbp + 0x45], dl
xor r8d, r8d
lea rdx, [rbp + 0x41]
lea rcx, [rbp + 0x78]
call fcn.14005f6a0
cmp rax, 0xffffffffffffffff
je 0x14005b54d
lea rdx, [0x140bd7e60]
lea rcx, [rbp + 0xd0]
call fcn.14004ae50
nop
movups xmm0, xmmword [0x14015eed8]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [0x14015eee8]
movups xmmword [rbp - 0x18], xmm1
mov eax, dword [0x14015eef8]
mov dword [rbp - 8], eax
movzx eax, word [0x14015eefc]
mov word [rbp - 4], ax
mov r8d, r13d
cmp r12d, 2
jl 0x14005b215
movdqa xmm5, xmmword [0x140160a50]
movdqa xmm4, xmmword [0x1401613d0]
movdqa xmm6, xmmword [0x140160ab0]
movdqa xmm0, xmmword [0x140160fd0]
movdqa xmmword [rbp + 0x50], xmm0
lea rcx, [rbp - 0x24]
mov edx, dword [rbp + 0x50]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, 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
andps xmm2, xmmword [0x140160b80]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
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
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140160b80]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x20
jl 0x14005b110
cmp r8d, 0x26
jge 0x14005b252
movsxd rax, r8d
lea r9, [rbp - 0x28]
add r9, rax
nop
mov eax, 0x4d4873ed
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x35
add cl, r8b
xor byte [r9], cl
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x26
jl 0x14005b220
lea r8, [rbp + 0xd0]
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x30]
call fcn.14004b0c0
mov rbx, rax
lea rdx, [0x14015c78c]
lea rcx, [rbp + 0xc8]
call fcn.14004ae50
nop
lea r8, [rbp + 0xc8]
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.14004aff0
mov rbx, rax
lea rdx, [0x140bd7de0]
lea rcx, [rbp + 0xc0]
call fcn.14004ae50
nop
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0xe8]
mov rcx, rbx
call fcn.14004aff0
mov rbx, rax
lea rdx, [0x14015c78c]
lea rcx, [rbp + 0xb8]
call fcn.14004ae50
nop
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0xe0]
mov rcx, rbx
call fcn.14004aff0
mov rbx, rax
lea rcx, [rbp - 0x60]
call fcn.140048e50
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.14004ae50
nop
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0xd8]
mov rcx, rbx
call fcn.14004aff0
nop
mov rcx, rax
call fcn.14004b1e0
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.14005faa0
nop
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x14005b34b
call fcn.14004b380
mov qword [rbp + 0xd8], r13
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x14005b363
call fcn.14004b380
mov qword [rbp + 0xb0], r13
mov rcx, qword [rbp + 0xe0]
test rcx, rcx
je 0x14005b37b
call fcn.14004b380
mov qword [rbp + 0xe0], r13
mov rcx, qword [rbp + 0xb8]
test rcx, rcx
je 0x14005b393
call fcn.14004b380
mov qword [rbp + 0xb8], r13
mov rcx, qword [rbp + 0xe8]
test rcx, rcx
je 0x14005b3ab
call fcn.14004b380
mov qword [rbp + 0xe8], r13
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x14005b3c3
call fcn.14004b380
mov qword [rbp + 0xc0], r13
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x14005b3d5
call fcn.14004b380
mov qword [rbp + 0x20], r13
mov rcx, qword [rbp + 0xc8]
test rcx, rcx
je 0x14005b3ed
call fcn.14004b380
mov qword [rbp + 0xc8], r13
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x14005b3ff
call fcn.14004b380
mov qword [rbp + 0x30], r13
mov rcx, qword [rbp + 0xd0]
test rcx, rcx
je 0x14005b417
call fcn.14004b380
mov qword [rbp + 0xd0], r13
lea rcx, [rsp + 0x20]
call fcn.140048e50
mov rdx, rax
lea rcx, [rbp + 0x150]
call fcn.140050110
movdqa xmm1, xmmword [0x140161750]
movdqu xmmword [rbp - 0x28], xmm1
mov dl, reloc.WS2_32.dll_WSAStartup
mov r8b, 0x78
mov r9b, reloc.WLDAP32.dll_Ordinal_33
mov r10b, 0x60
mov r11b, 0x66
movzx ebx, r10b
mov dil, 0x68
mov sil, reloc.WS2_32.dll_WSAGetLastError
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rbp - 0x27], al
xor byte [rbp - 0x26], cl
xor byte [rbp - 0x25], cl
xor byte [rbp - 0x24], cl
xor byte [rbp - 0x23], cl
xor byte [rbp - 0x22], cl
xor byte [rbp - 0x21], cl
xor byte [rbp - 0x20], cl
xor byte [rbp - 0x1f], cl
xor byte [rbp - 0x1e], cl
xor byte [rbp - 0x1d], cl
xor byte [rbp - 0x1c], cl
xor byte [rbp - 0x1b], cl
xor byte [rbp - 0x1a], cl
xor byte [rbp - 0x19], cl
xor dl, cl
mov byte [rbp - 0x18], dl
xor r8b, cl
mov byte [rbp - 0x17], r8b
xor r9b, cl
mov byte [rbp - 0x16], r9b
xor r10b, cl
mov byte [rbp - 0x15], r10b
xor r11b, cl
mov byte [rbp - 0x14], r11b
xor bl, cl
mov byte [rbp - 0x13], bl
xor dil, cl
mov byte [rbp - 0x12], dil
xor sil, cl
mov byte [rbp - 0x11], sil
mov byte [rbp - 0x10], 0
mov rdx, r13
lea rcx, [0x140bd7cd0]
nop word [rax + rax]
movzx eax, byte [rbp + rdx - 0x27]
mov byte [rdx + rcx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14005b4e0
lea rax, [0x14015c1fc]
mov qword [0x140bd7cc0], rax
mov dword [0x140bd8430], r13d
mov dword [0x140bd843c], 0
mov dword [0x140bd8440], 0x43160000
mov dword [0x140bd8438], 0
lea rax, str.none
mov qword [0x140bd7dd0], rax
lea rcx, [rbp + 0x150]
call fcn.1400500c0
nop
lea rcx, [rsp + 0x20]
call fcn.140048e70
jmp 0x14005b838
mov byte [rbp + 0x30], 2
mov al, 0x61
mov cl, reloc.WLDAP32.dll_Ordinal_50
mov dl, Ordinal_50
mov r8b, gethostname
movzx r9d, cl
movzx r10d, cl
mov r11b, 0x33
mov bl, 0x67
xor edi, edi
xor al, 2
mov byte [rbp + 0x31], al
xor cl, 2
mov byte [rbp + 0x32], cl
xor dl, 2
mov byte [rbp + 0x33], dl
xor r8b, 2
mov byte [rbp + 0x34], r8b
xor r9b, 2
mov byte [rbp + 0x35], r9b
xor r10b, 2
mov byte [rbp + 0x36], r10b
xor r11b, 2
mov byte [rbp + 0x37], r11b
xor bl, 2
mov byte [rbp + 0x38], bl
mov byte [rbp + 0x39], dil
xor r8d, r8d
lea rdx, [rbp + 0x31]
lea rcx, [rbp + 0x78]
call fcn.14005f6a0
cmp rax, 0xffffffffffffffff
je 0x14005b81d
movdqa xmm0, xmmword [0x140161390]
movdqu xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [0x140160d70]
movdqu xmmword [rsp + 0x30], xmm1
movdqa xmm0, xmmword [0x140161430]
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x140161500]
movdqu xmmword [rsp + 0x50], xmm1
mov dword [rsp + 0x60], 0x4c564019
mov dword [rsp + 0x64], 0x5a49194b
xor eax, eax
mov byte [rsp + 0x68], al
mov rcx, r13
nop
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x21], al
inc rcx
cmp rcx, 0x47
jb 0x14005b610
mov byte [rsp + 0x68], dil
mov rdx, r13
lea rcx, [0x140bd7cd0]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsp + rdx + 0x21]
mov byte [rdx + rcx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14005b640
lea rax, [0x14015c1fc]
mov qword [0x140bd7cc0], rax
mov dword [0x140bd8430], r13d
mov dword [0x140bd843c], edi
mov dword [0x140bd8440], 0x43160000
mov dword [0x140bd8438], edi
lea rax, str.none
mov qword [0x140bd7dd0], rax
mov byte [rbp + 0x20], gethostname
mov al, 0x66
mov cl, 0x5a
mov dl, 0x57
mov r8b, reloc.WLDAP32.dll_Ordinal_79
mov r9b, 0x45
mov r10b, 0x5f
mov r11b, 0x58
mov bl, 0x55
xor al, 0x36
mov byte [rbp + 0x21], al
xor cl, 0x36
mov byte [rbp + 0x22], cl
xor dl, 0x36
mov byte [rbp + 0x23], dl
xor r8b, 0x36
mov byte [rbp + 0x24], r8b
xor r9b, 0x36
mov byte [rbp + 0x25], r9b
xor r10b, 0x36
mov byte [rbp + 0x26], r10b
xor r11b, 0x36
mov byte [rbp + 0x27], r11b
xor bl, 0x36
mov byte [rbp + 0x28], bl
mov byte [rbp + 0x29], dil
movdqa xmm0, xmmword [0x140161730]
movdqu xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [0x140161630]
movdqu xmmword [rsp + 0x30], xmm1
movdqa xmm0, xmmword [0x140161800]
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x140160f10]
movdqu xmmword [rsp + 0x50], xmm1
movdqa xmm0, xmmword [0x1401617a0]
movdqu xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x140161670]
movdqu xmmword [rsp + 0x70], xmm1
movdqa xmm0, xmmword [0x140161090]
movdqu xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x70], 0x696f6f75
mov dword [rbp - 0x6c], 0x3c233c79
xor eax, eax
mov byte [rbp - 0x68], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x21], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x22], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x23], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x24], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x25], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x26], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x27], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x28], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x29], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x2a], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x2b], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x2c], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x2d], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x2e], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x2f], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x30], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + r13 + 0x31], al
add r13, 0x11
cmp r13, 0x77
jb 0x14005b750
mov byte [rbp - 0x68], dil
mov r9d, 4
lea r8, [rbp + 0x21]
lea rdx, [rsp + 0x21]
jmp 0x14005b82f
lea rcx, [rbp + 0x78]
call fcn.140048e50
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
nop
lea rcx, [rbp + 0x78]
call fcn.140048e70
jmp 0x14005b9b1
movdqa xmm1, xmmword [0x140160fa0]
movdqu xmmword [rsp + 0x20], xmm1
movdqa xmm2, xmmword [0x1401615e0]
movdqu xmmword [rsp + 0x30], xmm2
movdqa xmm3, xmmword [0x140160ef0]
movdqu xmmword [rsp + 0x40], xmm3
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x21], al
xor byte [rsp + 0x22], cl
xor byte [rsp + 0x23], cl
xor byte [rsp + 0x24], cl
xor byte [rsp + 0x25], cl
xor byte [rsp + 0x26], cl
xor byte [rsp + 0x27], cl
xor byte [rsp + 0x28], cl
xor byte [rsp + 0x29], cl
xor byte [rsp + 0x2a], cl
xor byte [rsp + 0x2b], cl
xor byte [rsp + 0x2c], cl
xor byte [rsp + 0x2d], cl
xor byte [rsp + 0x2e], cl
xor byte [rsp + 0x2f], cl
movd eax, xmm2
xor al, cl
mov byte [rsp + 0x30], al
xor byte [rsp + 0x31], cl
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
movd eax, xmm3
xor al, cl
mov byte [rsp + 0x40], al
xor byte [rsp + 0x41], cl
xor byte [rsp + 0x42], cl
xor byte [rsp + 0x43], cl
xor byte [rsp + 0x44], cl
xor byte [rsp + 0x45], cl
xor byte [rsp + 0x46], cl
xor byte [rsp + 0x47], cl
xor byte [rsp + 0x48], cl
xor byte [rsp + 0x49], cl
xor byte [rsp + 0x4a], cl
xor byte [rsp + 0x4b], cl
xor byte [rsp + 0x4c], cl
xor byte [rsp + 0x4d], cl
xor byte [rsp + 0x4e], cl
xor byte [rsp + 0x4f], cl
mov byte [rsp + 0x50], 0
mov rdx, r13
lea rcx, [0x140bd7cd0]
nop word [rax + rax]
movzx eax, byte [rsp + rdx + 0x21]
mov byte [rdx + rcx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14005b960
lea rax, [0x14015c1fc]
mov qword [0x140bd7cc0], rax
mov dword [0x140bd8430], r13d
mov dword [0x140bd843c], 0
mov dword [0x140bd8440], 0x43160000
mov dword [0x140bd8438], 0
lea rax, str.none
mov qword [0x140bd7dd0], rax
lea rcx, [rbp - 0x60]
call fcn.140048e70
jmp 0x14005baf1
movdqa xmm1, xmmword [0x140161690]
movdqu xmmword [rbp - 0x60], xmm1
movdqa xmm2, xmmword [0x140160f50]
movdqu xmmword [rbp - 0x50], xmm2
movdqa xmm3, xmmword [0x140161790]
movdqu xmmword [rbp - 0x40], xmm3
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rbp - 0x5f], al
xor byte [rbp - 0x5e], cl
xor byte [rbp - 0x5d], cl
xor byte [rbp - 0x5c], cl
xor byte [rbp - 0x5b], cl
xor byte [rbp - 0x5a], cl
xor byte [rbp - 0x59], cl
xor byte [rbp - 0x58], cl
xor byte [rbp - 0x57], cl
xor byte [rbp - 0x56], cl
xor byte [rbp - 0x55], cl
xor byte [rbp - 0x54], cl
xor byte [rbp - 0x53], cl
xor byte [rbp - 0x52], cl
xor byte [rbp - 0x51], cl
movd eax, xmm2
xor al, cl
mov byte [rbp - 0x50], al
xor byte [rbp - 0x4f], cl
xor byte [rbp - 0x4e], cl
xor byte [rbp - 0x4d], cl
xor byte [rbp - 0x4c], cl
xor byte [rbp - 0x4b], cl
xor byte [rbp - 0x4a], cl
xor byte [rbp - 0x49], cl
xor byte [rbp - 0x48], cl
xor byte [rbp - 0x47], cl
xor byte [rbp - 0x46], cl
xor byte [rbp - 0x45], cl
xor byte [rbp - 0x44], cl
xor byte [rbp - 0x43], cl
xor byte [rbp - 0x42], cl
xor byte [rbp - 0x41], cl
movd eax, xmm3
xor al, cl
mov byte [rbp - 0x40], al
xor byte [rbp - 0x3f], cl
xor byte [rbp - 0x3e], cl
xor byte [rbp - 0x3d], cl
xor byte [rbp - 0x3c], cl
xor byte [rbp - 0x3b], cl
xor byte [rbp - 0x3a], cl
xor byte [rbp - 0x39], cl
xor byte [rbp - 0x38], cl
xor byte [rbp - 0x37], cl
xor byte [rbp - 0x36], cl
xor byte [rbp - 0x35], cl
xor byte [rbp - 0x34], cl
xor byte [rbp - 0x33], cl
xor byte [rbp - 0x32], cl
xor byte [rbp - 0x31], cl
mov byte [rbp - 0x30], 0
mov rdx, r13
lea rcx, [0x140bd7cd0]
movzx eax, byte [rbp + rdx - 0x5f]
mov byte [rdx + rcx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14005baa0
lea rax, [0x14015c1fc]
mov qword [0x140bd7cc0], rax
mov dword [0x140bd8430], r13d
mov dword [0x140bd843c], 0
mov dword [0x140bd8440], 0x43160000
mov dword [0x140bd8438], 0
lea rax, str.none
mov qword [0x140bd7dd0], rax
lea rcx, [rbp + 0xf0]
call fcn.1400500c0
nop
lea rcx, [rbp + 0x180]
call fcn.140048e70
movaps xmm6, xmmword [rsp + 0x6b0]
add rsp, 0x6c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret