Function at 0x14000fa40
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r15
sub rsp, 0x58
xor eax, eax
mov rdi, rcx
mov ecx, dword [r8 + 0x10]
mov esi, eax
mov ebx, eax
mov r12, r8
call qword [sym.imp.WS2_32.dll_ntohl]
mov r8d, eax
lea eax, [r8 - 1]
cmp eax, 0xfe
ja 0x14000fb41
imul rdx, qword [rdi + 0x90], 0x208
mov rax, qword [rdi + 0x88]
add rdx, rax
cmp rax, rdx
jae 0x14000fb41
nop dword [rax]
mov ecx, dword [rax + 0x40]
test ecx, ecx
jne 0x14000fab6
test rbx, rbx
mov rcx, rax
cmovne rcx, rbx
mov rbx, rcx
jmp 0x14000faef
cmp ecx, 1
je 0x14000faef
mov rcx, qword [rax + 0x22]
cmp rcx, qword [rdi + 0x2b18]
jne 0x14000faef
mov rcx, qword [rax + 0x2a]
cmp rcx, qword [rdi + 0x2b20]
jne 0x14000faef
movzx ecx, word [rdi + 0x2b28]
cmp word [rax + 0x32], cx
jne 0x14000faec
mov ecx, dword [r12 + 0x28]
cmp dword [rax + 0x1c], ecx
je 0x14000fb41
inc rsi
add rax, 0x208
cmp rax, rdx
jb 0x14000faa0
test rbx, rbx
je 0x14000fb41
cmp rsi, qword [rdi + 0x2b68]
jae 0x14000fb41
mov rsi, qword [rdi + 0x98]
cmp r8, rsi
cmovbe rsi, r8
mov qword [rsp + 0x98], rsi
lea r15, [rsi + rsi*4]
shl r15, 4
mov rcx, r15
call qword [0x1401d54f0]
mov rbp, rax
test rax, rax
jne 0x14000fb50
call qword [0x1401d5500]
mov qword [rbx + 0x48], rbp
xor eax, eax
add rsp, 0x58
pop r15
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rbx + 0x48], rbp
mov qword [rbx + 0x50], rsi
mov dword [rbx + 0x40], 2
mov eax, dword [r12 + 0x28]
mov dword [rbx + 0x1c], eax
movups xmm0, xmmword [rdi + 0x2b18]
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x50], r14
movups xmmword [rbx + 0x22], xmm0
mov eax, dword [rdi + 0x2b28]
mov dword [rbx + 0x32], eax
movzx ecx, word [r12 + 4]
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rbx + 0x18], ax
mov ecx, dword [r12 + 0x14]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0x58], eax
mov ecx, dword [r12 + 0x18]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0x5c], eax
mov ecx, dword [r12 + 0x1c]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0xd0], eax
mov ecx, dword [r12 + 0x20]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0xc8], eax
mov ecx, dword [r12 + 0x24]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0xcc], eax
mov ecx, dword [r12 + 0x2c]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbx + 0x1f8], eax
movzx r14d, byte [r12 + 6]
cmp r14b, 0xff
jne 0x14000fc09
movzx r14d, byte [rbx + 0x20]
inc r14b
and r14b, 3
cmp r14b, byte [rbx + 0x20]
jne 0x14000fc1d
inc r14b
and r14b, 3
mov byte [rbx + 0x20], r14b
movzx esi, byte [r12 + 7]
cmp sil, 0xff
jne 0x14000fc31
movzx esi, byte [rbx + 0x21]
inc sil
and sil, 3
cmp sil, byte [rbx + 0x21]
jne 0x14000fc45
inc sil
and sil, 3
mov r8, qword [rbx + 0x48]
mov r13, rbx
mov byte [rbx + 0x21], sil
lea rax, [r8 + r15]
cmp r8, rax
jae 0x14000fcac
lea rdx, [r8 + 0x48]
xor edi, edi
nop
lea rax, [rdx - 0x18]
mov word [r8], di
mov qword [rdx - 0x10], rax
xorps xmm0, xmm0
mov qword [rax], rax
add r8, 0x50
mov dword [rdx - 0x46], edi
lea rax, [rdx - 8]
mov qword [rdx], rax
mov dword [rdx - 0x22], edi
lea rdx, [rdx + 0x50]
mov qword [rax], rax
movups xmmword [rdx - 0x92], xmm0
movups xmmword [rdx - 0x82], xmm0
mov rcx, qword [rbx + 0x48]
add rcx, r15
cmp r8, rcx
jb 0x14000fc60
mov rdi, qword [rsp + 0x90]
mov ecx, dword [r12 + 8]
call qword [sym.imp.WS2_32.dll_ntohl]
mov ecx, 0x240
mov r15d, 0x1000
cmp eax, ecx
jb 0x14000fccf
cmp eax, r15d
mov ecx, eax
cmova ecx, r15d
mov eax, dword [rbx + 0x58]
mov r8d, 0x10000
mov dword [r13 + 0xfc], ecx
mov edx, eax
mov ecx, dword [rdi + 0x70]
test ecx, ecx
jne 0x14000fcf5
test eax, eax
jne 0x14000fd00
mov dword [rbx + 0x100], r8d
jmp 0x14000fd2e
test eax, eax
je 0x14000fd00
cmp ecx, eax
cmovb eax, ecx
jmp 0x14000fd07
cmp ecx, edx
mov eax, edx
cmova eax, ecx
shr eax, 0x10
shl eax, 0xc
mov dword [r13 + 0x100], eax
cmp eax, r15d
jae 0x14000fd22
mov dword [r13 + 0x100], r15d
jmp 0x14000fd2e
cmp eax, r8d
jbe 0x14000fd2e
mov dword [r13 + 0x100], r8d
mov ebp, dword [rdi + 0x6c]
test ebp, ebp
jne 0x14000fd3a
mov ebp, r8d
jmp 0x14000fd40
shr ebp, 0x10
shl ebp, 0xc
mov ecx, dword [r12 + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp ebp, eax
jbe 0x14000fd5c
mov ecx, dword [r12 + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
mov ebp, eax
cmp ebp, r15d
jb 0x14000fd6f
mov eax, 0x10000
mov r15d, ebp
cmp ebp, eax
cmova r15d, eax
movzx ecx, word [r13 + 0x1a]
mov word [rsp + 0x20], 0xff83
call qword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [r13 + 0xfc]
mov word [rsp + 0x24], ax
mov byte [rsp + 0x26], r14b
mov byte [rsp + 0x27], sil
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, r15d
mov dword [rsp + 0x28], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rsp + 0x98]
mov dword [rsp + 0x2c], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rdi + 0x6c]
mov dword [rsp + 0x30], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rdi + 0x70]
mov dword [rsp + 0x34], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rbx + 0xd0]
mov dword [rsp + 0x38], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rbx + 0xc8]
mov dword [rsp + 0x3c], eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rbx + 0xcc]
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 [0x1401d54f0]
mov r14, qword [rsp + 0x50]
test rax, rax
jne 0x14000fe43
call qword [0x1401d5500]
mov rax, r13
mov r13, qword [rsp + 0xa0]
add rsp, 0x58
pop r15
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
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, r13
movups xmmword [rax + 0x38], xmm1
movups xmmword [rax + 0x48], xmm0
call fcn.140013210
mov rax, r13
mov r13, qword [rsp + 0xa0]
add rsp, 0x58
pop r15
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret