Function at 0x14003ef60
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0xd70
mov rax, qword [0x1400b8040]
xor rax, rsp
mov qword [rsp + 0xd50], rax
movsxd r15, dword [rsp + 0xdd0]
mov rbx, r9
mov qword [rsp + 0x40], r8
mov r13, rdx
mov r14, rcx
mov eax, 0x10000
xor ebp, ebp
mov dword [r9 + rax*4], ebp
sub rax, 1
jns 0x14003efa2
movzx edx, byte [rdx]
lea r9d, [r15 - 1]
movsxd r12, r9d
shl edx, 8
mov rsi, r12
mov qword [rsp + 0xd68], rdi
cmp r12, 3
jl 0x14003f05e
lea rdi, [r12 + 1]
shr rdi, 2
lea r10, [r13 - 2]
add r10, r12
lea r11, [r8 - 4]
mov eax, edi
lea r11, [r11 + r12*2]
neg eax
lea r12d, [r12 + rax*4]
nop
mov word [r11 + 4], bp
lea r11, [r11 - 8]
movzx ecx, byte [r10 + 2]
lea r10, [r10 - 4]
sar edx, 8
shl ecx, 8
or ecx, edx
movsxd rax, ecx
sar ecx, 8
inc dword [rbx + rax*4]
mov word [r11 + 0xa], bp
movzx edx, byte [r10 + 5]
shl edx, 8
or edx, ecx
movsxd rax, edx
sar edx, 8
inc dword [rbx + rax*4]
mov word [r11 + 8], bp
movzx ecx, byte [r10 + 4]
shl ecx, 8
or ecx, edx
movsxd rax, ecx
sar ecx, 8
inc dword [rbx + rax*4]
mov word [r11 + 6], bp
movzx edx, byte [r10 + 3]
shl edx, 8
or edx, ecx
movsxd rax, edx
inc dword [rbx + rax*4]
sub rdi, 1
jne 0x14003eff0
movsxd r10, r12d
test r12d, r12d
js 0x14003f092
nop word [rax + rax]
mov eax, edx
mov word [r8 + r10*2], bp
movzx ecx, byte [r10 + r13]
sar eax, 8
shl ecx, 8
mov edx, ecx
or edx, eax
movsxd rax, edx
inc dword [rbx + rax*4]
sub r10, 1
jns 0x14003f070
movzx eax, byte [r13]
mov byte [r15 + r13], al
mov word [r8 + r15*2], bp
movzx eax, byte [r13 + 1]
mov byte [r15 + r13 + 1], al
mov word [r8 + r15*2 + 2], bp
movzx eax, byte [r13 + 2]
mov byte [r15 + r13 + 2], al
mov word [r8 + r15*2 + 4], bp
movzx eax, byte [r13 + 3]
mov byte [r15 + r13 + 3], al
mov word [r8 + r15*2 + 6], bp
movzx eax, byte [r13 + 4]
mov byte [r15 + r13 + 4], al
mov word [r8 + r15*2 + 8], bp
movzx eax, byte [r13 + 5]
mov byte [r15 + r13 + 5], al
mov word [r8 + r15*2 + 0xa], bp
movzx eax, byte [r13 + 6]
mov byte [r15 + r13 + 6], al
mov word [r8 + r15*2 + 0xc], bp
movzx eax, byte [r13 + 7]
mov byte [r15 + r13 + 7], al
mov word [r8 + r15*2 + 0xe], bp
movzx eax, byte [r13 + 8]
mov byte [r15 + r13 + 8], al
mov word [r8 + r15*2 + 0x10], bp
movzx eax, byte [r13 + 9]
mov byte [r15 + r13 + 9], al
mov word [r8 + r15*2 + 0x12], bp
movzx eax, byte [r13 + 0xa]
mov byte [r15 + r13 + 0xa], al
mov word [r8 + r15*2 + 0x14], bp
movzx eax, byte [r13 + 0xb]
mov byte [r15 + r13 + 0xb], al
mov word [r8 + r15*2 + 0x16], bp
movzx eax, byte [r13 + 0xc]
mov byte [r15 + r13 + 0xc], al
mov word [r8 + r15*2 + 0x18], bp
movzx eax, byte [r13 + 0xd]
mov byte [r15 + r13 + 0xd], al
mov word [r8 + r15*2 + 0x1a], bp
movzx eax, byte [r13 + 0xe]
mov byte [r15 + r13 + 0xe], al
mov word [r8 + r15*2 + 0x1c], bp
movzx eax, byte [r13 + 0xf]
mov byte [r15 + r13 + 0xf], al
mov word [r8 + r15*2 + 0x1e], bp
movzx eax, byte [r13 + 0x10]
mov byte [r15 + r13 + 0x10], al
mov word [r8 + r15*2 + 0x20], bp
movzx eax, byte [r13 + 0x11]
mov byte [r15 + r13 + 0x11], al
mov word [r8 + r15*2 + 0x22], bp
movzx eax, byte [r13 + 0x12]
mov byte [r15 + r13 + 0x12], al
mov word [r8 + r15*2 + 0x24], bp
movzx eax, byte [r13 + 0x13]
mov byte [r15 + r13 + 0x13], al
mov word [r8 + r15*2 + 0x26], bp
movzx eax, byte [r13 + 0x14]
mov byte [r15 + r13 + 0x14], al
mov word [r8 + r15*2 + 0x28], bp
movzx eax, byte [r13 + 0x15]
mov byte [r15 + r13 + 0x15], al
mov word [r8 + r15*2 + 0x2a], bp
movzx eax, byte [r13 + 0x16]
mov byte [r15 + r13 + 0x16], al
mov word [r8 + r15*2 + 0x2c], bp
movzx eax, byte [r13 + 0x17]
mov byte [r15 + r13 + 0x17], al
mov word [r8 + r15*2 + 0x2e], bp
movzx eax, byte [r13 + 0x18]
mov byte [r15 + r13 + 0x18], al
mov word [r8 + r15*2 + 0x30], bp
movzx eax, byte [r13 + 0x19]
mov byte [r15 + r13 + 0x19], al
mov word [r8 + r15*2 + 0x32], bp
movzx eax, byte [r13 + 0x1a]
mov byte [r15 + r13 + 0x1a], al
mov word [r8 + r15*2 + 0x34], bp
movzx eax, byte [r13 + 0x1b]
mov r10d, 0x4000
mov byte [r15 + r13 + 0x1b], al
mov word [r8 + r15*2 + 0x36], bp
movzx eax, byte [r13 + 0x1c]
mov byte [r15 + r13 + 0x1c], al
mov word [r8 + r15*2 + 0x38], bp
movzx eax, byte [r13 + 0x1d]
mov byte [r15 + r13 + 0x1d], al
mov word [r8 + r15*2 + 0x3a], bp
movzx eax, byte [r13 + 0x1e]
mov byte [r15 + r13 + 0x1e], al
mov word [r8 + r15*2 + 0x3c], bp
movzx eax, byte [r13 + 0x1f]
mov byte [r15 + r13 + 0x1f], al
mov word [r8 + r15*2 + 0x3e], bp
movzx eax, byte [r13 + 0x20]
mov byte [r15 + r13 + 0x20], al
mov word [r8 + r15*2 + 0x40], bp
movzx eax, byte [r13 + 0x21]
mov byte [r15 + r13 + 0x21], al
mov word [r8 + r15*2 + 0x42], bp
lea r8, [rbx + 8]
nop word [rax + rax]
mov ecx, dword [r8 + 4]
mov eax, dword [r8 - 8]
add dword [r8 - 4], eax
mov edx, dword [r8 - 4]
add edx, dword [r8]
mov dword [r8], edx
lea r8, [r8 + 0x10]
add ecx, edx
add dword [r8 - 8], ecx
mov dword [r8 - 0xc], ecx
sub r10, 1
jne 0x14003f2c0
movzx r8d, byte [r13]
shl r8w, 8
cmp r9d, 3
jl 0x14003f3b5
lea r10, [r13 - 2]
movzx edi, r8w
add r10, rsi
lea r11d, [r9 - 2]
nop dword [rax]
movzx edx, byte [r10 + 2]
lea r10, [r10 - 4]
movzx eax, dx
shr rdi, 8
shl ax, 8
movzx ecx, ax
or rcx, rdi
mov eax, dword [rbx + rcx*4]
dec eax
mov dword [rbx + rcx*4], eax
cdqe
mov dword [r14 + rax*4], r9d
sub r9d, 4
movzx r8d, byte [r10 + 5]
movzx eax, r8w
shl ax, 8
movzx ecx, ax
or rcx, rdx
mov eax, dword [rbx + rcx*4]
dec eax
mov dword [rbx + rcx*4], eax
movsxd rcx, eax
lea eax, [r11 + 1]
mov dword [r14 + rcx*4], eax
movzx edx, byte [r10 + 4]
movzx eax, dx
shl ax, 8
movzx ecx, ax
or rcx, r8
mov eax, dword [rbx + rcx*4]
dec eax
mov dword [rbx + rcx*4], eax
cdqe
mov dword [r14 + rax*4], r11d
movzx r8d, byte [r10 + 3]
shl r8w, 8
or r8w, dx
movzx edi, r8w
mov eax, dword [rbx + rdi*4]
dec eax
mov dword [rbx + rdi*4], eax
movsxd rcx, eax
lea eax, [r11 - 1]
sub r11d, 4
mov dword [r14 + rcx*4], eax
cmp r9d, 3
jge 0x14003f310
test r9d, r9d
js 0x14003f3f4
movsxd rdx, r9d
add rdx, r13
movzx ecx, byte [rdx]
lea rdx, [rdx - 1]
shl cx, 8
movzx eax, r8w
shr ax, 8
movzx r8d, cx
or r8w, ax
movzx eax, r8w
mov ecx, dword [rbx + rax*4]
dec ecx
mov dword [rbx + rax*4], ecx
movsxd rax, ecx
mov dword [r14 + rax*4], r9d
sub r9d, 1
jns 0x14003f3c0
mov ecx, ebp
mov rax, rbp
nop dword [rax]
cmp rax, 0x100
jae 0x14003f7ec
mov dword [rsp + rax*4 + 0x50], ecx
inc ecx
mov byte [rsp + rax + 0xc50], bpl
inc rax
cmp ecx, 0xff
jle 0x14003f400
mov r10d, 1
nop dword [rax + rax]
lea r10d, [r10 + r10*2]
inc r10d
cmp r10d, 0x100
jle 0x14003f430
mov eax, 0x55555556
imul r10d
mov r10d, edx
shr r10d, 0x1f
add r10d, edx
mov ebp, r10d
cmp r10d, 0xff
jg 0x14003f501
movsxd rdi, r10d
mov r9, rdi
nop dword [rax + rax]
mov r12d, dword [rsp + rdi*4 + 0x50]
mov r8d, ebp
mov ecx, r12d
mov rax, rdi
shl ecx, 8
movsxd rdx, ecx
mov rcx, rdi
sub rcx, r9
mov r11d, dword [rbx + rdx*4 + 0x400]
sub r11d, dword [rbx + rdx*4]
mov edx, dword [rsp + rcx*4 + 0x50]
shl edx, 8
movsxd rcx, edx
mov edx, dword [rbx + rcx*4 + 0x400]
sub edx, dword [rbx + rcx*4]
cmp edx, r11d
jbe 0x14003f4eb
lea esi, [r10 - 1]
mov rdx, rax
sub r8d, r10d
sub rdx, r9
mov ecx, dword [rsp + rdx*4 + 0x50]
mov dword [rsp + rax*4 + 0x50], ecx
mov rax, rdx
cmp r8d, esi
jle 0x14003f4eb
mov rcx, rdx
sub rcx, r9
mov edx, dword [rsp + rcx*4 + 0x50]
shl edx, 8
movsxd rcx, edx
mov edx, dword [rbx + rcx*4 + 0x400]
sub edx, dword [rbx + rcx*4]
cmp edx, r11d
ja 0x14003f4b3
inc ebp
mov dword [rsp + rax*4 + 0x50], r12d
inc rdi
cmp ebp, 0xff
jle 0x14003f470
cmp r10d, 1
jne 0x14003f440
mov r12, qword [rsp + 0x40]
xor edi, edi
mov qword [rsp + 0x48], rdi
nop word [rax + rax]
movsxd rax, dword [rsp + rdi*4 + 0x50]
xor edi, edi
mov rbp, rax
nop word [rax + rax]
cmp rdi, rbp
je 0x14003f59a
mov rax, rbp
shl rax, 8
add rax, rdi
mov ecx, dword [rbx + rax*4]
lea rsi, [rbx + rax*4]
bt ecx, 0x15
jb 0x14003f594
mov eax, dword [rsi + 4]
btr ecx, 0x15
btr eax, 0x15
dec eax
cmp eax, ecx
jle 0x14003f594
mov rdx, qword [rsp + 0xde0]
mov r9d, r15d
mov qword [rsp + 0x38], rdx
mov r8, r12
mov dword [rsp + 0x28], eax
mov rdx, r13
mov dword [rsp + 0x20], ecx
mov rcx, r14
call fcn.14003eb40
mov rax, qword [rsp + 0xde0]
cmp dword [rax], 0
jl 0x14003f7c1
or dword [rsi], 0x200000
inc rdi
cmp rdi, 0xff
jle 0x14003f530
lea rdx, [rbx + rbp*4]
xor ecx, ecx
mov r8, rdx
nop
mov eax, dword [r8]
lea r8, [r8 + 0x400]
btr eax, 0x15
mov dword [rsp + rcx + 0x450], eax
mov eax, dword [r8 - 0x3fc]
btr eax, 0x15
dec eax
mov dword [rsp + rcx + 0x850], eax
add rcx, 4
cmp rcx, 0x3fc
jle 0x14003f5b0
mov eax, ebp
mov edi, ebp
shl eax, 8
cdqe
mov r9d, dword [rbx + rax*4]
lea rax, [rbx + rax*4]
btr r9d, 0x15
mov qword [rsp + 0x40], rax
cmp r9d, dword [rsp + rbp*4 + 0x450]
jge 0x14003f660
movsxd rax, r9d
lea r10, [r14 + rax*4]
mov eax, dword [r10]
lea r8d, [rax - 1]
test r8d, r8d
jns 0x14003f625
lea r8d, [r15 - 1]
add r8d, eax
movsxd rax, r8d
movzx r11d, byte [rax + r13]
cmp byte [rsp + r11 + 0xc50], 0
jne 0x14003f64f
movsxd rcx, dword [rsp + r11*4 + 0x450]
lea eax, [rcx + 1]
mov dword [r14 + rcx*4], r8d
mov dword [rsp + r11*4 + 0x450], eax
inc r9d
add r10, 4
cmp r9d, dword [rsp + rbp*4 + 0x450]
jl 0x14003f612
shl edi, 8
movsxd rax, edi
lea rsi, [rbx + rax*4]
mov r9d, dword [rsi + 0x400]
btr r9d, 0x15
dec r9d
cmp r9d, dword [rsp + rbp*4 + 0x850]
jle 0x14003f6de
movsxd rax, r9d
lea r10, [r14 + rax*4]
nop word [rax + rax]
mov eax, dword [r10]
lea r8d, [rax - 1]
test r8d, r8d
jns 0x14003f6a3
lea r8d, [r15 - 1]
add r8d, eax
movsxd rax, r8d
movzx r11d, byte [rax + r13]
cmp byte [rsp + r11 + 0xc50], 0
jne 0x14003f6cd
movsxd rcx, dword [rsp + r11*4 + 0x850]
lea eax, [rcx - 1]
mov dword [r14 + rcx*4], r8d
mov dword [rsp + r11*4 + 0x850], eax
dec r9d
sub r10, 4
cmp r9d, dword [rsp + rbp*4 + 0x850]
jg 0x14003f690
mov eax, 0x80
nop dword [rax]
nop word [rax + rax]
or dword [rdx], 0x200000
or dword [rdx + 0x400], 0x200000
lea rdx, [rdx + 0x800]
sub rax, 1
jne 0x14003f6f0
mov rdi, qword [rsp + 0x48]
mov byte [rsp + rbp + 0xc50], 1
cmp rdi, 0xff
jge 0x14003f7ac
mov rdx, qword [rsp + 0x40]
xor r9d, r9d
mov r8d, dword [rsi + 0x400]
btr r8d, 0x15
mov edx, dword [rdx]
btr edx, 0x15
sub r8d, edx
cmp r8d, 0xfffe
jle 0x14003f762
nop dword [rax]
inc r9d
mov eax, r8d
mov ecx, r9d
sar eax, cl
cmp eax, 0xfffe
jg 0x14003f750
sub r8d, 1
js 0x14003f7ac
movsxd rcx, r8d
movsxd rax, edx
add rcx, rax
lea r11, [r14 + rcx*4]
nop word [rax + rax]
movsxd r10, dword [r11]
mov edx, r8d
mov ecx, r9d
sar edx, cl
mov word [r12 + r10*2], dx
cmp r10d, 0x22
jge 0x14003f7a2
lea eax, [r15 + r10]
movsxd rcx, eax
mov word [r12 + rcx*2], dx
sub r11, 4
sub r8d, 1
jns 0x14003f780
inc rdi
mov qword [rsp + 0x48], rdi
cmp rdi, 0xff
jle 0x14003f520
mov rdi, qword [rsp + 0xd68]
mov rcx, qword [rsp + 0xd50]
xor rcx, rsp
call fcn.14003f810
add rsp, 0xd70
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret
call fcn.14003ff40
int3