Function at 0x1401e2ae0
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov r15, qword [rsp + 0x80]
mov ebp, r9d
mov esi, r8d
mov r14, rdx
mov rdi, rcx
inc dword [r15]
cmp dword [r15], 0x3e8
jle 0x1401e2b1d
mov eax, 4
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x60], rbx
mov eax, 0x88
lea rbx, [rdx + 4]
mov qword [rsp + 0x70], r12
mov r12d, 1
mov qword [rsp + 0x78], r13
lea r13, [0x140000000]
mov ecx, 0x8d
mov edx, 0x89
mov r8d, 0x8e
cmp word [r14], ax
je case.0x1401e2f09.98
movzx eax, word ds:[r14]
cmp ax, cx
je case.0x1401e2f09.98
cmp ax, dx
je case.0x1401e2f09.98
cmp ax, r8w
jne 0x1401e2b80
add rbx, 2
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rbx]
xor edx, edx
cmp eax, 0xa6
ja case.0x1401e2ba4.31
movzx eax, byte [rax + r13 + 0x1e3124]
mov ecx, dword [r13 + rax*4 + 0x1e309c]
add rcx, r13
jmp rcx
mov r9d, ebp
mov qword [rsp + 0x20], r15
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call fcn.1401e2ae0
nop dword [rax]
cmp eax, 1
je case.0x1401e2f09.100
cmp eax, 2
jne 0x1401e307e
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x1401e2be0
add rbx, 4
jmp 0x1401e2b80
add rbx, 8
jmp 0x1401e2b80
movzx eax, word [rbx + 6]
lea rbx, [rbx + rax*2]
jmp 0x1401e2b80
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je case.0x1401e2ba4.28
add rbx, 4
jmp 0x1401e2b80
add rbx, 2
mov qword [rsp + 0x20], r15
mov rdx, rbx
mov r9d, ebp
mov r8d, esi
mov rcx, rdi
call fcn.1401e2ae0
mov ecx, eax
test eax, eax
je 0x1401e3065
add eax, 0xfffffffd
cmp eax, 1
jbe 0x1401e3065
nop dword [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x1401e2c60
add rbx, 4
jmp 0x1401e2b80
add rbx, 2
nop dword [rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x1401e2c80
add rbx, 4
jmp 0x1401e2b80
movzx r8d, word [rbx + 2]
add rbx, 4
cmp r8d, 0xff
jbe 0x1401e2cb0
or byte [rdi + 0x47], 0x80
jmp 0x1401e2cc9
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 esi, esi
je 0x1401e2b80
and r8d, 0xfc00
cmp r8d, 0xd800
jmp 0x1401e2b6e
lea rdx, [rbx + 2]
mov r9d, esi
mov dword [rsp + 0x20], ebp
mov r8d, 1
mov rcx, rdi
call fcn.1401e2580
mov rbx, rax
jmp 0x1401e2b80
movzx r8d, word [rbx + 4]
add rbx, 6
jmp 0x1401e2ca1
lea rdx, [rbx + 4]
jmp 0x1401e2ce9
add rbx, 2
movzx eax, word [rbx + 2]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1401e2d38.12
cdqe
mov ecx, dword [r13 + rax*4 + 0x1e31cc]
add rcx, r13
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 0x1401e2b80
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
add rbx, 4
jmp 0x1401e2b80
mov edx, 0x40
mov rcx, rdi
call fcn.1401e28c0
add rbx, 4
jmp 0x1401e2b80
mov edx, 0x40
mov rcx, rdi
call fcn.1401e26f0
add rbx, 4
jmp 0x1401e2b80
mov edx, 0xa0
mov rcx, rdi
call fcn.1401e28c0
add rbx, 4
jmp 0x1401e2b80
mov edx, 0xa0
mov rcx, rdi
call fcn.1401e26f0
add rbx, 4
jmp 0x1401e2b80
movzx ecx, word [rbx + 4]
test cl, 4
jne case.0x1401e2d38.12
movzx eax, cl
and al, 3
cmp al, 1
je case.0x1401e2d38.12
nop
test cl, 2
je case.0x1401e2ba4.21
lea rdx, [rbx + 6]
or byte [rdi + 0x47], 0x80
cmp word [rbx], 0x70
jne 0x1401e2dfd
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
jmp 0x1401e2e05
lea rdx, [rbx + 2]
add rbx, 0x22
test rdx, rdx
je 0x1401e2eed
movzx eax, byte [rdx]
or byte [rdi + 0x28], al
movzx eax, byte [rdx + 1]
or byte [rdi + 0x29], al
movzx eax, byte [rdx + 2]
or byte [rdi + 0x2a], al
movzx eax, byte [rdx + 3]
or byte [rdi + 0x2b], al
movzx eax, byte [rdx + 4]
or byte [rdi + 0x2c], al
movzx eax, byte [rdx + 5]
or byte [rdi + 0x2d], al
movzx eax, byte [rdx + 6]
or byte [rdi + 0x2e], al
movzx eax, byte [rdx + 7]
or byte [rdi + 0x2f], al
movzx eax, byte [rdx + 8]
or byte [rdi + 0x30], al
movzx eax, byte [rdx + 9]
or byte [rdi + 0x31], al
movzx eax, byte [rdx + 0xa]
or byte [rdi + 0x32], al
movzx eax, byte [rdx + 0xb]
or byte [rdi + 0x33], al
movzx eax, byte [rdx + 0xc]
or byte [rdi + 0x34], al
movzx eax, byte [rdx + 0xd]
or byte [rdi + 0x35], al
movzx eax, byte [rdx + 0xe]
or byte [rdi + 0x36], al
movzx eax, byte [rdx + 0xf]
or byte [rdi + 0x37], al
movzx eax, byte [rdx + 0x10]
or byte [rdi + 0x38], al
movzx eax, byte [rdx + 0x11]
or byte [rdi + 0x39], al
movzx eax, byte [rdx + 0x12]
or byte [rdi + 0x3a], al
movzx eax, byte [rdx + 0x13]
or byte [rdi + 0x3b], al
movzx eax, byte [rdx + 0x14]
or byte [rdi + 0x3c], al
movzx eax, byte [rdx + 0x15]
or byte [rdi + 0x3d], al
movzx eax, byte [rdx + 0x16]
or byte [rdi + 0x3e], al
movzx eax, byte [rdx + 0x17]
or byte [rdi + 0x3f], al
movzx eax, byte [rdx + 0x18]
or byte [rdi + 0x40], al
movzx eax, byte [rdx + 0x19]
or byte [rdi + 0x41], al
movzx eax, byte [rdx + 0x1a]
or byte [rdi + 0x42], al
movzx eax, byte [rdx + 0x1b]
or byte [rdi + 0x43], al
movzx eax, byte [rdx + 0x1c]
or byte [rdi + 0x44], al
movzx eax, byte [rdx + 0x1d]
or byte [rdi + 0x45], al
movzx eax, byte [rdx + 0x1e]
or byte [rdi + 0x46], al
movzx eax, byte [rdx + 0x1f]
or byte [rdi + 0x47], al
movzx eax, word [rbx]
add eax, 0xffffff9e
cmp eax, 0xb
ja case.0x1401e2f09.100
cdqe
mov ecx, dword [r13 + rax*4 + 0x1e320c]
add rcx, r13
jmp rcx
cmp word [rbx + 2], 0
jne case.0x1401e2f09.100
add rbx, 6
jmp 0x1401e2b80
cmp word [rbx + 2], 0xa
jne case.0x1401e2d38.12
movzx eax, word ds:[rbx + 4]
lea r8, [r13 + 0x248340]
mov edx, dword [r8 + rax*4]
lea r8, [r8 + rax*4]
cmp edx, 0xffffffff
jae case.0x1401e2f09.100
nop dword [rax]
lea r8, [r8 + 4]
cmp edx, 0xff
jbe 0x1401e2f62
or byte [rdi + 0x47], 0x80
jmp 0x1401e2f77
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 0x1401e2f50
nop
jmp case.0x1401e2f09.100
mov r12d, 2
jmp case.0x1401e2f09.100
add rbx, 2
movzx edx, word ds:[rbx + 2]
cmp edx, 0xff
jbe 0x1401e2fb1
or byte [rdi + 0x47], 0x80
jmp case.0x1401e2f09.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.0x1401e2f09.100
add rbx, 2
lea rdx, [rbx + 2]
mov dword [rsp + 0x20], ebp
mov r9d, esi
mov r8d, 1
mov rcx, rdi
call fcn.1401e2580
jmp case.0x1401e2f09.100
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
jmp case.0x1401e2f09.100
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
jmp case.0x1401e2f09.100
mov edx, 0x40
mov rcx, rdi
call fcn.1401e28c0
jmp case.0x1401e2f09.100
mov edx, 0x40
jmp case.0x1401e2ba4.3
mov edx, 0xa0
mov rcx, rdi
call fcn.1401e28c0
jmp case.0x1401e2f09.100
mov edx, 0xa0
mov rcx, rdi
call fcn.1401e26f0
movzx eax, word [r14 + 2]
cmp word [r14 + rax*2], 0x78
lea r14, [r14 + rax*2]
jne 0x1401e3069
lea rbx, ds:[r14 + 4]
mov ecx, 0x8d
mov edx, 0x89
mov r8d, 0x8e
jmp 0x1401e2b58
mov eax, ecx
jmp 0x1401e307e
mov eax, r12d
jmp 0x1401e307e
xor eax, eax
jmp 0x1401e307e
mov eax, 2
jmp 0x1401e307e
mov eax, 3
mov r12, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret