Function at 0x140398980
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 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov edi, r9d
mov r12, rdx
xor r13d, r13d
mov dword [rsp + 0x40], r13d
mov qword [rbp - 0x50], r8
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [r8 + rax], r13b
jne 0x1403989c0
mov qword [rbp - 0x48], rax
call fcn.140418d70
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x70], xmm0
lea r8, [rbp - 0x70]
mov edx, eax
lea rcx, [rbp - 0x10]
call fcn.14038fb20
nop
lea rcx, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae rcx, qword [rbp - 0x10]
mov rax, qword [rbp]
lea r11, [rcx + rax*2]
mov r10, r11
mov rdx, r11
call fcn.14038fc80
cmp rax, r11
je 0x140398a2c
lea rdx, [r10 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x140398a2c
cmp cx, 0x2f
je 0x140398a2c
mov r10, rdx
cmp rax, rdx
jne 0x140398a11
sub r11, r10
sar r11, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
mov r8, r11
mov rdx, r10
lea rcx, [rsp + 0x48]
call fcn.14038c820
nop
lea r14, [rsp + 0x48]
cmp qword [rsp + 0x60], 8
cmovae r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
call fcn.140418d70
mov r15d, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x40], 0x23e
test rsi, rsi
je 0x140398b09
cmp rsi, 0x7fffffff
ja 0x1403994e8
mov dword [rsp + 0x20], r13d
xor r9d, r9d
mov r8d, esi
mov rdx, r14
mov ecx, eax
call fcn.140418de0
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x1403994ee
movsxd rdx, ebx
xor r8d, r8d
lea rcx, [rsp + 0x68]
call fcn.140367e30
lea r9, [rsp + 0x68]
cmp qword [rbp - 0x80], 0x10
cmovae r9, qword [rsp + 0x68]
mov dword [rsp + 0x20], ebx
mov r8d, esi
mov rdx, r14
mov ecx, r15d
call fcn.140418de0
shr rax, 0x20
test eax, eax
jne 0x1403994f6
mov dword [rsp + 0x40], 0x1fe
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x140398b53
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140398b4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1403994fe
call fcn.140419458
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r13w
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x140398ba7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140398ba2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140399504
call fcn.140419458
mov qword [rbp], r13
mov qword [rbp + 8], 7
mov word [rbp - 0x10], r13w
cmp qword [rsp + 0x78], 0
jne 0x140399313
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xc0], 0
movabs rax, 0xaaaf1044c46d906
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x10], rax
movabs rax, 0xf9b2c4036dbd008d
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x18], rax
movabs r14, 0xf6324b730ee9812f
mov qword [rbp + 0x180], r14
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x20], rax
movabs r15, 0xdec0f87aa29b7310
mov qword [rbp + 0x180], r15
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x28], rax
movabs rbx, 0x2ade92653828b645
mov qword [rbp + 0x180], rbx
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0xa0], rax
movabs rsi, 0xd7c6b66c1dcd75fe
mov qword [rbp + 0x180], rsi
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x180], r14
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x180], r15
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0xb8], rax
movdqa xmm0, xmmword [rbp + 0xa0]
pxor xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp + 0x10], xmm0
movdqa xmm1, xmmword [rbp + 0x20]
pxor xmm1, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x20], xmm1
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
lea rax, [rbp + 0x10]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140398d00
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x30]
call fcn.14035aa00
nop
mov rcx, qword [0x14049bfa8]
movabs rax, 0x59acf7166d748c06
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x30], rax
movabs rax, 0xb282ea1e78be20a2
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x38], rax
movabs rax, 0x83531703619dea5c
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x40], rax
movabs rax, 0x82b3880ac3bb1b64
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x48], rax
movabs rax, 0x3d76346948f226a8
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x50], rax
movabs rax, 0x9ee5275c77b2d636
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x58], rax
movabs rax, 0x4b0081e48b5c6e07
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x60], rax
movabs rax, 0x12f7997743e7a2c1
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x68], rax
movabs rax, 0x78a9df348a72ddfe
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x70], rax
movabs rax, 0x5e0b42a7ebe82dcf
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x180], rbx
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0x180], rsi
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0x180], r14
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0x180], r15
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0xf8], rax
movabs rax, 0x55561949208653c9
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x100], rax
movabs rax, 0xff8a4b0004c2a242
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x108], rax
movabs rax, 0x1763f397d72e0b63
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x110], rax
movabs rax, 0x779eed1e2f8ed6b4
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x118], rax
movabs rax, 0xcc0b35dfe07818d
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x120], rax
movabs rax, 0x5e7b32c4c59b48a6
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x128], rax
movdqa xmm0, xmmword [rbp + 0xe0]
pxor xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x30], xmm0
movdqa xmm1, xmmword [rbp + 0x40]
pxor xmm1, xmmword [rbp + 0xf0]
movdqa xmmword [rbp + 0x40], xmm1
movdqa xmm0, xmmword [rbp + 0x50]
pxor xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x50], xmm0
movdqa xmm1, xmmword [rbp + 0x60]
pxor xmm1, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x60], xmm1
movdqa xmm0, xmmword [rbp + 0x70]
pxor xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x70], xmm0
mov r9d, 0x154
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x80]
call fcn.140398980
nop
lea rdx, [rbp + 0x80]
mov rcx, qword [0x14049bfc0]
call fcn.14035b6c0
nop
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x14039900b
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140399006
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14039950a
call fcn.140419458
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x80], 0
movabs rax, 0x4ffefc005c4cc316
mov qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x170]
mov qword [rbp - 0x50], rax
movabs rax, 0xd7c6b6426fa2078c
mov qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x170]
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x170], rbx
mov rax, qword [rbp + 0x170]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x170], rsi
mov rax, qword [rbp + 0x170]
mov qword [rbp - 0x68], rax
movdqa xmm0, xmmword [rbp - 0x50]
pxor xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x50], xmm0
lea r14, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae r14, qword [rbp - 0x30]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov esi, dword [rcx + r11 + 0x88]
add rsi, r11
cmp rsi, r11
je 0x140399126
mov r9d, dword [rsi + 0x18]
test r9d, r9d
je 0x140399126
mov ebx, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r11 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r11
mov r8d, 0x4009953c
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140399121
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140399100
cmp r8d, 0x350cc1b2
je 0x14039912b
test r9d, r9d
jne 0x1403990e0
mov rax, qword [rax]
jmp 0x1403990b0
mov ecx, dword [rsi + 0x1c]
add rcx, r11
mov eax, dword [rsi + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
mov dword [rsp + 0x28], 0xbb8
mov word [rsp + 0x20], r13w
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rbp - 0x50]
mov rdx, r14
xor ecx, ecx
call r10
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov esi, dword [rcx + r10 + 0x88]
add rsi, r10
cmp rsi, r10
je 0x1403991f6
mov r9d, dword [rsi + 0x18]
test r9d, r9d
je 0x1403991f6
mov ebx, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov ecx, dword [rcx + rbx]
add rcx, r10
mov r8d, 0x410996cf
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x1403991f1
nop dword [rax]
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x1403991d0
cmp r8d, 0xe89a55b9
je 0x1403991fb
test r9d, r9d
jne 0x1403991b0
mov rax, qword [rax]
jmp 0x140399180
mov edx, dword [rsi + 0x1c]
add rdx, r10
mov eax, dword [rsi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rdx + rax*4]
add r8, r10
mov edx, dword [0x7ffe0014]
mov rcx, 0xffffffffffffffff
call r8
mov ecx, 0xa
call fcn.140419954
lea rcx, [rax + 1]
call fcn.140419458
mov ecx, 4
call fcn.1404196c8
mov rbx, rax
mov edx, 4
mov rcx, rax
call fcn.140419458
mov dword [rbx], 0xa
mov ecx, 4
call fcn.1404196c8
mov rbx, rax
mov edx, 4
mov rcx, rax
call fcn.140419458
mov edx, 4
mov rcx, rbx
call fcn.140419458
mov ecx, dword [0x7ffe0014]
int 0x29
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x1403992c2
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1403992bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140399510
call fcn.140419458
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], 0
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x140399313
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14039930e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140399516
call fcn.140419458
lea r10, [rbp - 0x5b]
test edi, edi
jns 0x140399360
neg edi
nop dword [rax]
dec r10
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub dil, cl
add dil, 0x30
mov byte [r10], dil
mov edi, edx
test edx, edx
jne 0x140399320
dec r10
mov byte [r10], 0x2d
jmp 0x140399388
dec r10
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub dil, cl
add dil, 0x30
mov byte [r10], dil
mov edi, edx
test edx, edx
jne 0x140399360
lea r9, [rbp + 0x170]
lea r8, [rbp - 0x5b]
mov rdx, r10
lea rcx, [rbp - 0x50]
call fcn.14035d6b0
nop
mov byte [rbp + 0x170], 0x3a
movabs rcx, 0x7fffffffffffffff
mov rax, qword [rsp + 0x78]
cmp rax, rcx
je 0x14039951c
lea r9, [rsp + 0x68]
cmp qword [rbp - 0x80], 0x10
cmovae r9, qword [rsp + 0x68]
mov qword [rsp + 0x30], 1
lea rcx, [rbp + 0x170]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x68]
movzx edx, byte [rbp + 0x170]
lea rcx, [rsp + 0x48]
call fcn.14035ac50
nop
lea r9, [rbp - 0x50]
lea r8, [rsp + 0x48]
mov rcx, r12
call fcn.140371530
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140399450
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14039944a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140399522
call fcn.140419458
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x14039948c
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140399486
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140399528
call fcn.140419458
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x1403994c4
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1403994bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1403994e2
call fcn.140419458
mov rax, r12
mov rbx, qword [rsp + 0x278]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140428d2c
nop
call fcn.14038f500
nop
mov ecx, eax
call fcn.14038fae0
int3
mov ecx, eax
call fcn.14038fae0
nop
call fcn.140428d2c
nop
call fcn.140428d2c
nop
call fcn.140428d2c
nop
call fcn.140428d2c
nop
call fcn.140428d2c
nop
call fcn.140359930
int3
call fcn.140428d2c
nop
call fcn.140428d2c
int3