Function at 0x405a2f
Capabilities:
Encrypt data using rc4 prga

Disassembly:
sub al, byte [ebx]
add byte [eax], al
add edx, 0xeacb
xor edx, 0xc68
pop edx
push ebx
push edx
add esp, 4
jmp 0x40506c
or ebx, 0x26aa
xor ebx, 0x16322
pop ebx
mov eax, dword [ebp - 0x4fc]
sub eax, dword [ebp - 0x3f0]
test dword [eax], edx
cld
invalid
inc dword [ebx + 0x3772fff8]
push esi
push eax
add esp, 4
add esi, 0x82a9
and esi, 0xe048
or esi, 0xac46
pop esi
push edi
jmp 0x4050ab
pop edi
push edx
or edx, 0x180bf
pop edx
push ecx
sub ecx, 0x1eee
pop ecx
jmp 0x4052ef
mov dword [ebp - 0xc80], 7
mov ecx, dword [ebp - 0x4fc]
mov dword [ebp - 0xac4], ecx
push edi
push edx
add esp, 4
or edi, 0x22c5
pop edi
push edi
push ecx
add esp, 4
and edi, 0x181b6
pop edi
push ecx
push edi
add esp, 4
sub ecx, 0x11ecc
pop ecx
push ebx
or ebx, 0x2d63
sub ebx, 0x808c
pop ebx
mov edx, dword [ebp - 0x15c4]
mov dword [ebp - 0xa60], edx
mov dword [ebp - 0xc84], 0
mov eax, dword [ebp - 0x4fc]
cmp eax, dword [ebp - 0x15c4]
jne 0x405170
push edi
push ecx
add esp, 4
sub edi, 0xd74c
add edi, 0x142ef
sub edi, 0x97c8
pop edi
push esi
and esi, 0x3517
pop esi
push edi
push ebx
add esp, 4
les eax, [ecx + eax*4]
invalid
mov dl, byte [esi]
add dword [eax], eax
add edi, 0xd7af
pop edi
mov ecx, dword [ebp - 0xc84]
mov dword [ebp - 0x15cc], ecx
jmp 0x4052a1
cmp dword [ebp - 0xc80], 0
jle 0x405295
push edi
and edi, 0x8a3c
and edi, 0x8a2
or edi, 0x60a4
pop edi
push eax
add eax, 0x13d13
and eax, 0x16e44
jmp 0x4051a5
pop eax
push ecx
jmp 0x4051ae
pop ecx
mov edx, dword [ebp - 0xac4]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa60]
movzx edx, byte [ecx]
cmp eax, edx
je 0x405231
push ebx
push edx
add esp, 4
jmp 0x4051d0
xor ebx, 0xb963
add ebx, 0x7bbf
pop ebx
push eax
xor eax, 0x35da
xor eax, 0x2f16
xor eax, 0x14fa1
or eax, 0x6ebe
pop eax
mov eax, dword [ebp - 0xac4]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x405219
mov dword [ebp - 0x15c8], 1
jmp 0x405223
mov dword [ebp - 0x15c8], 0xffffffff
mov ecx, dword [ebp - 0x15c8]
mov dword [ebp - 0xc84], ecx
jmp 0x405295
push edx
add edx, 0x178c3
xor edx, 0xb5d7
pop edx
push esi
push edi
add esp, 4
call 0x405253
add byte [edx + 0x3e], al
inc ebx
xor eax, 0x3938503f
dec ecx
add esp, 4
add esi, 0x10905
sub esi, 0x12c89
pop esi
mov edx, dword [ebp - 0xc80]
sub edx, 1
mov dword [ebp - 0xc80], edx
mov eax, dword [ebp - 0xac4]
add eax, 1
mov dword [ebp - 0xac4], eax
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa60], ecx
jmp 0x405170
mov edx, dword [ebp - 0xc84]
mov dword [ebp - 0x15cc], edx
cmp dword [ebp - 0x15cc], 0
jne 0x4052ea
push eax
push eax
add esp, 4
sub eax, 0x4493
sub eax, 0x567
pop eax
push eax
push eax
add esp, 4
jmp 0x4052c9
add eax, 0x28ce
sub eax, 0x67bb
add eax, 0x15e1
pop eax
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x3e8], eax
jmp 0x40532b
jmp 0x405038
push edi
push ebx
add esp, 4
add edi, 0x2117
pop edi
push esi
sub esi, 0xe316
add esi, 0x6dd9
pop esi
push edi
push edx
add esp, 4
and edi, 0x1037c
or edi, 0x10a2f
and edi, 0xe0ac
pop edi
mov dword [ebp - 0x3e8], 0
push eax
push edx
add esp, 4
sub eax, 0x1856e
sub eax, 0x14712
sub eax, 0x5b56
sub eax, 0x836b
pop eax
push eax
jmp 0x405350
pop eax
push ecx
push esi
add esp, 4
sub ecx, 0xd322
pop ecx
push esi
add esi, 0x11bd7
sub esi, 0x14105
pop esi
push edi
push ecx
add esp, 4
call 0x40537f
add byte [edx + esi], bh
cmp byte [ebx], dh
cmp byte [ebx], dh
dec ecx
dec ecx
add esp, 4
pop edi
push ecx
push edi
add esp, 4
or ecx, 0xde97
pop ecx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbe4]
mov dword [ebp - 0x15d0], eax
push esi
push eax
add esp, 4
sub esi, 0xe54e
or esi, 0xb721
pop esi
push ebx
sub ebx, 0x15fc5
pop ebx
push ebx
push esi
add esp, 4
add ebx, 0xab4a
or ebx, 0x18606
xor ebx, 0x2105
pop ebx
mov dword [ebp - 0x20f4], 0xffffffff
push esi
call 0x4053ee
add byte [ebx], bh
inc edi
dec esp
cmp byte [edi + 0x3a], cl
dec ebx
add esp, 4
and esi, 0x13d84
add esi, 0x2b2d
sub esi, 0x8f56
pop esi
push ecx
push ebx
add esp, 4
jmp 0x405411
pop ecx
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x500], ecx
jmp 0x40542f
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push edi
push edx
add esp, 4
or edi, 0x4f1c
jmp 0x405442
sub edi, 0xc9bc
pop edi
push edi
push ebx
add esp, 4
and edi, 0x17ac8
jmp 0x40545a
and edi, 0xc843
pop edi
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x4054a9
push esi
push edi
add esp, 4
call 0x405485
add byte [ebx + 0x4f], al
aas
inc ebp
dec ecx
aas
inc ebx
inc ecx
add esp, 4
pop esi
push ecx
push ecx
add esp, 4
jmp 0x405497
add ecx, 0x17889
and ecx, 0x17bd8
pop ecx
jmp 0x4056d7
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac0], ecx
push edi
add edi, 0xc535
pop edi
push edi
push edi
add esp, 4
sub edi, 0x46d5
call 0x4054e1
add byte [edi], dh
dec ecx
cmp al, 0x40
dec ebp
dec eax
dec ebp
add esp, 4
sub edi, 0x387
and edi, 0xca8b
pop edi
mov edx, dword [ebp - 0x15d0]
mov dword [ebp - 0xabc], edx
mov dword [ebp - 0xc8c], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15d0]
jne 0x405558
push edx
xor edx, 0x24f6
pop edx
push esi
sub esi, 0x73f8
jmp 0x40552b
jmp 0x405530
pop esi
push ecx
and ecx, 0x16fec
jmp 0x405540
xor ecx, 0x11ccf
pop ecx
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x405689
cmp dword [ebp - 0xc88], 0
jle 0x40567d
push eax
push edi
add esp, 4
sub eax, 0x136f2
call 0x40557f
add byte [esi], bh
dec edi
dec ebx
dec eax
inc ebp
dec ebp
xor al, 0x4e
cmp al, byte [ebx - 0x3f7efb3c]
pop esp
add byte fs:[eax], al
pop eax
push esi
add esi, 0x9674
xor esi, 0xa255
pop esi
mov edx, dword [ebp - 0xac0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xabc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x405619
push edx
add edx, 0x5be
and edx, 0x455a
jmp 0x4055c0
pop edx
push esi
jmp 0x4055ca
jmp 0x4055d0
sub esi, 0x13a60
pop esi
push ebx
or ebx, 0x168cb
pop ebx
mov eax, dword [ebp - 0xac0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xabc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x405601
mov dword [ebp - 0x15a0], 1
jmp 0x40560b
mov dword [ebp - 0x15a0], 0xffffffff
mov ecx, dword [ebp - 0x15a0]
mov dword [ebp - 0xc8c], ecx
jmp 0x40567d
push eax
add eax, 0x652b
xor eax, 0x6860
and eax, 0x1595d
pop eax
push ebx
push eax
add esp, 4
sub ebx, 0x1264e
add ebx, 0x164f1
sub ebx, 0xe8ed
sub ebx, 0x2b74
pop ebx
mov edx, dword [ebp - 0xc88]
sub edx, 1
mov dword [ebp - 0xc88], edx
mov eax, dword [ebp - 0xac0]
add eax, 1
mov dword [ebp - 0xac0], eax
mov ecx, dword [ebp - 0xabc]
add ecx, 1
mov dword [ebp - 0xabc], ecx
jmp 0x405558
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x4056d2
push ecx
xor ecx, 0x5645
pop ecx
push edx
push eax
add esp, 4
sub edx, 0xbd03
pop edx
push esi
push esi
add esp, 4
jmp 0x4056b1
add esi, 0xfdaa
pop esi
push edx
push edx
add esp, 4
sub edx, 0x13d1a
pop edx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x405713
jmp 0x405420
push edi
xor edi, 0x127a2
pop edi
push edi
push eax
add esp, 4
add edi, 0xf273
pop edi
push esi
push esi
add esp, 4
or esi, 0x64ed
and esi, 0xdcbe
sub esi, 0x16382
sub esi, 0xcad3
pop esi
mov dword [ebp - 0xab8], 0
push ecx
and ecx, 0x118bb
and ecx, 0x15f7a
jmp 0x405729
add ecx, 0x13e90
pop ecx
push edi
call 0x405741
add byte [esi + 0x45], al
xor cl, byte [eax + 0x4f]
inc edx
dec esi
inc esp
add esp, 4
pop edi
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
mov byte [ebp - 0x873], 0x72
mov byte [ebp - 0x872], 0x6f
mov byte [ebp - 0x871], 0x63
mov byte [ebp - 0x870], 0x65
mov byte [ebp - 0x86f], 0x73
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push edi
xor edi, 0x316e
call 0x4057af
add byte [edi + 0x4e], cl
cmp byte [ebx], bh
push eax
inc edi
inc eax
cmp eax, 0x4c4833d
xor edi, 0xdafb
pop edi
push edi
push ebx
add esp, 4
add edi, 0xa238
or edi, 0x1286c
pop edi
mov ecx, 0x6b
mov word [ebp - 0x1738], cx
mov edx, 0x65
mov word [ebp - 0x1736], dx
mov eax, 0x72
mov word [ebp - 0x1734], ax
mov ecx, 0x6e
mov word [ebp - 0x1732], cx
mov edx, 0x65
mov word [ebp - 0x1730], dx
mov eax, 0x6c
mov word [ebp - 0x172e], ax
mov ecx, 0x33
mov word [ebp - 0x172c], cx
mov edx, 0x32
mov word [ebp - 0x172a], dx
mov eax, 0x2e
mov word [ebp - 0x1728], ax
mov ecx, 0x64
mov word [ebp - 0x1726], cx
mov edx, 0x6c
mov word [ebp - 0x1724], dx
mov eax, 0x6c
mov word [ebp - 0x1722], ax
xor ecx, ecx
mov word [ebp - 0x1720], cx
push ebx
and ebx, 0x679f
call 0x405879
add byte [ecx + 0x3e], al
cmp dword [edi], esi
dec eax
dec edx
cmp edi, dword [ecx]
add esp, 4
pop ebx
push ecx
push esi
add esp, 4
call 0x405892
add byte [ebx], dh
dec esp
aaa
dec eax
dec ebp
inc esp
aas
cmp eax, 0xc4833d43
add al, 0x59
push eax
push edi
add esp, 4
sub eax, 0xc656
call 0x4058b1
add byte [esi], dh
aaa
xor al, byte [ebx + 0x34]
dec ecx
xor al, 0x47
aas
aaa
add esp, 4
pop eax
push ecx
xor ecx, 0x6010
jmp 0x4058c1
add ecx, 0x3c15
pop ecx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19a4], edx
mov eax, dword [ebp - 0x19a4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19a8], ecx
mov edx, dword [ebp - 0x19a8]
mov dword [ebp - 0x15d8], edx
push esi
push ecx
add esp, 4
add esi, 0xca4f
xor esi, 0x9c4
pop esi
push ebx
push ecx
add esp, 4
xor ebx, 0x8878
pop ebx
push ebx
sub ebx, 0x11c4d
or ebx, 0xb5ff
and ebx, 0x8c65
add byte [ebx - 0x7d], bl
mov ebp, 0xffffea28
add byte [ebp + 0xf], dh
mov dword [ebp - 0x31c], 0
jmp 0x405bf6
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push edx
jmp 0x405952
call 0x405962
add byte [ebx], dh
dec edi
inc ebp
dec ebx
cmp eax, 0x41323648
inc edi
add esp, 4
add edx, 0x1065
and edx, 0x11029
pop edx
push ebx
push edx
add esp, 4
sub ebx, 0xf7c0
pop ebx
cmp dword [ebp - 0xc98], 0
jne 0x405996
mov dword [ebp - 0x31c], 0
jmp 0x405bf6
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
invalid
invalid
push esi
push ecx
add esp, 4
sub esi, 0x168a3
pop esi
push edi
and edi, 0x102ce
add edi, 0xa1af
pop edi
push eax
call 0x4059ca
add byte [esi + 0x46364933], bh
dec esp
add esp, 4
or eax, 0x7eb4
pop eax
lea ecx, [ebp - 0x1738]
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0x504]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc90], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push edx
sub edx, 0x140b5
pop edx
push edi
add edi, 0x155b3
or edi, 0x14715
or edi, 0x14d24
pop edi
push ebx
push ebx
add esp, 4
call 0x405a2f
add byte [0x3f4b3736], dh
dec esi
inc edi
add esp, 4
pop ebx
mov eax, dword [ebp - 0xc90]
mov cx, word [eax]
mov word [ebp - 0x1032], cx
mov edx, dword [ebp - 0xc90]
add edx, 2
mov dword [ebp - 0xc90], edx
invalid
jmp dword [esi - 0x75]
test esi, ecx
out dx, eax
invalid
jmp dword [esi - 0x77]
test eax, esi
std
invalid
dec dword [ebx - 0xc9373]
jmp dword [esi - 0x75]
adc dword [esi - 0x77], esp
xchg ebp, eax
int3
out dx, eax
invalid
dec dword [ebx - 0xc937b]
inc dword [ebx - 0x7a76fd40]
insb byte es:[edi], dx
invalid
invalid
jmp dword [esi - 0x75]
invalid
int3
out dx, eax
invalid
jmp dword [esi - 0x77]
invalid
hlt
invalid
invalid
call dword [ecx + 0x56]
add esp, 4
sub ecx, 0x14e7e
or ecx, 0x104c
pop ecx
push esi
and esi, 0xe2ed
jmp 0x405aac
pop esi
push edi
push ebx
add esp, 4
or edi, 0x9ef9
sub edi, 0xf4cd
pop edi
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x405ae2
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e0], eax
jmp 0x405b45
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x405a01
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x405a01
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x405b2f
mov dword [ebp - 0x15dc], 0xffffffff
jmp 0x405b39
mov dword [ebp - 0x15dc], 1
mov edx, dword [ebp - 0x15dc]
mov dword [ebp - 0x15e0], edx
cmp dword [ebp - 0x15e0], 0
jne 0x405b8e
push ebx
call 0x405b5f
add byte [edx + 0x46], al
dec ecx
inc edi
dec edi
xor al, 0x3e
dec ebp
inc eax
add esp, 4
and ebx, 0xfe7e
add ebx, 0x182a9
sub ebx, 0x8c93
pop ebx
push ebx
jmp 0x405b7f
pop ebx
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x405bf6
push edi
push eax
add esp, 4
call 0x405ba3
add byte [eax + 0x4e], al
xor al, 0x38
inc edi
inc esp
cmp al, 0x48
dec ebx
cmp eax, 0x8104c483
out 0xe1, eax
inc eax
add dword [eax], eax
xor edi, 0x5297
jmp 0x405bb7
pop edi
push eax
or eax, 0xd4ca
pop eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
cmp eax, dword [ebp - 0xc98]
je 0x405bec
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x4059a2
mov dword [ebp - 0x31c], 0
mov ecx, dword [ecx]
jmp 0x405050