Function at 0x42a9e8
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54c
push 0x3a
mov dword [ebp - 0x10], ecx
xor eax, eax
mov dword [ebp - 0xa0], edx
pop ecx
mov dword [ebp - 0x94], 0x16
mov dword [ebp - 0x90], 0xffffffb0
add ecx, dword [ebp + eax*4 - 0x94]
inc eax
cmp eax, 2
jl 0x42aa13
and dword [ebp - 8], 0
mov eax, 0x44a69c
push ebx
mov bh, byte [0x44a69c]
push esi
push edi
mov dword [ebp - 0x9c], ecx
lea edi, [ebp - 0x54c]
push 0x11
pop ecx
mov esi, 0x402e78
mov dword [ebp - 0x50], 0xa04d5beb
rep movsd dword es:[edi], dword [esi]
mov esi, dword [0x44a5bc]
add esi, 0x7bc6b2de
mov dword [ebp - 0x4c], 0x68bfb16b
mov dword [ebp - 0x48], 0xc29afa52
xor ecx, ecx
mov dword [ebp - 0x44], 0xcf17fe16
mov dword [ebp - 0x40], 0x5151fd8b
mov dword [ebp - 0x3c], 0xd8c36229
mov edx, eax
test bh, bh
je 0x42aaa2
mov al, bh
sub al, 0x30
cmp al, 9
ja 0x42aa97
inc edx
mov al, byte [edx]
test al, al
jne 0x42aa88
jmp 0x42aa9d
xor esi, 0x48507981
mov eax, 0x44a69c
or esi, 0x304e4091
mov byte [ebp + ecx - 0x1b4], cl
inc ecx
cmp ecx, 0x100
jb 0x42aa80
push 0x43
xor edi, edi
pop ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x1b4]
mov eax, edi
xor esi, 0x9bc48a03
div ecx
movzx ecx, bl
push 0x43
movzx eax, byte [ebp + edx - 0x54c]
add eax, dword [ebp - 8]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 8], ecx
mov al, byte [ebp + ecx - 0x1b4]
mov byte [ebp + edi - 0x1b4], al
inc edi
mov byte [ebp + ecx - 0x1b4], bl
pop ecx
cmp edi, 0x100
jb 0x42aabd
and dword [ebp - 4], 0
xor edi, edi
mov dword [ebp - 8], esi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 4]
mov cl, byte [ebp + edi - 0x1b4]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x1b4]
mov byte [ebp + edi - 0x1b4], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x1b4], cl
movzx eax, byte [ebp + edi - 0x1b4]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1b4]
xor al, byte [ebp + esi - 0x50]
mov byte [ebp + esi - 0x1d0], al
inc esi
cmp esi, 0x18
jb 0x42ab12
and dword [ebp - 0x14], 0
lea edi, [ebp - 0x98]
mov esi, 0x401fd0
mov byte [ebp - 0x1b8], 0
mov dword [ebp - 4], 0xca7c7548
xor eax, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov byte [ebp + eax - 0x1b4], al
inc eax
cmp eax, 0x100
jb 0x42ab8c
mov esi, dword [ebp - 8]
xor edi, edi
push 0xb
pop ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x1b4]
mov eax, edi
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x98]
add eax, dword [ebp - 0x14]
add ecx, eax
movzx eax, cl
mov ecx, 0x44a69c
mov dword [ebp - 0x14], eax
test bh, bh
je 0x42abe6
mov al, bh
sub al, 0x30
cmp al, 9
ja 0x42abe0
inc ecx
mov al, byte [ecx]
test al, al
jne 0x42abd1
jmp 0x42abe6
and esi, 0x48285130
imul esi, esi, 0xa71116d5
sub esp, 0xc
mov edx, esi
mov ecx, esi
call fcn.0042a96a
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov al, byte [ebp + ecx - 0x1b4]
mov byte [ebp + edi - 0x1b4], al
inc edi
mov byte [ebp + ecx - 0x1b4], bl
push 0xb
pop ecx
cmp edi, 0x100
jb 0x42aba3
and dword [ebp - 0x14], 0
mov dword [ebp - 8], esi
xor esi, esi
xor edi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp + esi - 0x1b4]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x14], eax
mov al, byte [ebp + eax - 0x1b4]
mov byte [ebp + esi - 0x1b4], al
mov eax, dword [ebp - 0x14]
mov byte [ebp + eax - 0x1b4], cl
movzx eax, byte [ebp + esi - 0x1b4]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x1b4]
xor al, byte [ebp + edi - 4]
mov byte [ebp + edi - 0x94], al
inc edi
cmp edi, 4
jb 0x42ac2a
mov esi, dword [ebp - 8]
mov byte [ebp - 0x90], 0
test bh, bh
je 0x42acac
mov eax, 0x44a69c
sub bh, 0x30
cmp bh, 9
ja 0x42aca6
inc eax
mov bh, byte [eax]
test bh, bh
jne 0x42ac95
jmp 0x42acac
and esi, 0x26d446ca
xor esi, 0xa84f6f0
mov dword [ebp - 0x34], 0x32
push 0xc
mov dword [0x44a5bc], esi
xorps xmm1, xmm1
pop esi
push 0x40
pop edx
mov dword [ebp - 0x30], edx
xor ecx, ecx
mov dword [ebp - 0x2c], 0xffffff82
xor eax, eax
mov dword [ebp - 0x38], esi
movups xmm0, xmmword [ebp - 0x38]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], 0x38
psubd xmm1, xmm0
mov dword [ebp - 0x2c], 0xffffff88
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
sub ecx, dword [ebp + eax*4 - 0x34]
inc eax
cmp eax, 3
jl 0x42ad0a
push 0x2f
pop eax
mov dword [ebp - 0x8c], ecx
mov ecx, eax
push 2
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x2c], 0xffffffa3
pop edx
add ecx, dword [ebp + eax*4 - 0x30]
inc eax
cmp eax, edx
jl 0x42ad2e
push 0x1a
mov dword [ebp - 0x88], ecx
xor eax, eax
pop ecx
push 5
pop ebx
mov dword [ebp - 0x24], 0x5d
mov dword [ebp - 0x20], 0x3b
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], 0x1c
mov dword [ebp - 0x14], 0xffffff62
mov dword [ebp - 0x2c], ebx
sub ecx, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, ebx
jl 0x42ad67
push 0x3c
mov dword [ebp - 4], ecx
xor eax, eax
pop ecx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], 0x2a
sub ecx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, 3
jl 0x42ad85
push 0x70
mov dword [ebp - 8], ecx
xor eax, eax
pop ebx
mov dword [ebp - 0x1c], 0x2f
mov dword [ebp - 0x18], 0x58
mov dword [ebp - 0x14], 0xffffffe1
sub ebx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, 3
jl 0x42adac
push 5
mov edi, 0x80
mov dword [ebp - 0x24], 0x3d
mov dword [ebp - 0x20], 0x19
xor eax, eax
mov dword [ebp - 0x1c], 0x26
mov dword [ebp - 0x18], 0x35
mov dword [ebp - 0x14], 0xffffffbf
pop ecx
sub edi, dword [ebp + eax*4 - 0x24]
inc eax
cmp eax, ecx
jl 0x42ade3
push 0x4a
pop ecx
mov dword [ebp - 0x18], 0x30
xor eax, eax
mov dword [ebp - 0x14], 0xffffffa6
add ecx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, edx
jl 0x42adff
push 4
pop esi
mov dword [ebp - 0x18], 0x64
xor eax, eax
mov dword [ebp - 0x14], 0xffffff98
add esi, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, edx
jl 0x42ae1b
xor edx, edx
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x18], 0x57
xor eax, eax
mov dword [ebp - 0x14], 0xffffffa2
sub edx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, 3
jl 0x42ae3d
mov eax, dword [ebp - 0x9c]
or ecx, edi
or ecx, ebx
mov dword [ebp - 0x14], eax
or ecx, dword [ebp - 8]
lea eax, [ebp - 0x14]
or ecx, dword [ebp - 4]
or ecx, dword [ebp - 0x88]
push edx
push eax
push esi
and ecx, 0xffefffff
movd eax, xmm1
or ecx, 0xf0000
push ecx
push 0
push dword [ebp - 0x8c]
lea ecx, [ebp - 0x94]
push eax
push dword [ebp - 0x10]
push 0x80000001
call fcn.0041d4e5
mov edx, eax
lea ecx, [ebp - 0x1d0]
call fcn.0041d4c4
call eax
test eax, eax
jne 0x42b3d2
mov eax, dword [0x402ebc]
xor ebx, ebx
mov esi, dword [0x44a5bc]
mov dword [ebp - 0x10], eax
xor esi, 0x5a1104cc
mov ax, word [0x402ec0]
mov word [ebp - 0xc], ax
xor eax, eax
mov dword [ebp - 0x68], 0x41abd904
mov dword [ebp - 0x64], 0x20243f3a
mov dword [ebp - 0x60], 0x2fac4f00
mov dword [ebp - 0x5c], 0xeddfabe9
mov dword [ebp - 0x58], 0x7bd8a358
mov dword [ebp - 0x54], 0x8cf87843
mov byte [ebp + eax - 0x1b4], al
inc eax
cmp eax, 0x100
jb 0x42aef6
xor edi, edi
xor edx, edx
mov cl, byte [ebp + edi - 0x1b4]
mov eax, edi
mov byte [ebp - 0x25], cl
div dword [ebp - 0x2c]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x10]
add eax, ebx
add ecx, eax
xor eax, eax
movzx ebx, cl
cmp byte [0x44a69c], al
je 0x42af4a
inc eax
cmp eax, 0x1ce5
jl 0x42af44
cmp byte [eax + 0x44a69c], 0
jne 0x42af31
jmp 0x42af4a
imul esi, esi, 0xc85c8887
and esi, 0x8da8ff39
sub esi, 0x6a2c961c
push esi
call fcn.0042a9be
mov al, byte [ebp + ebx - 0x1b4]
mov byte [ebp + edi - 0x1b4], al
inc edi
mov al, byte [ebp - 0x25]
mov byte [ebp + ebx - 0x1b4], al
pop ecx
cmp edi, 0x100
jb 0x42af07
and dword [ebp - 8], 0
xor eax, eax
xor edi, edi
cmp byte [0x44a678], al
je 0x42afbb
inc eax
cmp eax, 0x144c
jl 0x42afae
cmp byte [eax + 0x44a678], 0
jne 0x42af8e
cmp eax, 0x22cb
jle 0x42afbb
and esi, 0xc1709ae4
jmp 0x42afc1
push esi
call fcn.0042a9be
pop ecx
imul esi, esi, 0x70baf145
add esi, 0x37f52706
lea ebx, [esi + 0x7a230232]
push ebx
call fcn.0042a9be
pop ecx
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x1b4]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x1b4]
mov byte [ebp + edi - 0x1b4], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x1b4], cl
movzx eax, byte [ebp + edi - 0x1b4]
add eax, edx
movzx eax, al
mov dl, byte [ebp + eax - 0x1b4]
xor eax, eax
cmp byte [0x44a69c], al
je 0x42b03a
inc eax
cmp eax, 0xbc5
je 0x42b034
cmp byte [eax + 0x44a69c], 0
jne 0x42b021
jmp 0x42b03a
sub ebx, 0x5ad223e9
add ebx, 0xd6efba7a
and ebx, 0x6c7c3d76
push ebx
call fcn.0042a9be
mov al, byte [ebp + esi - 0x68]
xor al, dl
mov byte [ebp + esi - 0x1ec], al
inc esi
pop ecx
cmp esi, 0x18
jb 0x42afd0
push 5
pop eax
mov ecx, eax
mov byte [ebp - 1], al
mov esi, 0x402ec4
mov dword [ebp - 0x2c], ebx
lea edi, [ebp - 0x50]
mov byte [ebp - 0x1d4], 0
rep movsd dword es:[edi], dword [esi]
mov word [ebp - 4], 0xbff8
mov byte [ebp - 2], 0xea
movsw word es:[edi], word [esi]
xor edi, edi
xor eax, eax
mov byte [ebp + eax - 0x308], al
inc eax
cmp eax, 0x100
jb 0x42b090
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x308]
push 0x15
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x50]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x308]
mov byte [ebp + esi - 0x308], al
inc esi
mov byte [ebp + edi - 0x308], bl
cmp esi, 0x100
jb 0x42b0a1
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x308]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x308]
mov byte [ebp + edi - 0x308], al
mov byte [ebp + ebx - 0x308], cl
movzx eax, byte [ebp + edi - 0x308]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x308]
xor al, byte [ebp + esi - 4]
mov byte [ebp + esi - 0x88], al
inc esi
cmp esi, 4
jb 0x42b0e4
push 0xb
pop eax
push 5
xor ecx, ecx
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
xor eax, eax
mov byte [ebp - 0x84], 0
mov dword [ebp - 0xac], 0x17
mov dword [ebp - 0xa8], 0x11
mov dword [ebp - 0xa4], 0xffffffc2
pop edx
sub ecx, dword [ebp + eax*4 - 0xb4]
inc eax
cmp eax, edx
jl 0x42b16f
mov eax, dword [0x402720]
xor edi, edi
mov dword [ebp - 0x10], eax
mov ax, word [0x402724]
mov word [ebp - 0xc], ax
xor eax, eax
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x80], 0x3d5fdc69
mov dword [ebp - 0x7c], 0xf1e40ee9
mov dword [ebp - 0x78], 0xe46f62fc
mov dword [ebp - 0x74], 0xc5e8e1e6
mov dword [ebp - 0x70], 0xcc2f33c6
mov dword [ebp - 0x6c], 0x241a5e21
mov byte [ebp + eax - 0x408], al
inc eax
cmp eax, 0x100
jb 0x42b1c1
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x408]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x10]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x408]
mov byte [ebp + esi - 0x408], al
inc esi
mov byte [ebp + edi - 0x408], bl
cmp esi, 0x100
jb 0x42b1d2
imul esi, dword [ebp - 0x2c], 0xa8c1c282
xor ebx, ebx
and dword [ebp - 0x10], 0
xor edi, edi
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x10]
lea eax, [ebx + 1]
movzx ebx, al
mov cl, byte [ebp + ebx - 0x408]
movzx edx, cl
lea eax, [edx + esi]
movzx esi, al
mov al, byte [ebp + esi - 0x408]
mov byte [ebp + ebx - 0x408], al
mov byte [ebp + esi - 0x408], cl
movzx eax, byte [ebp + ebx - 0x408]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x408]
xor al, byte [ebp + edi - 0x80]
mov byte [ebp + edi - 0x208], al
inc edi
cmp edi, 0x18
jb 0x42b224
mov eax, dword [0x402edc]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
or esi, 0x14a3f512
mov ax, word [0x402ee0]
mov word [ebp - 0xc], ax
xor eax, eax
mov byte [ebp - 0x1f0], 0
mov dword [ebp - 4], 0xd31cea2b
cmp byte [0x44a69c], al
je 0x42b2c7
inc eax
cmp eax, 0x1c37
je 0x42b3d7
cmp byte [eax + 0x44a69c], 0
jne 0x42b2a7
cmp eax, 0x5fa
jg 0x42b3dd
add esi, 0x553be357
lea eax, [esi + 0x45982980]
xor edi, edi
mov dword [0x44a5bc], eax
xor eax, eax
mov byte [ebp + eax - 0x508], al
inc eax
cmp eax, 0x100
jb 0x42b2dc
xor esi, esi
xor edx, edx
mov bl, byte [ebp + esi - 0x508]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x10]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x508]
mov byte [ebp + esi - 0x508], al
inc esi
mov byte [ebp + edi - 0x508], bl
cmp esi, 0x100
jb 0x42b2ed
xor ebx, ebx
xor edi, edi
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x508]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x508]
mov byte [ebp + edi - 0x508], al
mov byte [ebp + ebx - 0x508], cl
movzx eax, byte [ebp + edi - 0x508]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x508]
xor al, byte [ebp + esi - 4]
mov byte [ebp + esi - 0x30], al
inc esi
cmp esi, 4
jb 0x42b330
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x2c], 0
call fcn.004348f7
add eax, eax
push eax
push ecx
push 1
push dword [ebp - 0x8c]
lea ecx, [ebp - 0x88]
push dword [ebp - 0xa0]
push dword [ebp - 0x14]
call fcn.0041d4e5
mov edx, eax
lea ecx, [ebp - 0x1ec]
call fcn.0041d4c4
call eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0x30]
call fcn.0041d4e5
mov edx, eax
lea ecx, [ebp - 0x208]
call fcn.0041d4c4
call eax
pop edi
pop esi
pop ebx
leave
ret
and esi, 0x12224fc1
sub esp, 0xc
mov edx, esi
mov ecx, esi
call fcn.0042a96a
add esp, 0xc
or esi, 0x28e4d4cf
jmp 0x42b2cd