Function at 0x1400706b0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rdi, rcx
lea r12, [0x140000000]
movzx ecx, word [rdx]
mov ebp, r8d
mov r14, rdx
mov r15d, 1
xor r13d, r13d
mov edx, 0x85
lea rbx, [r14 + 4]
movzx eax, cx
mov esi, 1
sub ax, dx
mov r8d, 0x8a
cmp ax, si
jbe 0x140070710
sub cx, r8w
cmp cx, si
ja 0x140070714
add rbx, 2
movzx edx, word [rbx]
mov r8, r13
cmp edx, 0xa2
ja case.0x14007073a.31
movzx eax, byte [r12 + rdx + 0x70ce4]
mov ecx, dword [r12 + rax*4 + 0x70c5c]
add rcx, r12
jmp rcx
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.1400706b0
test eax, eax
je 0x140070c3d
cmp eax, 3
je 0x140070c3d
cmp eax, 1
je case.0x140070ace.100
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x140070770
add rbx, 4
jmp 0x140070ae6
add rbx, 8
jmp 0x140070ae6
movzx eax, word [rbx + 6]
lea rbx, [rbx + rax*2]
jmp 0x140070ae6
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je case.0x14007073a.28
add rbx, 4
jmp 0x140070ae6
add rbx, 2
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.1400706b0
test eax, eax
je 0x140070c3d
cmp eax, 3
je 0x140070c3d
nop dword [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x1400707e0
add rbx, 4
jmp 0x140070ae6
add rbx, 2
nop dword [rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x140070800
add rbx, 4
jmp 0x140070ae6
movzx r8d, word [rbx + 2]
add rbx, 4
cmp r8d, 0xff
jbe 0x140070830
or byte [rdi + 0x47], 0x80
jmp 0x140070849
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
test ebp, ebp
je 0x140070ae6
and r8d, 0xfc00
cmp r8d, 0xd800
jne 0x140070ae6
add rbx, 2
jmp 0x140070ae6
lea rdx, [rbx + 2]
mov r9d, ebp
mov r8d, 1
mov rcx, rdi
call fcn.140070070
jmp 0x140070ae3
movzx r8d, word [rbx + 4]
add rbx, 6
jmp 0x140070821
lea rdx, [rbx + 4]
jmp 0x140070872
add rbx, 2
movzx eax, word [rbx + 2]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1400708ba.12
cdqe
mov ecx, dword [r12 + rax*4 + 0x70d88]
add rcx, r12
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 0x140070ae6
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
add rbx, 4
jmp 0x140070ae6
mov edx, 0x40
mov rcx, rdi
call fcn.140070400
add rbx, 4
jmp 0x140070ae6
mov edx, 0x40
mov rcx, rdi
call fcn.140070190
add rbx, 4
jmp 0x140070ae6
xor edx, edx
mov rcx, rdi
call fcn.140070400
add rbx, 4
jmp 0x140070ae6
xor edx, edx
mov rcx, rdi
call fcn.140070190
add rbx, 4
jmp 0x140070ae6
mov edx, 0xa0
mov rcx, rdi
call fcn.140070400
add rbx, 4
jmp 0x140070ae6
mov edx, 0xa0
mov rcx, rdi
call fcn.140070190
add rbx, 4
jmp 0x140070ae6
movzx ecx, word [rbx + 4]
test cl, 4
jne case.0x1400708ba.12
movzx eax, cl
and al, 3
cmp al, 1
je case.0x1400708ba.12
test cl, 2
je case.0x14007073a.21
lea r8, [rbx + 6]
or byte [rdi + 0x47], 0x80
movzx edx, word [rbx]
cmp dx, 0x70
jne 0x1400709a2
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
jmp 0x1400709aa
lea r8, [rbx + 2]
add rbx, 0x22
test r8, r8
je 0x140070ab2
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.0x140070ace.100
cdqe
mov ecx, dword [r12 + rax*4 + 0x70dc8]
add rcx, r12
jmp rcx
movzx ecx, word [rbx + 2]
lea rax, [rbx + 6]
test cx, cx
cmovne esi, r13d
cmovne rax, rbx
mov rbx, rax
test esi, esi
jne 0x140070714
jmp case.0x140070ace.100
cmp word [rbx + 2], 9
jne case.0x1400708ba.12
movzx eax, word [rbx + 4]
lea r8, [r12 + 0x142150]
mov edx, dword [r8 + rax*4]
lea r8, [r8 + rax*4]
cmp edx, 0xffffffff
jae case.0x140070ace.100
nop dword [rax + rax]
lea r8, [r8 + 4]
cmp edx, 0xff
jbe 0x140070b32
or byte [rdi + 0x47], 0x80
jmp 0x140070b47
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 0x140070b20
jmp case.0x140070ace.100
mov r15d, 2
jmp case.0x140070ace.100
add rbx, 2
movzx edx, word [rbx + 2]
cmp edx, 0xff
jbe 0x140070b78
or byte [rdi + 0x47], 0x80
jmp case.0x140070ace.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.0x140070ace.100
add rbx, 2
lea rdx, [rbx + 2]
mov r9d, ebp
mov r8d, 1
mov rcx, rdi
call fcn.140070070
jmp case.0x140070ace.100
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
jmp case.0x140070ace.100
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
jmp case.0x140070ace.100
mov edx, 0x40
mov rcx, rdi
call fcn.140070400
jmp case.0x140070ace.100
mov edx, 0x40
jmp 0x140070c05
xor edx, edx
mov rcx, rdi
call fcn.140070400
jmp case.0x140070ace.100
xor edx, edx
jmp 0x140070c05
mov edx, 0xa0
mov rcx, rdi
call fcn.140070400
jmp case.0x140070ace.100
mov edx, 0xa0
mov rcx, rdi
call fcn.140070190
movzx eax, word [r14 + 2]
cmp word [r14 + rax*2], 0x78
lea r14, [r14 + rax*2]
jne 0x140070c28
mov ecx, 0x78
jmp 0x1400706e8
mov eax, r15d
jmp 0x140070c3d
xor eax, eax
jmp 0x140070c3d
mov eax, 2
jmp 0x140070c3d
mov eax, 3
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret