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

Disassembly:
mov ecx, dword [0x9364f0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x501d01
sub esp, 0x5c
mov ebx, dword [esp + 0x60]
mov ebp, dword [ebx + 8]
test ebp, ebp
je 0x501cfb
mov eax, dword [esp + 0x74]
cdq
idiv ebp
test edx, edx
jne 0x501ce3
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x74]
cmp eax, ebp
jl 0x501ccb
test ebp, ebp
jne 0x501ae3
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
jmp 0x501b10
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
cmp esi, edi
je 0x501b10
mov ecx, esi
lea edx, [edi + ebp - 1]
nop
cmp edx, esi
jb 0x501b0e
lea edx, [ecx + ebp - 1]
cmp edx, edi
jae 0x501cb3
mov esi, ecx
mov edi, dword [esp + 0x70]
jmp 0x501b10
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 0x501b7a
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 0x501c5d
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 0x501caa
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x4c]
cmp ebx, ebp
jb 0x501ca1
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 0x501c9c
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
mov ebx, dword [ebx + 0x14]
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 0x501c97
mov ebx, dword [esp + 0x48]
cmp ebx, ecx
jb 0x501c8e
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 0x501b3b
jmp 0x501c85
mov eax, dword [esp + 0x60]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jl 0x501c6a
mov ecx, edx
mov eax, dword [eax + 0xc]
cmp ebx, eax
je 0x501c81
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, [0x6bd7a0]
mov dword [esp], eax
lea eax, [0x771b70]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6bd7a0]
mov dword [esp], eax
lea eax, [0x771b68]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6bd7a0]
mov dword [esp], eax
lea eax, [0x771b60]
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