Function at 0x490220
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x4906fd
push rbp
mov rbp, rsp
sub rsp, 0xe8
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x20], 0
movups xmmword [rsp + 0x60], xmm15
call sym.crypto_internal_boring.Unreachable
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0xf8]
test byte [rcx], al
mov rdx, qword [rsp + 0xf8]
test byte [rdx], al
mov rcx, qword [rcx + 0x68]
add rax, rcx
mov qword [rdx + 0x68], rax
mov rax, qword [rsp + 0xf8]
test byte [rax], al
cmp qword [rax + 0x60], 0
jg 0x4902b0
jmp 0x4904c2
mov rsi, qword [rsp + 0xf8]
test byte [rsi], al
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x38], rax
mov rsi, qword [rsp + 0xf8]
test byte [rsi], al
lea rdi, [rsi + 0x20]
test byte [rdi], al
cmp rax, 0x40
jbe 0x4902de
jmp 0x4906f2
lea rdi, [rax - 0x40]
mov r8, rdi
neg rdi
sar r8, 0x3f
and rax, r8
lea rsi, [rsi + rax]
lea rsi, [rsi + 0x20]
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rdi
mov rsi, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x100]
mov r8, qword [rsp + 0x110]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], r8
mov rdi, qword [rsp + 0x90]
mov qword [rsp + 0x58], rdi
nop
cmp rsi, rdi
jl 0x490367
jmp 0x49036e
mov qword [rsp + 0x58], rsi
jmp 0x490370
jmp 0x490370
mov rsi, qword [rsp + 0x88]
cmp qword [rsp + 0x70], rsi
jne 0x490382
nop
jmp 0x4903a2
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rcx
mov rbx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x88]
call sym.runtime.memmove
nop
jmp 0x4903a4
jmp 0x4903a4
mov rsi, qword [rsp + 0x58]
mov qword [rsp + 0x30], rsi
mov rdi, qword [rsp + 0xf8]
test byte [rdi], al
mov r8, qword [rsp + 0xf8]
test byte [r8], al
mov r8, qword [r8 + 0x60]
add rsi, r8
mov qword [rdi + 0x60], rsi
mov rsi, qword [rsp + 0xf8]
test byte [rsi], al
cmp qword [rsi + 0x60], 0x40
je 0x4903e5
nop
jmp 0x490465
mov rax, qword [rsp + 0xf8]
test byte [rax], al
add rax, 0x20
test byte [rax], al
jmp 0x4903f7
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 0x40
mov qword [rsp + 0xb0], 0x40
mov rcx, qword [rsp + 0xf8]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x40
mov qword [rsp + 0x18], 0x40
call sym.crypto_sha256.block.abi0
xorps xmm15, xmm15
mov r14, qword [0x007c3ef8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0xf8]
test byte [rax], al
mov qword [rax + 0x60], 0
jmp 0x490467
jmp 0x490467
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x110]
jmp 0x490486
cmp rax, rcx
jbe 0x490490
jmp 0x4906ed
sub rdi, rax
sub rcx, rax
mov r8, rdi
neg rdi
sar rdi, 0x3f
and rax, rdi
add rsi, rax
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], r8
nop
jmp 0x4904c4
jmp 0x4904c4
mov rsi, qword [rsp + 0x108]
mov qword [rsp + 0x38], rsi
cmp rsi, 0x40
jge 0x4904dc
jmp 0x4905b5
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x38], rcx
and rcx, 0xffffffffffffffc0
mov qword [rsp + 0x28], rcx
mov rdx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x100]
cmp rdx, rcx
jae 0x49050c
jmp 0x4906e8
jmp 0x49050e
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rsp + 0xf8]
mov qword [rsp], rbx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
call sym.crypto_sha256.block.abi0
xorps xmm15, xmm15
mov r14, qword [0x007c3ef8]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x110]
jmp 0x490577
cmp rcx, rax
jae 0x490585
nop dword [rax]
jmp 0x4906e3
sub rbx, rax
sub rcx, rax
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and rax, rbx
add rdx, rax
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rsi
jmp 0x4905b7
jmp 0x4905b7
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x38], rdx
test rdx, rdx
jne 0x4905ce
jmp 0x4906c9
mov rdx, qword [rsp + 0xf8]
test byte [rdx], al
add rdx, 0x20
test byte [rdx], al
nop
jmp 0x4905e2
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], 0x40
mov qword [rsp + 0xb0], 0x40
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], 0x40
mov qword [rsp + 0xe0], 0x40
mov rdx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x110]
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rdi
mov rsi, qword [rsp + 0xd8]
mov qword [rsp + 0x48], rsi
nop
cmp rsi, rdx
jg 0x490667
jmp 0x49066e
mov qword [rsp + 0x48], rdx
jmp 0x490670
jmp 0x490670
mov rdx, qword [rsp + 0xd0]
nop dword [rax + rax]
cmp qword [rsp + 0xb8], rdx
jne 0x49068c
jmp 0x4906ad
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x40], rcx
mov rbx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xd0]
call sym.runtime.memmove
jmp 0x4906af
jmp 0x4906af
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x38], rdx
mov rsi, qword [rsp + 0xf8]
test byte [rsi], al
mov qword [rsi + 0x60], rdx
jmp 0x4906cb
jmp 0x4906cb
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
add rsp, 0xe8
pop rbp
ret
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceB
mov ecx, 0x40
call sym.runtime.panicSliceB
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp sym.crypto_sha256._digest_.Write