Function at 0x140047f10
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov rax, qword [0x1400ffa80]
xor rax, rsp
mov qword [rsp + 0x110], rax
test rcx, rcx
je 0x140047fb1
mov rsi, rcx
mov eax, dword [rcx]
mov ebp, 2
cmp eax, 0xf4240
je 0x1400483ab
mov ebx, r8d
mov dword [rsp + 0x28], eax
mov byte [rsp + 0x2f], 3
mov eax, r8d
shr eax, 5
xor r15d, r15d
test bl, 0x1f
setne r15b
movups xmm0, xmmword [rsi + 4]
movups xmm1, xmmword [rsi + 0x14]
movups xmm2, xmmword [rsi + 0x24]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xf0], xmm2
mov rcx, qword [rsi + 0x33]
mov qword [rsp + 0xff], rcx
xor r12d, r12d
add r15d, eax
je 0x140048092
mov rdi, rdx
lea r14, [rsp + 0x30]
jmp 0x140047fe1
mov ebp, 1
jmp 0x1400483ab
mov r8d, ebx
mov rcx, rdi
lea rdx, [rsp + 0xb0]
call fcn.1400d0700
xor ebx, ebx
inc r12d
cmp r12d, r15d
je 0x140048095
mov rcx, r14
call fcn.140071770
test eax, eax
jne 0x140048088
mov rcx, r14
lea rdx, [rsp + 0xd0]
mov r8d, 0x37
call fcn.140070cc0
test eax, eax
jne 0x140048088
mov rcx, r14
lea rdx, [rsp + 0xb0]
call fcn.140070fd0
mov ebp, eax
mov rcx, r14
call fcn.14000c8b0
test ebp, ebp
sete r13b
jne 0x140048092
test rdi, rdi
je 0x140047fd5
test ebx, ebx
je 0x140047fd5
cmp ebx, 0x20
jb 0x140047fc0
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov eax, 0x36
nop word [rax + rax]
mov edx, eax
movzx ecx, byte [rsp + rdx + 0xd0]
inc cl
mov byte [rsp + rdx + 0xd0], cl
sub eax, 1
jb 0x14004807c
test cl, cl
je 0x140048060
add ebx, 0xffffffe0
add rdi, 0x20
jmp 0x140047fd5
lea rcx, [rsp + 0x30]
call fcn.14000c8b0
xor r13d, r13d
mov byte [rsp + 0xd0], 0
mov byte [rsp + 0xd1], 0
mov byte [rsp + 0xd2], 0
mov byte [rsp + 0xd3], 0
mov byte [rsp + 0xd4], 0
mov byte [rsp + 0xd5], 0
mov byte [rsp + 0xd6], 0
mov byte [rsp + 0xd7], 0
mov byte [rsp + 0xd8], 0
mov byte [rsp + 0xd9], 0
mov byte [rsp + 0xda], 0
mov byte [rsp + 0xdb], 0
mov byte [rsp + 0xdc], 0
mov byte [rsp + 0xdd], 0
mov byte [rsp + 0xde], 0
mov byte [rsp + 0xdf], 0
mov byte [rsp + 0xe0], 0
mov byte [rsp + 0xe1], 0
mov byte [rsp + 0xe2], 0
mov byte [rsp + 0xe3], 0
mov byte [rsp + 0xe4], 0
mov byte [rsp + 0xe5], 0
mov byte [rsp + 0xe6], 0
mov byte [rsp + 0xe7], 0
mov byte [rsp + 0xe8], 0
mov byte [rsp + 0xe9], 0
mov byte [rsp + 0xea], 0
mov byte [rsp + 0xeb], 0
mov byte [rsp + 0xec], 0
mov byte [rsp + 0xed], 0
mov byte [rsp + 0xee], 0
mov byte [rsp + 0xef], 0
mov byte [rsp + 0xf0], 0
mov byte [rsp + 0xf1], 0
mov byte [rsp + 0xf2], 0
mov byte [rsp + 0xf3], 0
mov byte [rsp + 0xf4], 0
mov byte [rsp + 0xf5], 0
mov byte [rsp + 0xf6], 0
mov byte [rsp + 0xf7], 0
mov byte [rsp + 0xf8], 0
mov byte [rsp + 0xf9], 0
mov byte [rsp + 0xfa], 0
mov byte [rsp + 0xfb], 0
mov byte [rsp + 0xfc], 0
mov byte [rsp + 0xfd], 0
mov byte [rsp + 0xfe], 0
mov byte [rsp + 0xff], 0
mov byte [rsp + 0x100], 0
mov byte [rsp + 0x101], 0
mov byte [rsp + 0x102], 0
mov byte [rsp + 0x103], 0
mov byte [rsp + 0x104], 0
mov byte [rsp + 0x105], 0
mov byte [rsp + 0x106], 0
mov ebp, 1
test r13b, r13b
je 0x1400482ab
lea rcx, [rsp + 0x30]
call fcn.140071770
test eax, eax
jne 0x14004829a
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x2f]
mov r8d, 1
call fcn.140070cc0
test eax, eax
jne 0x14004829a
lea rdx, [rsi + 4]
lea rcx, [rsp + 0x30]
mov r8d, 0x37
call fcn.140070cc0
test eax, eax
je 0x1400483d1
lea rcx, [rsp + 0x30]
call fcn.14000c8b0
mov ebp, 1
inc dword [rsi]
mov byte [rsp + 0xd0], 0
mov byte [rsp + 0xd1], 0
mov byte [rsp + 0xd2], 0
mov byte [rsp + 0xd3], 0
mov byte [rsp + 0xd4], 0
mov byte [rsp + 0xd5], 0
mov byte [rsp + 0xd6], 0
mov byte [rsp + 0xd7], 0
mov byte [rsp + 0xd8], 0
mov byte [rsp + 0xd9], 0
mov byte [rsp + 0xda], 0
mov byte [rsp + 0xdb], 0
mov byte [rsp + 0xdc], 0
mov byte [rsp + 0xdd], 0
mov byte [rsp + 0xde], 0
mov byte [rsp + 0xdf], 0
mov byte [rsp + 0xe0], 0
mov byte [rsp + 0xe1], 0
mov byte [rsp + 0xe2], 0
mov byte [rsp + 0xe3], 0
mov byte [rsp + 0xe4], 0
mov byte [rsp + 0xe5], 0
mov byte [rsp + 0xe6], 0
mov byte [rsp + 0xe7], 0
mov byte [rsp + 0xe8], 0
mov byte [rsp + 0xe9], 0
mov byte [rsp + 0xea], 0
mov byte [rsp + 0xeb], 0
mov byte [rsp + 0xec], 0
mov byte [rsp + 0xed], 0
mov byte [rsp + 0xee], 0
mov byte [rsp + 0xef], 0
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.1400a2150
mov eax, ebp
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdi, [rsp + 0x30]
lea rdx, [rsp + 0xd0]
mov rcx, rdi
call fcn.140070fd0
mov ebx, eax
mov rcx, rdi
call fcn.14000c8b0
mov ebp, 1
test ebx, ebx
jne 0x1400482a9
xor eax, eax
xor ecx, ecx
movzx edx, byte [rsi + rax + 0x3a]
movzx r8d, byte [rsp + rax + 0xef]
add ecx, edx
add ecx, r8d
mov byte [rsi + rax + 0x3a], cl
movzx ecx, ch
movzx edx, byte [rsi + rax + 0x39]
movzx ebx, byte [rsp + rax + 0xee]
add ebx, edx
add ebx, ecx
mov byte [rsi + rax + 0x39], bl
movzx ecx, bh
add rax, 0xfffffffffffffffe
cmp rax, 0xffffffffffffffe0
jne 0x140048401
movzx eax, byte [rsi + 0x1a]
movzx ecx, cx
add ecx, eax
mov byte [rsi + 0x1a], cl
shr ecx, 8
movzx eax, byte [rsi + 0x19]
add eax, ecx
mov byte [rsi + 0x19], al
movzx eax, ah
movzx ecx, byte [rsi + 0x18]
add ecx, eax
mov byte [rsi + 0x18], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x17]
add ecx, eax
mov byte [rsi + 0x17], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x16]
add ecx, eax
mov byte [rsi + 0x16], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x15]
add ecx, eax
mov byte [rsi + 0x15], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x14]
add ecx, eax
mov byte [rsi + 0x14], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x13]
add ecx, eax
mov byte [rsi + 0x13], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x12]
add ecx, eax
mov byte [rsi + 0x12], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x11]
add ecx, eax
mov byte [rsi + 0x11], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x10]
add ecx, eax
mov byte [rsi + 0x10], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xf]
add ecx, eax
mov byte [rsi + 0xf], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xe]
add ecx, eax
mov byte [rsi + 0xe], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xd]
add ecx, eax
mov byte [rsi + 0xd], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xc]
add ecx, eax
mov byte [rsi + 0xc], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xb]
add ecx, eax
mov byte [rsi + 0xb], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xa]
add ecx, eax
mov byte [rsi + 0xa], cl
movzx eax, ch
movzx ecx, byte [rsi + 9]
add ecx, eax
mov byte [rsi + 9], cl
movzx eax, ch
movzx ecx, byte [rsi + 8]
add ecx, eax
mov byte [rsi + 8], cl
movzx eax, ch
movzx ecx, byte [rsi + 7]
add ecx, eax
mov byte [rsi + 7], cl
movzx eax, ch
movzx ecx, byte [rsi + 6]
add ecx, eax
mov byte [rsi + 6], cl
movzx eax, ch
movzx ecx, byte [rsi + 5]
add ecx, eax
mov byte [rsi + 5], cl
shr ecx, 8
add byte [rsi + 4], cl
mov eax, 0x39
xor edx, edx
lea rcx, [rax - 2]
movzx r8d, byte [rsi + rax + 1]
movzx r9d, byte [rsi + rax + 0x38]
add edx, r8d
add edx, r9d
mov byte [rsi + rax + 1], dl
cmp rcx, 2
jb 0x140048592
movzx edx, dx
shr edx, 8
movzx r8d, byte [rsi + rax]
movzx ebx, byte [rsi + rax + 0x37]
add ebx, r8d
add ebx, edx
mov byte [rsi + rax], bl
movzx edx, bh
mov rax, rcx
jmp 0x140048552
mov ebx, dword [rsp + 0x28]
bswap ebx
movzx eax, bh
mov ecx, ebx
shr ecx, 0x10
mov edx, ebx
shr edx, 0x18
movzx r8d, byte [rsi + 0x3a]
add r8d, edx
mov byte [rsi + 0x3a], r8b
shr r8d, 8
movzx edx, byte [rsi + 0x39]
movzx ecx, cl
add ecx, edx
add ecx, r8d
mov byte [rsi + 0x39], cl
movzx ecx, ch
movzx edx, byte [rsi + 0x38]
add edx, eax
add edx, ecx
mov byte [rsi + 0x38], dl
movzx eax, dh
movzx edx, byte [rsi + 0x37]
movzx ecx, bl
add ecx, edx
add ecx, eax
mov byte [rsi + 0x37], cl
mov eax, 0x36
xor ebp, ebp
movzx ecx, cx
shr ecx, 8
movzx edx, byte [rsi + rax]
add edx, ecx
mov byte [rsi + rax], dl
movzx ecx, dh
movzx edx, byte [rsi + rax - 1]
add edx, ecx
mov byte [rsi + rax - 1], dl
movzx edx, dh
movzx ecx, byte [rsi + rax - 2]
add ecx, edx
mov byte [rsi + rax - 2], cl
add rax, 0xfffffffffffffffd
cmp rax, 3
jne 0x1400485ea
jmp 0x1400482a9