Function at 0x56abe0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword [0x8e25d4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x56ae1e
sub esp, 0x38
mov eax, dword [esp + 0x40]
test eax, eax
je 0x56ac77
cmp eax, 1
jne 0x56ac11
mov edx, dword [esp + 0x3c]
xor ecx, ecx
xor ebx, ebx
jmp 0x56acb1
mov edx, dword [esp + 0x3c]
movzx ebx, byte [edx]
test bl, bl
jne 0x56ac27
movzx ebp, byte [edx + 1]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
je 0x56ac35
cmp bl, 0xff
jne 0x56ac71
movzx ebx, byte [edx + 1]
test bl, 0x80
je 0x56ac71
lea eax, [0x6cc981]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0x1d
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call sym.runtime.convTstring
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x3c]
lea ecx, [0x739bd8]
mov ebx, eax
mov eax, dword [esp + 0x40]
jmp 0x56acb1
xor ecx, ecx
xor ebx, ebx
jmp 0x56acb1
lea eax, [0x6c4310]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0xd
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call sym.runtime.convTstring
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x3c]
lea ecx, [0x739bd8]
mov ebx, eax
mov eax, dword [esp + 0x40]
test ecx, ecx
jne 0x56ad19
cmp eax, 8
jg 0x56accd
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ecx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x56ad53
lea eax, [0x6c5dc2]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x11
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call sym.runtime.convTstring
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
lea ecx, [0x739bd8]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
add esp, 0x38
ret
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ebx
add esp, 0x38
ret
shl esi, 8
shl edi, 8
mov ebx, dword [esp + 0x18]
shr ebx, 0x18
movzx ecx, byte [edx + ebp]
inc ebp
or edi, ebx
or esi, ecx
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
cmp eax, ebp
jg 0x56ad35
shl eax, 3
lea edx, [eax - 0x40]
neg edx
mov byte [esp + 0xf], dl
mov ecx, edx
shl esi, cl
shl edi, cl
add eax, 0xffffffe0
mov byte [esp + 0xe], al
mov ecx, eax
mov ebx, dword [esp + 0x18]
shr ebx, cl
mov dword [esp + 0x14], ebx
neg eax
mov ecx, eax
mov ebp, dword [esp + 0x18]
shl ebp, cl
shr dl, 5
movzx edx, dl
mov dword [esp + 0x18], edx
cmp al, 0x20
sbb ebx, ebx
sbb edx, edx
and ebp, ebx
not edx
or edx, eax
mov byte [esp + 0xd], dl
movzx ecx, byte [esp + 0xf]
cmp cl, 0x20
sbb eax, eax
sbb ebx, ebx
and esi, eax
and edi, eax
shr esi, cl
and esi, eax
not ebx
or ecx, ebx
mov eax, dword [esp + 0x18]
cmp eax, 1
sbb eax, eax
xor eax, 0xffffffff
mov dword [esp + 0x18], eax
movzx ebx, byte [esp + 0xe]
cmp bl, 0x20
sbb eax, eax
mov edx, dword [esp + 0x14]
and edx, eax
or edi, edx
or edi, ebp
mov edx, ecx
mov ecx, ebx
mov ebp, edi
shl edi, cl
mov ecx, edx
mov edx, ebp
sar ebp, cl
mov dword [esp + 0x4c], ebp
and edi, eax
or esi, edi
movzx ecx, byte [esp + 0xd]
sar edx, cl
mov eax, dword [esp + 0x18]
and eax, edx
or eax, esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
add esp, 0x38
ret
call sym.runtime.morestack_noctxt
jmp sym.encoding_asn1.parseInt64