Function at 0x425080
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb30
mov esi, esp
push 0x1000
call fcn.00435ac0
add esp, 4
mov dword [esi + 0x5f0], 0xeb18163c
mov dword [esi + 0x5f4], 0x5d4c9d9
mov word [esi + 0x5f8], 0xc11e
mov dword [esi + 0x5fa], 0
mov dword [esi + 0x5fe], 0
mov dword [esi + 0x601], 0
mov dword [esi + 0x280], 0
mov ecx, dword [esi + 0x280]
cmp ecx, 0x14
ja 0x425147
nop
nop
mov ecx, dword [esi + 0x280]
mov edx, dword [esi + 0x280]
movzx edx, byte [esi + edx + 0x5f0]
lea edi, [ecx + edx]
add edi, 0x12045777
add ecx, 0x12045777
and ecx, edx
add ecx, ecx
sub edi, ecx
mov ecx, edi
xor ecx, 0xbe
and edi, 0x3e
lea edx, [ecx + edi*2]
inc dl
mov ecx, dword [esi + 0x280]
mov byte [esi + ecx + 0x5f0], dl
inc dword [esi + 0x280]
mov ecx, dword [esi + 0x280]
cmp ecx, 0x15
jb 0x4250f0
mov dword [esi + 0x68], eax
mov eax, dword [str.default]
mov dword [esi + 0x920], 0x3ed826fc
mov dword [esi + 0x924], 0x641a636b
mov dword [esi + 0x928], 0x10626667
mov dword [esi + 0x92c], 0x69656e66
mov word [esi + 0x930], 0xc93c
mov byte [esi + 0x932], 0xe8
mov dword [esi + 0x933], 0
mov dword [esi + 0x937], 0
mov dword [esi + 0x93b], 0
mov byte [esi + 0x93f], 0
mov dword [esi + 0x280], 0
mov ecx, dword [esi + 0x280]
cmp ecx, 0x1f
ja 0x425207
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x280]
mov edx, dword [esi + 0x280]
add cl, 0x9f
xor cl, byte [esi + edx + 0x920]
add cl, 0xa7
mov edx, dword [esi + 0x280]
mov byte [esi + edx + 0x920], cl
inc dword [esi + 0x280]
mov ecx, dword [esi + 0x280]
cmp ecx, 0x20
jb 0x4251d0
mov ecx, dword [str.P6Mk0M__superstar]
mov dword [esi + 0x280], 0x6634edeb
mov dword [esi + 0x284], 0x64641169
mov dword [esi + 0x288], 0x4f1a2b6f
mov dword [esi + 0x28c], 0x533e1933
mov dword [esi + 0x290], 0x424f5069
mov dword [esi + 0x294], 0x747d7272
mov dword [esi + 0x298], 0x6e44a72
mov dword [esi + 0x29c], 0x427b2508
mov dword [esi + 0x2a0], 0x5154c41
mov dword [esi + 0x2a4], 0x7e431730
mov dword [esi + 0x2a8], 0x3b047178
mov dword [esi + 0x2ac], 0x3f477815
mov dword [esi + 0x2b0], 0x1522063c
mov dword [esi + 0x2b4], 0xc9121710
mov dword [esi + 0x2b8], 0x2062529
mov dword [esi + 0x2bc], 0xcf2e170c
mov word [esi + 0x2c0], 0
mov dword [esi + 0x81c], 0
mov edx, dword [esi + 0x81c]
cmp edx, 0x41
ja 0x42531a
nop
nop
nop
nop
nop
mov edi, dword [esi + 0x81c]
mov edx, dword [esi + 0x81c]
movzx ebx, byte [esi + edx + 0x280]
lea edx, [edi + ebx]
add edx, 0xfe
add edi, 0xfe
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0xe
mov edi, dword [esi + 0x81c]
mov byte [esi + edi + 0x280], dl
inc dword [esi + 0x81c]
mov edx, dword [esi + 0x81c]
cmp edx, 0x42
jb 0x4252d0
movzx edx, byte [esi + 0x280]
mov ebx, dword [esi + 0x68]
test dl, dl
je 0x42534b
lea edi, [esi + 0x281]
mov ebx, dword [esi + 0x68]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x425340
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x42536b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x425360
mov byte [ebx], 0
movzx ecx, byte [esi + 0x920]
test cl, cl
je 0x42538b
lea edx, [esi + 0x921]
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x425380
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4253ab
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4253a0
mov byte [ebx], 0
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x4253cb
lea ecx, [esi + 0x5f1]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4253c0
mov byte [ebx], 0
push 0
call fcn.0043a000
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x444e9c]
mov ecx, 0xa7a20c59
xor ecx, dword [0x444ea4]
add ecx, edx
inc ecx
jmp ecx