Function at 0x14008d5f0
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rsi
push rdi
push r13
push r15
sub rsp, 0x90
mov rax, qword [0x1400c6048]
xor rax, rsp
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x30], rcx
mov rsi, rcx
mov ebx, eax
mov ecx, dword [r8 + 0x10]
mov edi, eax
mov r13, r8
call qword [sym.imp.WS2_32.dll_ntohl]
mov r8d, eax
lea rax, [r8 - 1]
cmp rax, 0xfe
ja 0x14008d9ca
imul rdx, qword [rsi + 0x30], 0x1c8
mov rax, qword [rsi + 0x28]
add rdx, rax
cmp rax, rdx
jae 0x14008d9ca
mov ecx, dword [rax + 0x38]
test ecx, ecx
jne 0x14008d66a
test rdi, rdi
mov rcx, rax
cmovne rcx, rdi
mov rdi, rcx
jmp 0x14008d697
cmp ecx, 1
je 0x14008d697
mov ecx, dword [rsi + 0x2ab8]
cmp dword [rax + 0x24], ecx
jne 0x14008d697
movzx ecx, word [rsi + 0x2abc]
cmp word [rax + 0x28], cx
jne 0x14008d694
mov ecx, dword [r13 + 0x28]
cmp dword [rax + 0x1c], ecx
je 0x14008d9ca
inc rbx
add rax, 0x1c8
cmp rax, rdx
jb 0x14008d654
test rdi, rdi
je 0x14008d9ca
cmp rbx, qword [rsi + 0x2af8]
jae 0x14008d9ca
mov rbx, qword [rsi + 0x38]
cmp r8, rbx
cmovbe rbx, r8
mov qword [rsp + 0x38], rbx
lea r15, [rbx + rbx*4]
shl r15, 4
mov rcx, r15
call fcn.140092d00
mov qword [rdi + 0x40], rax
test rax, rax
je 0x14008d9ca
mov qword [rdi + 0x48], rbx
mov dword [rdi + 0x38], 2
mov eax, dword [r13 + 0x28]
mov dword [rdi + 0x1c], eax
mov rax, qword [rsi + 0x2ab8]
mov qword [rdi + 0x24], rax
mov eax, dword [rsi + 0x1c]
mov dword [rdi + 0xd0], eax
movzx ecx, word [r13 + 4]
mov qword [rsp + 0xc8], rbp
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x80], r14
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 + 0x1b8], eax
movzx r14d, byte [r13 + 6]
cmp r14b, 0xff
jne 0x14008d79c
movzx r14d, byte [rdi + 0x20]
inc r14b
and r14b, 3
cmp r14b, byte [rdi + 0x20]
jne 0x14008d7b0
inc r14b
and r14b, 3
mov byte [rdi + 0x20], r14b
movzx ebp, byte [r13 + 7]
cmp bpl, 0xff
jne 0x14008d7c3
movzx ebp, byte [rdi + 0x21]
inc bpl
and bpl, 3
cmp bpl, byte [rdi + 0x21]
jne 0x14008d7d7
inc bpl
and bpl, 3
mov rbx, qword [rdi + 0x40]
mov r12, rdi
mov byte [rdi + 0x21], bpl
lea rax, [rbx + r15]
cmp rbx, rax
jae 0x14008d82b
xor esi, esi
nop dword [rax]
lea rcx, [rbx + 0x30]
mov dword [rbx], esi
mov dword [rbx + 0x26], esi
call fcn.140092c70
lea rcx, [rbx + 0x40]
call fcn.140092c70
mov word [rbx + 4], si
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 0x14008d7f0
mov rsi, 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 0x14008d84d
cmp eax, r15d
mov ecx, eax
cmova ecx, r15d
cmp ecx, dword [rdi + 0xd0]
jae 0x14008d85b
mov dword [rdi + 0xd0], ecx
mov ecx, dword [rsi + 0x14]
mov r8d, 0x10000
mov eax, dword [rdi + 0x50]
mov edx, eax
test ecx, ecx
jne 0x14008d87a
test eax, eax
jne 0x14008d885
mov dword [rdi + 0xd4], r8d
jmp 0x14008d8b6
test eax, eax
je 0x14008d885
cmp ecx, eax
cmovb eax, ecx
jmp 0x14008d88c
cmp ecx, edx
mov eax, edx
cmova eax, ecx
shr eax, 0x10
shl eax, 0xc
mov dword [r12 + 0xd4], eax
cmp eax, r15d
jae 0x14008d8a9
mov dword [r12 + 0xd4], r15d
jmp 0x14008d8b6
cmp eax, r8d
jbe 0x14008d8b6
mov dword [r12 + 0xd4], r8d
mov ebx, dword [rsi + 0x10]
test ebx, ebx
jne 0x14008d8c2
mov ebx, r8d
jmp 0x14008d8c8
shr ebx, 0x10
shl ebx, 0xc
mov ecx, dword [r13 + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp ebx, eax
jbe 0x14008d8e2
mov ecx, dword [r13 + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
mov ebx, eax
cmp ebx, r15d
jb 0x14008d8f5
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], r14b
mov byte [rsp + 0x47], bpl
mov ecx, dword [rdi + 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 [rsi + 0x10]
mov dword [rsp + 0x50], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rsi + 0x14]
mov dword [rsp + 0x54], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x58], eax
mov ecx, dword [rdi + 0xa4]
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x5c], eax
mov ecx, dword [rdi + 0x9c]
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x60], eax
mov ecx, dword [rdi + 0xa0]
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x64], eax
xor r9d, r9d
mov ecx, dword [rdi + 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.14008fda0
mov r14, qword [rsp + 0x80]
mov rax, r12
mov r12, qword [rsp + 0x88]
mov rbp, qword [rsp + 0xc8]
jmp 0x14008d9cc
xor eax, eax
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140092d50
add rsp, 0x90
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret