Function at 0x44db60
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub esp, 0x30
mov eax, dword [0x67c3c0]
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
push ebx
mov ebx, dword [esp + 0x38]
push ebp
mov ebp, dword [eax + 4]
mov dword [esp + 0x1c], ebx
test ebp, ebp
jns 0x44dbb5
cmp dword [eax], 0
jg 0x44dbb5
push dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
add ecx, edx
push ecx
push edx
call fcn.0044c350
add esp, 0xc
mov dword [ebx], edx
mov eax, ebx
pop ebp
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.0059a5ad
add esp, 0x30
ret
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
add ecx, edx
mov dword [esp + 8], edx
push esi
push edi
xor edi, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], 0
mov eax, ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], edi
cmp edx, ecx
je 0x44dc10
lea eax, [esp + 0x34]
push eax
push ecx
push edx
call fcn.00457c50
mov edx, dword [esp + 0x34]
add esp, 0xc
mov edi, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], edx
xor ebx, ebx
mov byte [esp + 0x38], 0
cmp edx, eax
je 0x44dcd4
nop
mov esi, ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jne 0x44dc32
test ebp, ebp
jns 0x44dcd4
cmp edi, 0x25fd
jae 0x44dc5d
mov eax, 1
mov ecx, 0x5d4a40
cmp edi, dword [ecx]
jb 0x44dc99
add ecx, 4
xor eax, 3
cmp ecx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
jne 0x44dc44
mov eax, 1
jmp 0x44dc99
mov eax, 0x5d4a40
mov edx, 0xca
mov esi, edx
shr esi, 1
cmp edi, dword [eax + esi*4]
lea ecx, [eax + esi*4]
jae 0x44dc77
mov edx, esi
jmp 0x44dc81
lea eax, [ecx + 4]
or ecx, 0xffffffff
sub ecx, esi
add edx, ecx
test edx, edx
jg 0x44dc67
mov edx, dword [esp + 0x10]
sub eax, 0x5d4a40
mov esi, dword [esp + 0x18]
sar eax, 2
and eax, 1
inc eax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, ebx
jl 0x44dd54
add ebx, eax
cmp ebx, ebp
jle 0x44dcb2
test ebp, ebp
jns 0x44dcd2
lea ecx, [esp + 0x28]
call fcn.004558e0
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x2c]
je 0x44dcd4
mov edi, dword [esp + 0x34]
jmp 0x44dc20
mov ebx, esi
mov dword [esp + 0x14], edx
mov ebp, dword [esp + 0x54]
xor edi, edi
mov eax, dword [esp + 0x4c]
xor esi, esi
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov al, byte [ebp + 9]
mov ebp, dword [ebp]
test al, al
movzx edx, al
mov dword [esp + 0x18], 1
cmove edx, dword [esp + 0x18]
cmp ebx, ebp
jge 0x44dd2b
movzx eax, dl
sub eax, 1
je 0x44dd6c
sub eax, 1
je 0x44dd66
sub eax, 1
jne 0x44dd2b
mov eax, ebp
mov esi, ebp
sub eax, ebx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
sub esi, edi
sub esi, ebx
mov ebp, dword [esp + 0x54]
movzx eax, byte [ebp + 0xe]
lea ebx, [ebp + 0xf]
mov edx, ebx
test edi, edi
jle 0x44dd7d
lea ebp, [ebx + eax]
nop
push ecx
push ebp
push ebx
call fcn.0044c350
dec edi
add esp, 0xc
mov ecx, edx
test edi, edi
jg 0x44dd40
jmp 0x44dd80
test ebp, ebp
jns 0x44dcd4
mov ebx, 0x7fffffff
jmp 0x44dcd8
mov edi, ebp
sub edi, ebx
jmp 0x44dd2b
mov eax, dword [esp + 0x54]
mov esi, ebp
sub esi, ebx
lea ebx, [eax + 0xf]
movzx eax, byte [eax + 0xe]
mov edx, ebx
lea ebp, [eax + edx]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
sub edx, eax
push ecx
add edx, eax
push edx
push eax
call fcn.0044c350
add esp, 0xc
test esi, esi
jle 0x44ddb0
nop dword [eax + eax]
push edx
push ebp
push ebx
call fcn.0044c350
dec esi
add esp, 0xc
test esi, esi
jg 0x44dda0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov dword [eax], edx
call fcn.0059a5ad
add esp, 0x30
ret