Function at 0x18023f400
Capabilities:
Enumerate pe sections

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x3d8
lea rbp, [rsp + 0x30]
lea rcx, reloc.WS2_32.dll_accept
call fcn.1801af47e
mov rax, qword [rbp + 0x3c0]
mov rax, qword [rax + 0x10]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x3c8]
movzx eax, byte [rax + 0x24]
and eax, 1
test eax, eax
jne 0x18023f45b
mov dword [rbp + 0x394], 1
jmp 0x18023f465
mov dword [rbp + 0x394], 0
mov eax, dword [rbp + 0x394]
mov dword [rbp + 0x24], eax
mov rax, qword [rbp + 0x3c8]
mov rax, qword [rax]
mov eax, dword [rax]
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0x24]
mov ecx, dword [rbp + 0x44]
add ecx, eax
mov eax, ecx
add eax, dword [rbp + 0x3e8]
mov dword [rbp + 0x64], eax
mov dword [rbp + 0xa4], 0
mov rax, qword [rbp + 0x3c8]
mov eax, dword [rax + 8]
mov dword [rbp + 0xc4], eax
mov dword [rbp + 0x124], 0
cmp dword [rbp + 0x3f0], 0
je 0x18023f4d5
mov eax, dword [rbp + 0x3f0]
mov ecx, dword [rbp + 0x3d8]
sub ecx, eax
mov eax, ecx
mov dword [rbp + 0x84], eax
jmp 0x18023f4fe
mov rax, qword [rbp + 0x3c0]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rbp + 0x84], eax
mov rax, qword [rbp + 0x3c0]
mov eax, dword [rax + 0x38]
add eax, dword [rbp + 0x64]
mov rcx, qword [rbp + 0x3c0]
mov dword [rcx + 0x38], eax
mov rax, qword [rbp + 0x3d0]
cmp dword [rax + 0xc], 0
je 0x18023f51f
mov rax, qword [rbp + 0x3d0]
mov eax, dword [rax + 0xc]
inc eax
mov dword [rbp + 0x394], eax
jmp 0x18023f52f
mov rax, qword [rbp + 0x3d0]
mov eax, dword [rax + 8]
mov dword [rbp + 0x394], eax
mov eax, dword [rbp + 0x394]
mov dword [rbp + 0x104], eax
mov rcx, qword [rbp + 0x3c0]
call fcn.1802c3510
mov rcx, qword [rbp + 0x3c8]
mov dword [rcx + 0x1c], eax
cmp dword [rbp + 0x3e0], 0
je 0x18023f566
mov dword [rbp + 0x394], 4
jmp 0x18023f570
mov dword [rbp + 0x394], 0
mov eax, dword [rbp + 0x394]
or eax, 1
mov byte [rsp + 0x20], al
mov r9d, dword [rbp + 0x3e0]
mov r8d, dword [rbp + 0x84]
mov rax, qword [rbp + 0x3c8]
mov rdx, qword [rax]
mov rcx, qword [rbp + 0x3c0]
call fcn.18026d5b0
cmp dword [rbp + 0x24], 0
je 0x18023f5d0
mov eax, dword [rbp + 0x44]
mov ecx, dword [rbp + 0x84]
add ecx, eax
mov eax, ecx
mov r9d, eax
mov rax, qword [rbp + 0x3c8]
mov r8d, dword [rax + 0xc]
mov edx, 0x7e
mov rcx, qword [rbp + 8]
call fcn.1802b0c30
cmp dword [rbp + 0x3f0], 0
jne 0x18023f60e
cmp dword [rbp + 0x3e8], 0
jle 0x18023f60e
mov eax, dword [rbp + 0x44]
mov ecx, dword [rbp + 0x84]
add ecx, eax
mov eax, ecx
add eax, dword [rbp + 0x24]
mov r9d, dword [rbp + 0x3e8]
mov r8d, eax
mov edx, dword [rbp + 0x3d8]
mov rcx, qword [rbp + 0x3c0]
call fcn.18026ecf0
cmp dword [rbp + 0xc4], 0
jle 0x18023f917
mov eax, dword [rbp + 0x64]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0x84]
mov r8, qword [rbp + 0x3d0]
mov rdx, qword [rbp + 0x3c8]
mov rcx, qword [rbp + 0x3c0]
call fcn.18022dfe0
mov dword [rbp + 0xa4], eax
mov rax, qword [rbp + 0x3c0]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rbp + 0x144], eax
mov rax, qword [rbp + 0x3c0]
mov eax, dword [rax + 0x38]
mov rcx, qword [rbp + 0x3c8]
add eax, dword [rcx + 8]
mov rcx, qword [rbp + 0x3c0]
mov dword [rcx + 0x38], eax
mov rax, qword [rbp + 0x3c8]
mov eax, dword [rax + 8]
mov ecx, dword [rbp + 0x44]
sub ecx, eax
mov eax, ecx
add eax, dword [rbp + 0x24]
mov dword [rbp + 0x1c4], eax
cmp dword [rbp + 0x24], 0
je 0x18023f6bf
mov eax, dword [rbp + 0x44]
mov ecx, dword [rbp + 0x84]
add ecx, eax
mov eax, ecx
mov r8d, eax
mov edx, reloc.WS2_32.dll_recvfrom
mov rcx, qword [rbp + 8]
call fcn.1802b0bc0
mov dword [rbp + 0x164], eax
jmp 0x18023f6de
mov rax, qword [rbp + 0x3c8]
mov r8d, dword [rax + 0xc]
mov edx, 0x78
mov rcx, qword [rbp + 8]
call fcn.1802b0bc0
mov dword [rbp + 0x164], eax
mov rax, qword [rbp + 0x3c8]
mov eax, dword [rax + 8]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0x84]
mov r8d, dword [rbp + 0x144]
mov edx, 0x5a
mov rcx, qword [rbp + 8]
call fcn.1802b0cb0
mov rax, qword [rbp + 0x3c8]
mov edx, dword [rax + 0x18]
mov rcx, qword [rbp + 8]
call fcn.1802c1d30
mov qword [rbp + 0x1a8], rax
mov rax, qword [rbp + 0x3c0]
mov rax, qword [rax]
movzx eax, byte [rax + 0x67]
test eax, eax
je 0x18023f739
jmp 0x18023faba
mov eax, dword [rbp + 0x3e8]
mov ecx, dword [rbp + 0x1c4]
add ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x1a8]
mov dword [rcx + 8], eax
mov rax, qword [rbp + 0x1a8]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x1e8], rax
mov rax, qword [rbp + 0x1e8]
movzx eax, word [rax + 6]
mov r8d, eax
xor edx, edx
mov rax, qword [rbp + 0x1e8]
mov rcx, qword [rax + 0x18]
call fcn.1801adf07
mov r9d, 0xfffffff8
mov r8, qword [rbp + 0x1e8]
mov edx, 0xffffffff
mov rcx, qword [rbp + 8]
call fcn.1802b1900
mov rax, qword [rbp + 0x1e8]
movzx eax, word [rax + 8]
mov rcx, qword [rbp + 0x1e8]
movzx ecx, word [rcx + 6]
sub eax, ecx
dec eax
mov r9d, eax
mov r8d, dword [rbp + 0xc4]
mov rax, qword [rbp + 0x3c8]
mov rdx, qword [rax]
mov rcx, qword [rbp + 0x3c0]
call fcn.180286fc0
mov rcx, qword [rbp + 0x1a8]
mov qword [rcx + 0x10], rax
mov qword [rbp + 0x1a8], 0
mov rcx, qword [rbp + 8]
call fcn.1802b2150
mov dword [rbp + 0x184], eax
mov eax, dword [rbp + 0x184]
inc eax
mov ecx, dword [rbp + 0x184]
inc ecx
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, ecx
mov edx, recvfrom
mov rcx, qword [rbp + 8]
call fcn.1802b0cb0
mov rcx, qword [rbp + 0x3c0]
call fcn.1802c3510
mov rcx, qword [rbp + 0x3c8]
mov dword [rcx + 0x14], eax
mov rax, qword [rbp + 0x3c0]
mov eax, dword [rax + 0x38]
inc eax
mov dword [rbp + 0x394], eax
mov rax, qword [rbp + 0x3c0]
mov ecx, dword [rbp + 0x394]
mov dword [rax + 0x38], ecx
mov rax, qword [rbp + 0x3c8]
mov ecx, dword [rbp + 0x394]
mov dword [rax + 0x10], ecx
mov rax, qword [rbp + 0x3c8]
mov r9d, dword [rax + 0x14]
mov rax, qword [rbp + 0x3c8]
mov r8d, dword [rax + 0x10]
mov edx, 0xa
mov rcx, qword [rbp + 8]
call fcn.1802b0c30
mov rax, qword [rbp + 0x3c8]
mov r8d, dword [rax + 0xc]
mov edx, 0x92
mov rcx, qword [rbp + 8]
call fcn.1802b0bc0
cmp dword [rbp + 0x104], 0
je 0x18023f8d5
mov rax, qword [rbp + 0x3c8]
mov r9d, dword [rax + 0x1c]
mov r8d, dword [rbp + 0x104]
mov edx, reloc.WS2_32.dll_recvfrom
mov rcx, qword [rbp + 8]
call fcn.1802b0c30
mov edx, dword [rbp + 0x164]
mov rcx, qword [rbp + 8]
call fcn.1802c2d20
mov rax, qword [rbp + 0x3c8]
mov r9d, dword [rax + 8]
mov r8d, dword [rbp + 0x144]
mov edx, dword [rbp + 0x84]
mov rcx, qword [rbp + 0x3c0]
call fcn.18026ecf0
mov edx, dword [rbp + 0x184]
mov rcx, qword [rbp + 8]
call fcn.1802c2d20
cmp dword [rbp + 0x104], 0
je 0x18023f9c8
mov rax, qword [rbp + 0x3c8]
mov eax, dword [rax + 0xc]
mov dword [rbp + 0x204], eax
mov rcx, qword [rbp + 8]
call fcn.1802b2150
add eax, 4
mov r9d, eax
mov r8d, dword [rbp + 0x104]
mov edx, reloc.WLDAP32.dll_Ordinal_60
mov rcx, qword [rbp + 8]
call fcn.1802b0c30
xor r9d, r9d
mov r8d, dword [rbp + 0x204]
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov rcx, qword [rbp + 8]
call fcn.1802b0c30
mov eax, dword [rbp + 0xc4]
mov ecx, dword [rbp + 0x44]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rbp + 0xc4]
mov edx, dword [rbp + 0x84]
add edx, ecx
mov ecx, edx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
xor r9d, r9d
mov r8d, dword [rbp + 0x204]
mov edx, Ordinal_41
mov rcx, qword [rbp + 8]
call fcn.1802b0fa0
mov dword [rbp + 0x124], eax
mov r8d, dword [rbp + 0x204]
mov edx, 0x82
mov rcx, qword [rbp + 8]
call fcn.1802b0bc0
cmp dword [rbp + 0xa4], 0
jne 0x18023f9ff
mov eax, dword [rbp + 0x64]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0x84]
mov r8, qword [rbp + 0x3d0]
mov rdx, qword [rbp + 0x3c8]
mov rcx, qword [rbp + 0x3c0]
call fcn.18022dfe0
mov dword [rbp + 0xa4], eax
mov rax, qword [rbp + 0x3c8]
movzx eax, byte [rax + 0x24]
and eax, 1
test eax, eax
je 0x18023fa1d
mov dword [rbp + 0xe4], Ordinal_143
jmp 0x18023fa27
mov dword [rbp + 0xe4], Ordinal_143
mov eax, dword [rbp + 0xc4]
mov ecx, dword [rbp + 0x64]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rbp + 0xc4]
mov edx, dword [rbp + 0x84]
add edx, ecx
mov ecx, edx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov r9d, dword [rbp + 0xa4]
mov rax, qword [rbp + 0x3c8]
mov r8d, dword [rax + 0xc]
mov edx, dword [rbp + 0xe4]
mov rcx, qword [rbp + 8]
call fcn.1802b0fa0
cmp dword [rbp + 0x124], 0
je 0x18023faba
mov rax, qword [rbp + 0x3c8]
cmp dword [rax + 0x20], 0
je 0x18023fa95
mov rax, qword [rbp + 0x3c8]
mov eax, dword [rax + 0x20]
mov dword [rbp + 0x394], eax
jmp 0x18023faa4
mov rcx, qword [rbp + 8]
call fcn.1802b2150
mov dword [rbp + 0x394], eax
mov r8d, dword [rbp + 0x394]
mov edx, dword [rbp + 0x124]
mov rcx, qword [rbp + 8]
call fcn.1802b1840
lea rsp, [rbp + 0x3a8]
pop rdi
pop rbp
ret