Function at 0x510ca0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x510f11
sub esp, 0x5c
mov ebx, dword [esp + 0x60]
mov ebp, dword [ebx + 8]
test ebp, ebp
je 0x510f0b
mov eax, dword [esp + 0x74]
cdq
idiv ebp
test edx, edx
jne 0x510ef3
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x74]
cmp eax, ebp
jl 0x510edb
test ebp, ebp
jne 0x510cf3
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
jmp 0x510d20
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
cmp esi, edi
je 0x510d20
mov ecx, esi
lea edx, [edi + ebp - 1]
nop
cmp edx, esi
jb 0x510d1e
lea edx, [ecx + ebp - 1]
cmp edx, edi
jae 0x510ec3
mov esi, ecx
mov edi, dword [esp + 0x70]
jmp 0x510d20
mov esi, ecx
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x3c]
jmp 0x510d8a
sub edx, ecx
mov dword [esp + 0x4c], edx
neg edx
sar edx, 0x1f
and edx, ecx
sub edi, ecx
mov eax, dword [esp + 0x58]
add edx, eax
mov eax, edi
mov edi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x58]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x4c], esi
mov esi, edx
mov edx, ebx
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x2c]
test ebp, ebp
je 0x510e6d
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x60]
mov ebp, dword [eax + 8]
mov eax, dword [esp + 0x28]
cmp eax, ebp
jb 0x510eba
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x4c]
cmp ebx, ebp
jb 0x510eb1
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], edi
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
call sym.crypto_subtle.XORBytes
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x28]
cmp edx, ecx
jb 0x510eac
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
mov ebx, dword [ebx + 0x18]
mov dword [esp], ebp
mov ebp, dword [esp + 0x58]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call ebx
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x28]
cmp edx, ecx
jb 0x510ea7
mov ebx, dword [esp + 0x48]
cmp ebx, ecx
jb 0x510e9e
mov ebp, dword [esp + 0x4c]
sub ebp, ecx
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
sub ebx, ecx
mov edi, dword [esp + 0x54]
add ebp, edi
mov edi, dword [esp + 0x44]
cmp edi, ecx
jae 0x510d4b
jmp 0x510e95
mov eax, dword [esp + 0x60]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jl 0x510e7a
mov ecx, edx
mov eax, dword [eax + 0xc]
cmp ebx, eax
je 0x510e91
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call sym.runtime.memmove
add esp, 0x5c
ret
mov eax, ecx
mov ecx, edi
call sym.runtime.panicSliceB
mov eax, ecx
mov ecx, ebx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceAcap
mov ecx, ebp
mov edx, ebx
call sym.runtime.panicSliceAcap
mov ecx, ebp
mov edx, eax
call sym.runtime.panicSliceAcap
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6a10]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6a08]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6a00]
mov dword [esp + 4], eax
call sym.runtime.gopanic
call sym.runtime.panicdivide
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_cipher._cbcEncrypter_.CryptBlocks