Function at 0x1800352b0
Capabilities:
Encode data using xor
Hash data using fnv
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0xa40]
sub rsp, 0xb40
mov rax, qword [0x1800d5240]
xor rax, rsp
mov qword [rbp + 0xa30], rax
mov rbx, rcx
mov ecx, dword [0x18019740c]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1801988b4], ecx
jle 0x180035de6
lea rcx, [0x1801988b4]
call fcn.1800a2c48
cmp dword [0x1801988b4], 0xffffffff
jne 0x180035de6
mov dword [rsp + 0x20], 0x1b
lea r8, [rsp + 0x20]
lea rdx, [0x1800b9104]
lea rcx, [rsp + 0x40]
call fcn.180038680
nop
mov dword [rsp + 0x20], WSACleanup
lea r8, [rsp + 0x20]
lea rdx, [0x1800afec8]
lea rcx, [rsp + 0x68]
call fcn.180038680
nop
mov dword [rsp + 0x20], WSACleanup
lea r8, [rsp + 0x20]
lea rdx, [0x1800afec4]
lea rcx, [rbp - 0x70]
call fcn.180038680
nop
mov dword [rsp + 0x20], WSACleanup
lea r8, [rsp + 0x20]
lea rdx, [0x1800afed0]
lea rcx, [rbp - 0x48]
call fcn.180038680
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movdqa xmm1, xmmword [0x1800c0660]
movdqa xmmword [rbp - 0x10], xmm1
movzx eax, word [0x1800afecc]
mov word [rbp - 0x20], ax
mov byte [rbp - 0x1e], 0
mov dword [rbp], reloc.WS2_32.dll_WSAStartup
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], 2
mov qword [rbp + 0x20], recv
movzx eax, word [0x1800afed8]
mov word [rbp + 8], ax
mov byte [rbp + 0xa], 0
mov dword [rbp + 0x28], reloc.WS2_32.dll_WSACleanup
movups xmmword [rbp + 0x30], xmm0
movdqa xmmword [rbp + 0x40], xmm1
movzx eax, word [0x1800afed4]
mov word [rbp + 0x30], ax
mov byte [rbp + 0x32], 0
mov dword [rbp + 0x50], 0x75
movups xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], 2
mov qword [rbp + 0x70], recv
movzx eax, word [0x1800afee0]
mov word [rbp + 0x58], ax
mov byte [rbp + 0x5a], 0
mov dword [rbp + 0x78], 0x76
movups xmmword [rbp + 0x80], xmm0
movdqa xmmword [rbp + 0x90], xmm1
movzx eax, word [0x1800afedc]
mov word [rbp + 0x80], ax
mov byte [rbp + 0x82], 0
mov dword [rbp + 0xa0], 0x77
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], 2
mov qword [rbp + 0xc0], recv
movzx eax, word [0x1800afee8]
mov word [rbp + 0xa8], ax
mov byte [rbp + 0xaa], 0
mov dword [rbp + 0xc8], 0x78
movups xmmword [rbp + 0xd0], xmm0
movdqa xmm1, xmmword [reloc.WS2_32.dll_closesocket]
movdqa xmmword [rbp + 0xe0], xmm1
mov eax, dword [0x1800afee4]
mov word [rbp + 0xd0], ax
movzx eax, byte [0x1800afee6]
mov byte [rbp + 0xd2], al
mov byte [rbp + 0xd3], 0
mov dword [rbp + 0xf0], 0x79
movups xmmword [rbp + 0xf8], xmm0
mov qword [rbp + 0x108], 3
mov qword [rbp + 0x110], recv
mov eax, dword [0x1800afef0]
mov word [rbp + 0xf8], ax
movzx eax, byte [0x1800afef2]
mov byte [rbp + 0xfa], al
mov byte [rbp + 0xfb], 0
mov dword [rbp + 0x118], 0x7a
movups xmmword [rbp + 0x120], xmm0
movdqa xmmword [rbp + 0x130], xmm1
mov eax, dword [0x1800afeec]
mov word [rbp + 0x120], ax
movzx eax, byte [0x1800afeee]
mov byte [rbp + 0x122], al
mov byte [rbp + 0x123], 0
mov dword [rbp + 0x140], 0x7b
movups xmmword [rbp + 0x148], xmm0
mov qword [rbp + 0x158], 1
mov qword [rbp + 0x160], recv
mov word [rbp + 0x148], 0x60
mov dword [rbp + 0x168], 0xc0
movups xmmword [rbp + 0x170], xmm0
movdqa xmm1, xmmword [reloc.d2d1.dll_Ordinal_1]
movdqa xmmword [rbp + 0x180], xmm1
movzx eax, word [0x1800afd74]
mov byte [rbp + 0x170], al
mov byte [rbp + 0x171], 0
mov dword [rbp + 0x190], 0x31
movups xmmword [rbp + 0x198], xmm0
mov qword [rbp + 0x1a8], 1
mov qword [rbp + 0x1b0], recv
movzx eax, word [str.21436587A9DBFEHGJILKNMPORQTSVUXWZY]
mov byte [rbp + 0x198], al
mov byte [rbp + 0x199], 0
mov dword [rbp + 0x1b8], 0x32
movups xmmword [rbp + 0x1c0], xmm0
movdqa xmmword [rbp + 0x1d0], xmm1
movzx eax, word [0x1800afd7c]
mov byte [rbp + 0x1c0], al
mov byte [rbp + 0x1c1], 0
mov dword [rbp + 0x1e0], 0x33
movups xmmword [rbp + 0x1e8], xmm0
mov qword [rbp + 0x1f8], 1
mov qword [rbp + 0x200], recv
movzx eax, word [0x1800afd78]
mov byte [rbp + 0x1e8], al
mov byte [rbp + 0x1e9], 0
mov dword [rbp + 0x208], 0x34
movups xmmword [rbp + 0x210], xmm0
movdqa xmmword [rbp + 0x220], xmm1
movzx eax, word [0x1800afd84]
mov byte [rbp + 0x210], al
mov byte [rbp + 0x211], 0
mov dword [rbp + 0x230], 0x35
movups xmmword [rbp + 0x238], xmm0
mov qword [rbp + 0x248], 1
mov qword [rbp + 0x250], recv
movzx eax, word [0x1800afd80]
mov byte [rbp + 0x238], al
mov byte [rbp + 0x239], 0
mov dword [rbp + 0x258], 0x36
movups xmmword [rbp + 0x260], xmm0
movdqa xmmword [rbp + 0x270], xmm1
movzx eax, word [0x1800afd8c]
mov byte [rbp + 0x260], al
mov byte [rbp + 0x261], 0
mov dword [rbp + 0x280], 0x37
movups xmmword [rbp + 0x288], xmm0
mov qword [rbp + 0x298], 1
mov qword [rbp + 0x2a0], recv
movzx eax, word [0x1800afd88]
mov byte [rbp + 0x288], al
mov byte [rbp + 0x289], 0
mov dword [rbp + 0x2a8], 0x38
movups xmmword [rbp + 0x2b0], xmm0
movdqa xmmword [rbp + 0x2c0], xmm1
movzx eax, word [0x1800afd94]
mov byte [rbp + 0x2b0], al
mov byte [rbp + 0x2b1], 0
mov dword [rbp + 0x2d0], 0x39
movups xmmword [rbp + 0x2d8], xmm0
mov qword [rbp + 0x2e8], 1
mov qword [rbp + 0x2f0], recv
movzx eax, word [0x1800afd64]
mov byte [rbp + 0x2d8], al
mov byte [rbp + 0x2d9], 0
mov dword [rbp + 0x2f8], 0x30
mov dword [rsp + 0x20], 0xbd
lea r8, [rsp + 0x20]
lea rdx, [0x1800b8b2c]
lea rcx, [rbp + 0x300]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0xbb
lea r8, [rsp + 0x20]
lea rdx, [0x1800b911c]
lea rcx, [rbp + 0x328]
call fcn.180038680
nop
mov dword [rsp + 0x20], 8
lea r8, [rsp + 0x20]
lea rdx, str.Backspace
lea rcx, [rbp + 0x350]
call fcn.180038680
nop
mov dword [rsp + 0x20], 9
lea r8, [rsp + 0x20]
lea rdx, [0x1800afbe4]
lea rcx, [rbp + 0x378]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x51
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdd4]
lea rcx, [rbp + 0x3a0]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x57
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdec]
lea rcx, [rbp + 0x3c8]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x45
lea r8, [rsp + 0x20]
lea rdx, [0x1800afda4]
lea rcx, [rbp + 0x3f0]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x52
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdd0]
lea rcx, [rbp + 0x418]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x54
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdd8]
lea rcx, [rbp + 0x440]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x59
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdf4]
lea rcx, [rbp + 0x468]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x55
lea r8, [rsp + 0x20]
lea rdx, [0x1800afde4]
lea rcx, [rbp + 0x490]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x49
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdb4]
lea rcx, [rbp + 0x4b8]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x4f
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdcc]
lea rcx, [rbp + 0x4e0]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x50
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdc8]
lea rcx, [rbp + 0x508]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0xdb
lea r8, [rsp + 0x20]
lea rdx, [0x1800b910c]
lea rcx, [rbp + 0x530]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0xdd
lea r8, [rsp + 0x20]
lea rdx, [0x1800b9108]
lea rcx, [rbp + 0x558]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0xdc
lea r8, [rsp + 0x20]
lea rdx, [0x1800b9134]
lea rcx, [rbp + 0x580]
call fcn.180038680
nop
mov dword [rsp + 0x20], socket
lea r8, [rsp + 0x20]
lea rdx, [0x1800b9128]
lea rcx, [rbp + 0x5a8]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x41
lea r8, [rsp + 0x20]
lea rdx, [0x1800afd90]
lea rcx, [rbp + 0x5d0]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x53
lea r8, [rsp + 0x20]
lea rdx, [0x1800afddc]
lea rcx, [rbp + 0x5f8]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x44
lea r8, [rsp + 0x20]
lea rdx, [0x1800afd98]
lea rcx, [rbp + 0x620]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x46
lea r8, [rsp + 0x20]
lea rdx, [0x1800afda0]
lea rcx, [rbp + 0x648]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x47
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdac]
lea rcx, [rbp + 0x670]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x48
lea r8, [rsp + 0x20]
lea rdx, [0x1800afda8]
lea rcx, [rbp + 0x698]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x4a
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdb0]
lea rcx, [rbp + 0x6c0]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x4b
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdbc]
lea rcx, [rbp + 0x6e8]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x4c
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdb8]
lea rcx, [rbp + 0x710]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0xba
lea r8, [rsp + 0x20]
lea rdx, [0x1800b9124]
lea rcx, [rbp + 0x738]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0xde
lea r8, [rsp + 0x20]
lea rdx, [0x1800b9120]
lea rcx, [rbp + 0x760]
call fcn.180038680
nop
mov dword [rsp + 0x20], recv
lea r8, [rsp + 0x20]
lea rdx, str.Enter
lea rcx, [rbp + 0x788]
call fcn.180038680
nop
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
lea r8, [rsp + 0x20]
lea rdx, str.Shift
lea rcx, [rbp + 0x7b0]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x5a
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdf0]
lea rcx, [rbp + 0x7d8]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x58
lea r8, [rsp + 0x20]
lea rdx, [0x1800afde8]
lea rcx, [rbp + 0x800]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x43
lea r8, [rsp + 0x20]
lea rdx, [0x1800afb64]
lea rcx, [rbp + 0x828]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x56
lea r8, [rsp + 0x20]
lea rdx, [0x1800afde0]
lea rcx, [rbp + 0x850]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x42
lea r8, [rsp + 0x20]
lea rdx, [0x1800afd9c]
lea rcx, [rbp + 0x878]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x4e
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdc0]
lea rcx, [rbp + 0x8a0]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x4d
lea r8, [rsp + 0x20]
lea rdx, [0x1800afdc4]
lea rcx, [rbp + 0x8c8]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0xbc
lea r8, [rsp + 0x20]
lea rdx, [0x1800b9144]
lea rcx, [rbp + 0x8f0]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0xbe
lea r8, [rsp + 0x20]
lea rdx, [0x1800b8ee4]
lea rcx, [rbp + 0x918]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0xbf
lea r8, [rsp + 0x20]
lea rdx, [0x1800b9140]
lea rcx, [rbp + 0x940]
call fcn.180038680
nop
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
lea r8, [rsp + 0x20]
lea rdx, str.Shift
lea rcx, [rbp + 0x968]
call fcn.180038680
nop
mov dword [rsp + 0x20], socket
lea r8, [rsp + 0x20]
lea rcx, [rbp + 0x990]
call fcn.1800386d0
nop
mov dword [rsp + 0x20], 0x5b
lea r8, [rsp + 0x20]
lea rdx, [0x1800b9164]
lea rcx, [rbp + 0x9b8]
call fcn.180038680
nop
mov dword [rsp + 0x20], socket
lea r8, [rsp + 0x20]
lea rdx, [0x1800b9160]
lea rcx, [rbp + 0x9e0]
call fcn.180038680
nop
mov dword [rsp + 0x20], 0x20
lea r8, [rsp + 0x20]
lea rdx, [0x1800af620]
lea rcx, [rbp + 0xa08]
call fcn.180038680
nop
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xa30]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
call fcn.180038390
nop
lea r9, [fcn.180006900]
mov edx, 0x28
mov r8d, 0x46
lea rcx, [rsp + 0x40]
call fcn.1800a30a8
lea rcx, [0x1800acb40]
call fcn.1800a3054
nop
lea rcx, [0x1801988b4]
call fcn.1800a2bdc
mov r10, qword [rbx + 0x10]
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x180035df7
mov rdx, qword [rbx]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r10, r10
je 0x180035e25
movabs r8, 0x100000001b3
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r8
inc rcx
cmp rcx, r10
jb 0x180035e12
mov r8, rbx
lea rdx, [rsp + 0x30]
call fcn.180039320
mov rcx, qword [rax + 8]
mov rdx, qword [0x1801988f8]
test rcx, rcx
cmovne rdx, rcx
cmp rdx, qword [0x1801988f8]
je 0x180035e52
mov eax, dword [rdx + 0x30]
jmp 0x180035e57
mov eax, 0xffffffff
mov rcx, qword [rbp + 0xa30]
xor rcx, rsp
call fcn.1800a2b80
mov rbx, qword [rsp + 0xb58]
add rsp, 0xb40
pop rbp
ret