Function at 0x14017ce30
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x38
mov r13, qword [rsp + 0x90]
test r8d, r8d
mov ebp, 0x20
mov eax, reloc.WS2_32.dll_recv
cmovne ebp, eax
mov r15d, r9d
mov esi, r8d
mov r14, rdx
inc dword [r13]
mov rdi, rcx
cmp dword [r13], 0x3e8
jle 0x14017ce83
mov eax, 4
add rsp, 0x38
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret
movzx eax, byte [rdx]
mov qword [rsp + 0x70], rbx
lea rbx, [rdx + 3]
mov qword [rsp + 0x30], r12
mov r12d, 1
cmp al, 0x88
je 0x14017ceaa
cmp al, 0x8d
je 0x14017ceaa
cmp al, 0x89
je 0x14017ceaa
cmp al, 0x8e
jne 0x14017ceae
add rbx, 2
mov r8d, 4
lea r10, [0x140000000]
movzx r9d, byte [reloc.WS2_32.dll_accept]
movzx edx, byte [reloc.OLEAUT32.dll_SysStringLen]
nop word [rax + rax]
movzx eax, byte [rbx]
xor r11d, r11d
cmp eax, 0xa6
ja case.0x14017cef5.32
movzx eax, byte [r10 + rax + 0x17d73c]
mov ecx, dword [r10 + rax*4 + 0x17d6b0]
add rcx, r10
jmp rcx
movzx eax, r9b
add rbx, rax
jmp 0x14017ced0
mov r9d, r15d
mov qword [rsp + 0x20], r13
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call fcn.14017ce30
cmp eax, 1
je 0x14017d63d
cmp eax, 2
jne 0x14017d695
nop dword [rax + rax]
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x78
je 0x14017cf30
movzx edx, byte [reloc.OLEAUT32.dll_SysStringLen]
add rbx, 3
movzx r9d, byte [reloc.WS2_32.dll_accept]
jmp 0x14017d66a
movzx eax, dl
add rbx, rax
jmp 0x14017ced0
movzx ecx, byte [rbx + 5]
movzx eax, byte [rbx + 6]
shl rcx, 8
or rcx, rax
add rbx, rcx
jmp 0x14017ced0
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x78
je case.0x14017cef5.29
add rbx, 3
jmp 0x14017ced0
inc rbx
mov qword [rsp + 0x20], r13
mov rdx, rbx
mov r9d, r15d
mov r8d, esi
mov rcx, rdi
call fcn.14017ce30
mov ecx, eax
test eax, eax
je 0x14017d67c
add eax, 0xfffffffd
cmp eax, 1
jbe 0x14017d67c
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x78
je 0x14017cfd0
jmp 0x14017cf47
inc rbx
nop
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x78
je 0x14017cff0
add rbx, 3
jmp 0x14017ced0
lea rdx, [rbx + 1]
xor r8d, r8d
mov r9d, esi
mov dword [rsp + 0x20], r15d
mov rcx, rdi
call fcn.14017d860
movzx edx, byte [reloc.OLEAUT32.dll_SysStringLen]
mov rbx, rax
movzx r9d, byte [reloc.WS2_32.dll_accept]
jmp 0x14017d66a
lea rdx, [rbx + 1]
mov dword [rsp + 0x20], r15d
mov r9d, esi
mov r8d, 1
mov rcx, rdi
call fcn.14017d860
movzx edx, byte [reloc.OLEAUT32.dll_SysStringLen]
mov rbx, rax
movzx r9d, byte [reloc.WS2_32.dll_accept]
jmp 0x14017d66a
lea rdx, [rbx + 3]
jmp 0x14017d014
lea rdx, [rbx + 3]
mov r8d, 1
jmp 0x14017d017
add rbx, 2
movzx eax, byte [rbx + 1]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x14017d0a2.12
cdqe
mov ecx, dword [r10 + rax*4 + 0x17d7e4]
add rcx, r10
jmp rcx
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
test esi, esi
je 0x14017d0c1
or byte [rdi + 0x40], 4
or byte [rdi + 0x44], 0xe
add rbx, 2
jmp 0x14017cebb
or byte [rdi + 0x3c], 1
add rbx, 2
jmp 0x14017cebb
or byte [rdi + 0x29], 0x3c
test esi, esi
je 0x14017d0e7
or byte [rdi + 0x40], 4
or byte [rdi + 0x44], 4
add rbx, 2
jmp 0x14017cebb
or byte [rdi + 0x38], 0x20
add rbx, 2
jmp 0x14017cebb
mov r8d, ebp
mov edx, 0x40
mov rcx, rdi
call fcn.14017cdd0
jmp 0x14017d142
mov edx, 0x40
jmp 0x14017d137
mov r8d, ebp
xor edx, edx
mov rcx, rdi
call fcn.14017cdd0
jmp 0x14017d142
xor edx, edx
jmp 0x14017d137
mov r8d, ebp
mov edx, 0xa0
mov rcx, rdi
call fcn.14017cdd0
jmp 0x14017d142
mov edx, 0xa0
mov r8d, ebp
mov rcx, rdi
call fcn.14017daa0
lea r10, [0x140000000]
mov r8d, 4
add rbx, 2
jmp 0x14017cebb
movzx ecx, byte [rbx + 3]
test cl, 4
jne case.0x14017d0a2.12
movzx eax, cl
and al, 3
cmp al, 1
je case.0x14017d0a2.12
test cl, 2
je 0x14017d17b
lea r11, [rbx + 4]
test esi, esi
je case.0x14017cef5.21
test cl, 1
jne case.0x14017cef5.22
movzx edx, byte [rbx + 1]
test r11, r11
movzx ecx, byte [rbx + 2]
mov eax, 0x24
cmove rax, r8
shl rdx, 8
or rdx, rcx
add rax, rbx
add rbx, rdx
nop dword [rax]
movzx edx, byte [rax]
test edx, edx
je 0x14017d2ad
sub edx, 1
je 0x14017d26c
cmp edx, 1
jne case.0x14017cef5.32
movzx r9d, byte [rax + 1]
add rax, 2
movzx r10d, byte [rax]
movzx ecx, r10b
and cl, 0xc0
cmp cl, 0x80
jne 0x14017d204
nop word [rax + rax]
movzx r10d, byte [rax + 1]
inc rax
movzx ecx, r10b
and cl, 0xc0
cmp cl, 0x80
je 0x14017d1f0
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
jne 0x14017d22f
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x14017d220
cmp r9b, r10b
ja 0x14017d1b0
nop dword [rax + rax]
movzx r8d, r9b
mov ecx, r9d
shr r8, 3
and ecx, 7
add r8, 0x28
inc r9b
add r8, rdi
movzx edx, byte [r8]
bts edx, ecx
mov byte [r8], dl
cmp r9b, r10b
jbe 0x14017d240
jmp 0x14017d1b0
movzx r8d, byte [rax + 1]
add rax, 2
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x14017d28f
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x14017d280
movzx edx, r8b
and r8d, 7
shr rdx, 3
movzx ecx, byte [rdx + rdi + 0x28]
bts ecx, r8d
mov byte [rdx + rdi + 0x28], cl
jmp 0x14017d1b0
movzx edx, byte [reloc.OLEAUT32.dll_SysStringLen]
lea r10, [0x140000000]
movzx r9d, byte [reloc.WS2_32.dll_accept]
mov r8d, 4
jmp 0x14017d314
test esi, esi
je case.0x14017cef5.21
or byte [rdi + 0x40], 0xf0
mov rax, 0xffffffffffffffff
mov dword [rdi + 0x41], eax
mov word [rdi + 0x45], ax
mov byte [rdi + 0x47], al
movzx edx, byte [reloc.OLEAUT32.dll_SysStringLen]
movzx r9d, byte [reloc.WS2_32.dll_accept]
cmp byte [rbx], 0x70
jne 0x14017d30c
movzx eax, byte [rbx + 1]
movzx ecx, byte [rbx + 2]
shl rax, 8
or rcx, rax
add rbx, rcx
jmp 0x14017d314
lea r11, [rbx + 1]
add rbx, 0x21
test r11, r11
je 0x14017d4af
movzx eax, byte [r11]
or byte [rdi + 0x28], al
movzx eax, byte [r11 + 1]
or byte [rdi + 0x29], al
movzx eax, byte [r11 + 2]
or byte [rdi + 0x2a], al
movzx eax, byte [r11 + 3]
or byte [rdi + 0x2b], al
movzx eax, byte [r11 + 4]
or byte [rdi + 0x2c], al
movzx eax, byte [r11 + 5]
or byte [rdi + 0x2d], al
movzx eax, byte [r11 + 6]
or byte [rdi + 0x2e], al
movzx eax, byte [r11 + 7]
or byte [rdi + 0x2f], al
movzx eax, byte [r11 + 8]
or byte [rdi + 0x30], al
movzx eax, byte [r11 + 9]
or byte [rdi + 0x31], al
movzx eax, byte [r11 + 0xa]
or byte [rdi + 0x32], al
movzx eax, byte [r11 + 0xb]
or byte [rdi + 0x33], al
movzx eax, byte [r11 + 0xc]
or byte [rdi + 0x34], al
movzx eax, byte [r11 + 0xd]
or byte [rdi + 0x35], al
movzx eax, byte [r11 + 0xe]
or byte [rdi + 0x36], al
movzx eax, byte [r11 + 0xf]
or byte [rdi + 0x37], al
test esi, esi
je 0x14017d420
mov r8d, 0x80
nop word [rax + rax]
mov eax, r8d
mov ecx, r8d
and ecx, 7
shr rax, 3
mov edx, 1
shl edx, cl
test byte [rax + r11], dl
je 0x14017d3ff
mov edx, r8d
or edx, 0x3000
shr edx, 6
mov eax, edx
test edx, edx
jns 0x14017d3df
lea eax, [rdx + 7]
sar eax, 3
and edx, 7
movsxd rcx, eax
and r8d, 0xc0
movzx eax, byte [rcx + rdi + 0x28]
bts eax, edx
mov byte [rcx + rdi + 0x28], al
add r8d, 0x3f
inc r8d
cmp r8d, 0x100
jb 0x14017d3b0
mov r8d, 4
jmp 0x14017d4a0
movzx eax, byte [r11 + 0x10]
or byte [rdi + 0x38], al
movzx eax, byte [r11 + 0x11]
or byte [rdi + 0x39], al
movzx eax, byte [r11 + 0x12]
or byte [rdi + 0x3a], al
movzx eax, byte [r11 + 0x13]
or byte [rdi + 0x3b], al
movzx eax, byte [r11 + 0x14]
or byte [rdi + 0x3c], al
movzx eax, byte [r11 + 0x15]
or byte [rdi + 0x3d], al
movzx eax, byte [r11 + 0x16]
or byte [rdi + 0x3e], al
movzx eax, byte [r11 + 0x17]
or byte [rdi + 0x3f], al
movzx eax, byte [r11 + 0x18]
or byte [rdi + 0x40], al
movzx eax, byte [r11 + 0x19]
or byte [rdi + 0x41], al
movzx eax, byte [r11 + 0x1a]
or byte [rdi + 0x42], al
movzx eax, byte [r11 + 0x1b]
or byte [rdi + 0x43], al
movzx eax, byte [r11 + 0x1c]
or byte [rdi + 0x44], al
movzx eax, byte [r11 + 0x1d]
or byte [rdi + 0x45], al
movzx eax, byte [r11 + 0x1e]
or byte [rdi + 0x46], al
movzx eax, byte [r11 + 0x1f]
or byte [rdi + 0x47], al
movzx r9d, byte [reloc.WS2_32.dll_accept]
movzx edx, byte [reloc.OLEAUT32.dll_SysStringLen]
movzx eax, byte [rbx]
add eax, 0xffffff9e
cmp eax, 0xb
ja case.0x14017d4cb.100
cdqe
mov ecx, dword [r10 + rax*4 + 0x17d824]
add rcx, r10
jmp rcx
inc rbx
jmp 0x14017ced0
movzx ecx, byte [rbx + 1]
movzx eax, byte [rbx + 2]
shl ecx, 8
or ecx, eax
jne case.0x14017d4cb.100
add rbx, 5
jmp 0x14017ced0
cmp byte [rbx + 1], 0xa
jne case.0x14017d0a2.12
movzx eax, byte [rbx + 2]
lea rbx, [rax*4 + 0x345b50]
add rbx, r10
mov r8d, dword [rbx]
cmp r8d, 0xffffffff
jae case.0x14017d4cb.100
lea rbx, [rbx + 4]
test esi, esi
je 0x14017d538
lea rdx, [rsp + 0x90]
mov ecx, r8d
call fcn.14017bd10
movzx r8d, byte [rsp + 0x90]
cmp r8d, 0xff
jbe 0x14017d547
or byte [rdi + 0x47], 0x80
jmp 0x14017d55f
mov ecx, r8d
and r8d, 7
shr rcx, 3
movzx eax, byte [rcx + rdi + 0x28]
bts eax, r8d
mov byte [rcx + rdi + 0x28], al
mov r8d, dword [rbx]
cmp r8d, 0xffffffff
jb 0x14017d517
jmp 0x14017d63d
mov r12d, 2
jmp case.0x14017d4cb.100
add rbx, 2
lea rdx, [rbx + 1]
mov dword [rsp + 0x20], r15d
mov r9d, esi
xor r8d, r8d
mov rcx, rdi
call fcn.14017d860
jmp 0x14017d63d
add rbx, 2
lea rdx, [rbx + 1]
mov dword [rsp + 0x20], r15d
mov r9d, esi
mov r8d, 1
mov rcx, rdi
call fcn.14017d860
jmp 0x14017d63d
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
test esi, esi
je 0x14017d5d1
or byte [rdi + 0x40], 4
or byte [rdi + 0x44], 0xe
jmp 0x14017d63d
or byte [rdi + 0x3c], 1
jmp 0x14017d63d
or byte [rdi + 0x29], 0x3c
test esi, esi
je 0x14017d5e9
or byte [rdi + 0x40], 4
or byte [rdi + 0x44], 4
jmp 0x14017d63d
or byte [rdi + 0x38], 0x20
jmp 0x14017d63d
mov r8d, ebp
mov edx, 0x40
mov rcx, rdi
call fcn.14017cdd0
jmp 0x14017d63d
mov edx, 0x40
jmp 0x14017d632
mov r8d, ebp
xor edx, edx
mov rcx, rdi
call fcn.14017cdd0
jmp 0x14017d63d
xor edx, edx
jmp 0x14017d632
mov r8d, ebp
mov edx, 0xa0
mov rcx, rdi
call fcn.14017cdd0
jmp 0x14017d63d
mov edx, 0xa0
mov r8d, ebp
mov rcx, rdi
call fcn.14017daa0
movzx r9d, byte [reloc.WS2_32.dll_accept]
movzx edx, byte [reloc.OLEAUT32.dll_SysStringLen]
movzx ecx, byte [r14 + 1]
movzx eax, byte [r14 + 2]
shl rcx, 8
or rcx, rax
add r14, rcx
cmp byte [r14], 0x78
jne 0x14017d680
lea rbx, [r14 + 3]
mov r8d, 4
lea r10, [0x140000000]
jmp 0x14017ced0
mov eax, ecx
jmp 0x14017d695
mov eax, r12d
jmp 0x14017d695
mov eax, 2
jmp 0x14017d695
xor eax, eax
jmp 0x14017d695
mov eax, 3
mov rbx, qword [rsp + 0x70]
mov r12, qword [rsp + 0x30]
add rsp, 0x38
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret