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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x258]
sub rsp, 0x330
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x180253040]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov rax, qword gs:[0x58]
mov r15, rcx
mov edx, dword [0x180259410]
movdqa xmm6, xmmword [0x18023b610]
mov r12d, 8
movdqu xmmword [rbp + 0x120], xmm6
mov r14, qword [rax + rdx*8]
mov eax, dword [r12 + r14]
cmp dword [0x180264480], eax
jle 0x1800088c9
lea rcx, [0x180264480]
call fcn.180030848
cmp dword [0x180264480], 0xffffffff
jne 0x1800088c9
lea rcx, [0x18015d680]
mov byte [0x180264468], 1
movups xmmword [0x180264458], xmm6
call fcn.180030c18
lea rcx, [0x180264480]
call fcn.1800307dc
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x180008957
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x180008957
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x5370ec5b
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180008952
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180008930
cmp r8d, 0x94315abd
je 0x18000895c
test r9d, r9d
jne 0x180008910
mov rax, qword [rax]
jmp 0x1800088e0
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
cmp byte [0x180264468], 0
je 0x1800089f3
xor byte [0x180264458], 0xed
xor byte [0x180264459], 0x5b
xor byte [0x18026445a], 0xe1
xor byte [0x18026445b], 0x81
xor byte [0x18026445c], 0xb1
xor byte [0x18026445d], 0xad
xor byte [0x18026445e], 0xd3
xor byte [0x18026445f], 0x7f
xor byte [0x180264460], 0xed
xor byte [0x180264461], 0x5b
xor byte [0x180264462], 0xe1
xor byte [0x180264463], 0x81
xor byte [0x180264464], 0xb1
xor byte [0x180264465], 0xad
xor byte [0x180264466], 0xd3
xor byte [0x180264467], 0x7f
mov byte [0x180264468], 0
lea rcx, [0x180264458]
call rax
mov rsi, rax
test rax, rax
jne 0x1800096f1
movdqa xmm6, xmmword [0x18023b870]
xorps xmm0, xmm0
movdqa xmm5, xmmword [0x18023b6c0]
xor ebx, ebx
movdqa xmm4, xmmword [0x18023b3e0]
mov edx, ebx
movdqa xmm3, xmmword [0x18023bc20]
movdqa xmm2, xmmword [0x18023b570]
movdqa xmm1, xmmword [0x18023bd80]
movaps xmmword [rsp + 0x310], xmm7
movdqa xmm7, xmmword [0x18023bc10]
movups xmmword [rbp + 0x20], xmm0
mov dword [rbp + 0x110], 0x76c67206
movups xmmword [rbp + 0x30], xmm0
mov dword [rbp + 0x114], 0x47ffa686
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x90], rax
movups xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x98], al
movups xmmword [rbp + 0x60], xmm0
mov byte [rbp + 0x1b8], al
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movsd xmm0, qword [rbp + 0x110]
movdqa xmmword [rbp + 0xa0], xmm7
movaps xmmword [rbp + 0x140], xmm7
movaps xmm7, xmmword [rsp + 0x310]
movsd qword [rbp + 0x1b0], xmm0
movdqa xmmword [rbp + 0xb0], xmm6
movdqa xmmword [rbp + 0xc0], xmm5
movdqa xmmword [rbp + 0xd0], xmm4
movdqa xmmword [rbp + 0xe0], xmm3
movdqa xmmword [rbp + 0xf0], xmm2
movdqa xmmword [rbp + 0x100], xmm1
movaps xmmword [rbp + 0x150], xmm6
movaps xmmword [rbp + 0x160], xmm5
movaps xmmword [rbp + 0x170], xmm4
movaps xmmword [rbp + 0x180], xmm3
movaps xmmword [rbp + 0x190], xmm2
movaps xmmword [rbp + 0x1a0], xmm1
nop word [rax + rax]
movzx eax, byte [rbp + rdx + 0x141]
movzx ecx, byte [rbp + rdx + 0x140]
mov byte [rbp + rdx + 0x140], al
mov byte [rbp + rdx + 0x141], cl
movzx eax, byte [rbp + rdx + 0x143]
movzx ecx, byte [rbp + rdx + 0x142]
mov byte [rbp + rdx + 0x142], al
mov byte [rbp + rdx + 0x143], cl
movzx eax, byte [rbp + rdx + 0x145]
movzx ecx, byte [rbp + rdx + 0x144]
mov byte [rbp + rdx + 0x144], al
mov byte [rbp + rdx + 0x145], cl
movzx eax, byte [rbp + rdx + 0x147]
movzx ecx, byte [rbp + rdx + 0x146]
mov byte [rbp + rdx + 0x146], al
mov byte [rbp + rdx + 0x147], cl
movzx eax, byte [rbp + rdx + 0x149]
movzx ecx, byte [rbp + rdx + 0x148]
mov byte [rbp + rdx + 0x148], al
mov byte [rbp + rdx + 0x149], cl
movzx eax, byte [rbp + rdx + 0x14b]
movzx ecx, byte [rbp + rdx + 0x14a]
mov byte [rbp + rdx + 0x14a], al
mov byte [rbp + rdx + 0x14b], cl
movzx eax, byte [rbp + rdx + 0x14d]
movzx ecx, byte [rbp + rdx + 0x14c]
mov byte [rbp + rdx + 0x14c], al
mov byte [rbp + rdx + 0x14d], cl
movzx eax, byte [rbp + rdx + 0x14f]
movzx ecx, byte [rbp + rdx + 0x14e]
mov byte [rbp + rdx + 0x14e], al
mov byte [rbp + rdx + 0x14f], cl
movzx eax, byte [rbp + rdx + 0x151]
movzx ecx, byte [rbp + rdx + 0x150]
mov byte [rbp + rdx + 0x150], al
mov byte [rbp + rdx + 0x151], cl
movzx eax, byte [rbp + rdx + 0x153]
movzx ecx, byte [rbp + rdx + 0x152]
mov byte [rbp + rdx + 0x152], al
mov byte [rbp + rdx + 0x153], cl
movzx eax, byte [rbp + rdx + 0x155]
movzx ecx, byte [rbp + rdx + 0x154]
mov byte [rbp + rdx + 0x154], al
mov byte [rbp + rdx + 0x155], cl
movzx eax, byte [rbp + rdx + 0x157]
movzx ecx, byte [rbp + rdx + 0x156]
mov byte [rbp + rdx + 0x156], al
mov byte [rbp + rdx + 0x157], cl
movzx eax, byte [rbp + rdx + 0x159]
movzx ecx, byte [rbp + rdx + 0x158]
mov byte [rbp + rdx + 0x158], al
mov byte [rbp + rdx + 0x159], cl
movzx eax, byte [rbp + rdx + 0x15b]
movzx ecx, byte [rbp + rdx + 0x15a]
mov byte [rbp + rdx + 0x15a], al
mov byte [rbp + rdx + 0x15b], cl
movzx eax, byte [rbp + rdx + 0x15d]
movzx ecx, byte [rbp + rdx + 0x15c]
mov byte [rbp + rdx + 0x15c], al
mov byte [rbp + rdx + 0x15d], cl
movzx eax, byte [rbp + rdx + 0x15f]
movzx ecx, byte [rbp + rdx + 0x15e]
mov byte [rbp + rdx + 0x15e], al
mov byte [rbp + rdx + 0x15f], cl
movzx eax, byte [rbp + rdx + 0x161]
movzx ecx, byte [rbp + rdx + 0x160]
mov byte [rbp + rdx + 0x160], al
mov byte [rbp + rdx + 0x161], cl
movzx eax, byte [rbp + rdx + 0x163]
movzx ecx, byte [rbp + rdx + 0x162]
mov byte [rbp + rdx + 0x162], al
mov byte [rbp + rdx + 0x163], cl
movzx eax, byte [rbp + rdx + 0x165]
movzx ecx, byte [rbp + rdx + 0x164]
mov byte [rbp + rdx + 0x164], al
mov byte [rbp + rdx + 0x165], cl
movzx ecx, byte [rbp + rdx + 0x166]
movzx eax, byte [rbp + rdx + 0x167]
mov byte [rbp + rdx + 0x166], al
mov byte [rbp + rdx + 0x167], cl
movzx ecx, byte [rbp + rdx + 0x168]
movzx eax, byte [rbp + rdx + 0x169]
mov byte [rbp + rdx + 0x168], al
mov byte [rbp + rdx + 0x169], cl
movzx eax, byte [rbp + rdx + 0x16b]
movzx ecx, byte [rbp + rdx + 0x16a]
mov byte [rbp + rdx + 0x16a], al
mov byte [rbp + rdx + 0x16b], cl
movzx eax, byte [rbp + rdx + 0x16d]
movzx ecx, byte [rbp + rdx + 0x16c]
mov byte [rbp + rdx + 0x16c], al
mov byte [rbp + rdx + 0x16d], cl
movzx eax, byte [rbp + rdx + 0x16f]
movzx ecx, byte [rbp + rdx + 0x16e]
mov byte [rbp + rdx + 0x16e], al
mov byte [rbp + rdx + 0x16f], cl
movzx eax, byte [rbp + rdx + 0x171]
movzx ecx, byte [rbp + rdx + 0x170]
mov byte [rbp + rdx + 0x170], al
mov byte [rbp + rdx + 0x171], cl
movzx eax, byte [rbp + rdx + 0x173]
movzx ecx, byte [rbp + rdx + 0x172]
mov byte [rbp + rdx + 0x172], al
mov byte [rbp + rdx + 0x173], cl
movzx eax, byte [rbp + rdx + 0x175]
movzx ecx, byte [rbp + rdx + 0x174]
mov byte [rbp + rdx + 0x174], al
mov byte [rbp + rdx + 0x175], cl
movzx eax, byte [rbp + rdx + 0x177]
movzx ecx, byte [rbp + rdx + 0x176]
mov byte [rbp + rdx + 0x176], al
mov byte [rbp + rdx + 0x177], cl
movzx eax, byte [rbp + rdx + 0x179]
movzx ecx, byte [rbp + rdx + 0x178]
mov byte [rbp + rdx + 0x178], al
mov byte [rbp + rdx + 0x179], cl
movzx eax, byte [rbp + rdx + 0x17b]
movzx ecx, byte [rbp + rdx + 0x17a]
mov byte [rbp + rdx + 0x17a], al
mov byte [rbp + rdx + 0x17b], cl
add rdx, 0x3c
cmp rdx, 0x78
jb 0x180008b20
mov r8, rbx
mov edx, 7
nop word [rax + rax]
movzx eax, byte [rbp + r8 + 0x140]
mov r10d, ebx
not al
mov r9d, edx
movzx r11d, al
shr al, 1
and r11b, 0xd5
and al, 0x55
add r11b, r11b
or r11b, al
xor dil, dil
nop word [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180008ef0
movzx eax, byte [rbp + r8 + 0x141]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x20], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180008f40
movzx eax, byte [rbp + r8 + 0x142]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x21], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180008f90
movzx eax, byte [rbp + r8 + 0x143]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x22], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180008fe0
movzx eax, byte [rbp + r8 + 0x144]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x23], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009030
movzx eax, byte [rbp + r8 + 0x145]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x24], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009080
movzx eax, byte [rbp + r8 + 0x146]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x25], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x1800090d0
movzx eax, byte [rbp + r8 + 0x147]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x26], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009120
movzx eax, byte [rbp + r8 + 0x148]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x27], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009170
movzx eax, byte [rbp + r8 + 0x149]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x28], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x1800091c0
movzx eax, byte [rbp + r8 + 0x14a]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x29], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009210
movzx eax, byte [rbp + r8 + 0x14b]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x2a], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009260
movzx eax, byte [rbp + r8 + 0x14c]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x2b], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x1800092b0
movzx eax, byte [rbp + r8 + 0x14d]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x2c], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009300
movzx eax, byte [rbp + r8 + 0x14e]
mov r10d, ebx
not al
mov byte [rbp + r8 + 0x2d], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009350
mov byte [rbp + r8 + 0x2e], dil
add r8, 0xf
cmp r8, 0x78
jb 0x180008ec0
mov byte [rbp + 0x98], bl
mov r8, rbx
mov dword [rsp + 0x29], ebx
mov byte [rsp + 0x2d], bl
mov word [rbp + 0x135], WSAStartup
mov dword [rbp + 0x130], 0x7206ae72
mov byte [rbp + 0x134], 0xff
nop
movzx eax, byte [rbp + r8 + 0x131]
movzx ecx, byte [rbp + r8 + 0x130]
mov byte [rbp + r8 + 0x130], al
mov byte [rbp + r8 + 0x131], cl
add r8, 2
cmp r8, 6
jb 0x1800093b0
movzx eax, byte [rbp + 0x130]
mov r9d, ebx
not al
mov r8d, edx
movzx r10d, al
shr al, 1
and r10b, 0xd5
and al, 0x55
add r10b, r10b
or r10b, al
xor r11b, r11b
movzx ecx, r9b
movzx eax, r10b
shr al, cl
inc r9d
and al, 1
mov ecx, r8d
shl al, cl
dec r8d
or r11b, al
cmp r8d, 0xffffffff
jg 0x180009400
movzx eax, byte [rbp + 0x131]
mov r9d, ebx
not al
mov byte [rsp + 0x28], r11b
movzx r10d, al
mov r8d, edx
and r10b, 0xd5
shr al, 1
add r10b, r10b
and al, 0x55
or r10b, al
xor r11b, r11b
nop dword [rax]
movzx ecx, r9b
movzx eax, r10b
shr al, cl
inc r9d
and al, 1
mov ecx, r8d
shl al, cl
dec r8d
or r11b, al
cmp r8d, 0xffffffff
jg 0x180009450
movzx eax, byte [rbp + 0x132]
mov r9d, ebx
not al
mov byte [rsp + 0x29], r11b
movzx r10d, al
mov r8d, edx
and r10b, 0xd5
shr al, 1
add r10b, r10b
and al, 0x55
or r10b, al
xor r11b, r11b
nop dword [rax]
movzx ecx, r9b
movzx eax, r10b
shr al, cl
inc r9d
and al, 1
mov ecx, r8d
shl al, cl
dec r8d
or r11b, al
cmp r8d, 0xffffffff
jg 0x1800094a0
movzx eax, byte [rbp + 0x133]
mov r9d, ebx
not al
mov byte [rsp + 0x2a], r11b
movzx r10d, al
mov r8d, edx
and r10b, 0xd5
shr al, 1
add r10b, r10b
and al, 0x55
or r10b, al
xor r11b, r11b
nop dword [rax]
movzx ecx, r9b
movzx eax, r10b
shr al, cl
inc r9d
and al, 1
mov ecx, r8d
shl al, cl
dec r8d
or r11b, al
cmp r8d, 0xffffffff
jg 0x1800094f0
movzx eax, byte [rbp + 0x134]
mov r9d, ebx
not al
mov byte [rsp + 0x2b], r11b
movzx r10d, al
mov r8d, edx
and r10b, 0xd5
shr al, 1
add r10b, r10b
and al, 0x55
or r10b, al
xor r11b, r11b
nop dword [rax]
movzx ecx, r9b
movzx eax, r10b
shr al, cl
inc r9d
and al, 1
mov ecx, r8d
shl al, cl
dec r8d
or r11b, al
cmp r8d, 0xffffffff
jg 0x180009540
movzx eax, byte [rbp + 0x135]
mov r8d, ebx
not al
mov byte [rsp + 0x2c], r11b
movzx r9d, al
shr al, 1
and r9b, 0xd5
and al, 0x55
add r9b, r9b
or r9b, al
xor r10b, r10b
nop word [rax + rax]
movzx ecx, r8b
movzx eax, r9b
shr al, cl
inc r8d
and al, 1
mov ecx, edx
shl al, cl
dec edx
or r10b, al
cmp edx, 0xffffffff
jg 0x180009590
mov byte [rsp + 0x2d], r10b
mov byte [rsp + 0x2e], bl
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [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 0x180009647
mov r9d, dword [rsi + 0x18]
test r9d, r9d
je 0x180009647
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x66b2ff68
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x180009642
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x180009620
cmp r8d, 0xf0fea9d3
je 0x18000964c
test r9d, r9d
jne 0x180009600
mov rax, qword [rax]
jmp 0x1800095d0
mov ecx, dword [rsi + 0x24]
lea r8, [rsp + 0x28]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov r9d, reloc.WS2_32.dll_recv
mov ecx, dword [rsi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp + 0x20]
add rax, r10
xor ecx, ecx
call rax
xor eax, eax
mov byte [rbp - 0x20], 0x8c
mov dword [rbp - 0xf], eax
xorps xmm0, xmm0
mov byte [rbp - 0xb], al
movabs r9, 0xc8c36529be166d16
movups xmmword [rbp - 0x1f], xmm0
mov qword [rsp + 0x20], rbx
mov rax, qword [rsp + 0x20]
nop dword [rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
add rcx, r9
movzx edx, byte [rbp + rax - 0x20]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x20]
add r8, rcx
add r8, rdx
add r8b, 0x66
mov byte [rbp + rax - 0x20], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x16
jb 0x1800096a0
movzx eax, byte [rbp - 0x20]
jmp 0x18000a01c
mov eax, dword [r12 + r14]
cmp dword [0x18026447c], eax
jle 0x18000974e
lea rcx, [0x18026447c]
call fcn.180030848
cmp dword [0x18026447c], 0xffffffff
jne 0x18000974e
lea rcx, [0x18015d660]
mov word [0x180264479], 0x1a5
mov dword [0x180264470], 0xab46cb08
mov dword [0x180264474], 0xb2029edc
mov byte [0x180264478], 0x33
call fcn.180030c18
lea rcx, [0x18026447c]
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 edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1800097d7
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1800097d7
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x6ca87b7e
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1800097d2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1800097b0
cmp r8d, 0xc97b69ce
je 0x1800097dc
test r9d, r9d
jne 0x180009790
mov rax, qword [rax]
jmp 0x180009760
mov ecx, dword [rdi + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
cmp byte [0x18026447a], 0
je 0x180009849
xor byte [0x180264470], 0x5d
xor byte [0x180264471], 0xa5
xor byte [0x180264472], 0x2f
xor byte [0x180264473], 0xdf
xor byte [0x180264474], 0xa5
xor byte [0x180264475], 0xd3
xor byte [0x180264476], 0x63
xor byte [0x180264477], 0xdb
xor byte [0x180264478], 0x5d
xor byte [0x180264479], 0xa5
mov byte [0x18026447a], 0
lea rdx, [0x180264470]
mov rcx, rsi
call rax
mov qword [r15 + 8], rax
test rax, rax
jne 0x180009f91
movdqa xmm3, xmmword [0x18023b9c0]
xorps xmm0, xmm0
movdqa xmm2, xmmword [0x18023bb60]
xor ebx, ebx
movdqa xmm1, xmmword [0x18023b720]
mov edx, ebx
mov byte [rsp + 0x7e], al
mov word [rbp + 0x1fe], ax
mov dword [rsp + 0x78], 0xc6a60676
mov eax, dword [rsp + 0x78]
movups xmmword [rbp - 0x60], xmm0
mov dword [rbp + 0x1f8], eax
movups xmmword [rbp - 0x50], xmm0
mov dword [rsp + 0x70], 0xd696f7e2
movups xmmword [rbp - 0x40], xmm0
mov dword [rsp + 0x74], 0xf27232f7
movups xmmword [rbp - 0x30], xmm0
mov word [rsp + 0x7c], 0x8647
movsd xmm0, qword [rsp + 0x70]
movzx eax, word [rsp + 0x7c]
movsd qword [rbp + 0x1f0], xmm0
mov word [rbp + 0x1fc], ax
movdqa xmmword [rsp + 0x40], xmm3
movdqa xmmword [rsp + 0x50], xmm2
movdqa xmmword [rsp + 0x60], xmm1
movaps xmmword [rbp + 0x1c0], xmm3
movaps xmmword [rbp + 0x1d0], xmm2
movaps xmmword [rbp + 0x1e0], xmm1
nop word [rax + rax]
movzx eax, byte [rbp + rdx + 0x1c1]
movzx ecx, byte [rbp + rdx + 0x1c0]
mov byte [rbp + rdx + 0x1c0], al
mov byte [rbp + rdx + 0x1c1], cl
add rdx, 2
cmp rdx, 0x3f
jb 0x180009910
mov r8, rbx
mov edx, 7
movzx eax, byte [rbp + r8 + 0x1c0]
mov r10d, ebx
not al
mov r9d, edx
movzx r11d, al
shr al, 1
and r11b, 0xd5
and al, 0x55
add r11b, r11b
or r11b, al
xor dil, dil
nop word [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009970
movzx eax, byte [rbp + r8 + 0x1c1]
mov r10d, ebx
not al
mov byte [rbp + r8 - 0x60], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x1800099c0
movzx eax, byte [rbp + r8 + 0x1c2]
mov r10d, ebx
not al
mov byte [rbp + r8 - 0x5f], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009a10
movzx eax, byte [rbp + r8 + 0x1c3]
mov r10d, ebx
not al
mov byte [rbp + r8 - 0x5e], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009a60
movzx eax, byte [rbp + r8 + 0x1c4]
mov r10d, ebx
not al
mov byte [rbp + r8 - 0x5d], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009ab0
movzx eax, byte [rbp + r8 + 0x1c5]
mov r10d, ebx
not al
mov byte [rbp + r8 - 0x5c], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009b00
movzx eax, byte [rbp + r8 + 0x1c6]
mov r10d, ebx
not al
mov byte [rbp + r8 - 0x5b], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009b50
movzx eax, byte [rbp + r8 + 0x1c7]
mov r10d, ebx
not al
mov byte [rbp + r8 - 0x5a], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009ba0
movzx eax, byte [rbp + r8 + 0x1c8]
mov r10d, ebx
not al
mov byte [rbp + r8 - 0x59], dil
movzx r11d, al
mov r9d, edx
and r11b, 0xd5
shr al, 1
add r11b, r11b
and al, 0x55
or r11b, al
xor dil, dil
nop dword [rax + rax]
movzx ecx, r10b
movzx eax, r11b
shr al, cl
inc r10d
and al, 1
mov ecx, r9d
shl al, cl
dec r9d
or dil, al
cmp r9d, 0xffffffff
jg 0x180009bf0
mov byte [rbp + r8 - 0x58], dil
add r8, 9
cmp r8, 0x3f
jb 0x180009940
mov byte [rbp - 0x21], bl
mov r8, rbx
mov dword [rsp + 0x31], ebx
mov byte [rsp + 0x35], bl
mov word [rbp + 0x13d], WSAStartup
mov dword [rbp + 0x138], 0x7206ae72
mov byte [rbp + 0x13c], 0xff
nop dword [rax + rax]
movzx eax, byte [rbp + r8 + 0x139]
movzx ecx, byte [rbp + r8 + 0x138]
mov byte [rbp + r8 + 0x138], al
mov byte [rbp + r8 + 0x139], cl
add r8, 2
cmp r8, 6
jb 0x180009c50
movzx eax, byte [rbp + 0x138]
mov r9d, ebx
not al
mov r8d, edx
movzx r10d, al
shr al, 1
and r10b, 0xd5
and al, 0x55
add r10b, r10b
or r10b, al
xor r11b, r11b
movzx ecx, r9b
movzx eax, r10b
shr al, cl
inc r9d
and al, 1
mov ecx, r8d
shl al, cl
dec r8d
or r11b, al
cmp r8d, 0xffffffff
jg 0x180009ca0
movzx eax, byte [rbp + 0x139]
mov r9d, ebx
not al
mov byte [rsp + 0x30], r11b
movzx r10d, al
mov r8d, edx
and r10b, 0xd5
shr al, 1
add r10b, r10b
and al, 0x55
or r10b, al
xor r11b, r11b
nop dword [rax]
movzx ecx, r9b
movzx eax, r10b
shr al, cl
inc r9d
and al, 1
mov ecx, r8d
shl al, cl
dec r8d
or r11b, al
cmp r8d, 0xffffffff
jg 0x180009cf0
movzx eax, byte [rbp + 0x13a]
mov r9d, ebx
not al
mov byte [rsp + 0x31], r11b
movzx r10d, al
mov r8d, edx
and r10b, 0xd5
shr al, 1
add r10b, r10b
and al, 0x55
or r10b, al
xor r11b, r11b
nop dword [rax]
movzx ecx, r9b
movzx eax, r10b
shr al, cl
inc r9d
and al, 1
mov ecx, r8d
shl al, cl
dec r8d
or r11b, al
cmp r8d, 0xffffffff
jg 0x180009d40
movzx eax, byte [rbp + 0x13b]
mov r9d, ebx
not al
mov byte [rsp + 0x32], r11b
movzx r10d, al
mov r8d, edx
and r10b, 0xd5
shr al, 1
add r10b, r10b
and al, 0x55
or r10b, al
xor r11b, r11b
nop dword [rax]
movzx ecx, r9b
movzx eax, r10b
shr al, cl
inc r9d
and al, 1
mov ecx, r8d
shl al, cl
dec r8d
or r11b, al
cmp r8d, 0xffffffff
jg 0x180009d90
movzx eax, byte [rbp + 0x13c]
mov r9d, ebx
not al
mov byte [rsp + 0x33], r11b
movzx r10d, al
mov r8d, edx
and r10b, 0xd5
shr al, 1
add r10b, r10b
and al, 0x55
or r10b, al
xor r11b, r11b
nop dword [rax]
movzx ecx, r9b
movzx eax, r10b
shr al, cl
inc r9d
and al, 1
mov ecx, r8d
shl al, cl
dec r8d
or r11b, al
cmp r8d, 0xffffffff
jg 0x180009de0
movzx eax, byte [rbp + 0x13d]
mov r8d, ebx
not al
mov byte [rsp + 0x34], r11b
movzx r9d, al
shr al, 1
and r9b, 0xd5
and al, 0x55
add r9b, r9b
or r9b, al
xor r10b, r10b
nop word [rax + rax]
movzx ecx, r8b
movzx eax, r9b
shr al, cl
inc r8d
and al, 1
mov ecx, edx
shl al, cl
dec edx
or r10b, al
cmp edx, 0xffffffff
jg 0x180009e30
mov byte [rsp + 0x35], r10b
mov byte [rsp + 0x36], bl
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [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 0x180009ee7
mov r9d, dword [rsi + 0x18]
test r9d, r9d
je 0x180009ee7
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x7d143507
lea rcx, [r10 + r9*4]
mov ecx, dword [rcx + rdi]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x180009ee2
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 0x180009ec0
cmp r8d, 0xc7d15236
je 0x180009eec
test r9d, r9d
jne 0x180009ea0
mov rax, qword [rax]
jmp 0x180009e70
mov ecx, dword [rsi + 0x24]
lea r8, [rsp + 0x30]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov r9d, reloc.WS2_32.dll_recv
mov ecx, dword [rsi + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp - 0x60]
add rax, r10
xor ecx, ecx
call rax
xor eax, eax
mov byte [rbp], 0xac
mov word [rbp + 0x11], ax
xorps xmm0, xmm0
mov byte [rbp + 0x13], al
movabs r9, 0x7560ee0aa9479e46
movups xmmword [rbp + 1], xmm0
mov qword [rsp + 0x20], rbx
mov rax, qword [rsp + 0x20]
nop
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
add rcx, r9
movzx edx, byte [rbp + rax]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x20]
add r8, rcx
add r8, rdx
add r8b, 0x16
mov byte [rbp + rax], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x14
jb 0x180009f40
movzx eax, byte [rbp]
jmp 0x18000a01c
mov rdx, rsi
lea rcx, [0x180263bb8]
call fcn.18000e0a0
xor eax, eax
mov byte [rbp - 0x80], 0x65
mov qword [rbp - 0x6f], rax
xorps xmm1, xmm1
mov dword [rbp - 0x67], eax
xor ebx, ebx
mov byte [rbp - 0x63], al
movabs r9, 0xcac3d75be4d57dcf
movups xmmword [rbp - 0x7f], xmm1
mov qword [rsp + 0x20], rbx
mov rax, qword [rsp + 0x20]
nop dword [rax]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
add rcx, r9
movzx edx, byte [rbp + rax - 0x80]
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
mov rax, qword [rsp + 0x20]
add r8, rcx
add r8, rdx
add r8b, 0x57
mov byte [rbp + rax - 0x80], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x1e
jb 0x180009fd0
movzx eax, byte [rbp - 0x80]
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.180030780
lea r11, [rsp + 0x330]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret