Function at 0x100f1140
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub esp, 0xd0
push 0x6c
pop edx
push 0x6b
pop eax
push 0x65
pop ecx
push 0x72
mov word [esp + 0x44], ax
pop eax
push 0x6e
mov word [esp + 0x48], ax
pop eax
push 0x33
mov word [esp + 0x4a], ax
pop eax
push 0x32
mov word [esp + 0x50], ax
pop eax
push 0x2e
mov word [esp + 0x52], ax
pop eax
mov word [esp + 0x50], ax
push 0x64
pop eax
mov word [esp + 0x52], ax
xor eax, eax
mov word [esp + 0x42], cx
mov word [esp + 0x48], cx
mov ecx, 0x3d090c
mov dword [esp + 0x10], 0x78627a70
mov byte [esp + 0x14], 0x69
mov byte [esp + 0x15], dl
mov dword [esp + 0x16], 0x5f793537
mov dword [esp + 0x1a], 0x6145742b
mov dword [esp + 0x1e], 0x43374a3e
mov dword [esp + 0x22], 0x4a5e4e25
mov byte [esp + 0x26], 0
mov word [esp + 0x4a], dx
mov word [esp + 0x54], dx
mov word [esp + 0x56], dx
mov word [esp + 0x58], ax
xor eax, eax
mov byte [esp + eax + 0x64], al
inc eax
cmp eax, 0x6a
jb 0x100f10c2
dec ecx
jne 0x100f10c0
cmp byte [esp + 0x94], 0x30
push ebx
push ebp
push esi
push edi
jne 0x100f10ea
lea ecx, [esp + 0x50]
call fcn.100f14c7
mov esi, eax
jmp 0x100f10ee
mov esi, dword [esp + 0x4c]
mov edx, 0xe3142
mov ecx, esi
call fcn.100f14fa
mov edx, 0xd5786
mov ecx, esi
mov ebx, eax
call fcn.100f14fa
mov edx, 0x348bfa
mov dword [esp + 0x70], eax
mov ecx, esi
call fcn.100f14fa
push 4
push 0x3000
push 0xd3200
push 0
mov dword [esp + 0x5c], eax
call ebx
movsx esi, byte [esp + 0x74]
mov ebp, eax
mov eax, esi
mov dword [esp + 0x48], ebp
cdq
mov ecx, 0xdf
idiv ecx
movsx ecx, byte [esp + 0x97]
xor edi, edi
imul eax, ecx
push 5
pop ecx
imul eax, eax, 0xe
mov dword [esp + 0x14], eax
imul eax, esi, 0x156
imul esi, esi, 0xd7c
cdq
idiv ecx
cdq
idiv ecx
cdq
idiv ecx
cdq
idiv ecx
cdq
idiv ecx
cdq
idiv ecx
mov ecx, 0x156
cdq
idiv ecx
mov ecx, dword [esp + 0x14]
add eax, ebp
add esi, eax
xor edx, edx
mov dword [esp + 0x14], 0x17
mov eax, edi
div dword [esp + 0x14]
sub edx, ecx
mov al, byte [esp + edx + 0x20]
xor al, byte [edi + 0x1013cfc2]
mov byte [esi + edi], al
inc edi
cmp edi, 0xd3200
jb 0x100f1186
mov ecx, ebp
call fcn.100f13ee
movsx ecx, byte [esp + 0x7c]
shl ecx, 3
push ecx
push 0x3000
push eax
push 0
call ebx
mov esi, eax
test esi, esi
je 0x100f13e1
mov edi, dword [ebp + 0x3c]
mov edx, ebp
add edi, ebp
mov ecx, esi
mov dword [esp + 0x14], edi
sub eax, dword [edi + 0x34]
push dword [edi + 0x54]
movzx ebx, word [edi + 0x14]
mov dword [esp + 0x3c], eax
mov dword [edi + 0x34], esi
call fcn.100f1406
mov eax, dword [edi + 0xa4]
and dword [esp + 0x20], 0
mov edx, dword [edi + 0xa0]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x80]
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0x84]
mov dword [esp + 0x48], eax
xor eax, eax
and dword [esp + 0x14], eax
pop ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
cmp ax, word [edi + 6]
jae 0x100f13e1
add ebx, 0x24
add ebx, edi
mov ecx, dword [ebx]
cmp edx, ecx
jb 0x100f1252
mov eax, dword [ebx - 4]
add eax, ecx
cmp edx, eax
jae 0x100f1252
lea eax, [ebx - 0xc]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x6c]
cmp edx, ecx
jb 0x100f126a
mov eax, dword [ebx - 4]
add eax, ecx
cmp edx, eax
jae 0x100f126a
lea eax, [ebx - 0xc]
mov dword [esp + 0x40], eax
mov edx, dword [ebx + 8]
add ecx, esi
push dword [ebx + 4]
add edx, ebp
call fcn.100f1406
mov edx, dword [esp + 0x14]
add ebx, 0x28
movzx eax, word [edi + 6]
inc edx
mov dword [esp + 0x14], edx
cmp edx, eax
mov edx, dword [esp + 0x40]
pop ecx
jl 0x100f123c
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100f13e1
mov eax, dword [esp + 0x18]
xor ebp, ebp
test eax, eax
je 0x100f1335
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x1c]
lea edx, [edi + ebp]
add ebp, 8
add edx, dword [ebx + 0x14]
mov dword [esp + 0x3c], edx
mov ecx, dword [edx + 4]
sub ecx, 8
shr ecx, 1
mov dword [esp + 0x40], ecx
je 0x100f132d
lea eax, [edi + ebp]
add ebp, 2
add eax, dword [ebx + 0x14]
movzx ebx, word [eax]
test ebx, 0xf000
je 0x100f131e
and dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
and ebx, 0xfff
add ebx, esi
add ebx, dword [edx]
push 4
mov edx, ebx
call fcn.100f1406
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x14]
add dword [esp + 0x14], eax
mov ecx, ebx
push 4
call fcn.100f1406
mov edx, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x1c]
dec ecx
mov dword [esp + 0x40], ecx
jne 0x100f12cf
mov eax, dword [esp + 0x18]
cmp ebp, eax
jb 0x100f12b4
mov edi, dword [esp + 0x14]
mov ebp, dword [edi + 0x80]
add ebp, esi
je 0x100f13e1
add ebp, 0xc
jmp 0x100f1397
mov eax, dword [ebp]
add eax, esi
push eax
call dword [esp + 0x74]
mov dword [esp + 0x38], eax
test eax, eax
je 0x100f13e1
mov ebx, dword [ebp + 4]
add ebx, esi
cmp dword [ebx], 0
je 0x100f1394
mov ebp, dword [esp + 0x4c]
mov edi, eax
mov eax, dword [ebx]
test eax, eax
jns 0x100f1379
movzx eax, ax
jmp 0x100f137e
add eax, 2
add eax, esi
push eax
push edi
call ebp
mov dword [ebx], eax
add ebx, 4
cmp dword [ebx], 0
jne 0x100f136e
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
add ebp, 0x14
cmp dword [ebp], 0
mov dword [esp + 0x18], ebp
jne 0x100f1348
mov ebx, dword [esp + 0x48]
mov ecx, ebx
call fcn.100f13f6
test eax, eax
je 0x100f13cd
mov eax, dword [edi + 0xc0]
mov ebp, dword [eax + esi + 0xc]
jmp 0x100f13c6
push 0
push 1
push ebx
call eax
lea ebp, [ebp + 4]
mov eax, dword [ebp]
test eax, eax
jne 0x100f13bc
mov eax, dword [edi + 0x28]
push 0
push 1
add eax, esi
push esi
call eax
neg eax
sbb eax, eax
and eax, esi
jmp 0x100f13e3
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd0
ret