Function at 0x14071adf0
Capabilities:
Enumerate pe sections

Disassembly:
mov dword [rsp + 0x18], r8d
push rbx
push rdi
push r13
sub rsp, 0x80
mov eax, dword [rcx + 0x10]
xor r10d, r10d
test byte [rcx + 0xf8], 2
mov r9d, r8d
mov rdi, rdx
mov dword [rsp + 0x40], eax
mov rbx, rcx
mov dword [rsp + 0x30], r10d
mov r13d, r10d
je 0x14071ae49
cmp qword [rcx + 0x108], r10
je 0x14071ae49
lea r8, [0x14075691a]
mov edx, 2
call fcn.14071a6a0
mov r9d, dword [rsp + 0xb0]
xor r10d, r10d
test rdi, rdi
je 0x14071b637
cmp r9d, 0x18
jl 0x14071b637
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], r15
mov eax, dword [rbx]
mov ecx, 0x100
movzx edx, byte [rdi + 7]
sub r9d, 0x18
movzx r15d, byte [rdi + 0xb]
movzx esi, byte [rdi + 0xf]
movzx r12d, byte [rdi + 0x13]
movzx r8d, byte [rdi + 0x17]
movzx ebp, byte [rdi + 4]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rdi + 5]
mov byte [rsp + 0xa0], al
movzx eax, byte [rdi + 6]
shl r15d, 8
shl esi, 8
shl r12d, 8
shl r8d, 8
movzx ecx, cx
imul edx, ecx
mov dword [rsp + 0xb0], r9d
add dx, ax
movzx eax, byte [rdi + 0xa]
add r15d, eax
mov dword [rsp + 0x34], edx
movzx eax, byte [rdi + 9]
shl r15d, 8
add r15d, eax
movzx eax, byte [rdi + 8]
shl r15d, 8
add r15d, eax
movzx eax, byte [rdi + 0xe]
add esi, eax
movzx eax, byte [rdi + 0xd]
shl esi, 8
add esi, eax
movzx eax, byte [rdi + 0xc]
shl esi, 8
add esi, eax
movzx eax, byte [rdi + 0x12]
add r12d, eax
movzx eax, byte [rdi + 0x11]
shl r12d, 8
add r12d, eax
movzx eax, byte [rdi + 0x10]
shl r12d, 8
add r12d, eax
movzx eax, byte [rdi + 0x16]
add r8d, eax
movzx eax, byte [rdi + 0x15]
shl r8d, 8
add r8d, eax
movzx eax, byte [rdi + 0x14]
shl r8d, 8
add r8d, eax
lea rax, [rdi + 0x18]
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0xb8], r8d
cmp r9d, r8d
jl 0x14071b630
test r8d, r8d
js 0x14071b630
lea eax, [rbp - 0x51]
cmp al, 3
ja 0x14071b629
lea r14, [rbx + 0xa8]
movzx eax, dx
mov rcx, qword [r14]
mov dword [rbx + 0x40], eax
cmp rcx, r14
je 0x14071afe9
nop word [rax + rax]
mov rdi, qword [rcx]
mov eax, r12d
sub eax, dword [rcx + 0x24]
test eax, eax
jle 0x14071afdd
mov rax, qword [rcx + 8]
mov qword [rdi + 8], rax
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
mov qword [rdx], rax
mov rax, qword [0x140aa5078]
mov qword [rcx], r10
mov qword [rcx + 8], r10
test rax, rax
je 0x14071afc6
call rax
jmp 0x14071afcc
call qword [sym.imp.msvcrt.dll_free]
dec dword [rbx + 0x60]
mov rcx, rdi
mov r10d, 0
cmp rdi, r14
jne 0x14071af90
mov edx, dword [rsp + 0x34]
mov r9d, dword [rsp + 0xb0]
mov r8, qword [r14]
lea rdi, [rbx + 0x14]
cmp r8, r14
je 0x14071affb
mov r11d, dword [r8 + 0x24]
jmp 0x14071affe
mov r11d, dword [rdi]
mov dword [rbx + 0x10], r11d
cmp bpl, 0x52
jne 0x14071b1a2
mov r9d, dword [rbx + 0x4c]
sub r9d, r15d
js 0x14071b0a4
mov r10d, dword [rbx + 0x2c]
test r10d, r10d
jne 0x14071b035
mov eax, r9d
mov dword [rbx + 0x2c], r9d
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov dword [rbx + 0x28], eax
jmp 0x14071b07f
mov ecx, r9d
sub ecx, r10d
jns 0x14071b043
mov ecx, r10d
sub ecx, r9d
mov eax, dword [rbx + 0x28]
lea ecx, [rcx + rax*2]
add eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, eax
mov dword [rbx + 0x28], eax
imul eax, r10d, 7
add eax, r9d
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [rbx + 0x2c], eax
mov r9d, eax
cmp eax, 1
jge 0x14071b07f
mov eax, 1
mov dword [rbx + 0x2c], eax
mov r9d, eax
lea ecx, [rcx*4]
mov eax, 0xea60
cmp dword [rbx + 0x50], ecx
cmovae ecx, dword [rbx + 0x50]
add ecx, r9d
cmp dword [rbx + 0x34], ecx
cmovae ecx, dword [rbx + 0x34]
cmp ecx, eax
cmovbe eax, ecx
mov dword [rbx + 0x30], eax
cmp esi, r11d
js 0x14071b104
cmp esi, dword [rdi]
jns 0x14071b104
cmp r8, r14
je 0x14071b104
cmp esi, dword [r8 + 0x24]
je 0x14071b0c4
js 0x14071b104
mov r8, qword [r8]
cmp r8, r14
jne 0x14071b0b2
jmp 0x14071b104
mov rdx, qword [r8]
mov rcx, r8
mov rax, qword [r8 + 8]
mov qword [rdx + 8], rax
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
mov qword [rdx], rax
mov rax, qword [0x140aa5078]
mov qword [r8], 0
mov qword [r8 + 8], 0
test rax, rax
je 0x14071b0fb
call rax
jmp 0x14071b101
call qword [sym.imp.msvcrt.dll_free]
dec dword [rbx + 0x60]
mov rax, qword [r14]
cmp rax, r14
je 0x14071b110
lea rdi, [rax + 0x24]
cmp dword [rsp + 0x30], 0
mov eax, dword [rdi]
mov dword [rbx + 0x10], eax
jne 0x14071b129
mov dword [rsp + 0x30], 1
mov r13d, esi
jmp 0x14071b134
mov eax, esi
sub eax, r13d
test eax, eax
cmovg r13d, esi
test byte [rbx + 0xf8], 0x20
je 0x14071b16f
cmp qword [rbx + 0x108], 0
je 0x14071b16f
mov ecx, dword [rbx + 0x4c]
lea r8, [0x14075691a]
mov eax, dword [rbx + 0x30]
sub ecx, r15d
mov dword [rsp + 0x28], eax
mov r9d, esi
mov dword [rsp + 0x20], ecx
mov edx, 0x20
mov rcx, rbx
call fcn.14071a6a0
mov r14d, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
sub r9d, r14d
mov eax, r14d
add rdi, rax
cmp r9d, 0x18
jl 0x14071b51c
xor r10d, r10d
jmp 0x14071ae75
cmp bpl, 0x51
jne 0x14071b498
test byte [rbx + 0xf8], 0x10
je 0x14071b1db
cmp qword [rbx + 0x108], 0
je 0x14071b1db
mov r9d, esi
mov dword [rsp + 0x20], r15d
lea r8, [0x14075691a]
mov edx, reloc.WS2_32.dll_recv
mov rcx, rbx
call fcn.14071a6a0
mov eax, esi
sub eax, dword [rbx + 0x3c]
cmp eax, dword [rbx + 0x18]
jns 0x14071b16f
mov eax, dword [rbx + 0xd0]
inc eax
cmp eax, dword [rbx + 0xd4]
jbe 0x14071b2ba
mov edi, 8
cmp eax, edi
jbe 0x14071b208
add edi, edi
cmp edi, eax
jb 0x14071b202
mov rax, qword [0x140aa5070]
mov ecx, edi
shl rcx, 3
test rax, rax
je 0x14071b21e
call rax
jmp 0x14071b224
call qword [sym.imp.msvcrt.dll_malloc]
mov r14, rax
test rax, rax
je 0x14071b515
cmp qword [rbx + 0xc8], 0
je 0x14071b2ad
xor r9d, r9d
cmp dword [rbx + 0xd0], r9d
jbe 0x14071b290
nop word [rax + rax]
mov rax, qword [rbx + 0xc8]
lea r8d, [r9 + r9]
lea rdx, [r8*4]
inc r9d
mov ecx, dword [rdx + rax]
lea eax, [r8 + 1]
mov dword [r14 + rdx], ecx
lea rdx, [rax*4]
mov rax, qword [rbx + 0xc8]
mov ecx, dword [rdx + rax]
mov dword [r14 + rdx], ecx
cmp r9d, dword [rbx + 0xd0]
jb 0x14071b250
mov rax, qword [0x140aa5078]
mov rcx, qword [rbx + 0xc8]
test rax, rax
je 0x14071b2a7
call rax
jmp 0x14071b2ad
call qword [sym.imp.msvcrt.dll_free]
mov qword [rbx + 0xc8], r14
mov dword [rbx + 0xd4], edi
mov eax, dword [rbx + 0xd0]
lea rdx, [rbx + 0xd0]
lea ecx, [rax + rax]
mov rax, qword [rbx + 0xc8]
mov dword [rax + rcx*4], esi
mov dword [rax + rcx*4 + 4], r15d
inc dword [rdx]
cmp esi, dword [rbx + 0x18]
js 0x14071b16f
mov r14d, dword [rsp + 0xb8]
mov rax, qword [0x140aa5070]
movsxd rcx, r14d
add rcx, 0x48
test rax, rax
je 0x14071b303
call rax
jmp 0x14071b309
call qword [sym.imp.msvcrt.dll_malloc]
mov rdi, rax
mov eax, dword [rsp + 0x3c]
mov dword [rdi + 0x10], eax
movzx eax, byte [rsp + 0xa0]
mov dword [rdi + 0x18], eax
movzx eax, word [rsp + 0x34]
mov dword [rdi + 0x1c], eax
mov dword [rdi + 0x14], 0x51
mov dword [rdi + 0x20], r15d
mov dword [rdi + 0x24], esi
mov dword [rdi + 0x28], r12d
mov dword [rdi + 0x2c], r14d
test r14d, r14d
je 0x14071b355
mov rdx, qword [rsp + 0xa8]
lea rcx, [rdi + 0x40]
mov r8, r14
call sub.msvcrt.dll_memcpy
mov r8d, dword [rdi + 0x24]
mov eax, r8d
sub eax, dword [rbx + 0x3c]
mov ecx, dword [rbx + 0x18]
cmp eax, ecx
jns 0x14071b477
cmp r8d, ecx
js 0x14071b477
mov rcx, qword [rbx + 0xc0]
lea r9, [rbx + 0xb8]
cmp rcx, r9
je 0x14071b3ae
nop word [rax + rax]
mov edx, dword [rcx + 0x24]
cmp edx, r8d
je 0x14071b456
mov eax, r8d
sub eax, edx
test eax, eax
jg 0x14071b3ae
mov rcx, qword [rcx + 8]
cmp rcx, r9
jne 0x14071b390
mov qword [rdi], rdi
mov qword [rdi + 8], rcx
mov rax, qword [rcx]
mov qword [rdi], rax
mov rax, qword [rcx]
mov qword [rax + 8], rdi
mov qword [rcx], rdi
inc dword [rbx + 0x5c]
mov rdx, qword [rbx + 0xb8]
lea r8, [rbx + 0xb8]
cmp r8, rdx
je 0x14071b177
nop
mov eax, dword [rbx + 0x18]
cmp dword [rdx + 0x24], eax
jne 0x14071b177
mov eax, dword [rbx + 0x3c]
cmp dword [rbx + 0x64], eax
jae 0x14071b177
mov rcx, qword [rdx]
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rdx]
mov rcx, qword [rdx + 8]
mov qword [rcx], rax
xor eax, eax
mov qword [rdx], rax
mov qword [rdx + 8], rax
mov rax, qword [rbx + 0xa0]
dec dword [rbx + 0x5c]
mov qword [rdx + 8], rax
lea rax, [rbx + 0x98]
mov qword [rdx], rax
mov rax, qword [rbx + 0xa0]
mov qword [rax], rdx
inc dword [rbx + 0x64]
inc dword [rbx + 0x18]
mov qword [rbx + 0xa0], rdx
mov rdx, qword [rbx + 0xb8]
cmp r8, rdx
jne 0x14071b3e0
jmp 0x14071b177
mov rax, qword [0x140aa5078]
mov rcx, rdi
test rax, rax
je 0x14071b46c
call rax
jmp 0x14071b3c8
call qword [sym.imp.msvcrt.dll_free]
jmp 0x14071b3c8
mov rax, qword [0x140aa5078]
mov rcx, rdi
test rax, rax
je 0x14071b48d
call rax
jmp 0x14071b177
call qword [sym.imp.msvcrt.dll_free]
jmp 0x14071b177
cmp bpl, 0x53
jne 0x14071b4ce
or dword [rbx + 0x48], 2
test byte [rbx + 0xf8], 0x40
je 0x14071b508
cmp qword [rbx + 0x108], 0
je 0x14071b508
lea r8, [0x14075691a]
mov edx, 0x40
mov rcx, rbx
call fcn.14071a6a0
jmp 0x14071b16f
cmp bpl, 0x54
jne 0x14071b629
test byte [rbx + 0xf8], 0x80
je 0x14071b508
cmp qword [rbx + 0x108], 0
je 0x14071b508
movzx r9d, dx
lea r8, [0x14075691a]
mov edx, 0x80
mov rcx, rbx
call fcn.14071a6a0
jmp 0x14071b16f
mov r14d, dword [rsp + 0xb8]
jmp 0x14071b17f
call qword [sym.imp.msvcrt.dll_abort]
int3
cmp dword [rsp + 0x30], 0
je 0x14071b556
cmp r13d, dword [rbx + 0x10]
js 0x14071b556
cmp r13d, dword [rbx + 0x14]
jns 0x14071b556
lea r9, [rbx + 0xa8]
mov rcx, qword [r9]
cmp rcx, r9
je 0x14071b556
nop
cmp r13d, dword [rcx + 0x24]
mov r8, qword [rcx]
js 0x14071b556
je 0x14071b54e
inc dword [rcx + 0x38]
mov rcx, r8
cmp r8, r9
jne 0x14071b540
mov eax, dword [rbx + 0x10]
sub eax, dword [rsp + 0x40]
test eax, eax
jle 0x14071b602
mov r8d, dword [rbx + 0x44]
lea r9, [rbx + 0x44]
mov r10d, dword [rbx + 0x40]
cmp r8d, r10d
jae 0x14071b602
mov ecx, dword [rbx + 8]
mov r11d, dword [rbx + 0x80]
cmp r8d, dword [rbx + 0x24]
jae 0x14071b59c
inc r8d
lea eax, [r11 + rcx]
mov dword [r9], r8d
mov dword [rbx + 0x80], eax
jmp 0x14071b5ef
mov rdi, r9
cmp r11d, ecx
jae 0x14071b5ab
mov r11d, ecx
lea rdi, [rbx + 0x44]
xor edx, edx
mov eax, ecx
imul eax, ecx
div r11d
mov edx, ecx
add eax, r11d
shr edx, 4
add edx, eax
lea eax, [r8 + 1]
imul eax, ecx
mov dword [rbx + 0x80], edx
cmp eax, edx
ja 0x14071b5ef
lea eax, [rcx - 1]
mov r8d, 1
add eax, edx
test ecx, ecx
cmovne r8d, ecx
xor edx, edx
div r8d
mov dword [r9], eax
mov r8d, eax
mov r9, rdi
cmp r8d, r10d
jbe 0x14071b602
mov dword [r9], r10d
imul r10d, ecx
mov dword [rbx + 0x80], r10d
xor eax, eax
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov r15, qword [rsp + 0x58]
add rsp, 0x80
pop r13
pop rdi
pop rbx
ret
mov eax, 0xfffffffd
jmp 0x14071b604
mov eax, 0xfffffffe
jmp 0x14071b604
mov eax, 0xffffffff
add rsp, 0x80
pop r13
pop rdi
pop rbx
ret