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

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 - 0x340]
sub rsp, 0x440
mov rax, qword [0x180253040]
xor rax, rsp
mov qword [rbp + 0x330], rax
xor r13d, r13d
mov qword [rsp + 0x40], rcx
xor eax, eax
mov dword [rbp + 0xa0], 0x2b2a2d2c
mov word [rbp + 0xb4], ax
xorps xmm0, xmm0
movups xmmword [rbp + 0xa4], xmm0
mov qword [rsp + 0x40], r13
mov rsi, rcx
mov rax, qword [rsp + 0x40]
movabs r9, 0x85b6c0a6acf88f5a
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r9
movzx edx, byte [rbp + rax + 0xa0]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r8, rcx
add r8, rdx
sub r8b, 0x76
mov byte [rbp + rax + 0xa0], r8b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x16
jb 0x1800288b0
movzx eax, byte [rbp + 0xa0]
lea rcx, [rbp + 0x221]
xor edx, edx
mov byte [rbp + 0x220], al
mov r8d, 0x104
call fcn.18015a330
xor eax, eax
mov dword [rbp + 0xc0], 0x9b9a9998
mov word [rbp + 0xd4], ax
xorps xmm0, xmm0
movups xmmword [rbp + 0xc4], xmm0
mov qword [rsp + 0x40], r13
movabs r10, 0xff3ecdc01fe1e8c4
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r10
movzx edx, byte [rbp + rax + 0xc0]
mov rax, rcx
and rax, rdx
imul r9, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r9, rcx
add r9, rdx
sub r9b, 0x5c
mov byte [rbp + rax + 0xc0], r9b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x16
jb 0x180028950
movzx eax, byte [rbp + 0xc0]
lea rcx, [rbp + 0x111]
xor edx, edx
mov byte [rbp + 0x110], al
mov r8d, 0x104
call fcn.18015a330
xor eax, eax
mov dword [rbp + 0x20], 0xb0a0d0c
mov qword [rbp + 0x24], rax
movabs r9, 0xc3dec42818d17302
mov dword [rbp + 0x2c], eax
mov word [rbp + 0x30], ax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
nop word [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r9
movzx edx, byte [rbp + rax + 0x20]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r8, rcx
add r8, rdx
sub r8b, 0xe
mov byte [rbp + rax + 0x20], r8b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x12
jb 0x1800289f0
mov eax, dword [rbp + 0x20]
xorps xmm0, xmm0
mov dword [rbp + 0xec], eax
xor eax, eax
mov word [rbp - 0xc], ax
mov byte [rbp - 0xa], al
mov dword [rbp - 0x20], 0x3000106
movups xmmword [rbp - 0x1c], xmm0
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x17
jb 0x180028a70
xor eax, eax
mov dword [rbp], 0xaba4a5a6
mov dword [rbp + 0x14], eax
xorps xmm0, xmm0
mov word [rbp + 0x18], ax
movabs r9, 0x9d7e8e74353b49c5
mov byte [rbp + 0x1a], al
movups xmmword [rbp + 4], xmm0
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
nop word [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r9
movzx edx, byte [rbp + rax]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r8, rcx
add r8, rdx
sub r8b, 0x63
mov byte [rbp + rax], r8b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x1b
jb 0x180028ad0
mov eax, dword [rbp]
xorps xmm0, xmm0
mov dword [rbp + 0xe8], eax
movabs r9, 0x45f68b98112a9bd2
xor eax, eax
mov dword [rbp + 0x60], 0x6b6a6c10
mov qword [rbp + 0x74], rax
mov dword [rbp + 0x7c], eax
movups xmmword [rbp + 0x64], xmm0
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r9
movzx edx, byte [rbp + rax + 0x60]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r8, rcx
add r8, rdx
add r8b, 0x42
mov byte [rbp + rax + 0x60], r8b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x20
jb 0x180028b50
xor eax, eax
mov dword [rbp + 0x40], 0x73726d6d
mov qword [rbp + 0x54], rax
xorps xmm0, xmm0
mov word [rbp + 0x5c], ax
movabs r9, 0x2f568163ee93f26e
movups xmmword [rbp + 0x44], xmm0
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r9
movzx edx, byte [rbp + rax + 0x40]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r8, rcx
add r8, rdx
sub r8b, 2
mov byte [rbp + rax + 0x40], r8b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x1e
jb 0x180028bd0
mov r12d, dword [rbp + 0x60]
lea rax, [rbp + 0x189]
add r12d, dword [rbp + 0x40]
xor al, 0x17
mov byte [rbp - 0x70], al
xorps xmm0, xmm0
lea rax, [rbp + 0xe8]
movabs r9, 0x532b12ab7d542317
shr rax, 8
sub al, 0x5f
xor al, 0x18
mov byte [rbp - 0x6f], al
lea rax, [rbp + 0xe8]
shr rax, 0x10
sub al, 0x5f
xor al, 0x19
mov byte [rbp - 0x6e], al
lea rax, [rbp + 0xe8]
shr rax, 0x18
sub al, 0x5f
xor al, 0x1a
mov byte [rbp - 0x6d], al
lea rax, [rbp + 0xe8]
shr rax, 0x20
sub al, 0x5f
xor al, 0x1b
mov byte [rbp - 0x6c], al
lea rax, [rbp + 0xe8]
shr rax, 0x28
sub al, 0x5f
xor al, 0x1c
mov byte [rbp - 0x6b], al
lea rax, [rbp + 0xe8]
shr rax, 0x30
sub al, 0x5f
xor al, 0x1d
mov byte [rbp - 0x6a], al
lea rax, [rbp + 0xe8]
shr rax, 0x38
sub al, 0x5f
xor al, 0x1e
mov byte [rbp - 0x69], al
xor eax, eax
mov qword [rbp - 0x58], rax
movups xmmword [rbp - 0x68], xmm0
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r9
movzx edx, byte [rbp + rax - 0x70]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r8, rcx
add r8, rdx
add r8b, 0x5f
mov byte [rbp + rax - 0x70], r8b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x20
jb 0x180028cd0
lea rax, [rbp + 0x116]
movabs r9, 0xf10d4ff3f5e65706
xor al, 6
mov byte [rsp + 0x70], al
lea rax, [rbp + 0xec]
shr rax, 8
add al, 0x2a
xor al, 7
mov byte [rsp + 0x71], al
lea rax, [rbp + 0xec]
shr rax, 0x10
add al, 0x2a
xor al, 8
mov byte [rsp + 0x72], al
lea rax, [rbp + 0xec]
shr rax, 0x18
add al, 0x2a
xor al, 9
mov byte [rsp + 0x73], al
lea rax, [rbp + 0xec]
shr rax, 0x20
add al, 0x2a
xor al, 0xa
mov byte [rsp + 0x74], al
lea rax, [rbp + 0xec]
shr rax, 0x28
add al, 0x2a
xor al, 0xb
mov byte [rsp + 0x75], al
lea rax, [rbp + 0xec]
shr rax, 0x30
add al, 0x2a
xor al, 0xc
mov byte [rsp + 0x76], al
lea rax, [rbp + 0xec]
shr rax, 0x38
add al, 0x2a
xor al, 0xd
mov byte [rsp + 0x77], al
xor eax, eax
mov qword [rsp + 0x78], rax
mov dword [rbp - 0x80], eax
mov word [rbp - 0x7c], ax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r9
movzx edx, byte [rsp + rax + 0x70]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r8, rcx
add r8, rdx
sub r8b, 0x2a
mov byte [rsp + rax + 0x70], r8b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x16
jb 0x180028dd0
lea rax, [rbp + 0x1c3]
movabs r9, 0x31a6c73d22fe8d69
xor al, 0x69
mov byte [rbp - 0x50], al
lea rax, [rbp + 0xe4]
shr rax, 8
sub al, 0x21
xor al, 0x6a
mov byte [rbp - 0x4f], al
lea rax, [rbp + 0xe4]
shr rax, 0x10
sub al, 0x21
xor al, 0x6b
mov byte [rbp - 0x4e], al
lea rax, [rbp + 0xe4]
shr rax, 0x18
sub al, 0x21
xor al, 0x6c
mov byte [rbp - 0x4d], al
lea rax, [rbp + 0xe4]
shr rax, 0x20
sub al, 0x21
xor al, 0x6d
mov byte [rbp - 0x4c], al
lea rax, [rbp + 0xe4]
shr rax, 0x28
sub al, 0x21
xor al, 0x6e
mov byte [rbp - 0x4b], al
lea rax, [rbp + 0xe4]
shr rax, 0x30
sub al, 0x21
xor al, 0x6f
mov byte [rbp - 0x4a], al
lea rax, [rbp + 0xe4]
shr rax, 0x38
sub al, 0x21
xor al, 0x70
mov byte [rbp - 0x49], al
xor eax, eax
mov qword [rbp - 0x48], rax
mov word [rbp - 0x40], ax
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r9
movzx edx, byte [rbp + rax - 0x50]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r8, rcx
add r8, rdx
add r8b, 0x21
mov byte [rbp + rax - 0x50], r8b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x12
jb 0x180028ec0
xor eax, eax
mov dword [rbp + 0x80], 0x9b9a9999
mov qword [rbp + 0x94], rax
xorps xmm0, xmm0
mov dword [rbp + 0x9c], eax
movabs r9, 0x2c90fa94bdd923c
movups xmmword [rbp + 0x84], xmm0
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
nop
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r9
movzx edx, byte [rbp + rax + 0x80]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r8, rcx
add r8, rdx
add r8b, 0x5c
mov byte [rbp + rax + 0x80], r8b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x20
jb 0x180028f40
xor eax, eax
mov dword [rsp + 0x50], 0x1b1a1814
mov word [rsp + 0x64], ax
xorps xmm0, xmm0
mov byte [rsp + 0x66], al
movabs r9, 0xd416a4a555f508ac
movups xmmword [rsp + 0x54], xmm0
mov qword [rsp + 0x40], r13
mov rax, qword [rsp + 0x40]
nop dword [rax]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x40]
add rcx, r9
movzx edx, byte [rsp + rax + 0x50]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x40]
add r8, rcx
add r8, rdx
add r8b, 0x4c
mov byte [rsp + rax + 0x50], r8b
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, 0x17
jb 0x180028fc0
mov rax, qword gs:[0x58]
mov ecx, dword [0x180259410]
mov r15d, dword [rbp + 0x80]
add r15d, dword [rsp + 0x50]
mov r14, qword [rax + rcx*8]
mov eax, 8
mov eax, dword [rax + r14]
cmp dword [0x180265594], eax
jle 0x18002907e
lea rcx, [0x180265594]
call fcn.180030848
cmp dword [0x180265594], 0xffffffff
jne 0x18002907e
lea rcx, [0x18015e550]
mov word [0x18026558b], 0x16f
mov word [0x180265588], 0xa910
mov byte [0x18026558a], 0x25
call fcn.180030c18
lea rcx, [0x180265594]
call fcn.1800307dc
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x180029107
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x180029107
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xbb9b1333
lea rcx, [r10 + r9*4]
mov ecx, dword [rcx + rdi]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x180029102
nop dword [rax]
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x1800290e0
cmp r8d, 0xb8c88cfe
je 0x18002910c
test r9d, r9d
jne 0x1800290c0
mov rax, qword [rax]
jmp 0x180029090
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov r11d, dword [rcx + rdx*4]
add r11, r10
cmp byte [0x18026558c], r13b
je 0x180029150
xor byte [0x180265588], 0x53
xor byte [0x180265589], 0x93
xor byte [0x18026558a], 0x79
xor byte [0x18026558b], 0x6f
mov byte [0x18026558c], r13b
mov r9, qword [rbp - 0x50]
lea rax, [rbp + 0x110]
mov dword [rsp + 0x38], r12d
lea rdx, [rbp + 0x220]
mov qword [rsp + 0x30], rax
lea rcx, [0x180265588]
mov rax, qword [rbp - 0x70]
mov r8d, r15d
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
call r11
test eax, eax
je 0x180029214
mov r8d, dword [rbp + 0xe4]
lea r9, [rbp + 0x105]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x1800291a2
xorps xmm0, xmm0
lea rax, [rbp + 0x105]
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], r13
cmp r9, rax
jne 0x1800291fa
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rsi], r13b
jmp 0x1800292d4
lea r8, [rbp + 0x105]
mov rdx, r9
sub r8, r9
mov rcx, rsi
call fcn.18000d8e0
jmp 0x1800292d4
mov eax, 8
mov eax, dword [rax + r14]
cmp dword [0x180265590], eax
jle 0x180029266
lea rcx, [0x180265590]
call fcn.180030848
cmp dword [0x180265590], 0xffffffff
jne 0x180029266
lea rcx, [0x18015e530]
mov dword [0x1802655b4], 0x155a9f0
mov dword [0x1802655b0], 0x17ca3869
call fcn.180030c18
lea rcx, [0x180265590]
call fcn.1800307dc
cmp byte [0x1802655b7], r13b
je 0x1800292a7
xor byte [0x1802655b0], 0xf
xor byte [0x1802655b1], 0x59
xor byte [0x1802655b2], 0xa3
xor byte [0x1802655b3], 0x7b
xor byte [0x1802655b4], 0x95
xor byte [0x1802655b5], 0xcd
xor byte [0x1802655b6], 0x55
mov byte [0x1802655b7], r13b
xorps xmm0, xmm0
lea rdx, [0x1802655b0]
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r13
mov r8, 0xffffffffffffffff
mov qword [rsi + 0x18], r13
inc r8
cmp byte [rdx + r8], r13b
jne 0x1800292c3
mov rcx, rsi
call fcn.18000d8e0
mov rax, rsi
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.180030780
lea r11, [rsp + 0x440]
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