Function at 0x422240
Capabilities:
Run powershell expression

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x42254c
sub rsp, 0x48
mov qword [rsp + 0x40], rbp
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x60], rcx
lea rdx, [rcx - 1]
test rdx, rcx
jne 0x422510
test rcx, rcx
je 0x422510
cmp rcx, 0x40
ja 0x4224d5
nop dword [rax]
test rdi, rdi
jne 0x42228a
mov rdx, rcx
jmp 0x42229f
nop
lea rdx, [rcx + rdi]
lea rdx, [rdx - 1]
mov rsi, rcx
neg rcx
and rcx, rdx
mov rdx, rsi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rcx
shr rbx, 6
jmp 0x4222c6
mov rbx, qword [rsp + 0x20]
dec rbx
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x20], rbx
test rbx, rbx
jl 0x422312
test byte [rax], al
cmp rbx, 8
jae 0x4224c8
mov rcx, qword [rax + rbx*8]
or rcx, qword [rax + rbx*8 + 0x40]
mov rax, rcx
mov rbx, rdx
call fcn.00422080
cmp rax, 0xffffffffffffffff
je 0x4222af
mov rax, qword [rsp + 0x20]
test rax, rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x20]
jl 0x4223bd
test byte [rax], al
nop word [rax + rax]
cmp rbx, 8
jae 0x4224bb
mov rcx, qword [rax + rbx*8]
or rcx, qword [rax + rbx*8 + 0x40]
mov rax, rcx
mov rbx, rdx
call fcn.00422080
mov rcx, rax
not rax
bsr rdx, rax
mov rsi, 0xffffffffffffffff
cmove rdx, rsi
lea rdi, [rdx - 0x3f]
neg rdi
cmp rdi, 0x40
sbb rdi, rdi
mov r8, qword [rsp + 0x20]
mov r9, r8
shl r8, 6
lea r10, [rdx + r8]
lea r10, [r10 + 1]
lea r8, [rdx + r8]
lea r8, [r8 + 1]
lea r11, [rdx + 1]
neg r11
mov rax, rcx
mov rcx, r11
shl rax, cl
and rax, rdi
test rax, rax
je 0x4223a9
bsr rcx, rax
cmove rcx, rsi
add rcx, 0xffffffffffffffc1
neg rcx
jmp 0x42243c
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x30], r8
lea rcx, [rdx + 1]
lea rdx, [r9 - 1]
jmp 0x4223e8
xor eax, eax
mov rbx, rax
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
mov rdi, qword [rsp + 0x18]
dec rdi
mov rsi, 0xffffffffffffffff
mov r8, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
mov rdx, rdi
test rdx, rdx
jl 0x42243c
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x10], rcx
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + rdx*8]
or rax, qword [rcx + rdx*8 + 0x40]
mov rbx, qword [rsp + 0x60]
call fcn.00422080
bsr rcx, rax
mov rdx, 0xffffffffffffffff
cmove rcx, rdx
inc rcx
mov rsi, qword [rsp + 0x10]
sub rsi, rcx
lea rcx, [rsi + 0x40]
test rax, rax
je 0x4223cc
mov r8, qword [rsp + 0x30]
mov r10, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x38]
cmp rdx, rcx
mov rsi, rcx
cmovb rcx, rdx
mov rdx, r8
sub r8, rcx
mov rdi, qword [0x0061c050]
nop dword [rax + rax]
cmp rdi, 0x2000
jbe 0x4224a8
cmp qword [0x0061c058], rdi
jae 0x4224a8
shr rdi, 0xd
nop
lea r9, [r8 + rdi]
lea r9, [r9 - 1]
neg rdi
and r9, rdi
cmp r10, r9
jb 0x4224a3
nop
sub rdx, rsi
and rdi, r8
cmp rdi, rdx
jb 0x42249e
sub r8, rdi
add rcx, r8
jmp 0x4224ab
mov rdi, r8
jmp 0x4224ab
mov rdi, r8
jmp 0x4224ab
mov rdi, r8
mov rax, rdi
mov rbx, rcx
mov rbp, qword [rsp + 0x40]
add rsp, 0x48
ret
mov rax, rbx
mov ecx, 8
call fcn.00461ce0
mov rax, rbx
mov ecx, 8
call fcn.00461ce0
call fcn.00437640
lea rax, [0x004f7e24]
mov ebx, 0xf
call fcn.00437f40
mov rax, qword [rsp + 0x60]
call fcn.00437c40
call fcn.004378a0
call fcn.004376c0
lea rax, [0x004f74e9]
mov ebx, 0xd
call fcn.00435d80
call fcn.00437640
lea rax, [0x004f7e24]
mov ebx, 0xf
call fcn.00437f40
mov rax, qword [rsp + 0x60]
call fcn.00437c40
call fcn.004378a0
call fcn.004376c0
lea rax, [0x004fdc91]
mov ebx, 0x21
call fcn.00435d80
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0045f600
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00422240