Function at 0x4129d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x660
lea eax, [esp + 0x53b]
push eax
call fcn.00433c50
add esp, 4
mov dword [esp + 0x98], 0xaaa5a916
mov word [esp + 0x9c], 0x7850
mov byte [esp + 0x9e], 0x36
mov word [esp + 0x9f], 0
mov dword [esp + 0x55c], 0
mov eax, dword [esp + 0x55c]
cmp eax, 8
ja 0x412a87
nop
nop
nop
mov eax, dword [esp + 0x55c]
mov ecx, dword [esp + 0x55c]
movzx ecx, byte [esp + ecx + 0x98]
lea edx, [eax + 0x28]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x8736ae28
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x138]
add al, 0xe8
mov ecx, dword [esp + 0x55c]
mov byte [esp + ecx + 0x98], al
inc dword [esp + 0x55c]
mov eax, dword [esp + 0x55c]
cmp eax, 9
jb 0x412a30
mov ecx, dword [str.default]
mov dword [esp + 0x48], 0x83cf13d6
mov dword [esp + 0x4c], 0
mov dword [esp + 0x4f], 0
mov dword [esp + 0x55c], 0
mov eax, dword [esp + 0x55c]
cmp eax, 0xa
ja 0x412b27
nop
nop
nop
nop
mov eax, dword [esp + 0x55c]
mov edx, dword [esp + 0x55c]
movzx esi, byte [esp + edx + 0x48]
lea edi, [eax + 0x57a0f296]
lea edx, [eax + esi]
add edx, 0x57a0f296
and edi, esi
add eax, 0x96
and eax, esi
add eax, edi
mov esi, edx
not esi
and esi, eax
not eax
and eax, edx
sub eax, esi
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x138]
add al, 0xe6
mov edx, dword [esp + 0x55c]
mov byte [esp + edx + 0x48], al
inc dword [esp + 0x55c]
mov eax, dword [esp + 0x55c]
cmp eax, 0xb
jb 0x412ac0
mov edx, dword [str.Fe0z0o__0x001]
mov dword [esp + 0x138], 0xc810e0e1
mov dword [esp + 0x13c], 0xee1ce2e3
mov dword [esp + 0x140], 0x2619e61d
mov dword [esp + 0x144], 0x9ddbd8d5
mov dword [esp + 0x148], 0xf822de2c
mov dword [esp + 0x14c], 0x95e8ebee
mov dword [esp + 0x150], 0xe0d8d2d2
mov byte [esp + 0x154], 0xa2
mov dword [esp + 0x155], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x23
ja 0x412bf9
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
movzx esi, byte [esp + esi + 0x138]
lea edi, [eax + 0x25847295]
add eax, 0x95
and eax, esi
or edi, esi
sub edi, eax
mov dword [esp + 0x55c], edi
mov eax, dword [esp + 0x55c]
add al, 0xed
mov esi, dword [esp + 0x10]
mov byte [esp + esi + 0x138], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x24
jb 0x412bb0
movzx ebx, byte [esp + 0x138]
lea eax, [esp + 0x55c]
test bl, bl
je 0x412c2b
lea esi, [esp + 0x139]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x412c20
mov byte [eax], 0
movzx ebx, byte [edx]
test bl, bl
je 0x412c4b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x412c40
mov byte [eax], 0
movzx edx, byte [esp + 0x48]
test dl, dl
je 0x412c6b
lea esi, [esp + 0x49]
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x412c60
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
je 0x412c8b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x412c80
mov byte [eax], 0
movzx ecx, byte [esp + 0x98]
test cl, cl
je 0x412cbb
lea edx, [esp + 0x99]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x412cb0
mov byte [eax], 0
movzx ecx, byte [esp + 0x53b]
test cl, cl
je 0x412ceb
lea edx, [esp + 0x53c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x412ce0
mov byte [eax], 0
lea ecx, [esp + 0x55c]
mov dword [esp + 0x138], 0xb305b5eb
mov dword [esp + 0x13c], 0x8f3cb100
mov dword [esp + 0x140], 0x8b3e8d35
mov dword [esp + 0x144], 0x87fb8906
mov dword [esp + 0x148], 0x8303852a
mov dword [esp + 0x14c], 0x9f3b8132
mov dword [esp + 0x150], 0x9bfc9dd8
mov dword [esp + 0x154], 0x97289925
mov dword [esp + 0x158], 0x93209526
mov dword [esp + 0x15c], 0xef2d9125
mov dword [esp + 0x160], 0xeb60ed51
mov dword [esp + 0x164], 0xe759e95d
mov dword [esp + 0x168], 0xe395e554
mov dword [esp + 0x16c], 0xff93e16a
mov dword [esp + 0x170], 0xfb75fd77
mov dword [esp + 0x174], 0xf78bf973
mov dword [esp + 0x178], 0xf345f54c
mov dword [esp + 0x17c], 0xcf43f17c
mov dword [esp + 0x180], 0xcb47cdbd
mov dword [esp + 0x184], 0xc77cc944
mov dword [esp + 0x188], 0xc376c57d
mov dword [esp + 0x18c], 0xdf71c17f
mov dword [esp + 0x190], 0xdb67dd62
mov dword [esp + 0x194], 0xd7cbd966
mov dword [esp + 0x198], 0xd3d4d5c0
mov word [esp + 0x1a0], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x48], 0
mov edx, dword [esp + 0x48]
cmp edx, 0x69
ja 0x412e7a
nop
nop
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x48]
movzx esi, byte [esp + esi + 0x138]
lea edi, [edx + 0x19]
and edi, esi
add edx, esi
add edi, edi
sub edx, edi
add edx, 0xe27e5719
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x98]
add dl, 0x51
mov esi, dword [esp + 0x48]
mov byte [esp + esi + 0x138], dl
inc dword [esp + 0x48]
mov edx, dword [esp + 0x48]
cmp edx, 0x6a
jb 0x412e30
sub eax, ecx
mov dword [esp + 0x98], 0xc36bc5b7
mov dword [esp + 0x9c], 0xcf77c172
mov word [esp + 0xa0], 0xcdce
mov dword [esp + 0xa2], 0
mov dword [esp + 0xa6], 0
mov byte [esp + 0xaa], 0
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x10]
cmp edx, 0x12
ja 0x412f17
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
movzx esi, byte [esp + esi + 0x98]
lea edi, [edx - 0x110c0e9f]
and edi, esi
add edx, esi
add edx, 0xeef3f161
add edi, edi
sub edx, edi
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x48]
add dl, 0x59
mov esi, dword [esp + 0x10]
mov byte [esp + esi + 0x98], dl
inc dword [esp + 0x10]
mov edx, dword [esp + 0x10]
cmp edx, 0x13
jb 0x412ed0
lea edx, [esp + 0x11c]
lea esi, [esp + 0x94]
lea ebx, [esp + 0x138]
lea edi, [esp + 0x98]
push edx
push esi
push eax
push ecx
push ebx
push edi
push 0x4474e0
call fcn.0040b7b0
add esp, 0x1c
movzx eax, al
mov eax, dword [eax*4 + 0x441358]
mov ecx, 0x59090c96
xor ecx, dword [0x441360]
add eax, ecx
inc eax
xor esi, esi
jmp eax
jl 0x455404
xor byte [eax], 0x84
xor byte [eax - 0x6fcf73d0], cl
xor byte [eax + esi + 0x309c3098], dl
mov al, byte [0xa830a430]
xor byte [eax + esi + 0x30b430b0], ch
mov eax, 0xc030bc30
xor ah, al
xor al, cl
xor ah, cl
xor al, dl
xor ah, dl
xor al, bl
xor ah, bl
xor al, ah
xor ah, ah
xor al, ch
xor ah, ch
xor al, dh
loopne 0x455436
in al, 0x30
call 0xf076403d
xor ah, dh
xor al, bh
xor ah, bh
xor byte [eax], al
xor dword [ecx + esi], eax
or byte [ecx], dh
or al, 0x31
adc byte [ecx], dh
adc al, 0x31
sbb byte [ecx], dh
sbb al, 0x31
and byte [ecx], dh
and al, 0x31
xor byte [ecx], dh
xor al, 0x31
cmp byte [ecx], dh
cmp al, 0x31
inc eax
xor dword [ecx + esi + 0x48], eax
xor dword [ecx + esi + 0x50], ecx
xor dword [ecx + esi + 0x58], edx
xor dword [ecx + esi + 0x60], ebx
xor dword [ecx + esi + 0x68], esp
xor dword [ecx + esi + 0x70], ebp
xor dword [ecx + esi + 0x78], esi
xor dword [ecx + esi - 0x80], edi
xor dword [ecx + esi + 0x318c3188], eax
nop
dec esp
xor dword [eax + 0x31], edx
push esp
xor dword [eax + 0x31], ebx
pop esp
xor dword [eax + 0x31], esp
xor dword fs:[eax + 0x31], ebp
insb byte es:[edi], dx
xor dword [eax + 0x31], esi
je 0x45547d
js 0x45547f
jl 0x455481
xor byte [ecx], 0x84
xor dword [eax - 0x6fce73cf], ecx
xor dword [ecx + esi + 0x319c3198], edx
mov al, byte [0xa831a431]
xor dword [ecx + esi + 0x31b431b0], ebp
mov eax, 0xc031bc31
xor esp, eax
xor eax, ecx
xor esp, ecx
xor eax, edx
xor esp, edx
xor eax, ebx
xor esp, ebx
xor eax, esp
xor esp, esp
xor eax, ebp
xor esp, ebp
xor eax, esi
xor esp, esi
xor eax, edi
xor esp, edi
xor dword [eax], eax
xor al, byte [edx + esi]
or byte [edx], dh
or al, 0x32
adc byte [edx], dh
adc al, 0x32
sbb byte [edx], dh
sbb al, 0x32
and byte [edx], dh
and al, 0x32
sub byte [edx], dh
sub al, 0x32
xor byte [edx], dh
xor al, 0x32
cmp byte [edx], dh
cmp al, 0x32
inc eax
xor al, byte [edx + esi + 0x48]
xor cl, byte [edx + esi + 0x50]
xor dl, byte [edx + esi + 0x58]
xor bl, byte [edx + esi + 0x60]
xor ah, byte [edx + esi + 0x68]
xor ch, byte [edx + esi + 0x70]
xor dh, byte [edx + esi + 0x78]
xor bh, byte [edx + esi - 0x80]
xor al, byte [edx + esi + 0x328c3288]
nop
xor dl, byte [edx + esi + 0x329c3298]
mov al, byte [0xa832a432]
xor ch, byte [edx + esi + 0x32b432b0]
mov eax, 0xc032bc32
xor al, ah
xor cl, al
xor cl, ah
xor dl, al
xor dl, ah
xor bl, al
xor bl, ah
xor ah, al
xor ah, ah
xor ch, al
xor ch, ah
xor dh, al
xor dh, ah
xor bh, al
xor bh, ah
xor al, byte [eax]
xor eax, dword [ebx + esi]
or byte [ebx], dh
or al, 0x33
adc byte [ebx], dh
adc al, 0x33
sbb byte [ebx], dh
sbb al, 0x33
and byte [ebx], dh
and al, 0x33
sub byte [ebx], dh
sub al, 0x33
xor byte [ebx], dh
xor al, 0x33
cmp byte [ebx], dh
cmp al, 0x33
inc eax
xor eax, dword [ebx + esi + 0x48]
xor ecx, dword [ebx + esi + 0x50]
xor edx, dword [ebx + esi + 0x58]
xor ebx, dword [ebx + esi + 0x60]
xor esp, dword [ebx + esi + 0x68]
xor ebp, dword [ebx + esi + 0x70]
xor esi, dword [ebx + esi + 0x78]
xor edi, dword [ebx + esi - 0x80]
xor eax, dword [ebx + esi + 0x338c3388]
nop
xor edx, dword [ebx + esi + 0x339c3398]
mov al, byte [0xa833a433]
xor ebp, dword [ebx + esi + 0x33b433b0]
mov eax, 0xc033bc33
xor eax, esp
xor ecx, eax
xor ecx, esp
xor ebx, esp
xor esp, eax
xor esi, eax
xor esi, esp
xor edi, esp
xor eax, dword [eax]
xor al, 8
xor al, 0xc
xor al, 0x1c
xor al, 0x20
xor al, 0x28
xor al, 0x2c
xor al, 0x34
xor al, 0x38
xor al, 0x48
xor al, 0x4c
xor al, 0x54
xor al, 0x58
xor al, 0x70
xor al, 0x74
xor al, 0x7c
xor al, 0x80
xor al, 0x88
xor al, 0x8c
xor al, 0x94
xor al, 0x98
xor al, 0xa8
xor al, 0xac
xor al, 0xb4
xor al, 0xb8
xor al, 0xd0
xor al, 0xd4
xor al, 0xdc
xor al, 0xe0
xor al, 0xe8
xor al, 0xec
xor al, 0xf4
xor al, 0xf8
xor al, 0
xor eax, 0x350c3504
adc byte [0x351c3518], dh
and al, 0x35
sub byte [0x35343530], dh
push esp
xor eax, 0x35603558
xor eax, 0x3570356c
nop
xor eax, 0x359c3594
mov al, byte [0xb435b035]
xor eax, 0x35c035bc
enter 0xffffffffffffcc35, 0x35
hlt