Function at 0x4ada40
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x58]
cmp r12, qword [r14 + 0x10]
jbe 0x4adf79
push rbp
mov rbp, rsp
sub rsp, 0xd0
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x130], rsi
cmp qword [rax + 0x118], r8
jne 0x4adf65
mov rdx, qword [rsp + 0xe8]
movabs r10, 0xfffffffe0
cmp rdx, r10
ja 0x4adf50
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x118], rbx
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x70], xmm15
cmp r8, 0xc
jne 0x4adaf6
lea r8, [rsp + 0x80]
cmp rsi, r8
je 0x4adae9
mov r8, qword [rsi]
mov esi, dword [rsi + 8]
mov qword [rsp + 0x80], r8
mov dword [rsp + 0x88], esi
mov byte [rsp + 0x8f], 1
jmp 0x4adbb9
mov qword [rsp + 0x138], r8
lea rcx, [rax + 0x18]
mov qword [rsp + 0xc8], rcx
mov qword [rsp], rcx
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], r9
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x20], rdx
call sym.crypto_aes.gcmAesData.abi0
xorps xmm15, xmm15
mov r14, qword [0x005e0df0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0xc8]
mov qword [rsp], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 8], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], 0
call sym.crypto_aes.gcmAesFinish.abi0
xorps xmm15, xmm15
mov r14, qword [0x005e0df0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x128]
mov rsi, qword [rax + 8]
nop dword [rax]
test rsi, rsi
jbe 0x4adf46
mov rcx, qword [rax]
shr rsi, 2
lea rdx, [rsi - 1]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x10], rcx
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x18], rcx
call sym.crypto_aes.encryptBlockAsm.abi0
xorps xmm15, xmm15
mov r14, qword [0x005e0df0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
movups xmmword [rsp + 0x60], xmm15
mov rax, qword [rsp + 0x110]
lea rcx, [rax + 0x18]
mov qword [rsp + 0xc8], rcx
mov qword [rsp], rcx
mov rdx, qword [rsp + 0xf8]
mov qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x100]
mov qword [rsp + 0x10], rdx
mov rbx, qword [rsp + 0x108]
mov qword [rsp + 0x18], rbx
lea rbx, [rsp + 0x60]
mov qword [rsp + 0x20], rbx
call sym.crypto_aes.gcmAesData.abi0
xorps xmm15, xmm15
mov r14, qword [0x005e0df0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax + 0x120]
mov qword [rsp + 0xb0], rcx
mov rdx, qword [rsp + 0xe8]
lea rbx, [rdx + rcx]
mov qword [rsp + 0x98], rbx
mov rsi, qword [rsp + 0x120]
lea rdi, [rsi + rbx]
mov qword [rsp + 0x90], rdi
mov r8, qword [rsp + 0x128]
cmp r8, rdi
jl 0x4adcd0
nop dword [rax]
jb 0x4adf3b
mov r9, qword [rsp + 0x118]
jmp 0x4add20
lea rax, [0x004beee0]
mov rbx, rdi
mov rcx, rsi
mov rdi, qword [rsp + 0x118]
call sym.runtime.makeslicecopy
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x90]
mov r8, rdi
mov r9, rax
mov rax, qword [rsp + 0x110]
cmp rsi, rdi
ja 0x4adf30
mov r10, r8
sub r8, rsi
mov r11, r8
neg r8
sar r8, 0x3f
and rsi, r8
add rsi, r9
nop
cmp rdx, r11
ja 0x4adf25
test rdx, rdx
jne 0x4add58
mov r8, qword [rsp + 0xe0]
jmp 0x4adda0
mov r8, qword [rsp + 0xe0]
cmp r8, rsi
jne 0x4add6a
test rdx, rdx
jmp 0x4adda0
mov r12, rsi
lea r13, [r8 + rdx]
lea r13, [r13 - 1]
nop
cmp r13, rsi
jb 0x4add9a
mov rsi, r8
lea r13, [rdx + r12]
lea r13, [r13 - 1]
cmp r13, r8
jae 0x4adf11
test rdx, rdx
mov r8, rsi
mov rsi, r12
jmp 0x4adda0
test rdx, rdx
mov rsi, r12
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0xa0], r11
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xc0], r9
je 0x4ade48
mov rcx, qword [rax]
mov rdi, qword [rax + 8]
mov rax, qword [rax + 0x10]
mov r9, qword [rsp + 0xc8]
mov qword [rsp], r9
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r11
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], rdx
mov r8, qword [rsp + 0xf0]
mov qword [rsp + 0x30], r8
lea r8, [rsp + 0x80]
mov qword [rsp + 0x38], r8
lea r8, [rsp + 0x60]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rax
call sym.crypto_aes.gcmAesEnc.abi0
xorps xmm15, xmm15
mov r14, qword [0x005e0df0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xc8]
mov qword [rsp], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 8], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rdx
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x20], rcx
call sym.crypto_aes.gcmAesFinish.abi0
xorps xmm15, xmm15
mov r14, qword [0x005e0df0]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x98]
cmp rax, rcx
ja 0x4adf0c
mov rdx, qword [rsp + 0xa0]
mov rsi, rax
sub rax, rdx
sar rax, 0x3f
and rsi, rax
mov rdx, qword [rsp + 0xb8]
lea rax, [rdx + rsi]
mov rcx, qword [rsp + 0xb0]
cmp rcx, 0x10
mov edx, 0x10
cmovg rcx, rdx
lea rbx, [rsp + 0x60]
cmp rbx, rax
je 0x4adeeb
call sym.runtime.memmove
mov rax, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
add rsp, 0xd0
pop rbp
ret
call sym.runtime.panicSliceB
lea rax, [0x004bee60]
lea rbx, [0x00503180]
nop
call sym.runtime.gopanic
mov rcx, rdx
mov rdx, r11
call sym.runtime.panicSliceAcap
mov rax, rsi
mov rcx, rdi
call sym.runtime.panicSliceB
mov rcx, rdi
mov rdx, r8
call sym.runtime.panicSliceAcap
xor eax, eax
mov rcx, rax
call sym.runtime.panicIndex
lea rax, [0x004bee60]
lea rbx, [0x00503170]
nop
call sym.runtime.gopanic
lea rax, [0x004bee60]
lea rbx, [0x00503160]
call sym.runtime.gopanic
nop
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
nop dword [rax]
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
jmp sym.crypto_aes._gcmAsm_.Seal