Function at 0x41de20
Capabilities:
Access peb ldr_data

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x41e196
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x67], 0
je 0x41dff5
nop
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx]
mov rbx, qword [rax + 0x18]
mov rsi, rcx
xor edi, edi
jmp 0x41de77
mov r8, qword [rdx]
mov rdi, rcx
mov rcx, rdx
mov rdx, r8
test rdx, rdx
je 0x41de9c
mov rcx, qword [rdx + 0x18]
cmp rcx, rbx
jae 0x41de8a
mov rcx, rdx
jmp 0x41de6b
jbe 0x41e17c
lea rdi, [rdx + 8]
mov rcx, rdx
mov rdx, rdi
jmp 0x41de6b
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdi
lea rax, [0x007d76e0]
mov qword [rsp], rax
call sym.a.out.exe_runtime._fixalloc_.alloc
mov rax, qword [rsp + 8]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rcx + 0x18]
mov qword [rax + 0x18], rdx
mov rdx, qword gs:[0x28]
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x30]
mov ebx, dword [rdx + 0xf0]
mov esi, dword [rdx + 0xf4]
mov dword [rdx + 0xf0], esi
mov edi, ebx
shl ebx, 0x11
xor edi, ebx
mov ebx, esi
xor esi, edi
shr edi, 7
xor edi, esi
mov esi, ebx
shr ebx, 0x10
xor ebx, edi
mov dword [rdx + 0xf4], ebx
lea edx, [rsi + rbx]
mov dword [rax + 0x30], edx
mov qword [rax + 0x20], rcx
mov rdx, qword [rcx + 0x20]
mov qword [rax + 0x28], rdx
mov qword [rsp], rcx
call sym.a.out.exe_runtime._mspan_.treapFilter
mov eax, dword [rsp + 8]
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0x30]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x28]
mov qword [rax], rcx
mov rax, rcx
jmp 0x41df51
mov rcx, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
jne 0x41dfd3
xor edx, edx
test dl, dl
jne 0x41df4d
mov rcx, qword [rsp + 0x58]
jmp 0x41df77
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x58]
mov rax, rdx
mov rcx, rbx
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x41dfc9
mov ebx, dword [rax + 0x30]
cmp dword [rdx + 0x30], ebx
jbe 0x41dfc9
mov rbx, qword [rax + 0x20]
mov rsi, qword [rax + 0x18]
cmp qword [rbx + 0x18], rsi
jne 0x41e08d
cmp qword [rdx + 8], rax
je 0x41dfb9
cmp qword [rdx], rax
jne 0x41e074
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
call sym.a.out.exe_runtime._mTreap_.rotateLeft
jmp 0x41df67
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
call sym.a.out.exe_runtime._mTreap_.rotateRight
jmp 0x41df67
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov qword [rsp + 0x38], rcx
mov qword [rsp], rdx
call sym.a.out.exe_runtime._treapNode_.updateInvariants
movzx edx, byte [rsp + 8]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
jmp 0x41df5c
mov rdx, qword [sym.a.out.exe_runtime.physHugePageSize]
test rdx, rdx
jne 0x41e011
xor ecx, ecx
mov rdx, qword [rsp + 0x58]
add qword [rdx + 8], rcx
jmp 0x41de57
mov rbx, qword [rax + 0x20]
mov rsi, rdx
shr rdx, 0xd
cmp rbx, rdx
jb 0x41e001
nop
shl rbx, 0xd
mov rdx, qword [rax + 0x18]
add rbx, rdx
cmp rsi, 0x2000
jbe 0x41e06f
lea rdx, [rdx + rsi]
lea rdx, [rdx - 1]
dec rsi
not rsi
and rdx, rsi
and rsi, rbx
cmp rdx, rsi
jae 0x41e06b
mov rcx, qword [sym.a.out.exe_runtime.physHugePageShift]
cmp rcx, 0x40
sbb rbx, rbx
sub rsi, rdx
shr rsi, cl
and rsi, rbx
mov rcx, rsi
jmp 0x41e003
xor ecx, ecx
jmp 0x41e003
mov rsi, rbx
jmp 0x41e04a
lea rax, [0x00668e80]
mov qword [rsp], rax
mov qword [rsp + 8], 0x21
call sym.a.out.exe_runtime.throw
mov qword [rsp + 0x18], rsi
call sym.a.out.exe_runtime.printlock
lea rax, [0x00662daf]
mov qword [rsp], rax
mov qword [rsp + 8], 0x13
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0x40]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printpointer
lea rax, [0x0065f422]
mov qword [rsp], rax
mov qword [rsp + 8], 8
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0x18]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printuint
call sym.a.out.exe_runtime.printnl
call sym.a.out.exe_runtime.printunlock
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x20], rax
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x10], rcx
call sym.a.out.exe_runtime.printlock
lea rax, [0x00664134]
mov qword [rsp], rax
mov qword [rsp + 8], 0x16
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0x20]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printpointer
lea rax, [0x0066163b]
mov qword [rsp], rax
mov qword [rsp + 8], 0x10
call sym.a.out.exe_runtime.printstring
mov rax, qword [rsp + 0x10]
mov qword [rsp], rax
call sym.a.out.exe_runtime.printuint
call sym.a.out.exe_runtime.printnl
call sym.a.out.exe_runtime.printunlock
lea rax, [0x0066c3de]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2f
call sym.a.out.exe_runtime.throw
lea rax, [0x006680dc]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1f
call sym.a.out.exe_runtime.throw
nop
call sym.a.out.exe_runtime.morestack_noctxt
jmp sym.a.out.exe_runtime._mTreap_.insert