Function at 0x180039640
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rdi, rdx
mov r13, rcx
cmp byte [rcx + 0x4c], 0
je 0x180039673
mov r8d, dword [rdx + 0xb8]
mov r10d, dword [rdx + 0xbc]
jmp 0x180039681
mov r8d, dword [rdx + 0xa8]
mov r10d, dword [rdx + 0xac]
test r8d, r8d
jne 0x18003968b
test r10d, r10d
je 0x1800396d4
cmp r10d, 0x1c
jb 0x1800396d4
movzx eax, word [rdx + 0x14]
lea rcx, [rdx + 0x18]
add rcx, rax
xor r14d, r14d
mov edx, r14d
movzx r9d, word [rdi + 6]
test r9d, r9d
je 0x1800396d4
nop dword [rax]
mov eax, dword [rcx + 8]
test eax, eax
jne 0x1800396ba
mov eax, dword [rcx + 0x10]
mov edi, dword [rcx + 0xc]
cmp r8d, edi
jb 0x1800396c9
add eax, edi
cmp r8d, eax
jb 0x1800396f1
inc edx
add rcx, 0x28
cmp edx, r9d
jl 0x1800396b0
xor al, al
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebp, dword [rcx + 0x14]
sub ebp, edi
add ebp, r8d
add rbp, qword [r13 + 0x30]
mov r12d, r10d
mov edx, r10d
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1800396d4
mov rdi, r14
mov qword [rsp + 0x30], r14
movabs rax, 0x2492492492492493
mul r12
sub r12, rdx
shr r12, 1
add r12, rdx
shr r12, 4
test r12, r12
je 0x180039985
mov ebx, 0xffffffff
cmp dword [rbp + 0xc], 2
jne 0x180039970
mov esi, dword [rbp + 0x18]
add rsi, qword [r13 + 0x30]
mov edx, dword [rbp + 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1800396d4
cmp dword [rbp + 0x10], 4
jb 0x1800396d4
cmp dword [rsi], 0x53445352
jne 0x180039970
mov edx, 0x324
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1800396d4
mov rdx, rbx
lea rcx, [rsi + 0x18]
call qword [sym.imp.KERNEL32.dll_IsBadStringPtrA]
test eax, eax
jne 0x1800396d4
lea rbx, [r13 + 0x70]
lea r14, [rbx + 0x10]
mov r8, qword [r14]
cmp r8, 0x27
jb 0x1800397d5
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1800397c4
mov rax, qword [rbx]
mov qword [r14], 0x27
xor r10d, r10d
mov word [rax + 0x4e], r10w
jmp 0x180039837
mov edx, 0x27
sub rdx, r8
mov rcx, qword [rbx + 0x18]
mov rax, rcx
sub rax, r8
cmp rdx, rax
ja 0x180039820
mov qword [r14], 0x27
mov r9, rbx
cmp rcx, 8
jb 0x1800397ff
mov r9, qword [rbx]
lea rdi, [r9 + r8*2]
xor r10d, r10d
test rdx, rdx
je 0x180039815
movzx eax, r10w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [r8 + rdx]
mov word [r9 + rax*2], r10w
jmp 0x180039837
xor r10d, r10d
mov word [rsp + 0x20], r10w
mov r9, rdx
xor r8d, r8d
mov rcx, rbx
call fcn.18001cfa0
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x180039844
mov rdx, qword [rbx]
lea rcx, [rsi + 4]
mov r8d, dword [r13 + 0x80]
call qword [sym.imp.ole32.dll_StringFromGUID2]
dec eax
movsxd rcx, eax
mov r8, qword [r14]
cmp rcx, r8
ja 0x180039879
cmp qword [rbx + 0x18], 8
jb 0x18003986c
mov rbx, qword [rbx]
mov qword [r14], rcx
xor r14d, r14d
mov word [rbx + rcx*2], r14w
jmp 0x1800398d2
mov rdx, rcx
sub rdx, r8
mov rdi, qword [rbx + 0x18]
mov rax, rdi
sub rax, r8
cmp rdx, rax
ja 0x1800398bb
mov qword [r14], rcx
cmp rdi, 8
jb 0x18003989a
mov rbx, qword [rbx]
lea rdi, [rbx + r8*2]
xor r14d, r14d
test rdx, rdx
je 0x1800398b0
movzx eax, r14w
mov rcx, rdx
rep stosw word [rdi], ax
lea rax, [r8 + rdx]
mov word [rbx + rax*2], r14w
jmp 0x1800398d2
xor r14d, r14d
mov word [rsp + 0x20], r14w
mov r9, rdx
xor r8d, r8d
mov rcx, rbx
call fcn.18001cfa0
mov eax, dword [rsi + 0x14]
mov dword [r13 + 0xb0], eax
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8 + 0x18], 0
jne 0x1800398e3
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x38], 0
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0x38]
call fcn.1800052d0
nop
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.18003d130
mov rdi, rax
lea rbx, [r13 + 0x50]
cmp rbx, rax
je 0x180039951
mov rcx, rbx
call fcn.18000db90
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 7
mov word [rdi], r14w
lea rcx, [rsp + 0x58]
call fcn.18000db90
nop
lea rcx, [rsp + 0x38]
call fcn.180005250
mov rdi, qword [rsp + 0x30]
mov ebx, 0xffffffff
inc rdi
mov qword [rsp + 0x30], rdi
add rbp, 0x1c
cmp rdi, r12
jb 0x180039740
mov al, 1
jmp 0x1800396d6