Function at 0x140023980
Capabilities:
Enumerate pe sections

Disassembly:
push r14
sub rsp, 0x40
cmp dword [rcx + 0x28], 0
mov r14, rcx
jne 0x140024074
test byte [rcx], 8
jne 0x140024074
mov qword [rsp + 0x50], rbx
mov rbx, qword [rcx + 0x68]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], r12
xor r12d, r12d
mov qword [rsp + 0x28], r13
mov r13, qword [rcx + 0x18]
mov qword [rsp + 0x20], r15
mov rcx, r13
mov r15d, 0xffffffff
test rbx, rbx
je 0x140023d18
lea esi, [r12 + 8]
nop dword [rax]
mov edx, 0x2014b50
mov rcx, r14
call fcn.1400241a0
mov edx, 0x201
mov rcx, r14
call fcn.1400241a0
mov edx, 0xb2d
mov rcx, r14
call fcn.1400241a0
mov edx, 0x2d
mov rcx, r14
call fcn.1400241a0
movzx edx, word [rbx]
mov rcx, r14
call fcn.1400241a0
movzx edx, word [rbx + 2]
mov rcx, r14
call fcn.1400241a0
mov edx, dword [rbx + 4]
mov rcx, r14
call fcn.1400241a0
movzx edx, word [rbx + 6]
mov rcx, r14
call fcn.1400241a0
mov edx, dword [rbx + 8]
mov rcx, r14
call fcn.1400241a0
movzx edx, word [rbx + 0xa]
mov rcx, r14
call fcn.1400241a0
mov rax, qword [rbx + 0x10]
mov rcx, r14
cmp rax, r15
jb 0x140023a72
mov edx, r15d
call fcn.1400241a0
mov eax, r15d
jmp 0x140023a81
mov edx, eax
call fcn.1400241a0
mov rax, qword [rbx + 0x10]
shr rax, 0x10
mov edx, eax
mov rcx, r14
call fcn.1400241a0
mov rax, qword [rbx + 0x18]
mov rcx, r14
cmp rax, r15
jb 0x140023aa4
mov edx, r15d
call fcn.1400241a0
mov eax, r15d
jmp 0x140023ab3
mov edx, eax
call fcn.1400241a0
mov rax, qword [rbx + 0x18]
shr rax, 0x10
mov edx, eax
mov rcx, r14
call fcn.1400241a0
mov edx, dword [rbx + 0x20]
mov rcx, r14
call fcn.1400241a0
mov r8, qword [rbx + 0x38]
cmp r8, r15
jae 0x140023ae1
cmp qword [rbx + 0x18], r15
jae 0x140023ae1
cmp qword [rbx + 0x10], r15
jae 0x140023ae1
xor ecx, ecx
jmp 0x140023ae6
mov ecx, 4
xor edx, edx
cmp qword [rbx + 0x10], r15
cmovae edx, esi
xor eax, eax
cmp r8, r15
cmovae eax, esi
add edx, eax
xor eax, eax
cmp qword [rbx + 0x18], r15
cmovae eax, esi
add edx, eax
add edx, dword [rbx + 0x28]
add edx, ecx
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
movzx edx, word [rbx + 0x2c]
mov rcx, r14
call fcn.1400241a0
movzx edx, word [rbx + 0x2e]
mov rcx, r14
call fcn.1400241a0
mov edx, dword [rbx + 0x34]
mov rcx, r14
call fcn.1400241a0
movzx edx, word [rbx + 0x36]
mov rcx, r14
call fcn.1400241a0
mov rax, qword [rbx + 0x38]
mov rcx, r14
cmp rax, r15
jb 0x140023b63
mov edx, r15d
call fcn.1400241a0
mov eax, r15d
jmp 0x140023b72
mov edx, eax
call fcn.1400241a0
mov rax, qword [rbx + 0x38]
shr rax, 0x10
mov edx, eax
mov rcx, r14
call fcn.1400241a0
mov r8d, dword [rbx + 0x20]
lea rdx, [rbx + 0x50]
mov rcx, r14
call fcn.140024330
cmp qword [rbx + 0x38], r15
jae 0x140023ba2
cmp qword [rbx + 0x18], r15
jae 0x140023ba2
cmp qword [rbx + 0x10], r15
jb 0x140023c93
mov edx, 1
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
cmp qword [rbx + 0x38], r15
cmovae edx, esi
xor eax, eax
cmp qword [rbx + 0x10], r15
cmovae eax, esi
add edx, eax
xor eax, eax
cmp qword [rbx + 0x18], r15
cmovae eax, esi
add edx, eax
call fcn.1400241a0
mov rax, qword [rbx + 0x18]
cmp rax, r15
jb 0x140023c15
mov edx, eax
mov rcx, r14
call fcn.1400241a0
mov rdx, qword [rbx + 0x18]
mov rcx, r14
shr rdx, 0x10
call fcn.1400241a0
mov rdx, qword [rbx + 0x18]
mov rcx, r14
shr rdx, 0x20
call fcn.1400241a0
movzx edx, word [rbx + 0x1e]
mov rcx, r14
call fcn.1400241a0
mov rax, qword [rbx + 0x10]
cmp rax, r15
jb 0x140023c54
mov edx, eax
mov rcx, r14
call fcn.1400241a0
mov rdx, qword [rbx + 0x10]
mov rcx, r14
shr rdx, 0x10
call fcn.1400241a0
mov rdx, qword [rbx + 0x10]
mov rcx, r14
shr rdx, 0x20
call fcn.1400241a0
movzx edx, word [rbx + 0x16]
mov rcx, r14
call fcn.1400241a0
mov rax, qword [rbx + 0x38]
cmp rax, r15
jb 0x140023c93
mov edx, eax
mov rcx, r14
call fcn.1400241a0
mov rdx, qword [rbx + 0x38]
mov rcx, r14
shr rdx, 0x10
call fcn.1400241a0
mov rdx, qword [rbx + 0x38]
mov rcx, r14
shr rdx, 0x20
call fcn.1400241a0
movzx edx, word [rbx + 0x3e]
mov rcx, r14
call fcn.1400241a0
mov r8d, dword [rbx + 0x28]
test r8d, r8d
je 0x140023cac
mov rdx, qword [rbx + 0x48]
mov rcx, r14
call fcn.140024330
mov r8d, dword [rbx + 0x28]
mov r9, qword [rbx + 0x38]
cmp r9, r15
jae 0x140023cc6
cmp qword [rbx + 0x18], r15
jae 0x140023cc6
mov eax, 0x2e
cmp qword [rbx + 0x10], r15
jb 0x140023ccb
mov eax, gethostbyname
xor edx, edx
cmp qword [rbx + 0x10], r15
cmovae edx, esi
xor ecx, ecx
cmp r9, r15
cmovae ecx, esi
add ecx, eax
xor eax, eax
cmp qword [rbx + 0x18], r15
cmovae eax, esi
add ecx, edx
add eax, ecx
inc r12
add eax, r8d
mov rcx, rbx
add eax, dword [rbx + 0x20]
add qword [r14 + 0x18], rax
mov rdi, qword [rbx + 0x158]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rbx, rdi
test rdi, rdi
jne 0x1400239e0
mov rcx, qword [r14 + 0x18]
cmp rcx, r15
jb 0x140023fc0
mov qword [rsp + 0x58], rbp
mov edx, 0x6064b50
mov rbp, qword [r14 + 0x20]
add rbp, rcx
mov rcx, r14
call fcn.1400241a0
mov edx, 0x606
mov rcx, r14
call fcn.1400241a0
mov edx, 0x2c
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
mov edx, 0xb2d
mov rcx, r14
call fcn.1400241a0
mov edx, 0x2d
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
mov edx, r12d
mov rcx, r14
call fcn.1400241a0
mov rsi, r12
mov rcx, r14
shr rsi, 0x10
mov edx, esi
call fcn.1400241a0
mov rdi, r12
mov rcx, r14
shr rdi, 0x20
mov edx, edi
call fcn.1400241a0
mov rbx, r12
mov rcx, r14
shr rbx, 0x30
mov edx, ebx
call fcn.1400241a0
mov edx, r12d
mov rcx, r14
call fcn.1400241a0
mov edx, esi
mov rcx, r14
call fcn.1400241a0
mov edx, edi
mov rcx, r14
call fcn.1400241a0
mov edx, ebx
mov rcx, r14
call fcn.1400241a0
mov rdi, qword [r14 + 0x18]
mov rcx, r14
sub rdi, r13
mov edx, edi
call fcn.1400241a0
mov rsi, rdi
mov rcx, r14
shr rsi, 0x10
mov edx, esi
call fcn.1400241a0
mov rdx, rdi
shr rdx, 0x20
mov rcx, r14
call fcn.1400241a0
mov rdx, rdi
mov rcx, r14
shr rdx, 0x30
call fcn.1400241a0
mov rbx, qword [r14 + 0x20]
mov rcx, r14
add rbx, r13
mov edx, ebx
call fcn.1400241a0
mov r13, rbx
mov rcx, r14
shr r13, 0x10
mov edx, r13d
call fcn.1400241a0
mov rdx, rbx
mov rcx, r14
shr rdx, 0x20
call fcn.1400241a0
mov rdx, rbx
mov rcx, r14
shr rdx, 0x30
call fcn.1400241a0
add qword [r14 + 0x18], 0x38
mov edx, 0x7064b50
mov rcx, r14
call fcn.1400241a0
mov edx, 0x706
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
mov edx, ebp
mov rcx, r14
call fcn.1400241a0
mov rdx, rbp
mov rcx, r14
shr rdx, 0x10
call fcn.1400241a0
mov rdx, rbp
mov rcx, r14
shr rdx, 0x20
call fcn.1400241a0
shr rbp, 0x30
mov rcx, r14
mov edx, ebp
call fcn.1400241a0
mov edx, 1
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
add qword [r14 + 0x18], 0x14
mov edx, 0x6054b50
mov rcx, r14
call fcn.1400241a0
mov edx, 0x605
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
cmp r12, 0xff
mov rcx, r14
cmovae r12d, r15d
mov edx, r12d
call fcn.1400241a0
mov edx, r12d
mov rcx, r14
call fcn.1400241a0
mov rbp, qword [rsp + 0x58]
cmp rdi, r15
jb 0x140023f80
mov esi, r15d
mov edi, r15d
mov edx, edi
mov rcx, r14
call fcn.1400241a0
mov edx, esi
mov rcx, r14
call fcn.1400241a0
cmp rbx, r15
jb 0x140023fae
mov ebx, r15d
mov rcx, r14
mov edx, ebx
call fcn.1400241a0
mov edx, r15d
jmp 0x14002403b
mov edx, ebx
mov rcx, r14
mov r15d, r13d
call fcn.1400241a0
mov edx, r13d
jmp 0x14002403b
mov edx, 0x6054b50
mov rcx, r14
call fcn.1400241a0
mov edx, 0x605
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
mov edx, r12d
mov rcx, r14
call fcn.1400241a0
mov edx, r12d
mov rcx, r14
call fcn.1400241a0
mov ebx, dword [r14 + 0x18]
mov rcx, r14
sub ebx, r13d
mov edx, ebx
call fcn.1400241a0
shr ebx, 0x10
mov rcx, r14
mov edx, ebx
call fcn.1400241a0
mov eax, dword [r14 + 0x20]
mov rcx, r14
add r13, rax
mov edx, r13d
call fcn.1400241a0
shr r13, 0x10
mov edx, r13d
mov rcx, r14
call fcn.1400241a0
xor edx, edx
mov rcx, r14
call fcn.1400241a0
add qword [r14 + 0x18], 0x16
or dword [r14], 8
mov r15, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop r14
ret