Function at 0x424dc0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x160
mov dword [esp + 0x18], 0xeb93d5ed
mov dword [esp + 0x1c], 0xef98e99a
mov dword [esp + 0x20], 0xe38bedaa
mov dword [esp + 0x24], 0xe787e196
mov dword [esp + 0x28], 0xfbe4e5dd
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x2f], 0
mov dword [esp + 0x98], 0
mov ecx, dword [esp + 0x98]
cmp ecx, 0x1a
ja 0x424e93
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
movzx edx, byte [esp + edx + 0x18]
lea esi, [ecx - 0x51eef0a3]
add ecx, 0x5d
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xc4], esi
mov ecx, dword [esp + 0xc4]
add cl, 0x75
mov edx, dword [esp + 0x98]
mov byte [esp + edx + 0x18], cl
mov ecx, dword [esp + 0x98]
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x98]
cmp ecx, 0x1b
jb 0x424e30
lea esi, [esp + 0x132]
lea edx, [esp + 0x18]
mov ecx, 5
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x146]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x94]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x449a08]
mov ebx, dword [esp + 0x94]
test ebx, ebx
jns 0x424ee2
mov eax, 0xffffffff
jmp 0x424ee5
lea eax, [ebx + ebx]
push eax
call fcn.00408da0
add esp, 4
push edi
push ebx
mov dword [esp + 0x68], eax
push eax
push 9
push esi
push 0
call dword [0x449a08]
mov dword [esp + 0x18], 0xab0ba562
mov dword [esp + 0x1c], 0xaf0da91f
mov dword [esp + 0x20], 0xb31aad1f
mov dword [esp + 0x24], 0xb7b0b116
lea edx, [esp + 0x28]
mov byte [esp + 0x28], 0
mov dword [esp + 0x98], 0
mov eax, dword [esp + 0x98]
cmp eax, 0x10
ja 0x424f9c
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
movzx ecx, byte [esp + ecx + 0x18]
lea esi, [eax + 0x7cb3fcc5]
lea edi, [eax + 0xc5]
and edi, ecx
and esi, edi
add eax, ecx
add eax, 0x7cb3fcc5
add esi, edi
sub eax, esi
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc4]
add al, 0x9d
mov ecx, dword [esp + 0x98]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 0x98]
mov eax, dword [esp + 0x98]
cmp eax, 0x11
jb 0x424f40
lea edi, [esp + 0x122]
lea esi, [esp + 0x18]
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x132]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x18], 0x7bc379a2
mov dword [esp + 0x1c], 0x7fd97dcf
mov dword [esp + 0x20], 0x73c271cf
mov dword [esp + 0x24], 0x77b175d6
mov dword [esp + 0x28], 0x4bf649d5
mov dword [esp + 0x2c], 0x4ffe4de9
mov dword [esp + 0x30], 0x434041c5
lea esi, [esp + 0x34]
mov dword [esp + 0x34], 0
mov byte [esp + 0x38], 0
mov dword [esp + 0x98], 0
mov ecx, dword [esp + 0x98]
cmp ecx, 0x20
ja 0x425096
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
movzx edi, byte [esp + edx + 0x18]
lea ebx, [ecx + 0x7da2040f]
lea edx, [ecx + edi]
add edx, 0x7da2040f
and ebx, edi
add ecx, 0xf
and ecx, edi
add ecx, ebx
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xc4]
add cl, 0x97
mov edx, dword [esp + 0x98]
mov byte [esp + edx + 0x18], cl
inc dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
cmp ecx, 0x21
jb 0x425030
lea edx, [esp + 0x98]
lea ebx, [esp + 0x18]
mov edi, edx
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0xb4]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0x18], 0x93fb91da
mov dword [esp + 0x1c], 0x9ff19def
mov dword [esp + 0x20], 0x9bea99ef
mov dword [esp + 0x24], 0xa7f4a5f6
mov dword [esp + 0x28], 0xa3e2a1fa
lea ebx, [esp + 0x2c]
mov word [esp + 0x2c], 0xada2
mov dword [esp + 0x2e], 0
mov dword [esp + 0xf4], 0
mov ecx, dword [esp + 0xf4]
cmp ecx, 0x19
ja 0x425167
mov ecx, dword [esp + 0xf4]
mov esi, dword [esp + 0xf4]
movzx esi, byte [esp + esi + 0x18]
lea edi, [ecx + esi]
add ecx, 0x93
and ecx, esi
add ecx, ecx
sub edi, ecx
add edi, 0xf7307b93
mov dword [esp + 0xc4], edi
mov ecx, dword [esp + 0xc4]
add cl, 0xfb
mov esi, dword [esp + 0xf4]
mov byte [esp + esi + 0x18], cl
inc dword [esp + 0xf4]
mov ecx, dword [esp + 0xf4]
cmp ecx, 0x1a
jb case.default.0x4251d1
lea esi, [esp + 0x146]
lea eax, [esp + 0x18]
mov ecx, 5
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x15a]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x122]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], esi
mov esi, dword [esp + 0x60]
mov eax, esi
add eax, 2
mov dword [esp + 0x90], eax
xor ecx, ecx
xor eax, eax
cmp ecx, 3
setne al
mov dword [esp + 0x88], 0
jmp dword [eax*4 + 0x445b9c]