Function at 0x140037ca0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x20]
lea rcx, reloc.WS2_32.dll_accept
call fcn.140027536
mov rax, qword [rbp + 0x150]
cmp dword [rax + 0x38], 1
je 0x140037ce2
xor eax, eax
jmp 0x140037f25
mov rax, qword [rbp + 0x158]
mov ecx, dword [rax + 0x10]
call qword [sym.imp.WS2_32.dll_ntohl]
mov eax, eax
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x48], 1
jb 0x140037d7c
cmp qword [rbp + 0x48], 0xff
ja 0x140037d7c
mov rax, qword [rbp + 0x158]
mov ecx, dword [rax + 0x1c]
call qword [sym.imp.WS2_32.dll_ntohl]
mov rcx, qword [rbp + 0x150]
cmp eax, dword [rcx + 0xa4]
jne 0x140037d7c
mov rax, qword [rbp + 0x158]
mov ecx, dword [rax + 0x20]
call qword [sym.imp.WS2_32.dll_ntohl]
mov rcx, qword [rbp + 0x150]
cmp eax, dword [rcx + 0x9c]
jne 0x140037d7c
mov rax, qword [rbp + 0x158]
mov ecx, dword [rax + 0x24]
call qword [sym.imp.WS2_32.dll_ntohl]
mov rcx, qword [rbp + 0x150]
cmp eax, dword [rcx + 0xa0]
jne 0x140037d7c
mov rax, qword [rbp + 0x158]
mov rcx, qword [rbp + 0x150]
mov ecx, dword [rcx + 0x1c]
cmp dword [rax + 0x28], ecx
je 0x140037db0
mov rax, qword [rbp + 0x150]
mov dword [rax + 0x1c8], 0
mov r8d, 9
mov rdx, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x140]
call fcn.1400344a0
mov eax, 0xffffffff
jmp 0x140037f25
mov r8b, 0xff
mov dx, 1
mov rcx, qword [rbp + 0x150]
call fcn.1400384d0
mov rax, qword [rbp + 0x150]
mov rax, qword [rax + 0x48]
cmp qword [rbp + 0x48], rax
jae 0x140037de3
mov rax, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x48]
mov qword [rax + 0x48], rcx
mov rax, qword [rbp + 0x158]
movzx ecx, word [rax + 4]
call qword [sym.imp.WS2_32.dll_ntohs]
mov rcx, qword [rbp + 0x150]
mov word [rcx + 0x18], ax
mov rax, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x158]
movzx ecx, byte [rcx + 6]
mov byte [rax + 0x21], cl
mov rax, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x158]
movzx ecx, byte [rcx + 7]
mov byte [rax + 0x20], cl
mov rax, qword [rbp + 0x158]
mov ecx, dword [rax + 8]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbp + 4], eax
cmp dword [rbp + 4], 0x240
jae 0x140037e4e
mov dword [rbp + 4], 0x240
jmp 0x140037e5e
cmp dword [rbp + 4], 0x1000
jbe 0x140037e5e
mov dword [rbp + 4], 0x1000
mov rax, qword [rbp + 0x150]
mov eax, dword [rax + 0xd0]
cmp dword [rbp + 4], eax
jae 0x140037e80
mov rax, qword [rbp + 0x150]
mov ecx, dword [rbp + 4]
mov dword [rax + 0xd0], ecx
mov rax, qword [rbp + 0x158]
mov ecx, dword [rax + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0x1000
jae 0x140037ea3
mov dword [rbp + 0x24], 0x1000
cmp dword [rbp + 0x24], 0x10000
jbe 0x140037eb3
mov dword [rbp + 0x24], 0x10000
mov rax, qword [rbp + 0x150]
mov eax, dword [rax + 0xd4]
cmp dword [rbp + 0x24], eax
jae 0x140037ed5
mov rax, qword [rbp + 0x150]
mov ecx, dword [rbp + 0x24]
mov dword [rax + 0xd4], ecx
mov rax, qword [rbp + 0x158]
mov ecx, dword [rax + 0x14]
call qword [sym.imp.WS2_32.dll_ntohl]
mov rcx, qword [rbp + 0x150]
mov dword [rcx + 0x50], eax
mov rax, qword [rbp + 0x158]
mov ecx, dword [rax + 0x18]
call qword [sym.imp.WS2_32.dll_ntohl]
mov rcx, qword [rbp + 0x150]
mov dword [rcx + 0x54], eax
mov r8, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x140]
call fcn.140037fe0
xor eax, eax
lea rsp, [rbp + 0x128]
pop rdi
pop rbp
ret