Function at 0x14008b6d0
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xda8
mov rax, qword [0x1400db800]
xor rax, rsp
mov qword [rsp + 0xd90], rax
mov ebp, dword [rsp + 0xe18]
mov rdi, r9
mov qword [rsp + 0x80], r9
mov rbx, r8
mov r9d, dword [rsp + 0xe10]
mov r14, rdx
mov qword [rsp + 0x70], rbx
mov r13, rcx
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rcx
cmp ebp, 4
jl 0x14008b750
mov ecx, 2
call fcn.1400a2a10
mov rcx, rax
lea rdx, str.________main_sort_initialise_..._n
call fcn.140005b40
mov r9d, dword [rsp + 0x40]
mov eax, 0x10000
xor r12d, r12d
nop dword [rax + rax]
mov dword [rdi + rax*4], r12d
sub rax, 1
jns 0x14008b760
movzx edx, byte [r14]
lea r15d, [r9 - 1]
movsxd r11, r15d
shl edx, 8
mov rsi, r11
mov dword [rsp + 0x50], r15d
cmp r11, 3
jl 0x14008b823
lea r10, [r11 + 1]
shr r10, 2
lea r8, [r14 - 1]
add r8, r11
lea r9, [rbx - 4]
mov eax, r10d
lea r9, [r9 + r11*2]
neg eax
lea r11d, [r11 + rax*4]
nop word [rax + rax]
mov word [r9 + 4], r12w
lea r9, [r9 - 8]
movzx ecx, byte [r8 + 1]
lea r8, [r8 - 4]
sar edx, 8
shl ecx, 8
or ecx, edx
movsxd rax, ecx
sar ecx, 8
inc dword [rdi + rax*4]
mov word [r9 + 0xa], r12w
movzx edx, byte [r8 + 4]
shl edx, 8
or edx, ecx
movsxd rax, edx
sar edx, 8
inc dword [rdi + rax*4]
mov word [r9 + 8], r12w
movzx ecx, byte [r8 + 3]
shl ecx, 8
or ecx, edx
movsxd rax, ecx
sar ecx, 8
inc dword [rdi + rax*4]
mov word [r9 + 6], r12w
movzx edx, byte [r8 + 2]
shl edx, 8
or edx, ecx
movsxd rax, edx
inc dword [rdi + rax*4]
sub r10, 1
jne 0x14008b7b0
mov r9d, dword [rsp + 0x40]
movsxd r8, r11d
test r11d, r11d
js 0x14008b852
nop dword [rax + rax]
mov eax, edx
mov word [rbx + r8*2], r12w
movzx ecx, byte [r8 + r14]
sar eax, 8
shl ecx, 8
mov edx, ecx
or edx, eax
movsxd rax, edx
inc dword [rdi + rax*4]
sub r8, 1
jns 0x14008b830
movzx eax, byte [r14]
movsxd rcx, r9d
mov byte [rcx + r14], al
mov word [rbx + rcx*2], r12w
movzx eax, byte [r14 + 1]
mov byte [rcx + r14 + 1], al
mov word [rbx + rcx*2 + 2], r12w
movzx eax, byte [r14 + 2]
mov byte [rcx + r14 + 2], al
mov word [rbx + rcx*2 + 4], r12w
movzx eax, byte [r14 + 3]
mov byte [rcx + r14 + 3], al
mov word [rbx + rcx*2 + 6], r12w
movzx eax, byte [r14 + 4]
mov byte [rcx + r14 + 4], al
mov word [rbx + rcx*2 + 8], r12w
movzx eax, byte [r14 + 5]
mov byte [rcx + r14 + 5], al
mov word [rbx + rcx*2 + 0xa], r12w
movzx eax, byte [r14 + 6]
mov byte [rcx + r14 + 6], al
mov word [rbx + rcx*2 + 0xc], r12w
movzx eax, byte [r14 + 7]
mov byte [rcx + r14 + 7], al
mov word [rbx + rcx*2 + 0xe], r12w
movzx eax, byte [r14 + 8]
mov byte [rcx + r14 + 8], al
mov word [rbx + rcx*2 + 0x10], r12w
movzx eax, byte [r14 + 9]
mov byte [rcx + r14 + 9], al
mov word [rbx + rcx*2 + 0x12], r12w
movzx eax, byte [r14 + 0xa]
mov byte [rcx + r14 + 0xa], al
mov word [rbx + rcx*2 + 0x14], r12w
movzx eax, byte [r14 + 0xb]
mov byte [rcx + r14 + 0xb], al
mov word [rbx + rcx*2 + 0x16], r12w
movzx eax, byte [r14 + 0xc]
mov byte [rcx + r14 + 0xc], al
mov word [rbx + rcx*2 + 0x18], r12w
movzx eax, byte [r14 + 0xd]
mov byte [rcx + r14 + 0xd], al
mov word [rbx + rcx*2 + 0x1a], r12w
movzx eax, byte [r14 + 0xe]
mov byte [rcx + r14 + 0xe], al
mov word [rbx + rcx*2 + 0x1c], r12w
movzx eax, byte [r14 + 0xf]
mov byte [rcx + r14 + 0xf], al
mov word [rbx + rcx*2 + 0x1e], r12w
movzx eax, byte [r14 + 0x10]
mov byte [rcx + r14 + 0x10], al
mov word [rbx + rcx*2 + 0x20], r12w
movzx eax, byte [r14 + 0x11]
mov byte [rcx + r14 + 0x11], al
mov word [rbx + rcx*2 + 0x22], r12w
movzx eax, byte [r14 + 0x12]
mov byte [rcx + r14 + 0x12], al
mov word [rbx + rcx*2 + 0x24], r12w
movzx eax, byte [r14 + 0x13]
mov byte [rcx + r14 + 0x13], al
mov word [rbx + rcx*2 + 0x26], r12w
movzx eax, byte [r14 + 0x14]
mov byte [rcx + r14 + 0x14], al
mov word [rbx + rcx*2 + 0x28], r12w
movzx eax, byte [r14 + 0x15]
mov byte [rcx + r14 + 0x15], al
mov word [rbx + rcx*2 + 0x2a], r12w
movzx eax, byte [r14 + 0x16]
mov byte [rcx + r14 + 0x16], al
mov word [rbx + rcx*2 + 0x2c], r12w
movzx eax, byte [r14 + 0x17]
mov byte [rcx + r14 + 0x17], al
mov word [rbx + rcx*2 + 0x2e], r12w
movzx eax, byte [r14 + 0x18]
mov byte [rcx + r14 + 0x18], al
mov word [rbx + rcx*2 + 0x30], r12w
movzx eax, byte [r14 + 0x19]
mov byte [rcx + r14 + 0x19], al
mov word [rbx + rcx*2 + 0x32], r12w
movzx eax, byte [r14 + 0x1a]
mov byte [rcx + r14 + 0x1a], al
mov word [rbx + rcx*2 + 0x34], r12w
movzx eax, byte [r14 + 0x1b]
mov byte [rcx + r14 + 0x1b], al
mov word [rbx + rcx*2 + 0x36], r12w
movzx eax, byte [r14 + 0x1c]
mov byte [rcx + r14 + 0x1c], al
mov word [rbx + rcx*2 + 0x38], r12w
movzx eax, byte [r14 + 0x1d]
mov byte [rcx + r14 + 0x1d], al
mov word [rbx + rcx*2 + 0x3a], r12w
movzx eax, byte [r14 + 0x1e]
mov byte [rcx + r14 + 0x1e], al
mov word [rbx + rcx*2 + 0x3c], r12w
movzx eax, byte [r14 + 0x1f]
mov byte [rcx + r14 + 0x1f], al
mov word [rbx + rcx*2 + 0x3e], r12w
movzx eax, byte [r14 + 0x20]
mov byte [rcx + r14 + 0x20], al
mov word [rbx + rcx*2 + 0x40], r12w
movzx eax, byte [r14 + 0x21]
mov byte [rcx + r14 + 0x21], al
mov word [rbx + rcx*2 + 0x42], r12w
cmp ebp, 4
jl 0x14008ba90
mov ecx, 2
call fcn.1400a2a10
mov rcx, rax
lea rdx, str.________bucket_sorting_..._n
call fcn.140005b40
lea rcx, [rdi + 8]
mov edx, 0x4000
nop dword [rax]
mov eax, dword [rcx - 8]
add dword [rcx - 4], eax
mov eax, dword [rcx - 4]
add dword [rcx], eax
mov eax, dword [rcx]
add dword [rcx + 4], eax
mov eax, dword [rcx + 4]
add dword [rcx + 8], eax
lea rcx, [rcx + 0x10]
sub rdx, 1
jne 0x14008baa0
movzx r9d, byte [r14]
mov r10d, r15d
shl r9w, 8
cmp r15d, 3
jl 0x14008bba0
lea r11, [r14 - 1]
add r11, rsi
lea ebx, [r15 - 2]
movzx r8d, byte [r11 + 1]
lea r11, [r11 - 4]
shr r9w, 8
shl r8w, 8
or r8w, r9w
movzx eax, r8w
movsxd rdx, dword [rdi + rax*4]
lea rcx, [rdi + rax*4]
shr r8w, 8
lea eax, [rdx - 1]
mov dword [rcx], eax
mov dword [r13 + rdx*4 - 4], r10d
sub r10d, 4
movzx r9d, byte [r11 + 4]
shl r9w, 8
or r9w, r8w
movzx eax, r9w
movsxd rdx, dword [rdi + rax*4]
lea rcx, [rdi + rax*4]
shr r9w, 8
lea eax, [rdx - 1]
mov dword [rcx], eax
lea ecx, [rbx + 1]
mov dword [r13 + rdx*4 - 4], ecx
movzx r8d, byte [r11 + 3]
shl r8w, 8
or r8w, r9w
movzx eax, r8w
movsxd rdx, dword [rdi + rax*4]
lea rcx, [rdi + rax*4]
shr r8w, 8
lea eax, [rdx - 1]
mov dword [rcx], eax
mov dword [r13 + rdx*4 - 4], ebx
movzx r9d, byte [r11 + 2]
shl r9w, 8
or r9w, r8w
movzx eax, r9w
movsxd rdx, dword [rdi + rax*4]
lea rcx, [rdi + rax*4]
lea eax, [rdx - 1]
mov dword [rcx], eax
lea ecx, [rbx - 1]
sub ebx, 4
mov dword [r13 + rdx*4 - 4], ecx
cmp r10d, 3
jge 0x14008bae1
test r10d, r10d
js 0x14008bbe8
movsxd r8, r10d
add r8, r14
nop dword [rax + rax]
movzx ecx, byte [r8]
lea r8, [r8 - 1]
movzx eax, r9w
shl cx, 8
shr ax, 8
movzx r9d, cx
or r9w, ax
movzx eax, r9w
movsxd rdx, dword [rdi + rax*4]
lea rcx, [rdi + rax*4]
lea eax, [rdx - 1]
mov dword [rcx], eax
mov dword [r13 + rdx*4 - 4], r10d
sub r10d, 1
jns 0x14008bbb0
mov ecx, r12d
mov rax, r12
nop
cmp rax, 0x100
jae 0x14008c16e
mov dword [rsp + rax*4 + 0x90], ecx
inc ecx
mov byte [rsp + rax + 0xc90], r12b
inc rax
cmp ecx, 0xff
jle 0x14008bbf0
mov r11d, 1
nop
lea r11d, [r11 + r11*2]
inc r11d
cmp r11d, 0x100
jle 0x14008bc20
mov eax, 0x55555556
imul r11d
mov r11d, edx
shr r11d, 0x1f
add r11d, edx
mov r15d, r11d
cmp r11d, 0xff
jg 0x14008bd1e
movsxd rbp, r11d
mov r14, rbp
nop dword [rax + rax]
mov r12d, dword [rsp + rbp*4 + 0x90]
mov r10d, r15d
mov eax, r12d
mov r9, rbp
shl eax, 8
movsxd rcx, eax
mov eax, r12d
shl eax, 8
cdqe
mov ebx, dword [rdi + rcx*4 + 0x400]
sub ebx, dword [rdi + rax*4]
mov rax, rbp
sub rax, r14
mov r8d, dword [rsp + rax*4 + 0x90]
mov ecx, r8d
shl ecx, 8
movsxd rdx, ecx
shl r8d, 8
movsxd rcx, r8d
mov edx, dword [rdi + rdx*4 + 0x400]
sub edx, dword [rdi + rcx*4]
cmp edx, ebx
jbe 0x14008bd03
lea esi, [r11 - 1]
nop dword [rax]
mov ecx, dword [rsp + rax*4 + 0x90]
sub r10d, r11d
mov dword [rsp + r9*4 + 0x90], ecx
mov r9, rax
cmp r10d, esi
jle 0x14008bd03
sub rax, r14
mov r8d, dword [rsp + rax*4 + 0x90]
mov ecx, r8d
shl ecx, 8
movsxd rdx, ecx
shl r8d, 8
movsxd rcx, r8d
mov edx, dword [rdi + rdx*4 + 0x400]
sub edx, dword [rdi + rcx*4]
cmp edx, ebx
ja 0x14008bcc0
inc r15d
mov dword [rsp + r9*4 + 0x90], r12d
inc rbp
cmp r15d, 0xff
jle 0x14008bc60
cmp r11d, 1
jne 0x14008bc30
xor ebp, ebp
xor r14d, r14d
mov dword [rsp + 0x44], ebp
mov qword [rsp + 0x78], r14
nop word [rax + rax]
movsxd rsi, dword [rsp + r14*4 + 0x90]
xor r14d, r14d
mov rbx, rsi
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x68], rbx
xor r12d, r12d
nop word [rax + rax]
cmp r14d, esi
je 0x14008be49
mov rax, rbx
shl rax, 8
add rax, r12
mov ebp, dword [rdi + rax*4]
lea r15, [rdi + rax*4]
bt ebp, 0x15
jb 0x14008be3e
mov esi, dword [r15 + 4]
btr ebp, 0x15
btr esi, 0x15
dec esi
cmp esi, ebp
jle 0x14008be3a
mov r13d, esi
sub r13d, ebp
cmp dword [rsp + 0xe18], 4
jl 0x14008bde0
mov ecx, 2
lea ebx, [r13 + 1]
call fcn.1400a2a10
mov r8d, dword [rsp + 0x48]
lea rdx, str.________qsort__0x_x__0x_x____done__d___this__d_n
mov rcx, rax
mov dword [rsp + 0x28], ebx
mov eax, dword [rsp + 0x44]
mov r9d, r14d
mov dword [rsp + 0x20], eax
call fcn.140005b40
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0xe20]
mov r9d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ebp
call fcn.14008ae50
mov ebp, dword [rsp + 0x44]
mov rax, qword [rsp + 0xe20]
inc ebp
add ebp, r13d
mov dword [rsp + 0x44], ebp
cmp dword [rax], 0
jl 0x14008c14a
mov esi, dword [rsp + 0x48]
jmp 0x14008be42
mov esi, dword [rsp + 0x48]
mov ebp, dword [rsp + 0x44]
or dword [r15], 0x200000
inc r14d
inc r12
cmp r14d, 0xff
jle 0x14008bd60
lea rax, [rsp + 0xc90]
add rax, rbx
mov qword [rsp + 0x68], rax
cmp byte [rax], 0
je 0x14008be7b
mov ecx, 0x3ee
call fcn.140070920
lea r11, [rbx*4]
xor ecx, ecx
lea rbx, [r11 + rdi]
mov rdx, rbx
nop dword [rax]
mov eax, dword [rdx]
lea rdx, [rdx + 0x400]
btr eax, 0x15
mov dword [rsp + rcx + 0x490], eax
mov eax, dword [rdx - 0x3fc]
btr eax, 0x15
dec eax
mov dword [rsp + rcx + 0x890], eax
add rcx, 4
cmp rcx, 0x3fc
jle 0x14008be90
mov r13, qword [rsp + 0x58]
lea r12, [rsp + 0x490]
mov ecx, dword [r12 + r11]
mov eax, esi
mov r14d, dword [rsp + 0x40]
mov r15, qword [rsp + 0x60]
shl eax, 8
cdqe
mov r8d, dword [rdi + rax*4]
lea rax, [rdi + rax*4]
btr r8d, 0x15
mov qword [rsp + 0x48], rax
cmp r8d, ecx
jge 0x14008bf5f
movsxd rax, r8d
lea r9, [rax*4]
add r9, r13
nop dword [rax + rax]
mov eax, dword [r9]
lea edx, [rax - 1]
test edx, edx
jns 0x14008bf20
lea edx, [r14 - 1]
add edx, eax
movsxd rax, edx
movzx r10d, byte [rax + r15]
cmp byte [rsp + r10 + 0xc90], 0
jne 0x14008bf4b
movsxd rcx, dword [rsp + r10*4 + 0x490]
lea eax, [rcx + 1]
mov dword [r13 + rcx*4], edx
mov dword [rsp + r10*4 + 0x490], eax
mov ecx, dword [rsp + r11 + 0x490]
inc r8d
add r9, 4
cmp r8d, ecx
jl 0x14008bf10
mov edx, dword [rsp + r11 + 0x890]
shl esi, 8
movsxd rax, esi
lea rsi, [rdi + rax*4]
mov r8d, dword [rsi + 0x400]
btr r8d, 0x15
dec r8d
cmp r8d, edx
jle 0x14008bfe6
movsxd rax, r8d
lea r9, [rax*4]
add r9, r13
mov eax, dword [r9]
lea edx, [rax - 1]
test edx, edx
jns 0x14008bfa3
lea edx, [rax - 1]
add edx, r14d
movsxd rax, edx
movzx r10d, byte [rax + r15]
cmp byte [rsp + r10 + 0xc90], 0
jne 0x14008bfce
movsxd rcx, dword [rsp + r10*4 + 0x890]
lea eax, [rcx - 1]
mov dword [r13 + rcx*4], edx
mov dword [rsp + r10*4 + 0x890], eax
mov edx, dword [rsp + r11 + 0x890]
dec r8d
sub r9, 4
cmp r8d, edx
jg 0x14008bf93
mov ecx, dword [r12 + r11]
lea eax, [rcx - 1]
cmp eax, edx
je 0x14008c001
test ecx, ecx
jne 0x14008bff7
cmp edx, dword [rsp + 0x50]
je 0x14008c001
mov ecx, 0x3ef
call fcn.140070920
mov eax, 0x80
nop word [rax + rax]
or dword [rbx], 0x200000
or dword [rbx + 0x400], 0x200000
lea rbx, [rbx + 0x800]
sub rax, 1
jne 0x14008c010
mov rax, qword [rsp + 0x68]
mov r14, qword [rsp + 0x78]
mov byte [rax], 1
cmp r14, 0xff
jge 0x14008c100
mov rax, qword [rsp + 0x48]
xor r10d, r10d
mov edx, dword [rsi + 0x400]
btr edx, 0x15
mov r8d, dword [rax]
btr r8d, 0x15
sub edx, r8d
cmp edx, 0xfffe
jle 0x14008c081
nop dword [rax]
inc r10d
mov eax, edx
mov ecx, r10d
sar eax, cl
cmp eax, 0xfffe
jg 0x14008c070
lea ebx, [rdx - 1]
movsxd r9, ebx
test ebx, ebx
js 0x14008c0e9
mov edi, dword [rsp + 0x40]
mov rbp, qword [rsp + 0x70]
movsxd rcx, r8d
add rcx, r9
lea r11, [rcx*4]
add r11, r13
nop word [rax + rax]
movsxd rdx, dword [r11]
mov r8d, r9d
mov ecx, r10d
sar r8d, cl
mov word [rbp + rdx*2], r8w
cmp edx, 0x22
jge 0x14008c0d3
lea eax, [rdi + rdx]
movsxd rdx, eax
mov word [rbp + rdx*2], r8w
sub r11, 4
sub r9d, 1
jns 0x14008c0b0
mov rdi, qword [rsp + 0x80]
mov ebp, dword [rsp + 0x44]
mov ecx, r10d
sar ebx, cl
cmp ebx, 0xffff
jle 0x14008c100
mov ecx, 0x3ea
call fcn.140070920
inc r14
mov qword [rsp + 0x78], r14
cmp r14, 0xff
jle 0x14008bd40
cmp dword [rsp + 0xe18], 4
jl 0x14008c14a
mov ebx, dword [rsp + 0x40]
mov ecx, 2
sub ebx, ebp
call fcn.1400a2a10
mov r8d, dword [rsp + 0x40]
lea rdx, str._________d_pointers___d_sorted___d_scanned_n
mov rcx, rax
mov dword [rsp + 0x20], ebx
mov r9d, ebp
call fcn.140005b40
mov rcx, qword [rsp + 0xd90]
xor rcx, rsp
call fcn.140094850
add rsp, 0xda8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1400949a4
int3