Function at 0x18001c150
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x58
cmp byte [0x1801c7c93], 0
je 0x18001c57d
mov rax, qword [0x1801c7b60]
mov rcx, qword [rax]
test rcx, rcx
je 0x18001c57d
mov rax, qword [rcx + 8]
test rax, rax
je 0x18001c57d
mov qword [rsp + 0x68], rbp
mov rbp, qword [rax + 0xd30]
test rbp, rbp
je 0x18001c578
cmp byte [reloc.WS2_32.dll_accept], 0
jne 0x18001c578
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], rsi
movabs rsi, 0xd80958fc74e988a6
mov rcx, rsi
mov qword [rsp + 0x78], rdi
call fcn.180016e10
mov edx, eax
movabs rcx, 0x814fa8be5449445d
mov ebx, eax
call fcn.180016eb0
mov rcx, rsi
mov edi, eax
call fcn.180016e10
mov r8d, 1
mov edx, eax
movabs rcx, 0x9a9112a0fe9a4713
call fcn.180016f80
cmp byte [0x1801c7c95], 0
mov esi, eax
je 0x18001c21a
mov r8d, 1
mov edx, edi
movabs rcx, 0xb664292eaecf7fa6
call fcn.180017460
cmp byte [0x1801c7c96], 0
je 0x18001c245
mov r9d, 1
mov dword [rsp + 0x20], 0
mov r8d, r9d
mov edx, esi
movabs rcx, 0x2497c4717c8b881e
call fcn.180017660
cmp byte [0x1801c7c97], 0
je 0x18001c268
mov r9d, 0xffffffff
mov r8d, edi
mov edx, ebx
movabs rcx, 0xf75b0d629e1c063d
call fcn.180017550
cmp byte [0x1801c7c94], 0
je 0x18001c339
mov r8d, 1
mov edx, esi
movabs rcx, 0x3882114bde571ad4
call fcn.180017460
mov dword [rsp + 0x48], 1
mov r9d, 1
mov dword [rsp + 0x40], 1
mov r8d, r9d
mov dword [rsp + 0x38], 1
mov edx, esi
mov dword [rsp + 0x30], 1
movabs rcx, 0xfaee099c6f890bb8
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
call fcn.1800178c0
movabs rdi, 0xeb9dc3c7d8596c46
xor r8d, r8d
mov rcx, rdi
mov edx, esi
call fcn.180017460
xor r8d, r8d
mov edx, esi
movabs rcx, 0x29b18b4fd460ca8f
call fcn.180017460
xor r8d, r8d
mov edx, esi
movabs rcx, 0x4c7028f78ffd3681
call fcn.180017460
xor r8d, r8d
mov edx, esi
mov rcx, rdi
call fcn.180017460
mov r8d, 1
mov edx, esi
movabs rcx, 0x92f0cf722bc4202f
call fcn.180017460
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x997abd671d25ca0b
call fcn.180016f80
test eax, eax
je 0x18001c562
cmp byte [0x1801c7c98], 0
mov byte [0x1801c7ca1], 1
je 0x18001c391
mov edx, esi
movabs rcx, 0x953da1e1b12c0491
call fcn.180017390
mov dword [rbp + 0x908], 0x447a0000
mov dword [rbp + 0x840], 0x447a0000
mov byte [0x1801c7c98], 0
cmp byte [0x1801c7ca0], 0
je 0x18001c3c8
mov r9d, dword [0x1801c7cb0]
mov edx, esi
mov r8d, dword [0x1801c7ca4]
movabs rcx, 0x6af0636ddedcb6dd
mov dword [rsp + 0x20], 0
call fcn.180017660
mov byte [0x1801c7ca0], 0
cmp byte [0x1801c7c9a], 0
je 0x18001c3ed
mov rax, qword [rbp + 0x938]
test rax, rax
je 0x18001c3ed
movd xmm0, dword [0x1801c7c9c]
cvtdq2ps xmm0, xmm0
movss dword [rax + 0x4c], xmm0
cmp byte [0x1801c7c99], 0
je 0x18001c4eb
mov rax, qword [0x1801c8060]
test rax, rax
jne 0x18001c4cc
mov rax, qword gs:[0x60]
mov qword [rsp + 0x50], r14
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov rbx, r14
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x18001c4a8
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x18001c4a8
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18001c4a3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x18001c480
cmp edx, 0x95466b05
je 0x18001c544
test r8d, r8d
jne 0x18001c460
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r14
je 0x18001c4be
cmp qword [rax + 0x30], 0
jne 0x18001c430
xor eax, eax
mov r14, qword [rsp + 0x50]
mov qword [0x1801c8060], rax
mov ecx, reloc.WS2_32.dll_recv
call rax
test ax, ax
jns 0x18001c4eb
mov rax, qword [rbp + 0x938]
test rax, rax
je 0x18001c4eb
mov dword [rax + 0x4c], 0x447a0000
cmp byte [0x1801c7cc0], 0
je 0x18001c51a
mov r9d, dword [0x1801c7cac]
mov edx, esi
mov r8d, dword [0x1801c7ca8]
movabs rcx, 0x4f1d4be3a7f24601
call fcn.180017550
mov byte [0x1801c7cc0], 0
cmp byte [0x1801c7cc1], 0
je 0x18001c569
lea r8, [0x1801c7cb8]
mov edx, esi
movabs rcx, 0x95a88f0b409cda47
call fcn.180017cb0
mov byte [0x1801c7cc1], 0
jmp 0x18001c569
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x18001c4c0
mov byte [0x1801c7ca1], 0
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
add rsp, 0x58
ret