Function at 0x14006d200
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
sub rsp, 0x48
mov rax, qword [rsp + 0x90]
mov r10, qword [rsp + 0x88]
mov r11, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x18], rcx
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x78]
mov qword [rdx], rcx
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
mov qword [rdx], rcx
xor eax, eax
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
cmp rcx, qword [rsp + 0x38]
mov byte [rsp + 4], al
je 0x14006d293
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
cmp rax, qword [rsp + 0x88]
setne cl
mov byte [rsp + 4], cl
mov al, byte [rsp + 4]
test al, 1
jne 0x14006d2a4
jmp 0x14006d6a1
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
movzx ecx, byte [rax]
mov dword [rsp + 0x14], ecx
mov rax, qword [rsp + 0x18]
movzx ecx, word [rax]
cmp ecx, 1
jbe 0x14006d33e
cmp dword [rsp + 0x14], 0x80
jb 0x14006d2e1
mov eax, 0xc0
cmp eax, dword [rsp + 0x14]
ja 0x14006d2ee
mov dword [rsp + 0x44], 2
jmp 0x14006d6c1
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
add rcx, 1
mov qword [rax], rcx
mov rax, qword [rsp + 0x18]
movzx edx, word [rax]
mov r8d, dword [rsp + 0x14]
and r8d, 0x3f
or edx, r8d
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax]
mov r9, rcx
add r9, 2
mov qword [rax], r9
mov word [rcx], dx
mov rax, qword [rsp + 0x18]
mov word [rax], 1
jmp 0x14006d260
cmp dword [rsp + 0x14], 0x80
jae 0x14006d361
mov eax, dword [rsp + 0x14]
mov dword [rsp + 0x10], eax
mov dword [rsp + 0xc], 0
jmp 0x14006d439
cmp dword [rsp + 0x14], 0xc0
jae 0x14006d38e
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
add rcx, 1
mov qword [rax], rcx
mov dword [rsp + 0x44], 2
jmp 0x14006d6c1
cmp dword [rsp + 0x14], 0xe0
jae 0x14006d3b4
mov eax, dword [rsp + 0x14]
and eax, 0x1f
mov dword [rsp + 0x10], eax
mov dword [rsp + 0xc], 1
jmp 0x14006d42f
cmp dword [rsp + 0x14], 0xf0
jae 0x14006d3da
mov eax, dword [rsp + 0x14]
and eax, 0xf
mov dword [rsp + 0x10], eax
mov dword [rsp + 0xc], 2
jmp 0x14006d42a
cmp dword [rsp + 0x14], 0xf8
jae 0x14006d400
mov eax, dword [rsp + 0x14]
and eax, 7
mov dword [rsp + 0x10], eax
mov dword [rsp + 0xc], 3
jmp 0x14006d425
mov eax, dword [rsp + 0x14]
and eax, 3
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x14]
cmp eax, 0xfc
mov eax, 4
mov ecx, 5
cmovb ecx, eax
mov dword [rsp + 0xc], ecx
jmp 0x14006d42a
jmp 0x14006d42f
jmp 0x14006d434
jmp 0x14006d439
xor eax, eax
mov ecx, dword [rsp + 0xc]
cmp ecx, 3
mov ecx, 1
cmovl ecx, eax
mov dword [rsp + 8], ecx
mov rdx, qword [rsp + 0x78]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
cmp dword [rsp + 0xc], 0
jne 0x14006d47d
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
add rcx, 1
mov qword [rax], rcx
jmp 0x14006d540
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
sub rax, rcx
mov edx, dword [rsp + 0xc]
add edx, 1
sub edx, dword [rsp + 8]
movsxd rcx, edx
cmp rax, rcx
jge 0x14006d4a9
jmp 0x14006d6a1
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
add rcx, 1
mov qword [rax], rcx
mov eax, dword [rsp + 8]
cmp eax, dword [rsp + 0xc]
jge 0x14006d536
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
movzx ecx, byte [rax]
mov dword [rsp + 0x14], ecx
cmp ecx, 0x80
jb 0x14006d4f3
mov eax, 0xc0
cmp eax, dword [rsp + 0x14]
ja 0x14006d500
mov dword [rsp + 0x44], 2
jmp 0x14006d6c1
mov eax, dword [rsp + 0x10]
shl eax, 6
mov ecx, dword [rsp + 0x14]
and ecx, 0x3f
or eax, ecx
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0xc]
add eax, 0xffffffff
mov dword [rsp + 0xc], eax
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rcx]
add rdx, 1
mov qword [rcx], rdx
jmp 0x14006d4bb
jmp 0x14006d53b
jmp 0x14006d540
xor eax, eax
cmp eax, dword [rsp + 8]
jge 0x14006d557
mov eax, dword [rsp + 0x10]
shl eax, 6
mov dword [rsp + 0x10], eax
mov eax, 0x10ffff
cmp eax, dword [rsp + 0x10]
jae 0x14006d573
mov dword [rsp + 0x44], 2
jmp 0x14006d6c1
mov eax, 0xffff
cmp eax, dword [rsp + 0x10]
jae 0x14006d5d7
mov eax, dword [rsp + 0x10]
shr eax, 0xa
sub eax, 0x40
or eax, 0xd800
mov word [rsp + 6], ax
mov ax, word [rsp + 6]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rcx]
mov r8, rdx
add r8, 2
mov qword [rcx], r8
mov word [rdx], ax
mov r9d, dword [rsp + 0x10]
and r9d, 0x3ff
or r9d, 0xdc00
mov rcx, qword [rsp + 0x18]
mov word [rcx], r9w
jmp 0x14006d260
cmp dword [rsp + 8], 0
je 0x14006d65d
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
cmp rax, qword [rsp + 0x38]
jne 0x14006d607
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
mov qword [rcx], rax
jmp 0x14006d6a1
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov rdx, rcx
add rdx, 1
mov qword [rax], rdx
movzx r8d, byte [rcx]
mov dword [rsp + 0x14], r8d
cmp r8d, 0x80
jb 0x14006d641
mov eax, 0xc0
cmp eax, dword [rsp + 0x14]
ja 0x14006d64e
mov dword [rsp + 0x44], 2
jmp 0x14006d6c1
mov eax, dword [rsp + 0x14]
and eax, 0x3f
or eax, dword [rsp + 0x10]
mov dword [rsp + 0x10], eax
mov rax, qword [rsp + 0x18]
movzx ecx, word [rax]
cmp ecx, 0
jne 0x14006d67d
mov rax, qword [rsp + 0x18]
mov word [rax], 1
mov byte [rsp + 5], 0
mov eax, dword [rsp + 0x10]
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rcx]
mov r8, rdx
add r8, 2
mov qword [rcx], r8
mov word [rdx], ax
jmp 0x14006d260
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x78]
mov rdx, qword [rdx]
cmp rcx, rdx
mov r8d, 1
cmove eax, r8d
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
add rsp, 0x48
pop rsi
ret