Function at 0x42beb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa00
mov esi, esp
push 0x1000
call fcn.0040a1d0
add esp, 4
mov dword [esi + 0x24], eax
mov dword [esi + 0x744], 0x596a789a
mov dword [esi + 0x748], 0x433e0b37
mov word [esi + 0x74c], 0x8364
mov dword [esi + 0x74e], 0
mov byte [esi + 0x752], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, eax
and edi, 6
mov edx, ecx
xor edx, 0xe3
add edx, edi
xor dl, byte [esi + ecx + 0x744]
add dl, 0x91
mov byte [esi + ecx + 0x744], dl
inc ecx
add eax, 2
cmp ecx, 0xf
jne 0x42bf10
mov eax, dword [0x444664]
mov dword [esi + 8], eax
mov dword [esi + 0x42c], 0x68364c2e
mov dword [esi + 0x430], 0x8a888787
mov dword [esi + 0x434], 0x6e809c8b
mov dword [esi + 0x438], 0x99999480
mov word [esi + 0x43c], 0x294e
mov byte [esi + 0x43e], 6
mov word [esi + 0x43f], 0
lea ecx, [esi + 0x42c]
mov edx, 0x409af479
nop
nop
nop
movzx edi, byte [ecx]
mov ebx, edx
or ebx, edi
lea eax, [edx - 0x409af400]
and eax, edi
not ebx
or ebx, eax
add ebx, 0x4306c661
mov eax, ebx
xor eax, 0xd6
and ebx, 0x29
add ebx, ebx
sub ebx, eax
add bl, 0xd7
mov byte [ecx], bl
inc ecx
dec edx
cmp edx, 0x409af464
jne 0x42bf90
mov ecx, dword [0x444660]
mov dword [esi + 0xac], 0x16204143
mov dword [esi + 0xb0], 0x181845ed
mov dword [esi + 0xb4], 0x2f5a330f
mov dword [esi + 0xb8], 0x33e5d3b
mov dword [esi + 0xbc], 0x120f0c05
mov dword [esi + 0xc0], 0x8010a0a
mov dword [esi + 0xc4], 0xa890f2fa
mov dword [esi + 0xc8], 0x6fbcfac
mov dword [esi + 0xcc], 0xffe7d2a6
mov dword [esi + 0xd0], 0xf8faa5f8
mov dword [esi + 0xd4], 0xbbd0eaff
mov dword [esi + 0xd8], 0xe2ebe1dc
mov dword [esi + 0xdc], 0xf2eff0ed
mov dword [esi + 0xe0], 0xe3f3eee6
mov dword [esi + 0xe4], 0xc8cbd5d8
mov dword [esi + 0xe8], 0xd0ccc2c9
mov dword [esi + 0xec], 0x839fbbd4
mov dword [esi + 0xf0], 0xdadbd0f8
mov dword [esi + 0xf4], 0x9b88fad9
mov dword [esi + 0xf8], 0xc3c7c8fe
mov dword [esi + 0xfc], 0xed92fbd4
mov dword [esi + 0x100], 0x8596c3cb
mov dword [esi + 0x104], 0xfbf8e9ff
mov dword [esi + 0x108], 0xf2d4f9fe
mov dword [esi + 0x10c], 0x879b9de0
mov word [esi + 0x110], 0xe58e
mov byte [esi + 0x112], 0xc6
mov byte [esi + 0x115], 0
mov word [esi + 0x113], 0
mov edx, 0x5b2c24e8
mov edi, dword [esi + 0x24]
nop
nop
movzx ebx, byte [esi + edx - 0x5b2c243c]
mov eax, ebx
and eax, edx
add al, al
sub bl, al
movzx eax, bl
add eax, edx
add al, 0x78
mov byte [esi + edx - 0x5b2c243c], al
inc edx
cmp edx, 0x5b2c2552
jne 0x42c0f0
movzx edx, byte [esi + 0xac]
mov eax, edi
test dl, dl
je 0x42c13b
lea edi, [esi + 0xad]
mov eax, dword [esi + 0x24]
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x42c130
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
mov edi, eax
je 0x42c15d
inc ecx
mov eax, dword [esi + 8]
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x42c150
jmp 0x42c160
mov eax, dword [esi + 8]
mov byte [edi], 0
movzx ecx, byte [esi + 0x42c]
test cl, cl
je 0x42c18b
lea edx, [esi + 0x42d]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42c180
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42c1ab
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42c1a0
mov byte [edi], 0
movzx eax, byte [esi + 0x744]
test al, al
je 0x42c1cb
lea ecx, [esi + 0x745]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42c1c0
mov byte [edi], 0
push 0
call fcn.0043f2d0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x447494]
mov ecx, 0x7355316
xor ecx, dword [0x44749c]
add ecx, edx
inc ecx
mov dword [esi + 0x14], edi
jmp ecx