Function at 0x10001a90
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push esi
movzx eax, byte [0x10010098]
mov byte [ebp - 9], 0xa5
mov dword [ebp - 0x40], 0x816c383d
mov dword [ebp - 0x3c], 0x2fa3c
mov byte [ebp - 1], al
movsx eax, word [0x1001000c]
mov dword [ebp - 0x18], eax
movzx eax, byte [0x1001000f]
mov dword [ebp - 0x1c], eax
mov ax, word [0x10010010]
mov eax, dword [0x10010078]
mov ecx, dword [0x1001007c]
mov dword [ebp - 0x30], eax
mov eax, dword [0x10010008]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0
movzx eax, word [0x1001000c]
mov word [ebp - 0x14], ax
mov eax, dword [0x10010004]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [0x10010070]
mov byte [ebp - 1], al
movzx eax, word [0x100100b8]
mov word [ebp - 0x14], ax
movsx eax, byte [0x10010002]
mov dword [ebp - 0xc], eax
mov eax, 0x12
mov byte [ebp - 9], 0xa6
mov word [ebp - 0xc], ax
mov eax, dword [0x10010004]
mov word [ebp - 0xc], ax
movzx eax, word [0x100100a8]
mov byte [ebp - 9], al
movzx eax, word [0x10010088]
cdq
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov eax, dword [0x10010070]
mov byte [ebp - 9], 0xba
movsx eax, word [0x10010010]
mov dword [ebp - 0xc], eax
movzx eax, byte [0x10010020]
mov byte [ebp - 9], al
movzx eax, byte [0x10010098]
mov byte [ebp - 9], al
movsx eax, word [section..data]
mov dword [ebp - 0xc], eax
movzx eax, word [0x100100a8]
mov word [ebp - 0xc], ax
movzx eax, word [0x100100b8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x100100ac]
movzx eax, byte [0x1001000e]
mov ecx, dword [0x10010084]
mov byte [ebp - 9], al
sub esp, 8
mov eax, dword [0x10010080]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
call fcn.10001ea0
mov si, ax
add esp, 8
movzx eax, si
test ax, ax
je 0x10001bd1
mov byte [ebp - 1], 0xab
jmp 0x10001c4a
movsx edx, ax
mov ecx, 0xfd
movzx eax, byte [ebp - 1]
sub ecx, eax
je 0x10001c13
movsx ecx, word [0x10010068]
movzx eax, byte [0x10010013]
imul eax, ecx
cdq
add eax, 0x64e043d4
mov dword [ebp - 0x30], eax
adc edx, 0x1245f1
xor esi, 0xffffc0e1
mov dword [ebp - 0x2c], edx
mov word [0x10010068], si
jmp 0x10001c4a
movzx eax, word [0x100100b8]
cmp eax, edx
jle 0x10001c4a
imul eax, dword [0x10010030], 0xe602
mov dword [0x100100ac], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dx, word [ebp - 0x14]
sub dl, cl
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
sub dl, cl
mov ax, word [ebp - 0x14]
sub dl, al
mov byte [ebp - 1], dl
cmp dword [0x100100ac], 0
jne 0x10001cac
cmp dword [ebp - 0x18], 7
ja 0x10001c6d
movzx eax, word [0x10010088]
imul eax, eax, 0x8b241c3b
mov dword [0x10010008], eax
jmp 0x10001cac
mov eax, dword [0x10010080]
or eax, dword [0x10010084]
je 0x10001c84
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
or ecx, eax
jne 0x10001cac
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov eax, 0x8735
and cx, ax
mov eax, dword [0x10010098]
mov word [ebp - 0x14], cx
mov ecx, dword [0x10010044]
imul ecx, eax
and ecx, eax
mov dword [0x10010098], ecx
mov eax, dword [ebp - 0x30]
mov edx, 0x9d
mov ecx, dword [ebp - 0x2c]
nop word [eax + eax]
mov ecx, dword [0x10010038]
mov eax, dword [0x1001003c]
or ecx, eax
je 0x10001cd4
mov eax, dword [0x10010070]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov ax, word [0x100100c4]
mov ax, word [0x100100c4]
sub edx, 1
jne 0x10001cc0
movzx eax, byte [ebp - 9]
pop esi
mov esp, ebp
pop ebp
ret