Function at 0x180051280
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x310]
sub rsp, 0x410
mov rbx, rcx
xor r15d, r15d
mov dword [rbp + 0x360], r15d
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x60], r15
mov esi, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x68], rsi
mov byte [rsp + 0x50], r15b
lea ecx, [rsi + 0x11]
call fcn.18008a528
mov qword [rsp + 0x60], reloc.WS2_32.dll_setsockopt
mov qword [rsp + 0x68], 0x1f
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
mov dword [rax + 0x10], ecx
mov word [rax + 0x14], cx
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, rax
mov byte [rbp + 0x358], 1
movzx eax, byte [rbp + 0x358]
lea rdi, [0x180000000]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0x14], al
mov byte [rbp + 0x358], 0x53
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0x13], al
mov byte [rbp + 0x358], 3
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0x12], al
mov byte [rbp + 0x358], 0x5c
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0x11], al
mov byte [rbp + 0x358], 0x8f
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0x10], al
mov byte [rbp + 0x358], 0x5c
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0xf], al
mov byte [rbp + 0x358], 3
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0xe], al
mov byte [rbp + 0x358], gethostbyname
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0xd], al
mov byte [rbp + 0x358], 0x5c
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0xc], al
mov byte [rbp + 0x358], 0xf9
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0xb], al
mov byte [rbp + 0x358], 0x3f
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 0xa], al
mov byte [rbp + 0x358], 0x9c
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 9], al
mov byte [rbp + 0x358], __WSAFDIsSet
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 8], al
mov byte [rbp + 0x358], 0xa
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 7], al
mov byte [rbp + 0x358], 0x4d
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 6], al
mov byte [rbp + 0x358], 0xee
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 5], al
mov byte [rbp + 0x358], 3
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 4], al
mov byte [rbp + 0x358], 0x3f
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 3], al
mov byte [rbp + 0x358], 0xe4
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 2], al
mov byte [rbp + 0x358], __WSAFDIsSet
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx + 1], al
mov byte [rbp + 0x358], 0xf6
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xf06c0]
mov byte [rdx], al
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x50]
call fcn.18002bb40
nop
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.18002b530
nop
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x30]
call fcn.180028370
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.18002b530
mov dword [rbp + 0x360], 1
mov rdx, qword [rbp + 0x48]
cmp rdx, 8
jb 0x180051594
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005158f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c4f
call fcn.18008a564
movdqa xmm0, xmmword [0x180102450]
movdqu xmmword [rbp + 0x40], xmm0
mov word [rbp + 0x30], r15w
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x1800515e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800515e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c55
call fcn.18008a564
movdqa xmm0, xmmword [0x180102450]
movdqu xmmword [rbp + 0x60], xmm0
mov word [rbp + 0x50], r15w
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x180051635
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051630
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c5b
call fcn.18008a564
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rsi
mov byte [rsp + 0x50], 0
lea rcx, [rbp + 0x70]
call fcn.18002eec0
test al, al
jne 0x180051658
xor bl, bl
jmp 0x180051bec
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
mov edx, 1
lea rcx, [rsp + 0x30]
call fcn.18002c0c0
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
mov byte [rax + rcx], 3
inc rcx
mov qword [rsp + 0x48], rcx
mov qword [rbp - 0x48], rsi
mov byte [rbp - 0x60], 0
mov qword [rbp - 0x50], 7
xor eax, eax
mov qword [rbp - 0x60], rax
lea rdx, [rbp - 0x60]
mov byte [rbp + 0x358], 1
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xefec0]
mov byte [rdx + 6], al
mov byte [rbp + 0x358], 0x53
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xefec0]
mov byte [rdx + 5], al
mov byte [rbp + 0x358], 3
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xefec0]
mov byte [rdx + 4], al
mov byte [rbp + 0x358], 0x5c
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xefec0]
mov byte [rdx + 3], al
mov byte [rbp + 0x358], 0x8f
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xefec0]
mov byte [rdx + 2], al
mov byte [rbp + 0x358], 0x5c
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xefec0]
mov byte [rdx + 1], al
mov byte [rbp + 0x358], 3
movzx eax, byte [rbp + 0x358]
movzx eax, byte [rax + rdi + 0xefec0]
mov byte [rdx], al
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x90]
call fcn.18002bb40
nop
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x30]
call fcn.180029420
nop
lea rcx, [rbp + 0x90]
call fcn.1800287c0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x1800517c4
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800517bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c61
call fcn.18008a564
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
xor r8d, r8d
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x70]
call fcn.18002b9c0
test eax, eax
jne 0x180051c67
mov rbx, qword [rbp - 0x68]
mov qword [rbp + 0x368], rbx
test rbx, rbx
je 0x180051803
lock inc dword [rbx + 8]
mov rbx, qword [rbp - 0x68]
mov qword [rbp + 0x368], rbx
movdqa xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x10], xmm0
test rbx, rbx
je 0x180051826
lock inc dword [rbx + 8]
mov rbx, qword [rbp - 0x68]
mov qword [rbp + 0x368], rbx
movdqa xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x20], xmm0
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x20]
call fcn.1800291b0
nop
mov r13, qword [rbp - 8]
mov rsi, qword [rbp - 0x10]
mov r14d, dword [rbp + 0x360]
nop dword [rax + rax]
cmp rsi, qword [rbp + 0x20]
je 0x180051b6b
mov rax, qword [rsi + 0x30]
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 8
jb 0x18005186d
mov rcx, qword [rsi + 0x20]
lea r11, [rcx + rax*2]
mov rdx, r11
call fcn.1800282d0
sub r11, rax
sar r11, 1
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r15w
mov r8, r11
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.18002b6f0
or r14d, 0xe
lea r12, [rbp - 0x40]
cmp qword [rbp - 0x28], 8
cmovae r12, qword [rbp - 0x40]
mov r15, qword [rbp - 0x30]
call fcn.180088ad4
mov dword [rbp + 0x358], eax
xor ecx, ecx
mov qword [rsp + 0x70], rcx
mov edx, ecx
mov qword [rbp - 0x80], rcx
mov r10d, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x78], r10
mov byte [rsp + 0x70], cl
bts r14d, 7
mov dword [rbp + 0x360], r14d
test r15, r15
je 0x180051978
cmp r15, 0x7fffffff
ja 0x180051c8f
mov dword [rsp + 0x20], ecx
xor r9d, r9d
mov r8d, r15d
mov rdx, r12
mov ecx, eax
call fcn.180088b44
mov rbx, rax
mov qword [rbp - 0x20], rax
shr rax, 0x20
test eax, eax
jne 0x180051c86
movsxd rdx, ebx
xor r8d, r8d
lea rcx, [rsp + 0x70]
call fcn.180021950
lea r9, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae r9, qword [rsp + 0x70]
mov dword [rsp + 0x20], ebx
mov r8d, r15d
mov rdx, r12
mov ecx, dword [rbp + 0x358]
call fcn.180088b44
mov qword [rbp + 0x358], rax
shr rax, 0x20
test eax, eax
jne 0x180051c7a
mov r10, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
btr r14d, 7
or r14d, 0x70
lea r8, [rsp + 0x70]
cmp r10, 0x10
setae r11b
mov r9, qword [rsp + 0x70]
cmovae r8, r9
mov ebx, 0x7c3f72fb
xor r15d, r15d
mov eax, r15d
test rdx, rdx
je 0x1800519c5
nop word [rax + rax]
movzx ecx, byte [rax + r8]
xor ecx, ebx
imul ebx, ecx, 0x1000193
inc rax
cmp rax, rdx
jb 0x1800519b0
test r11b, r11b
je 0x1800519fb
lea rdx, [r10 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x1800519f3
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c95
mov rcx, r9
call fcn.18008a564
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x70], r15b
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x180051a4c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051a47
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c9b
call fcn.18008a564
cmp ebx, 0x58b086d4
je 0x180051af0
lea rdx, [rsi + 0x20]
lea rcx, [rbp]
call fcn.18005b270
nop
cmp byte [rbp + 0x18], 0
je 0x180051ae6
lea rdx, [rsi + 0x20]
lea rcx, [rsp + 0x30]
call fcn.180029420
mov rdi, qword [rbp + 8]
sub rdi, qword [rbp]
mov rdx, qword [rsp + 0x38]
sub rdx, qword [rsp + 0x30]
add rdx, 4
lea rcx, [rsp + 0x30]
call fcn.18002b230
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x48]
mov dword [rcx + rax], edi
add rax, 4
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x38]
sub rdx, rcx
add rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.18002b230
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
add rcx, rbx
mov r8, rdi
mov rdx, qword [rbp]
call fcn.18008c6d0
add rbx, rdi
mov qword [rsp + 0x48], rbx
lea rcx, [rbp]
call fcn.18002b0c0
nop
lea rdx, [rbp + 0xc0]
mov rcx, qword [rsi + 0x40]
call fcn.180088f54
cmp eax, 0x12
je 0x180051b47
test eax, eax
jne 0x180051ca1
cmp word [rbp + 0xec], 0x2e
jne 0x180051b33
movzx eax, word [rbp + 0xee]
test ax, ax
je 0x180051af0
cmp ax, 0x2e
jne 0x180051b33
cmp word [rbp + 0xf0], 0
je 0x180051af0
lea rdx, [rbp + 0xc0]
mov rcx, rsi
call fcn.180028dd0
jmp 0x180051850
mov rsi, r15
mov qword [rbp - 0x10], r15
mov rcx, r13
mov r13, r15
mov qword [rbp - 8], r15
test rcx, rcx
je 0x180051850
call fcn.1800280b0
jmp 0x180051850
lea rcx, [rbp + 0x20]
call fcn.180029160
nop
test r13, r13
je 0x180051b83
mov rcx, r13
call fcn.1800280b0
nop
mov rbx, qword [rbp + 0x368]
test rbx, rbx
je 0x180051b97
mov rcx, rbx
call fcn.1800280b0
xor r9d, r9d
lea r8, [rsp + 0x30]
mov dl, inet_ntoa
lea rcx, [0x180118fd0]
call fcn.180059d90
mov bl, 1
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x180051bec
mov rdx, qword [rsp + 0x40]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051be6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051cb0
call fcn.18008a564
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 8
jb 0x180051c2b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051c26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180051c49
call fcn.18008a564
movzx eax, bl
mov rbx, qword [rsp + 0x450]
add rsp, 0x410
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
call fcn.180090f98
nop
lea r8, [rbp + 0x70]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.18002e8c0
nop
mov ecx, dword [rbp + 0x35c]
call fcn.180028190
int3
mov ecx, dword [rbp - 0x1c]
call fcn.180028190
int3
call fcn.180027ee0
nop
call fcn.180090f98
nop
call fcn.180090f98
int3
mov edx, eax
lea rcx, str.directory_iterator::operator
call fcn.180028b60
nop
call fcn.180090f98
int3