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

Disassembly:
mov ecx, dword [0x8d0454]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5200db
sub esp, 0x5c
mov ebx, dword [esp + 0x60]
mov ebp, dword [ebx + 8]
test ebp, ebp
je 0x5200d5
mov eax, dword [esp + 0x74]
cdq
idiv ebp
test edx, edx
jne 0x5200bd
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x74]
cmp eax, ebp
jl 0x5200a5
test ebp, ebp
jne 0x51fec3
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
jmp 0x51fef0
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x70]
cmp esi, edi
je 0x51fef0
mov ecx, esi
lea edx, [edi + ebp - 1]
nop
cmp edx, esi
jb 0x51feee
lea edx, [ecx + ebp - 1]
cmp edx, edi
jae 0x52008d
mov esi, ecx
mov edi, dword [esp + 0x70]
jmp 0x51fef0
mov esi, ecx
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
jmp 0x51ff54
sub edx, ecx
mov dword [esp + 0x38], edx
neg edx
sar edx, 0x1f
and edx, ecx
sub edi, ecx
mov eax, dword [esp + 0x54]
add edx, eax
mov eax, edi
mov edi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x54]
mov esi, edx
mov edx, dword [esp + 0x3c]
test ebp, ebp
je 0x520037
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x60]
mov ebp, dword [eax + 8]
mov eax, dword [esp + 0x28]
cmp eax, ebp
jb 0x520084
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x38]
cmp ebx, ebp
jb 0x52007b
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], esi
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 dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
call sym.crypto_subtle.XORBytes
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x28]
cmp edx, ecx
jb 0x520076
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
mov ebx, dword [ebx + 0x18]
mov dword [esp], ebp
mov ebp, dword [esp + 0x54]
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 0x520071
mov ebx, dword [esp + 0x34]
cmp ebx, ecx
jb 0x520068
mov ebp, dword [esp + 0x38]
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 + 0x58]
add ebp, edi
mov edi, dword [esp + 0x30]
cmp edi, ecx
jae 0x51ff1b
jmp 0x52005f
mov eax, dword [esp + 0x60]
mov ebx, dword [eax + 0x10]
cmp edx, ebx
jl 0x520044
mov edx, ebx
mov eax, dword [eax + 0xc]
cmp ecx, eax
je 0x52005b
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
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, [0x681d20]
mov dword [esp], eax
lea eax, [0x7268b0]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x681d20]
mov dword [esp], eax
lea eax, [0x7268a8]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x681d20]
mov dword [esp], eax
lea eax, [0x7268a0]
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