Function at 0x1400cd0d0
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd98
mov rax, qword [0x14017e7c0]
xor rax, rsp
mov qword [rsp + 0xd80], rax
movsxd r13, dword [rsp + 0xe00]
mov rdi, r9
mov ebx, dword [rsp + 0xe08]
mov r10, rdx
mov dword [rsp + 0x48], r13d
mov r15, rcx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
cmp ebx, 4
jl 0x1400cd14a
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov rcx, rax
lea rdx, str.________main_sort_initialise_..._n
call fcn.1400c3670
mov r10, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
mov eax, 0x10000
xor r12d, r12d
mov dword [rdi + rax*4], r12d
sub rax, 1
jns 0x1400cd152
movzx edx, byte [r10]
lea r14d, [r13 - 1]
movsxd rsi, r14d
shl edx, 8
mov rbp, rsi
cmp rsi, 3
jl 0x1400cd215
lea rbx, [rsi + 1]
shr rbx, 2
lea r9, [rsi - 2]
lea r11, [rsi - 2]
mov eax, ebx
add r9, r10
lea r11, [r8 + r11*2]
neg eax
lea esi, [rsi + rax*4]
nop word [rax + rax]
mov word [r11 + 4], r12w
lea r11, [r11 - 8]
movzx ecx, byte [r9 + 2]
lea r9, [r9 - 4]
sar edx, 8
shl ecx, 8
or ecx, edx
movsxd rax, ecx
sar ecx, 8
inc dword [rdi + rax*4]
mov word [r11 + 0xa], r12w
movzx edx, byte [r9 + 5]
shl edx, 8
or edx, ecx
movsxd rax, edx
sar edx, 8
inc dword [rdi + rax*4]
mov word [r11 + 8], r12w
movzx ecx, byte [r9 + 4]
shl ecx, 8
or ecx, edx
movsxd rax, ecx
sar ecx, 8
inc dword [rdi + rax*4]
mov word [r11 + 6], r12w
movzx edx, byte [r9 + 3]
shl edx, 8
or edx, ecx
movsxd rax, edx
inc dword [rdi + rax*4]
sub rbx, 1
jne 0x1400cd1a0
mov ebx, dword [rsp + 0xe08]
movsxd r9, esi
test esi, esi
js 0x1400cd242
nop dword [rax]
mov eax, edx
mov word [r8 + r9*2], r12w
movzx ecx, byte [r10 + r9]
sar eax, 8
shl ecx, 8
mov edx, ecx
or edx, eax
movsxd rax, edx
inc dword [rdi + rax*4]
sub r9, 1
jns 0x1400cd220
movzx eax, byte [r10]
mov byte [r13 + r10], al
mov word [r8 + r13*2], r12w
movzx eax, byte [r10 + 1]
mov byte [r13 + r10 + 1], al
mov word [r8 + r13*2 + 2], r12w
movzx eax, byte [r10 + 2]
mov byte [r13 + r10 + 2], al
mov word [r8 + r13*2 + 4], r12w
movzx eax, byte [r10 + 3]
mov byte [r13 + r10 + 3], al
mov word [r8 + r13*2 + 6], r12w
movzx eax, byte [r10 + 4]
mov byte [r13 + r10 + 4], al
mov word [r8 + r13*2 + 8], r12w
movzx eax, byte [r10 + 5]
mov byte [r13 + r10 + 5], al
mov word [r8 + r13*2 + 0xa], r12w
movzx eax, byte [r10 + 6]
mov byte [r13 + r10 + 6], al
mov word [r8 + r13*2 + 0xc], r12w
movzx eax, byte [r10 + 7]
mov byte [r13 + r10 + 7], al
mov word [r8 + r13*2 + 0xe], r12w
movzx eax, byte [r10 + 8]
mov byte [r13 + r10 + 8], al
mov word [r8 + r13*2 + 0x10], r12w
movzx eax, byte [r10 + 9]
mov byte [r13 + r10 + 9], al
mov word [r8 + r13*2 + 0x12], r12w
movzx eax, byte [r10 + 0xa]
mov byte [r13 + r10 + 0xa], al
mov word [r8 + r13*2 + 0x14], r12w
movzx eax, byte [r10 + 0xb]
mov byte [r13 + r10 + 0xb], al
mov word [r8 + r13*2 + 0x16], r12w
movzx eax, byte [r10 + 0xc]
mov byte [r13 + r10 + 0xc], al
mov word [r8 + r13*2 + 0x18], r12w
movzx eax, byte [r10 + 0xd]
mov byte [r13 + r10 + 0xd], al
mov word [r8 + r13*2 + 0x1a], r12w
movzx eax, byte [r10 + 0xe]
mov byte [r13 + r10 + 0xe], al
mov word [r8 + r13*2 + 0x1c], r12w
movzx eax, byte [r10 + 0xf]
mov byte [r10 + r13 + 0xf], al
mov word [r8 + r13*2 + 0x1e], r12w
movzx eax, byte [r10 + 0x10]
mov byte [r10 + r13 + 0x10], al
mov word [r8 + r13*2 + 0x20], r12w
movzx eax, byte [r10 + 0x11]
mov byte [r10 + r13 + 0x11], al
mov word [r8 + r13*2 + 0x22], r12w
movzx eax, byte [r10 + 0x12]
mov byte [r10 + r13 + 0x12], al
mov word [r8 + r13*2 + 0x24], r12w
movzx eax, byte [r10 + 0x13]
mov byte [r10 + r13 + 0x13], al
mov word [r8 + r13*2 + 0x26], r12w
movzx eax, byte [r10 + 0x14]
mov byte [r10 + r13 + 0x14], al
mov word [r8 + r13*2 + 0x28], r12w
movzx eax, byte [r10 + 0x15]
mov byte [r10 + r13 + 0x15], al
mov word [r8 + r13*2 + 0x2a], r12w
movzx eax, byte [r10 + 0x16]
mov byte [r10 + r13 + 0x16], al
mov word [r8 + r13*2 + 0x2c], r12w
movzx eax, byte [r10 + 0x17]
mov byte [r10 + r13 + 0x17], al
mov word [r8 + r13*2 + 0x2e], r12w
movzx eax, byte [r10 + 0x18]
mov byte [r10 + r13 + 0x18], al
mov word [r8 + r13*2 + 0x30], r12w
movzx eax, byte [r10 + 0x19]
mov byte [r10 + r13 + 0x19], al
mov word [r8 + r13*2 + 0x32], r12w
movzx eax, byte [r10 + 0x1a]
mov byte [r10 + r13 + 0x1a], al
mov word [r8 + r13*2 + 0x34], r12w
movzx eax, byte [r10 + 0x1b]
mov byte [r10 + r13 + 0x1b], al
mov word [r8 + r13*2 + 0x36], r12w
movzx eax, byte [r10 + 0x1c]
mov byte [r10 + r13 + 0x1c], al
mov word [r8 + r13*2 + 0x38], r12w
movzx eax, byte [r10 + 0x1d]
mov byte [r10 + r13 + 0x1d], al
mov word [r8 + r13*2 + 0x3a], r12w
movzx eax, byte [r10 + 0x1e]
mov byte [r10 + r13 + 0x1e], al
mov word [r8 + r13*2 + 0x3c], r12w
movzx eax, byte [r10 + 0x1f]
mov byte [r10 + r13 + 0x1f], al
mov word [r8 + r13*2 + 0x3e], r12w
movzx eax, byte [r10 + 0x20]
mov byte [r10 + r13 + 0x20], al
mov word [r8 + r13*2 + 0x40], r12w
movzx eax, byte [r10 + 0x21]
mov byte [r10 + r13 + 0x21], al
mov word [r8 + r13*2 + 0x42], r12w
cmp ebx, 4
jl 0x1400cd483
mov ecx, 2
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov rcx, rax
lea rdx, str.________bucket_sorting_..._n
call fcn.1400c3670
mov r10, qword [rsp + 0x50]
lea r8, [rdi + 8]
mov r9d, 0x4000
nop dword [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 r9, 1
jne 0x1400cd490
movzx r8d, byte [r10]
mov r9d, r14d
shl r8w, 8
cmp r14d, 3
jl 0x1400cd582
lea r11, [rbp - 2]
movzx esi, r8w
add r11, r10
lea ebx, [r14 - 2]
nop
movzx edx, byte [r11 + 2]
lea r11, [r11 - 4]
movzx eax, dx
shr rsi, 8
shl ax, 8
movzx ecx, ax
or rcx, rsi
mov eax, dword [rdi + rcx*4]
dec eax
mov dword [rdi + rcx*4], eax
cdqe
mov dword [r15 + rax*4], r9d
sub r9d, 4
movzx r8d, byte [r11 + 5]
movzx eax, r8w
shl ax, 8
movzx ecx, ax
or rcx, rdx
mov eax, dword [rdi + rcx*4]
dec eax
mov dword [rdi + rcx*4], eax
movsxd rcx, eax
lea eax, [rbx + 1]
mov dword [r15 + rcx*4], eax
movzx edx, byte [r11 + 4]
movzx eax, dx
shl ax, 8
movzx ecx, ax
or rcx, r8
mov eax, dword [rdi + rcx*4]
dec eax
mov dword [rdi + rcx*4], eax
cdqe
mov dword [r15 + rax*4], ebx
movzx r8d, byte [r11 + 3]
shl r8w, 8
or r8w, dx
movzx esi, r8w
mov eax, dword [rdi + rsi*4]
dec eax
mov dword [rdi + rsi*4], eax
movsxd rcx, eax
lea eax, [rbx - 1]
sub ebx, 4
mov dword [r15 + rcx*4], eax
cmp r9d, 3
jge 0x1400cd4e0
test r9d, r9d
js 0x1400cd5c4
movsxd rdx, r9d
add rdx, r10
nop dword [rax]
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 [rdi + rax*4]
dec ecx
mov dword [rdi + rax*4], ecx
movsxd rax, ecx
mov dword [r15 + rax*4], r9d
sub r9d, 1
jns 0x1400cd590
mov ecx, r12d
mov rax, r12
nop word [rax + rax]
cmp rax, 0x100
jae 0x1400cdb09
mov dword [rsp + rax*4 + 0x80], ecx
inc ecx
mov byte [rsp + rax + 0xc80], r12b
inc rax
cmp ecx, 0xff
jle 0x1400cd5d0
mov r10d, 1
nop
lea r10d, [r10 + r10*2]
inc r10d
cmp r10d, 0x100
jle 0x1400cd600
mov eax, 0x55555556
imul r10d
mov r10d, edx
shr r10d, 0x1f
add r10d, edx
mov ebp, r10d
cmp r10d, 0xff
jg 0x1400cd6ea
movsxd rbx, r10d
mov r9, rbx
nop dword [rax + rax]
mov r14d, dword [rsp + rbx*4 + 0x80]
mov r8d, ebp
mov ecx, r14d
mov rax, rbx
shl ecx, 8
movsxd rdx, ecx
mov rcx, rbx
sub rcx, r9
mov r11d, dword [rdi + rdx*4 + 0x400]
sub r11d, dword [rdi + rdx*4]
mov edx, dword [rsp + rcx*4 + 0x80]
shl edx, 8
movsxd rcx, edx
mov edx, dword [rdi + rcx*4 + 0x400]
sub edx, dword [rdi + rcx*4]
cmp edx, r11d
jbe 0x1400cd6d1
lea esi, [r10 - 1]
nop dword [rax]
mov rdx, rax
sub r8d, r10d
sub rdx, r9
mov ecx, dword [rsp + rdx*4 + 0x80]
mov dword [rsp + rax*4 + 0x80], ecx
mov rax, rdx
cmp r8d, esi
jle 0x1400cd6d1
mov rcx, rdx
sub rcx, r9
mov edx, dword [rsp + rcx*4 + 0x80]
shl edx, 8
movsxd rcx, edx
mov edx, dword [rdi + rcx*4 + 0x400]
sub edx, dword [rdi + rcx*4]
cmp edx, r11d
ja 0x1400cd690
inc ebp
mov dword [rsp + rax*4 + 0x80], r14d
inc rbx
cmp ebp, 0xff
jle 0x1400cd640
cmp r10d, 1
jne 0x1400cd610
mov ebp, r12d
mov dword [rsp + 0x40], r12d
mov r14, r12
mov qword [rsp + 0x70], r12
nop dword [rax]
nop dword [rax + rax]
movsxd rsi, dword [rsp + r14*4 + 0x80]
mov r14d, r12d
mov rbx, rsi
mov dword [rsp + 0x44], esi
mov qword [rsp + 0x68], rbx
cmp r14d, esi
je 0x1400cd810
mov rax, rbx
shl rax, 8
add rax, r12
mov ebp, dword [rdi + rax*4]
lea r15, [rdi + rax*4]
bt ebp, 0x15
jb 0x1400cd805
mov esi, dword [r15 + 4]
btr ebp, 0x15
btr esi, 0x15
dec esi
cmp esi, ebp
jle 0x1400cd801
mov r13d, esi
sub r13d, ebp
cmp dword [rsp + 0xe08], 4
jl 0x1400cd7a7
mov ecx, 2
lea ebx, [r13 + 1]
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov r8d, dword [rsp + 0x44]
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 + 0x40]
mov r9d, r14d
mov dword [rsp + 0x20], eax
call fcn.1400c3670
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0xe10]
mov r9d, dword [rsp + 0x48]
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
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.1400cc850
mov ebp, dword [rsp + 0x40]
mov rax, qword [rsp + 0xe10]
inc ebp
add ebp, r13d
mov dword [rsp + 0x40], ebp
cmp dword [rax], 0
jl 0x1400cdae5
mov esi, dword [rsp + 0x44]
jmp 0x1400cd809
mov esi, dword [rsp + 0x44]
mov ebp, dword [rsp + 0x40]
or dword [r15], 0x200000
inc r14d
inc r12
cmp r14d, 0xff
jle 0x1400cd727
lea rax, [rsp + 0xc80]
add rax, rbx
mov qword [rsp + 0x68], rax
cmp byte [rax], 0
je 0x1400cd842
mov ecx, 0x3ee
call fcn.1400c32a0
lea r14, [rbx*4]
xor ecx, ecx
lea rbx, [r14 + rdi]
mov rdx, rbx
mov eax, dword [rdx]
lea rdx, [rdx + 0x400]
btr eax, 0x15
mov dword [rsp + rcx + 0x480], eax
mov eax, dword [rdx - 0x3fc]
btr eax, 0x15
dec eax
mov dword [rsp + rcx + 0x880], eax
add rcx, 4
cmp rcx, 0x3fc
jle 0x1400cd853
mov r15, qword [rsp + 0x58]
mov eax, esi
mov r13d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
shl eax, 8
cdqe
mov r8d, dword [rdi + rax*4]
lea r12, [rdi + rax*4]
btr r8d, 0x15
cmp r8d, dword [rsp + r14 + 0x480]
jge 0x1400cd90b
movsxd rax, r8d
lea r9, [r15 + rax*4]
nop dword [rax + rax]
mov eax, dword [r9]
lea edx, [rax - 1]
test edx, edx
jns 0x1400cd8d0
lea edx, [r13 - 1]
add edx, eax
movsxd rax, edx
movzx r10d, byte [rax + r11]
cmp byte [rsp + r10 + 0xc80], 0
jne 0x1400cd8fa
movsxd rcx, dword [rsp + r10*4 + 0x480]
lea eax, [rcx + 1]
mov dword [r15 + rcx*4], edx
mov dword [rsp + r10*4 + 0x480], eax
inc r8d
add r9, 4
cmp r8d, dword [rsp + r14 + 0x480]
jl 0x1400cd8c0
mov ecx, dword [rsp + r14 + 0x880]
shl esi, 8
movsxd rax, esi
lea rsi, [rdi + rax*4]
mov r8d, dword [rsi + 0x400]
btr r8d, 0x15
dec r8d
cmp r8d, ecx
jle 0x1400cd98e
movsxd rax, r8d
lea r9, [r15 + rax*4]
nop dword [rax + rax]
mov eax, dword [r9]
lea edx, [rax - 1]
test edx, edx
jns 0x1400cd950
lea edx, [r13 - 1]
add edx, eax
movsxd rax, edx
movzx r10d, byte [rax + r11]
cmp byte [rsp + r10 + 0xc80], 0
jne 0x1400cd97a
movsxd rcx, dword [rsp + r10*4 + 0x880]
lea eax, [rcx - 1]
mov dword [r15 + rcx*4], edx
mov dword [rsp + r10*4 + 0x880], eax
mov ecx, dword [rsp + r14 + 0x880]
dec r8d
sub r9, 4
cmp r8d, ecx
jg 0x1400cd940
mov edx, dword [rsp + r14 + 0x480]
lea eax, [rdx - 1]
cmp eax, ecx
je 0x1400cd9b3
test edx, edx
jne 0x1400cd9a9
lea eax, [r13 - 1]
cmp ecx, eax
je 0x1400cd9b3
mov ecx, 0x3ef
call fcn.1400c32a0
mov eax, 0x80
nop dword [rax + rax]
or dword [rbx], 0x200000
or dword [rbx + 0x400], 0x200000
lea rbx, [rbx + 0x800]
sub rax, 1
jne 0x1400cd9c0
mov rax, qword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
mov byte [rax], 1
cmp r14, 0xff
jge 0x1400cda9b
mov r8d, dword [r12]
xor r12d, r12d
mov edx, dword [rsi + 0x400]
btr r8d, 0x15
btr edx, 0x15
mov r10d, r12d
sub edx, r8d
cmp edx, 0xfffe
jle 0x1400cda31
nop dword [rax + rax]
inc r10d
mov eax, edx
mov ecx, r10d
sar eax, cl
cmp eax, 0xfffe
jg 0x1400cda20
lea ebx, [rdx - 1]
movsxd r9, ebx
test ebx, ebx
js 0x1400cda82
mov rbp, qword [rsp + 0x60]
movsxd rcx, r8d
add rcx, r9
lea r11, [r15 + rcx*4]
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 0x1400cda74
lea eax, [rdx + r13]
movsxd rdx, eax
mov word [rbp + rdx*2], r8w
sub r11, 4
sub r9d, 1
jns 0x1400cda50
mov ebp, dword [rsp + 0x40]
mov ecx, r10d
sar ebx, cl
cmp ebx, 0xffff
jle 0x1400cda9e
mov ecx, 0x3ea
call fcn.1400c32a0
jmp 0x1400cda9e
xor r12d, r12d
inc r14
mov qword [rsp + 0x70], r14
cmp r14, 0xff
jle 0x1400cd710
cmp dword [rsp + 0xe08], 4
jl 0x1400cdae5
mov ebx, r13d
mov ecx, 2
sub ebx, ebp
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov rcx, rax
mov dword [rsp + 0x20], ebx
mov r9d, ebp
lea rdx, str._________d_pointers___d_sorted___d_scanned_n
mov r8d, r13d
call fcn.1400c3670
mov rcx, qword [rsp + 0xd80]
xor rcx, rsp
call fcn.1401386b0
add rsp, 0xd98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.140138b60
int3