Function at 0x14005f3f0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x50
mov rdi, rcx
xor r14d, r14d
mov ecx, dword [r8 + 0x10]
mov esi, r14d
mov ebx, r14d
mov r15, r8
call qword [sym.imp.WS2_32.dll_ntohl]
mov r8d, eax
lea rax, [r8 - 1]
cmp rax, 0xfe
ja 0x14005f4dd
imul rdx, qword [rdi + 0x30], 0x1d8
mov rax, qword [rdi + 0x28]
add rdx, rax
cmp rax, rdx
jae 0x14005f4dd
nop word [rax + rax]
mov ecx, dword [rax + 0x38]
test ecx, ecx
jne 0x14005f466
test rbx, rbx
mov rcx, rax
cmovne rcx, rbx
mov rbx, rcx
jmp 0x14005f48f
cmp ecx, 1
je 0x14005f48f
mov ecx, dword [rdi + 0x2ab8]
cmp dword [rax + 0x24], ecx
jne 0x14005f48f
movzx ecx, word [rdi + 0x2abc]
cmp word [rax + 0x28], cx
jne 0x14005f48c
mov ecx, dword [r15 + 0x28]
cmp dword [rax + 0x1c], ecx
je 0x14005f4dd
inc rsi
add rax, 0x1d8
cmp rax, rdx
jb 0x14005f450
test rbx, rbx
je 0x14005f4dd
cmp rsi, qword [rdi + 0x2af8]
jae 0x14005f4dd
mov r13, qword [rdi + 0x38]
cmp r8, r13
cmovbe r13, r8
lea rsi, [r13*4]
add rsi, r13
shl rsi, 4
mov rcx, rsi
call qword [fcn.140275c04]
mov rbp, rax
test rax, rax
jne 0x14005f4f8
call qword [fcn.140275b98]
mov qword [rbx + 0x40], rbp
xor eax, eax
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
mov qword [rbx + 0x40], rbp
mov qword [rbx + 0x48], r13
mov dword [rbx + 0x38], 2
mov eax, dword [r15 + 0x28]
mov dword [rbx + 0x1c], eax
mov rax, qword [rdi + 0x2ab8]
mov qword [rbx + 0x24], rax
movzx ecx, word [r15 + 4]
mov qword [rsp + 0x80], r12
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rbx + 0x18], ax
mov ecx, dword [r15 + 0x14]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0x50], eax
mov ecx, dword [r15 + 0x18]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0x54], eax
mov ecx, dword [r15 + 0x1c]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0xa4], eax
mov ecx, dword [r15 + 0x20]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0x9c], eax
mov ecx, dword [r15 + 0x24]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0xa0], eax
mov ecx, dword [r15 + 0x2c]
call qword [sym.imp.WS2_32.dll_ntohl]
movzx ecx, byte [rbx + 0x20]
mov dword [rbx + 0x1c8], eax
mov r12d, ecx
movzx eax, byte [r15 + 6]
cmp al, 0xff
cmovne r12d, eax
inc r12b
and r12b, 3
cmp r12b, cl
jne 0x14005f5af
inc r12b
and r12b, 3
movzx ecx, byte [rbx + 0x21]
mov byte [rbx + 0x20], r12b
mov ebp, ecx
movzx eax, byte [r15 + 7]
cmp al, 0xff
cmovne ebp, eax
inc bpl
and bpl, 3
cmp bpl, cl
jne 0x14005f5d6
inc bpl
and bpl, 3
mov r8, qword [rbx + 0x40]
mov byte [rbx + 0x21], bpl
lea rax, [r8 + rsi]
cmp r8, rax
jae 0x14005f636
lea rdx, [r8 + 0x48]
nop dword [rax + rax]
lea rax, [rdx - 0x18]
mov word [r8], r14w
mov qword [rdx - 0x10], rax
xorps xmm0, xmm0
mov qword [rax], rax
add r8, 0x50
mov dword [rdx - 0x46], r14d
lea rax, [rdx - 8]
mov qword [rdx], rax
mov dword [rdx - 0x22], r14d
lea rdx, [rdx + 0x50]
mov qword [rax], rax
movups xmmword [rdx - 0x92], xmm0
movups xmmword [rdx - 0x82], xmm0
mov rcx, qword [rbx + 0x40]
add rcx, rsi
cmp r8, rcx
jb 0x14005f5f0
mov ecx, dword [r15 + 8]
call qword [sym.imp.WS2_32.dll_ntohl]
mov ecx, eax
mov r14d, 0x1000
mov eax, 0x240
cmp ecx, eax
jb 0x14005f65a
cmp ecx, r14d
mov eax, ecx
cmova eax, r14d
mov ecx, dword [rbx + 0x50]
mov dword [rbx + 0xd0], eax
mov eax, 0x10000
mov edx, dword [rdi + 0x14]
test edx, edx
jne 0x14005f69b
test ecx, ecx
je 0x14005f6aa
mov eax, ecx
mov ecx, edx
cmp edx, eax
cmovbe ecx, eax
mov eax, 0x10000
shr ecx, 0x10
shl ecx, 0xc
mov dword [rbx + 0xd4], ecx
cmp ecx, r14d
jae 0x14005f6a6
mov dword [rbx + 0xd4], r14d
jmp 0x14005f6b0
test ecx, ecx
je 0x14005f673
cmp edx, ecx
cmovb ecx, edx
jmp 0x14005f681
cmp ecx, eax
jbe 0x14005f6b0
mov dword [rbx + 0xd4], eax
mov esi, dword [rdi + 0x10]
test esi, esi
jne 0x14005f6bb
mov esi, eax
jmp 0x14005f6c1
shr esi, 0x10
shl esi, 0xc
mov ecx, dword [r15 + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp esi, eax
jbe 0x14005f6db
mov ecx, dword [r15 + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
mov esi, eax
cmp esi, r14d
jb 0x14005f6ee
mov eax, 0x10000
mov r14d, esi
cmp esi, eax
cmova r14d, eax
movzx ecx, word [rbx + 0x1a]
mov word [rsp + 0x20], 0xff83
call qword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [rbx + 0xd0]
mov word [rsp + 0x24], ax
mov byte [rsp + 0x26], r12b
mov byte [rsp + 0x27], bpl
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, r14d
mov dword [rsp + 0x28], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, r13d
mov dword [rsp + 0x2c], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rdi + 0x10]
mov dword [rsp + 0x30], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rdi + 0x14]
mov dword [rsp + 0x34], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rbx + 0xa4]
mov dword [rsp + 0x38], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rbx + 0x9c]
mov dword [rsp + 0x3c], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rbx + 0xa0]
mov dword [rsp + 0x40], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x44], eax
mov ecx, 0x60
mov eax, dword [rbx + 0x1c]
mov dword [rsp + 0x48], eax
call qword [fcn.140275c04]
mov r12, qword [rsp + 0x80]
test rax, rax
jne 0x14005f7af
call qword [fcn.140275b98]
mov rax, rbx
jmp 0x14005f4df
movups xmm0, xmmword [rsp + 0x20]
xor ecx, ecx
mov rdx, rax
movups xmm1, xmmword [rsp + 0x30]
mov dword [rax + 0x20], ecx
movups xmmword [rax + 0x28], xmm0
mov word [rax + 0x24], cx
movups xmm0, xmmword [rsp + 0x40]
mov qword [rax + 0x58], rcx
mov rcx, rbx
movups xmmword [rax + 0x38], xmm1
movups xmmword [rax + 0x48], xmm0
call fcn.14005e800
mov rax, rbx
jmp 0x14005f4df