Function at 0x425e70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x160
mov dword [esp + 0x10], 0x539351b9
mov dword [esp + 0x14], 0x5fec5de2
mov dword [esp + 0x18], 0x5bfb5992
mov dword [esp + 0x1c], 0x278725e6
mov dword [esp + 0x20], 0x232021c9
lea eax, [esp + 0x24]
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov ecx, 0x681d09b4
mov edx, 0x97e2f64c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x681d09a4]
lea esi, [edi + edi]
not esi
add esi, edi
or esi, edx
and edi, edx
add esi, ecx
or esi, edi
mov dword [esp + 0xb0], esi
mov ebx, dword [esp + 0xb0]
add bl, 0x1b
mov byte [esp + ecx - 0x681d09a4], bl
inc ecx
dec edx
cmp ecx, 0x681d09d0
jne 0x425ed0
lea esi, [esp + 0x132]
lea edx, [esp + 0x10]
mov edi, esi
mov ecx, 5
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 + 0x88]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x44d624]
mov ebx, dword [esp + 0x88]
test ebx, ebx
jns 0x425f58
mov eax, 0xffffffff
jmp 0x425f5b
lea eax, [ebx + ebx]
push eax
call fcn.00408fc0
add esp, 4
push edi
push ebx
mov dword [esp + 0x6c], eax
push eax
push 9
push esi
push 0
call dword [0x44d624]
mov dword [esp + 0x10], 0x73db6da8
mov dword [esp + 0x14], 0x77d171c7
mov dword [esp + 0x18], 0x7bcc75c7
mov dword [esp + 0x1c], 0x7f7e79dc
lea eax, [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 0x20], 0
mov byte [esp + 0x24], 0
mov esi, 0xba7d0571
mov ecx, 0x8e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x7e]
lea ebx, [edx + edx]
not ebx
add ebx, edx
and ebx, 0x713b3c4c
mov edi, edx
not edi
or edi, 0xec4c3b3
add edi, edx
inc edi
or edi, ebx
mov eax, esi
and eax, 0x3c
mov ebx, ecx
and ebx, 0x83
or ebx, eax
xor edi, 0x713b3c4c
or edi, esi
xor ebx, 0xc3
and ebx, edx
mov eax, ebx
sub eax, edi
not ebx
or ebx, edi
add ebx, eax
mov dword [esp + 0xb0], ebx
mov edx, dword [esp + 0xb0]
add edx, 0x7c46dcf0
mov eax, edx
xor eax, 0xd2
and edx, 0x2d
add edx, edx
sub edx, eax
mov byte [esp + ecx - 0x7e], dl
dec esi
inc ecx
cmp esi, 0xba7d055c
jne 0x425fc0
lea edi, [esp + 0xec]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xfc]
xor edx, edx
xor ecx, ecx
mov eax, dword [esp]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x10], 0xb323b50a
mov dword [esp + 0x14], 0xaf2db13f
mov dword [esp + 0x18], 0xab22ad3f
mov dword [esp + 0x1c], 0xa715a936
mov dword [esp + 0x20], 0xa336a539
mov dword [esp + 0x24], 0x9f2ea13d
mov dword [esp + 0x28], 0x9b9c9d19
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp + 0x2c], 0
mov byte [esp + 0x30], 0
xor ecx, ecx
mov dword [esp], edx
movzx edi, byte [esp + ecx + 0x10]
mov eax, ecx
xor eax, 0x9bb8d1c8
mov esi, dword [esp]
and esi, 0x10
lea ebx, [eax + esi]
add esi, eax
inc esi
mov eax, esi
xor eax, edi
lea edx, [eax + eax]
not edx
add edx, eax
and esi, edx
mov eax, 0xfffffffe
sub eax, ebx
and eax, edx
lea edx, [ebx + edi]
add eax, edx
add eax, 2
or eax, esi
mov edx, eax
not edx
or edx, 0xfffffffd
add edx, eax
inc edx
mov esi, eax
or esi, 0xfffffffd
inc esi
imul esi, edx
mov edx, eax
and edx, 2
or eax, 2
imul eax, edx
sub esi, eax
lea eax, [edi + ebx]
inc eax
add eax, esi
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
mov edx, eax
or edx, 0x3df24380
mov edi, eax
xor edi, 0x420dbc7f
and edi, edx
add edi, edi
mov ebx, eax
xor ebx, 0xbdf24380
and ebx, edi
mov esi, ebx
xor eax, 0x7f
not edi
and edi, eax
mov eax, ebx
or edi, ebx
or ebx, 2
and esi, 2
imul ebx, esi
xor esi, 2
and eax, 0xfc
imul eax, esi
mov edx, dword [esp]
sub ebx, edi
add ebx, eax
mov byte [esp + ecx + 0x10], bl
inc ecx
add edx, 2
cmp ecx, 0x21
jne 0x4260b0
lea edi, [esp + 0x116]
lea eax, [esp + 0x10]
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x132]
xor ecx, ecx
mov eax, dword [esp + 4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x10], 0xdb43d964
mov dword [esp + 0x14], 0xd775d547
mov dword [esp + 0x18], 0xd340d147
mov dword [esp + 0x1c], 0xcf7ecd50
mov dword [esp + 0x20], 0xcb08c964
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
mov word [esp + 0x24], 0xc5c4
mov dword [esp + 0x2a], 0
mov dword [esp + 0x26], 0
mov ecx, 0x84383f
mov ebx, 0x108707e
nop
nop
nop
movzx edi, byte [esp + ecx - 0x84382f]
mov eax, ecx
xor eax, 0x60d9a9a4
mov esi, ebx
and esi, 0x1005048
lea edx, [esi + eax]
mov dword [esp], edx
add eax, esi
add eax, 0xc1
lea esi, [edx + edi]
mov edx, 0x3e
sub edx, esi
and eax, edi
mov esi, dword [esp]
add esi, edi
add esi, 0xff7bc7c1
add eax, eax
and edx, eax
not eax
and eax, esi
sub eax, edx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
mov edx, eax
not edx
and eax, 0x83
and edx, 0x7c
sub eax, edx
mov byte [esp + ecx - 0x84382f], al
inc ecx
add ebx, 2
cmp ecx, 0x84385d
jne 0x4261f0
lea esi, [esp + 0x146]
lea eax, [esp + 0x10]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x15a]
mov ecx, 1
mov eax, dword [esp + 4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esp + 0xec]
mov dword [esp + 0xe0], eax
lea eax, [esp + 0x116]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], esi
mov eax, dword [esp + 0x64]
add eax, 2
mov dword [esp + 0x90], eax
xor ebx, ebx
mov dword [esp + 0x74], 0
nop
nop
nop
nop
nop
nop
mov eax, dword [0x44988c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax