Function at 0x140013d30
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x88
mov rax, qword [0x14015ad80]
xor rax, rsp
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x30], rcx
mov r14, rcx
mov ebx, eax
mov ecx, dword [r8 + 0x10]
mov edi, eax
mov r13, r8
call qword [sym.imp.WS2_32.dll_ntohl]
mov esi, eax
lea rax, [rsi - 1]
cmp rax, 0xfe
ja 0x1400140fd
imul rdx, qword [r14 + 0x30], 0x1d8
mov rcx, qword [r14 + 0x28]
add rdx, rcx
cmp rcx, rdx
jae 0x1400140fd
mov eax, dword [rcx + 0x38]
test eax, eax
jne 0x140013dab
test rdi, rdi
mov rax, rcx
cmovne rax, rdi
mov rdi, rax
jmp 0x140013dda
cmp eax, 1
je 0x140013dda
mov eax, dword [r14 + 0x2ab8]
cmp dword [rcx + 0x24], eax
jne 0x140013dda
movzx eax, word [r14 + 0x2abc]
cmp word [rcx + 0x28], ax
jne 0x140013dd7
mov eax, dword [r13 + 0x28]
cmp dword [rcx + 0x1c], eax
je 0x1400140fd
inc rbx
add rcx, 0x1d8
cmp rcx, rdx
jb 0x140013d95
test rdi, rdi
je 0x1400140fd
cmp rbx, qword [r14 + 0x2af8]
jae 0x1400140fd
cmp rsi, qword [r14 + 0x38]
cmova rsi, qword [r14 + 0x38]
mov qword [rsp + 0x38], rsi
lea r15, [rsi + rsi*4]
shl r15, 4
mov rcx, r15
call fcn.140010130
mov qword [rdi + 0x40], rax
test rax, rax
je 0x1400140fd
mov qword [rdi + 0x48], rsi
mov dword [rdi + 0x38], 2
mov eax, dword [r13 + 0x28]
mov dword [rdi + 0x1c], eax
mov rax, qword [r14 + 0x2ab8]
mov qword [rdi + 0x24], rax
movzx ecx, word [r13 + 4]
mov qword [rsp + 0xc8], rbp
mov qword [rsp + 0x80], r12
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rdi + 0x18], ax
mov ecx, dword [r13 + 0x14]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rdi + 0x50], eax
mov ecx, dword [r13 + 0x18]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rdi + 0x54], eax
mov ecx, dword [r13 + 0x1c]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rdi + 0xa4], eax
mov ecx, dword [r13 + 0x20]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rdi + 0x9c], eax
mov ecx, dword [r13 + 0x24]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rdi + 0xa0], eax
mov ecx, dword [r13 + 0x2c]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rdi + 0x1c8], eax
movzx ebp, byte [r13 + 6]
cmp bpl, 0xff
jne 0x140013ecc
movzx ebp, byte [rdi + 0x20]
inc bpl
and bpl, 3
cmp bpl, byte [rdi + 0x20]
jne 0x140013ee0
inc bpl
and bpl, 3
mov byte [rdi + 0x20], bpl
movzx esi, byte [r13 + 7]
cmp sil, 0xff
jne 0x140013ef3
movzx esi, byte [rdi + 0x21]
inc sil
and sil, 3
cmp sil, byte [rdi + 0x21]
jne 0x140013f07
inc sil
and sil, 3
mov rbx, qword [rdi + 0x40]
mov r12, rdi
mov byte [rdi + 0x21], sil
lea rax, [r15 + rbx]
cmp rbx, rax
jae 0x140013f5e
xor r14d, r14d
nop
lea rcx, [rbx + 0x30]
mov dword [rbx], r14d
mov dword [rbx + 0x26], r14d
call fcn.140011d60
lea rcx, [rbx + 0x40]
call fcn.140011d60
mov word [rbx + 4], r14w
xorps xmm0, xmm0
movups xmmword [rbx + 6], xmm0
movups xmmword [rbx + 0x16], xmm0
mov rcx, qword [rdi + 0x40]
add rbx, 0x50
add rcx, r15
cmp rbx, rcx
jb 0x140013f20
mov r14, qword [rsp + 0x30]
mov ecx, dword [r13 + 8]
call qword [sym.imp.WS2_32.dll_ntohl]
mov ecx, 0x240
mov r15d, 0x1000
cmp eax, ecx
jb 0x140013f80
cmp eax, r15d
mov ecx, eax
cmova ecx, r15d
mov eax, dword [rdi + 0x50]
mov r8d, 0x10000
mov dword [r12 + 0xd0], ecx
mov edx, eax
mov ecx, dword [r14 + 0x14]
test ecx, ecx
jne 0x140013fa8
test eax, eax
jne 0x140013fb3
mov dword [rdi + 0xd4], r8d
jmp 0x140013fe4
test eax, eax
je 0x140013fb3
cmp ecx, eax
cmovb eax, ecx
jmp 0x140013fba
cmp ecx, edx
mov eax, edx
cmova eax, ecx
shr eax, 0x10
shl eax, 0xc
mov dword [r12 + 0xd4], eax
cmp eax, r15d
jae 0x140013fd7
mov dword [r12 + 0xd4], r15d
jmp 0x140013fe4
cmp eax, r8d
jbe 0x140013fe4
mov dword [r12 + 0xd4], r8d
mov ebx, dword [r14 + 0x10]
test ebx, ebx
jne 0x140013ff1
mov ebx, r8d
jmp 0x140013ff7
shr ebx, 0x10
shl ebx, 0xc
mov ecx, dword [r13 + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp ebx, eax
jbe 0x140014011
mov ecx, dword [r13 + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
mov ebx, eax
cmp ebx, r15d
jb 0x140014024
mov eax, 0x10000
mov r15d, ebx
cmp ebx, eax
cmova r15d, eax
mov word [rsp + 0x40], 0xff83
movzx ecx, word [r12 + 0x1a]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x44], ax
mov byte [rsp + 0x46], bpl
mov byte [rsp + 0x47], sil
mov ecx, dword [r12 + 0xd0]
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, r15d
mov dword [rsp + 0x48], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rsp + 0x38]
mov dword [rsp + 0x4c], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [r14 + 0x10]
mov dword [rsp + 0x50], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [r14 + 0x14]
mov dword [rsp + 0x54], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x58], eax
mov ecx, dword [r12 + 0xa4]
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x5c], eax
mov ecx, dword [r12 + 0x9c]
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x60], eax
mov ecx, dword [r12 + 0xa0]
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x64], eax
xor r9d, r9d
mov ecx, dword [r12 + 0x1c]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x68], ecx
xor eax, eax
mov rcx, r12
mov word [rsp + 0x20], ax
xor r8d, r8d
call fcn.140012a60
mov rbp, qword [rsp + 0xc8]
mov rax, r12
mov r12, qword [rsp + 0x80]
jmp 0x1400140ff
xor eax, eax
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400e6d00
add rsp, 0x88
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
ret