Function at 0x10023200
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
push esi
xor eax, eax
mov dword [ebp - 0xa8], 0xe4de8bb1
mov dword [ebp - 0xa4], eax
mov ecx, dword [0x10081188]
mov edx, dword [0x1008118c]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], edx
xor eax, eax
mov dword [ebp - 0x34], 0x2bedbb35
mov dword [ebp - 0x30], eax
mov ecx, 0x4fbb
mov word [ebp - 0x54], cx
mov edx, dword [0x10081150]
mov eax, dword [0x10081154]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x5c], edx
mov ecx, 0x1b
mov word [ebp - 0x58], cx
mov edx, 0x450b
mov word [ebp - 0x64], dx
mov al, byte [0x100810f8]
mov byte [ebp - 4], al
mov cl, byte [0x1008108a]
mov byte [ebp - 6], cl
mov dx, word [0x10081140]
mov word [ebp - 0x1c], dx
mov eax, dword [0x10081178]
mov ecx, dword [0x1008117c]
mov dword [ebp - 0x68], ecx
mov word [ebp - 0x20], ax
mov edx, dword [0x10081114]
mov dword [ebp - 0x6c], edx
mov eax, dword [0x10081108]
mov byte [ebp - 5], al
mov ecx, dword [0x10081188]
mov edx, dword [0x1008118c]
mov dword [ebp - 0x70], edx
mov byte [ebp - 3], cl
movsx eax, byte [str.Failedtogetdatabas]
mov dword [ebp - 0x74], eax
mov ecx, dword [0x10081150]
mov edx, dword [0x10081154]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x7c], ecx
mov eax, dword [0x10081150]
mov ecx, dword [0x10081154]
mov dword [ebp - 0x80], ecx
mov word [ebp - 0x14], ax
mov edx, dword [0x100811d0]
mov eax, dword [0x100811d4]
mov dword [ebp - 0x84], eax
mov byte [ebp - 2], dl
mov ecx, 0x7b
mov word [ebp - 0x18], cx
mov dl, byte [0x100811a4]
mov byte [ebp - 1], dl
movsx ax, byte [0x100810b2]
mov word [ebp - 0x38], ax
mov ecx, 0xaf03
mov word [ebp - 0x3c], cx
mov dword [ebp - 0x60], 0x8346894a
mov dword [ebp - 0x88], 0x30d
mov byte [ebp - 0xd], 0x37
mov edx, dword [0x10081128]
mov eax, dword [0x1008112c]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x8c], 0xffd63c1
mov ecx, 0xf568
mov word [ebp - 0x50], cx
mov dword [ebp - 0x90], 0xf60d0ff8
mov dx, word [0x100811a0]
mov word [ebp - 0x40], dx
mov eax, dword [0x10081148]
mov ecx, dword [0x1008114c]
mov dword [ebp - 0x94], ecx
mov byte [ebp - 0xe], al
mov edx, dword [0x100810f8]
mov eax, dword [0x100810fc]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], eax
mov ecx, dword [0x10081118]
mov dword [ebp - 0x98], ecx
mov dx, word [0x10081198]
mov word [ebp - 0x44], dx
mov dword [ebp - 0x9c], 0xf7f2
mov eax, 0x5900
mov word [ebp - 0x48], ax
mov cl, byte [0x100810f8]
mov byte [ebp - 0xf], cl
mov edx, 0x944
mov word [ebp - 0x4c], dx
mov byte [ebp - 0x10], 0x10
cmp dword [ebp - 0x5c], 0
je 0x10023421
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x10081148]
mov esi, dword [0x1008114c]
sub ecx, eax
sbb esi, edx
mov dword [0x10081148], ecx
mov dword [0x1008114c], esi
mov edx, 0xdd
mov word [0x1008115c], dx
mov byte [ebp - 5], 0xfc
jmp 0x1002348a
cmp dword [ebp - 0x60], 0
jne 0x10023430
mov dword [ebp - 0x24], 1
jmp 0x10023437
mov dword [ebp - 0x24], 0
movzx eax, byte [0x1008104f]
not eax
cmp dword [ebp - 0x24], eax
jle 0x1002344e
mov dword [ebp - 0x28], 1
jmp 0x10023455
mov dword [ebp - 0x28], 0
movsx ecx, word [ebp - 0x14]
mov edx, dword [ebp - 0x28]
not edx
sub ecx, edx
je 0x1002348a
mov eax, dword [0x10081100]
mov ecx, dword [0x10081104]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
movzx eax, byte [ebp - 2]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push ecx
push edx
push eax
call fcn.1005a880
mov byte [ebp - 2], al
mov dword [ebp - 0xc], 0
jmp 0x1002349c
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp + 0x14]
jae 0x10023551
movsx ecx, byte [ebp - 1]
movzx edx, word [0x10081158]
imul ecx, edx
movsx eax, byte [ebp - 4]
movsx edx, byte [ebp - 1]
or eax, edx
not eax
add ecx, eax
mov byte [ebp - 6], cl
mov al, byte [0x10081cb8]
mov byte [0x1008108a], al
mov ecx, 0x1c26
mov word [0x10081110], cx
mov edx, 2
imul eax, edx, 0x8dc7
movzx ecx, word [eax + 0x100b4ee0]
movzx edx, byte [ebp - 3]
add edx, ecx
mov byte [ebp - 3], dl
movzx eax, word [ebp - 0x18]
movsx ecx, byte [ebp - 4]
sub eax, ecx
jne 0x1002350d
mov dword [ebp - 0x2c], 1
jmp 0x10023514
mov dword [ebp - 0x2c], 0
movzx edx, word [ebp - 0x1c]
movsx eax, byte [0x100810b2]
sub edx, eax
mov ecx, dword [ebp - 0x2c]
sub ecx, edx
mov word [ebp - 0x20], cx
mov eax, dword [ebp - 0xc]
xor edx, edx
div dword [ebp + 0xc]
mov eax, dword [ebp + 8]
movsx ecx, byte [eax + edx]
mov edx, dword [ebp + 0x10]
add edx, dword [ebp - 0xc]
movsx eax, byte [edx]
xor eax, ecx
mov ecx, dword [ebp + 0x10]
add ecx, dword [ebp - 0xc]
mov byte [ecx], al
jmp 0x10023493
pop esi
mov esp, ebp
pop ebp
ret