Function at 0x1801b2440
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
mov eax, dword [r8 + 0x14]
mov rbx, r8
cmp eax, 0x20000
jne 0x1801b27e0
mov qword [rsp + 0x10], rdi
lea r11, [rcx + 8]
lea rdi, [rdx + 2]
mov esi, reloc.WS2_32.dll_recv
nop word [rax + rax]
movzx eax, byte [rdi - 2]
mov dword [r11 - 8], eax
movzx ecx, byte [rdi - 1]
shl ecx, 8
or ecx, eax
mov dword [r11 - 8], ecx
movzx r10d, byte [rdi]
shl r10d, 0x10
or r10d, ecx
and r10d, 0x3ffff
mov dword [r11 - 8], r10d
movzx eax, byte [rdi]
shr eax, 2
mov dword [r11 - 4], eax
movzx ecx, byte [rdi + 1]
shl ecx, 6
or ecx, eax
mov dword [r11 - 4], ecx
movzx r9d, byte [rdi + 2]
shl r9d, 0xe
or r9d, ecx
and r9d, 0x3ffff
mov dword [r11 - 4], r9d
movzx eax, byte [rdi + 2]
shr eax, 4
mov dword [r11], eax
movzx ecx, byte [rdi + 3]
shl ecx, 4
or ecx, eax
mov dword [r11], ecx
movzx r8d, byte [rdi + 4]
shl r8d, 0xc
or r8d, ecx
and r8d, 0x3ffff
mov dword [r11], r8d
movzx eax, byte [rdi + 4]
shr eax, 6
mov dword [r11 + 4], eax
movzx ecx, byte [rdi + 5]
shl ecx, 2
or ecx, eax
mov dword [r11 + 4], ecx
movzx edx, byte [rdi + 6]
shl edx, 0xa
or edx, ecx
mov dword [r11 + 4], edx
mov eax, dword [rbx + 0x14]
sub eax, r10d
mov dword [r11 - 8], eax
mov eax, dword [rbx + 0x14]
sub eax, r9d
mov dword [r11 - 4], eax
mov eax, dword [rbx + 0x14]
sub eax, r8d
mov dword [r11], eax
mov eax, dword [rbx + 0x14]
sub eax, edx
mov dword [r11 + 4], eax
movzx eax, byte [rdi + 7]
mov dword [r11 + 8], eax
movzx ecx, byte [rdi + 8]
shl ecx, 8
or ecx, eax
mov dword [r11 + 8], ecx
movzx r10d, byte [rdi + 9]
shl r10d, 0x10
or r10d, ecx
and r10d, 0x3ffff
mov dword [r11 + 8], r10d
movzx eax, byte [rdi + 9]
shr eax, 2
mov dword [r11 + 0xc], eax
movzx ecx, byte [rdi + 0xa]
shl ecx, 6
or ecx, eax
mov dword [r11 + 0xc], ecx
movzx r9d, byte [rdi + 0xb]
shl r9d, 0xe
or r9d, ecx
and r9d, 0x3ffff
mov dword [r11 + 0xc], r9d
movzx eax, byte [rdi + 0xb]
shr eax, 4
mov dword [r11 + 0x10], eax
movzx ecx, byte [rdi + 0xc]
shl ecx, 4
or ecx, eax
mov dword [r11 + 0x10], ecx
movzx r8d, byte [rdi + 0xd]
shl r8d, 0xc
or r8d, ecx
and r8d, 0x3ffff
mov dword [r11 + 0x10], r8d
movzx eax, byte [rdi + 0xd]
shr eax, 6
mov dword [r11 + 0x14], eax
movzx ecx, byte [rdi + 0xe]
shl ecx, 2
or ecx, eax
mov dword [r11 + 0x14], ecx
movzx edx, byte [rdi + 0xf]
shl edx, 0xa
or edx, ecx
mov dword [r11 + 0x14], edx
mov eax, dword [rbx + 0x14]
sub eax, r10d
mov dword [r11 + 8], eax
mov eax, dword [rbx + 0x14]
sub eax, r9d
mov dword [r11 + 0xc], eax
mov eax, dword [rbx + 0x14]
sub eax, r8d
mov dword [r11 + 0x10], eax
mov eax, dword [rbx + 0x14]
sub eax, edx
mov dword [r11 + 0x14], eax
movzx eax, byte [rdi + 0x10]
mov dword [r11 + 0x18], eax
movzx ecx, byte [rdi + 0x11]
shl ecx, 8
or ecx, eax
mov dword [r11 + 0x18], ecx
movzx r10d, byte [rdi + 0x12]
shl r10d, 0x10
or r10d, ecx
and r10d, 0x3ffff
mov dword [r11 + 0x18], r10d
movzx eax, byte [rdi + 0x12]
shr eax, 2
mov dword [r11 + 0x1c], eax
movzx ecx, byte [rdi + 0x13]
shl ecx, 6
or ecx, eax
mov dword [r11 + 0x1c], ecx
movzx r9d, byte [rdi + 0x14]
shl r9d, 0xe
or r9d, ecx
and r9d, 0x3ffff
mov dword [r11 + 0x1c], r9d
movzx eax, byte [rdi + 0x14]
shr eax, 4
mov dword [r11 + 0x20], eax
movzx ecx, byte [rdi + 0x15]
shl ecx, 4
or ecx, eax
mov dword [r11 + 0x20], ecx
movzx r8d, byte [rdi + 0x16]
shl r8d, 0xc
or r8d, ecx
and r8d, 0x3ffff
mov dword [r11 + 0x20], r8d
movzx eax, byte [rdi + 0x16]
shr eax, 6
mov dword [r11 + 0x24], eax
movzx ecx, byte [rdi + 0x17]
shl ecx, 2
or ecx, eax
mov dword [r11 + 0x24], ecx
movzx edx, byte [rdi + 0x18]
shl edx, 0xa
or edx, ecx
mov dword [r11 + 0x24], edx
mov eax, dword [rbx + 0x14]
lea r11, [r11 + 0x40]
sub eax, r10d
lea rdi, [rdi + 0x24]
mov dword [r11 - 0x28], eax
mov eax, dword [rbx + 0x14]
sub eax, r9d
mov dword [r11 - 0x24], eax
mov eax, dword [rbx + 0x14]
sub eax, r8d
mov dword [r11 - 0x20], eax
mov eax, dword [rbx + 0x14]
sub eax, edx
mov dword [r11 - 0x1c], eax
movzx eax, byte [rdi - 0xb]
mov dword [r11 - 0x18], eax
movzx ecx, byte [rdi - 0xa]
shl ecx, 8
or ecx, eax
mov dword [r11 - 0x18], ecx
movzx r10d, byte [rdi - 9]
shl r10d, 0x10
or r10d, ecx
and r10d, 0x3ffff
mov dword [r11 - 0x18], r10d
movzx eax, byte [rdi - 9]
shr eax, 2
mov dword [r11 - 0x14], eax
movzx ecx, byte [rdi - 8]
shl ecx, 6
or ecx, eax
mov dword [r11 - 0x14], ecx
movzx r9d, byte [rdi - 7]
shl r9d, 0xe
or r9d, ecx
and r9d, 0x3ffff
mov dword [r11 - 0x14], r9d
movzx eax, byte [rdi - 7]
shr eax, 4
mov dword [r11 - 0x10], eax
movzx ecx, byte [rdi - 6]
shl ecx, 4
or ecx, eax
mov dword [r11 - 0x10], ecx
movzx r8d, byte [rdi - 5]
shl r8d, 0xc
or r8d, ecx
and r8d, 0x3ffff
mov dword [r11 - 0x10], r8d
movzx eax, byte [rdi - 5]
shr eax, 6
mov dword [r11 - 0xc], eax
movzx ecx, byte [rdi - 4]
shl ecx, 2
or ecx, eax
mov dword [r11 - 0xc], ecx
movzx edx, byte [rdi - 3]
shl edx, 0xa
or edx, ecx
mov dword [r11 - 0xc], edx
mov eax, dword [rbx + 0x14]
sub eax, r10d
mov dword [r11 - 0x18], eax
mov eax, dword [rbx + 0x14]
sub eax, r9d
mov dword [r11 - 0x14], eax
mov eax, dword [rbx + 0x14]
sub eax, r8d
mov dword [r11 - 0x10], eax
mov eax, dword [rbx + 0x14]
sub eax, edx
mov dword [r11 - 0xc], eax
sub rsi, 1
jne 0x1801b2470
mov rdi, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
pop rsi
ret
cmp eax, 0x80000
jne 0x1801b2b5b
lea rax, [rcx + 8]
mov esi, reloc.WS2_32.dll_recv
lea r10, [rdx + 2]
nop dword [rax + rax]
movzx ecx, byte [r10 - 2]
mov dword [rax - 8], ecx
movzx edx, byte [r10 - 1]
shl edx, 8
or edx, ecx
mov dword [rax - 8], edx
movzx r9d, byte [r10]
shl r9d, 0x10
or r9d, edx
and r9d, 0xfffff
mov dword [rax - 8], r9d
movzx ecx, byte [r10]
shr ecx, 4
mov dword [rax - 4], ecx
movzx edx, byte [r10 + 1]
shl edx, 4
or edx, ecx
mov dword [rax - 4], edx
movzx r8d, byte [r10 + 2]
shl r8d, 0xc
or r8d, edx
mov dword [rax - 4], r8d
mov dword [rax - 8], r9d
mov ecx, dword [rbx + 0x14]
sub ecx, r9d
mov dword [rax - 8], ecx
mov ecx, dword [rbx + 0x14]
sub ecx, r8d
mov dword [rax - 4], ecx
movzx ecx, byte [r10 + 3]
mov dword [rax], ecx
movzx edx, byte [r10 + 4]
shl edx, 8
or edx, ecx
mov dword [rax], edx
movzx r9d, byte [r10 + 5]
shl r9d, 0x10
or r9d, edx
and r9d, 0xfffff
mov dword [rax], r9d
movzx ecx, byte [r10 + 5]
shr ecx, 4
mov dword [rax + 4], ecx
movzx edx, byte [r10 + 6]
shl edx, 4
or edx, ecx
mov dword [rax + 4], edx
movzx r8d, byte [r10 + 7]
shl r8d, 0xc
or r8d, edx
mov dword [rax + 4], r8d
mov dword [rax], r9d
mov ecx, dword [rbx + 0x14]
sub ecx, r9d
mov dword [rax], ecx
mov ecx, dword [rbx + 0x14]
sub ecx, r8d
mov dword [rax + 4], ecx
movzx ecx, byte [r10 + 8]
mov dword [rax + 8], ecx
movzx edx, byte [r10 + 9]
shl edx, 8
or edx, ecx
mov dword [rax + 8], edx
movzx r9d, byte [r10 + 0xa]
shl r9d, 0x10
or r9d, edx
and r9d, 0xfffff
mov dword [rax + 8], r9d
movzx ecx, byte [r10 + 0xa]
shr ecx, 4
mov dword [rax + 0xc], ecx
movzx edx, byte [r10 + 0xb]
shl edx, 4
or edx, ecx
mov dword [rax + 0xc], edx
movzx r8d, byte [r10 + 0xc]
shl r8d, 0xc
or r8d, edx
mov dword [rax + 0xc], r8d
mov dword [rax + 8], r9d
mov ecx, dword [rbx + 0x14]
sub ecx, r9d
mov dword [rax + 8], ecx
mov ecx, dword [rbx + 0x14]
sub ecx, r8d
mov dword [rax + 0xc], ecx
movzx ecx, byte [r10 + 0xd]
mov dword [rax + 0x10], ecx
movzx edx, byte [r10 + 0xe]
shl edx, 8
or edx, ecx
mov dword [rax + 0x10], edx
movzx r9d, byte [r10 + 0xf]
shl r9d, 0x10
or r9d, edx
and r9d, 0xfffff
mov dword [rax + 0x10], r9d
movzx ecx, byte [r10 + 0xf]
shr ecx, 4
mov dword [rax + 0x14], ecx
movzx edx, byte [r10 + 0x10]
shl edx, 4
or edx, ecx
mov dword [rax + 0x14], edx
movzx r8d, byte [r10 + 0x11]
shl r8d, 0xc
or r8d, edx
mov dword [rax + 0x14], r8d
mov dword [rax + 0x10], r9d
mov ecx, dword [rbx + 0x14]
sub ecx, r9d
mov dword [rax + 0x10], ecx
mov ecx, dword [rbx + 0x14]
sub ecx, r8d
mov dword [rax + 0x14], ecx
movzx ecx, byte [r10 + 0x12]
mov dword [rax + 0x18], ecx
movzx edx, byte [r10 + 0x13]
shl edx, 8
or edx, ecx
mov dword [rax + 0x18], edx
movzx r9d, byte [r10 + 0x14]
shl r9d, 0x10
or r9d, edx
and r9d, 0xfffff
mov dword [rax + 0x18], r9d
movzx ecx, byte [r10 + 0x14]
shr ecx, 4
mov dword [rax + 0x1c], ecx
movzx edx, byte [r10 + 0x15]
shl edx, 4
or edx, ecx
mov dword [rax + 0x1c], edx
movzx r8d, byte [r10 + 0x16]
shl r8d, 0xc
or r8d, edx
mov dword [rax + 0x1c], r8d
mov dword [rax + 0x18], r9d
mov ecx, dword [rbx + 0x14]
sub ecx, r9d
mov dword [rax + 0x18], ecx
mov ecx, dword [rbx + 0x14]
sub ecx, r8d
mov dword [rax + 0x1c], ecx
movzx ecx, byte [r10 + 0x17]
mov dword [rax + 0x20], ecx
movzx edx, byte [r10 + 0x18]
shl edx, 8
or edx, ecx
mov dword [rax + 0x20], edx
movzx r9d, byte [r10 + 0x19]
shl r9d, 0x10
or r9d, edx
and r9d, 0xfffff
mov dword [rax + 0x20], r9d
movzx ecx, byte [r10 + 0x19]
shr ecx, 4
mov dword [rax + 0x24], ecx
movzx edx, byte [r10 + 0x1a]
shl edx, 4
or edx, ecx
mov dword [rax + 0x24], edx
lea rax, [rax + 0x40]
movzx r8d, byte [r10 + 0x1b]
lea r10, [r10 + 0x28]
shl r8d, 0xc
or r8d, edx
mov dword [rax - 0x1c], r8d
mov dword [rax - 0x20], r9d
mov ecx, dword [rbx + 0x14]
sub ecx, r9d
mov dword [rax - 0x20], ecx
mov ecx, dword [rbx + 0x14]
sub ecx, r8d
mov dword [rax - 0x1c], ecx
movzx ecx, byte [r10 - 0xc]
mov dword [rax - 0x18], ecx
movzx edx, byte [r10 - 0xb]
shl edx, 8
or edx, ecx
mov dword [rax - 0x18], edx
movzx r9d, byte [r10 - 0xa]
shl r9d, 0x10
or r9d, edx
and r9d, 0xfffff
mov dword [rax - 0x18], r9d
movzx ecx, byte [r10 - 0xa]
shr ecx, 4
mov dword [rax - 0x14], ecx
movzx edx, byte [r10 - 9]
shl edx, 4
or edx, ecx
mov dword [rax - 0x14], edx
movzx r8d, byte [r10 - 8]
shl r8d, 0xc
or r8d, edx
mov dword [rax - 0x14], r8d
mov dword [rax - 0x18], r9d
mov ecx, dword [rbx + 0x14]
sub ecx, r9d
mov dword [rax - 0x18], ecx
mov ecx, dword [rbx + 0x14]
sub ecx, r8d
mov dword [rax - 0x14], ecx
movzx ecx, byte [r10 - 7]
mov dword [rax - 0x10], ecx
movzx edx, byte [r10 - 6]
shl edx, 8
or edx, ecx
mov dword [rax - 0x10], edx
movzx r9d, byte [r10 - 5]
shl r9d, 0x10
or r9d, edx
and r9d, 0xfffff
mov dword [rax - 0x10], r9d
movzx ecx, byte [r10 - 5]
shr ecx, 4
mov dword [rax - 0xc], ecx
movzx edx, byte [r10 - 4]
shl edx, 4
or edx, ecx
mov dword [rax - 0xc], edx
movzx r8d, byte [r10 - 3]
shl r8d, 0xc
or r8d, edx
mov dword [rax - 0xc], r8d
mov dword [rax - 0x10], r9d
mov ecx, dword [rbx + 0x14]
sub ecx, r9d
mov dword [rax - 0x10], ecx
mov ecx, dword [rbx + 0x14]
sub ecx, r8d
mov dword [rax - 0xc], ecx
sub rsi, 1
jne 0x1801b2800
mov rbx, qword [rsp + 0x18]
pop rsi
ret