Function at 0x7ff7c0050760
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15, qword [rsp + 0x80]
mov r14d, r9d
mov ebp, r8d
mov r12, rdx
mov rdi, rcx
mov r13d, 1
inc dword [r15]
cmp dword [r15], 0x3e8
jle 0x7ff7c00507af
lea eax, [r13 + 3]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
movzx ecx, word [rdx]
lea r9, [0x7ff7bffc0000]
mov qword [rsp + 0x60], rbx
xor r10d, r10d
mov qword [rsp + 0x68], rsi
mov edx, 0x88
lea rbx, [r12 + 4]
movzx eax, cx
mov esi, 1
sub ax, dx
mov r8d, 0x8d
cmp ax, si
jbe 0x7ff7c00507ef
sub cx, r8w
cmp cx, si
ja 0x7ff7c00507f3
add rbx, 2
movzx edx, word ds:[rbx]
mov r8, r10
cmp edx, 0xa6
ja case.0x7ff7c0050820.31
movzx eax, byte [r9 + rdx + 0x90e40]
mov ecx, dword [r9 + rax*4 + 0x90db8]
add rcx, r9
jmp rcx
mov r9d, r14d
mov qword [rsp + 0x20], r15
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.7ff7c0050760
nop dword [rax + rax]
cmp eax, 1
je 0x7ff7c0050d5a
cmp eax, 2
jne 0x7ff7c0050d9a
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x7ff7c0050860
add rbx, 4
jmp 0x7ff7c0050c1a
add rbx, 8
jmp 0x7ff7c0050c1a
movzx eax, word [rbx + 6]
lea rbx, [rbx + rax*2]
jmp 0x7ff7c0050c1a
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je case.0x7ff7c0050820.28
add rbx, 4
jmp 0x7ff7c0050c1a
add rbx, 2
mov qword [rsp + 0x20], r15
mov rdx, rbx
mov r9d, r14d
mov r8d, ebp
mov rcx, rdi
call fcn.7ff7c0050760
test eax, eax
je 0x7ff7c0050d9a
lea ecx, ds:[rax - 3]
cmp ecx, 1
jbe 0x7ff7c0050d9a
nop dword [rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x7ff7c00508f0
add rbx, 4
jmp 0x7ff7c0050c1a
add rbx, 2
nop dword [rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x7ff7c0050910
add rbx, 4
jmp 0x7ff7c0050c1a
movzx r8d, word [rbx + 2]
add rbx, 4
cmp r8d, 0xff
jbe 0x7ff7c0050942
or byte ds:[rdi + 0x47], 0x80
jmp 0x7ff7c005095b
mov rdx, r8
mov eax, r8d
shr rdx, 3
and eax, 7
movzx ecx, byte [rdx + rdi + 0x28]
bts ecx, eax
mov byte [rdx + rdi + 0x28], cl
nop dword [rax + rax]
test ebp, ebp
je 0x7ff7c0050c1a
and r8d, 0xfc00
cmp r8d, 0xd800
jne 0x7ff7c0050c1a
add rbx, 2
jmp 0x7ff7c0050c1a
lea rdx, [rbx + 2]
mov r9d, ebp
mov dword [rsp + 0x20], r14d
mov r8d, 1
mov rcx, rdi
call fcn.7ff7c0050120
mov rbx, rax
jmp 0x7ff7c0050c1a
movzx r8d, word [rbx + 4]
add rbx, 6
jmp 0x7ff7c0050931
lea rdx, [rbx + 4]
jmp 0x7ff7c0050989
add rbx, 2
movzx eax, word [rbx + 2]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x7ff7c00509dc.12
cdqe
mov ecx, dword [r9 + rax*4 + 0x90ee8]
add rcx, r9
jmp rcx
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
add rbx, 4
jmp 0x7ff7c0050c1a
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
add rbx, 4
jmp 0x7ff7c0050c1a
mov edx, 0x40
mov rcx, rdi
call fcn.7ff7c00504b0
add rbx, 4
jmp 0x7ff7c0050c1a
mov edx, 0x40
mov rcx, rdi
call fcn.7ff7c0050260
add rbx, 4
jmp 0x7ff7c0050c1a
xor edx, edx
mov rcx, rdi
call fcn.7ff7c00504b0
add rbx, 4
jmp 0x7ff7c0050c1a
xor edx, edx
mov rcx, rdi
call fcn.7ff7c0050260
add rbx, 4
jmp 0x7ff7c0050c1a
mov edx, 0xa0
mov rcx, rdi
call fcn.7ff7c00504b0
add rbx, 4
jmp 0x7ff7c0050c1a
mov edx, 0xa0
mov rcx, rdi
call fcn.7ff7c0050260
add rbx, 4
jmp 0x7ff7c0050c1a
movzx ecx, word [rbx + 4]
test cl, 4
jne case.0x7ff7c00509dc.12
movzx eax, cl
and al, 3
cmp al, 1
je case.0x7ff7c00509dc.12
test cl, 2
je case.0x7ff7c0050820.21
lea r8, [rbx + 6]
or byte [rdi + 0x47], 0x80
movzx edx, word [rbx]
nop dword [rax + rax]
cmp dx, 0x70
jne 0x7ff7c0050ad0
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
jmp 0x7ff7c0050ad8
lea r8, [rbx + 2]
add rbx, 0x22
nop dword [rax + rax]
test r8, r8
je 0x7ff7c0050be8
movzx eax, byte [r8]
or byte [rdi + 0x28], al
movzx eax, byte [r8 + 1]
or byte [rdi + 0x29], al
movzx eax, byte [r8 + 2]
or byte [rdi + 0x2a], al
movzx eax, byte [r8 + 3]
or byte [rdi + 0x2b], al
movzx eax, byte [r8 + 4]
or byte [rdi + 0x2c], al
movzx eax, byte [r8 + 5]
or byte [rdi + 0x2d], al
movzx eax, byte [r8 + 6]
or byte [rdi + 0x2e], al
movzx eax, byte [r8 + 7]
or byte [rdi + 0x2f], al
movzx eax, byte [r8 + 8]
or byte [rdi + 0x30], al
movzx eax, byte [r8 + 9]
or byte [rdi + 0x31], al
movzx eax, byte [r8 + 0xa]
or byte [rdi + 0x32], al
movzx eax, byte [r8 + 0xb]
or byte [rdi + 0x33], al
movzx eax, byte [r8 + 0xc]
or byte [rdi + 0x34], al
movzx eax, byte [r8 + 0xd]
or byte [rdi + 0x35], al
movzx eax, byte [r8 + 0xe]
or byte [rdi + 0x36], al
movzx eax, byte [r8 + 0xf]
or byte [rdi + 0x37], al
movzx eax, byte [r8 + 0x10]
or byte [rdi + 0x38], al
movzx eax, byte [r8 + 0x11]
or byte [rdi + 0x39], al
movzx eax, byte [r8 + 0x12]
or byte [rdi + 0x3a], al
movzx eax, byte [r8 + 0x13]
or byte [rdi + 0x3b], al
movzx eax, byte [r8 + 0x14]
or byte [rdi + 0x3c], al
movzx eax, byte [r8 + 0x15]
or byte [rdi + 0x3d], al
movzx eax, byte [r8 + 0x16]
or byte [rdi + 0x3e], al
movzx eax, byte [r8 + 0x17]
or byte [rdi + 0x3f], al
movzx eax, byte [r8 + 0x18]
or byte [rdi + 0x40], al
movzx eax, byte [r8 + 0x19]
or byte [rdi + 0x41], al
movzx eax, byte [r8 + 0x1a]
or byte [rdi + 0x42], al
movzx eax, byte [r8 + 0x1b]
or byte [rdi + 0x43], al
movzx eax, byte [r8 + 0x1c]
or byte [rdi + 0x44], al
movzx eax, byte [r8 + 0x1d]
or byte [rdi + 0x45], al
movzx eax, byte [r8 + 0x1e]
or byte [rdi + 0x46], al
movzx eax, byte [r8 + 0x1f]
or byte [rdi + 0x47], al
movzx eax, word [rbx]
add eax, 0xffffff9e
cmp eax, 0xb
ja case.0x7ff7c0050c04.100
cdqe
mov ecx, dword [r9 + rax*4 + 0x90f28]
add rcx, r9
jmp rcx
movzx eax, word [rbx + 2]
test ax, ax
jne 0x7ff7c0050c16
add rbx, 6
test ax, ax
cmovne esi, r10d
xor r10d, r10d
lea r9, [0x7ff7bffc0000]
test esi, esi
je case.0x7ff7c0050c04.100
jmp 0x7ff7c00507f3
cmp word [rbx + 2], 9
jne case.0x7ff7c00509dc.12
movzx eax, word [rbx + 4]
lea r8, [rax*4 + 0x198330]
add r8, r9
mov edx, dword [r8]
cmp edx, 0xffffffff
jae case.0x7ff7c0050c04.100
nop word [rax + rax]
lea r8, [r8 + 4]
cmp edx, 0xff
jbe 0x7ff7c0050c72
or byte [rdi + 0x47], 0x80
jmp 0x7ff7c0050c87
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + rdi + 0x28]
bts eax, edx
mov byte [rcx + rdi + 0x28], al
mov edx, dword [r8]
cmp edx, 0xffffffff
jb 0x7ff7c0050c60
jmp case.0x7ff7c0050c04.100
mov r13d, 2
jmp case.0x7ff7c0050c04.100
add rbx, 2
movzx edx, word [rbx + 2]
cmp edx, 0xff
jbe 0x7ff7c0050cb8
or byte [rdi + 0x47], 0x80
jmp case.0x7ff7c0050c04.100
mov rcx, rdx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + rdi + 0x28]
bts eax, edx
mov byte [rcx + rdi + 0x28], al
jmp case.0x7ff7c0050c04.100
add rbx, 2
lea rdx, [rbx + 2]
mov dword [rsp + 0x20], r14d
mov r9d, ebp
mov r8d, 1
mov rcx, rdi
call fcn.7ff7c0050120
jmp 0x7ff7c0050d5a
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
jmp case.0x7ff7c0050c04.100
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
jmp case.0x7ff7c0050c04.100
mov edx, 0x40
mov rcx, rdi
call fcn.7ff7c00504b0
jmp 0x7ff7c0050d5a
mov edx, 0x40
jmp 0x7ff7c0050d52
xor edx, edx
mov rcx, rdi
call fcn.7ff7c00504b0
jmp 0x7ff7c0050d5a
xor edx, edx
jmp 0x7ff7c0050d52
mov edx, 0xa0
mov rcx, rdi
call fcn.7ff7c00504b0
jmp 0x7ff7c0050d5a
mov edx, 0xa0
mov rcx, rdi
call fcn.7ff7c0050260
xor r10d, r10d
lea r9, [0x7ff7bffc0000]
movzx eax, word [r12 + 2]
cmp word [r12 + rax*2], 0x78
lea r12, [r12 + rax*2]
jne 0x7ff7c0050d85
mov ecx, 0x78
jmp 0x7ff7c00507c6
mov eax, r13d
jmp 0x7ff7c0050d9a
mov eax, 2
jmp 0x7ff7c0050d9a
xor eax, eax
jmp 0x7ff7c0050d9a
mov eax, 3
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret