Function at 0x5b72e0
Capabilities:
Encrypt data using rc4 prga
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5b7697
sub esp, 0x50
mov eax, dword [esp + 0x60]
shl eax, 6
movzx edx, byte [esp + 0x6c]
test dl, dl
je 0x5b730c
or eax, 0x20
mov edx, dword [esp + 0x64]
cmp edx, 0x1f
jl 0x5b7390
mov ebx, dword [esp + 0x58]
inc ebx
mov ebp, dword [esp + 0x5c]
cmp ebp, ebx
jb 0x5b7328
mov ecx, dword [esp + 0x54]
jmp 0x5b736b
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
mov ebp, ecx
mov ecx, eax
movzx eax, byte [esp + 0x23]
mov dword [esp + 0x34], ebx
or eax, 0x1f
mov byte [ebx + ecx - 1], al
mov eax, edx
sar edx, 0x1f
mov dword [esp + 0x2c], edx
mov esi, edx
mov edi, eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, edi
jmp 0x5b7555
or eax, edx
mov edx, dword [esp + 0x58]
inc edx
mov ebx, dword [esp + 0x5c]
cmp ebx, edx
jb 0x5b73a5
mov ecx, dword [esp + 0x54]
jmp 0x5b73e4
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, eax
movzx eax, byte [esp + 0x23]
mov byte [edx + ecx - 1], al
mov eax, dword [esp + 0x68]
cmp eax, 0x80
jl 0x5b73fc
mov ebp, eax
mov esi, 1
jmp 0x5b744b
inc edx
cmp ebx, edx
jae 0x5b7433
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov byte [edx + ecx - 1], al
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ebx
add esp, 0x50
ret
inc esi
sar eax, 8
cmp eax, 0xff
jg 0x5b7447
lea eax, [edx + 1]
cmp ebx, eax
jae 0x5b7493
mov dword [esp + 0x28], esi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x28]
or esi, 0xffffff80
xchg esi, ebx
mov byte [eax + ecx - 1], bl
xchg esi, ebx
nop
mov edx, ebp
mov esi, 1
jmp 0x5b74ac
inc esi
sar ebp, 8
cmp ebp, 0xff
jg 0x5b74a8
jmp 0x5b74be
mov byte [eax + edi - 1], dl
mov edx, ebp
mov ecx, edi
test esi, esi
jle 0x5b752a
lea ebp, [esi - 1]
mov esi, ebp
shl ebp, 3
cmp ebp, 0x20
sbb edi, edi
inc eax
xchg edi, ebx
not ebx
xchg edi, ebx
or ebp, edi
mov edi, ecx
mov ecx, ebp
mov ebp, edx
sar edx, cl
cmp ebx, eax
jae 0x5b74b6
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], edx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x48]
mov edi, ecx
jmp 0x5b74b6
mov edx, eax
jmp 0x5b7437
shr eax, 7
mov ebx, edx
shl edx, 0x19
or eax, edx
sar ebx, 7
mov edx, dword [esp + 0x24]
inc edx
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x24], edx
mov edx, ebx
mov ebx, dword [esp + 0x34]
test edx, edx
xchg edi, ebx
setg bl
xchg edi, ebx
test eax, eax
xchg esi, ebx
seta bl
xchg esi, ebx
test edx, edx
sete bl
and ebx, esi
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x5b7531
mov eax, dword [esp + 0x24]
dec eax
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
jmp 0x5b75a0
mov byte [esi + ecx - 1], dl
mov edx, edi
lea edi, [ebx - 1]
mov eax, edi
mov ebp, edx
mov ebx, esi
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x2c]
test eax, eax
jl 0x5b768e
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x38], ebp
lea edi, [eax + eax*2]
lea ebp, [eax + edi*2]
mov dword [esp + 0x44], ebp
cmp ebp, 0x20
sbb ebx, ebx
lea edi, [eax + edi*2 - 0x20]
mov dword [esp + 0x40], edi
cmp edi, 0x20
sbb eax, eax
shr ebp, 5
cmp ebp, 1
sbb ebp, ebp
mov dword [esp + 0x3c], ebp
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb ebp, ebp
mov ecx, edi
mov edi, esi
shl esi, cl
and esi, ebp
mov ecx, dword [esp + 0x44]
mov ebp, edx
shr edx, cl
and edx, ebx
or edx, esi
not eax
mov ecx, dword [esp + 0x40]
or ecx, eax
mov eax, edi
sar edi, cl
mov ebx, dword [esp + 0x3c]
xor ebx, 0xffffffff
and edi, ebx
or edi, edx
mov edx, edi
and edi, 0x7f
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x5b7628
or edx, 0xffffff80
jmp 0x5b762a
mov edx, edi
mov esi, dword [esp + 0x48]
inc esi
mov edi, dword [esp + 0x38]
cmp edi, esi
jb 0x5b7640
mov ecx, dword [esp + 0x4c]
jmp 0x5b7589
mov byte [esp + 0x22], dl
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x758ec0]
mov dword [esp + 0x10], eax
call fcn.0044b1b0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
movzx edx, byte [esp + 0x22]
mov ebx, dword [esp + 0x30]
mov edi, ebp
mov ebp, dword [esp + 0x64]
jmp 0x5b7589
mov edx, ebx
mov ebx, ebp
jmp 0x5b73e8
call fcn.00462fa0
jmp fcn.005b72e0