Function at 0x42f710
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9f0
mov esi, esp
push 0x1000
call fcn.0040ce70
add esp, 4
mov dword [esi + 0x18], eax
mov dword [esi + 0x734], 0x12e20c6
mov dword [esi + 0x738], 0x2f7a6773
mov dword [esi + 0x73c], 0xd734
mov byte [esi + 0x740], 0
mov eax, 0x5c7d945e
mov ecx, 0xb8fb28bc
mov dword [esi + 4], ecx
mov ecx, dword [esi + 4]
and ecx, 0x1059005a
mov edx, eax
xor edx, 0x9aecb2d
mov edi, 0x5c7d945d
sub edi, ecx
sub edi, edx
mov dword [esi + 0xc], edi
movzx edi, byte [esi + eax - 0x5c7d8d2a]
mov dword [esi + 8], edi
add ecx, edx
add ecx, 0xa3826ba2
mov ebx, ecx
xor ebx, edi
lea edx, [ebx + ebx]
not edx
add edx, ebx
and edx, ecx
mov ebx, edx
and ebx, 0xfffffffd
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
xor edi, 2
imul edi, ebx
add edx, edi
mov ebx, edx
not ebx
and ebx, ecx
and edx, dword [esi + 0xc]
sub ebx, edx
add ebx, dword [esi + 8]
mov ecx, ebx
and ecx, 1
or ebx, 1
add ebx, ecx
mov ecx, dword [esi + 4]
add bl, 0x1e
mov byte [esi + eax - 0x5c7d8d2a], bl
inc eax
add ecx, 2
cmp eax, 0x5c7d946b
jne 0x42f760
mov eax, dword [str.7567fff5468f5b682780aea4c2eb6266]
mov dword [esi + 4], eax
mov dword [esi + 0x404], 0xb4ea98fa
mov dword [esi + 0x408], 0x525c5559
mov dword [esi + 0x40c], 0x5e4c485d
mov dword [esi + 0x410], 0x6f6f684c
mov word [esi + 0x414], 0xdbba
mov byte [esi + 0x416], 0xfa
mov dword [esi + 0x417], 0
mov byte [esi + 0x41b], 0
mov ecx, 0xd3
mov edx, 0x2c
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esi + ecx + 0x331]
lea eax, [ebx + ebx]
not eax
add eax, ebx
or eax, edx
or ebx, ecx
and ebx, eax
add bl, 0xe1
mov byte [esi + ecx + 0x331], bl
inc ecx
dec edx
cmp ecx, 0xeb
jne 0x42f850
mov eax, dword [str.hRjzG3__AEX]
mov dword [esi + 8], eax
mov dword [esi + 0x9c], 0x46bc9f99
mov dword [esi + 0xa0], 0x444c937b
mov dword [esi + 0xa4], 0x9d96bd7d
mov dword [esi + 0xa8], 0x718aab91
mov dword [esi + 0xac], 0x6271707b
mov dword [esi + 0xb0], 0x744b727e
mov dword [esi + 0xb4], 0xbcdc7a76
mov dword [esi + 0xb8], 0x566d99b8
mov dword [esi + 0xbc], 0x6d798aba
mov dword [esi + 0xc0], 0x646eb36c
mov dword [esi + 0xc4], 0x499c626d
mov dword [esi + 0xc8], 0x929d9768
mov dword [esi + 0xcc], 0x82918c93
mov dword [esi + 0xd0], 0x91859e92
mov dword [esi + 0xd4], 0x23929686
mov dword [esi + 0xd8], 0x8a665b47
mov dword [esi + 0xdc], 0x749d8083
mov dword [esi + 0xe0], 0x82705342
mov dword [esi + 0xe4], 0x43928b8f
mov dword [esi + 0xe8], 0xb9af5a68
mov dword [esi + 0xec], 0x61467c6c
mov dword [esi + 0xf0], 0x71707372
mov dword [esi + 0xf4], 0x4566781e
mov dword [esi + 0xf8], 0x7d505f43
mov byte [esi + 0xfc], 0x1c
mov word [esi + 0x101], 0
mov dword [esi + 0xfd], 0
lea edx, [esi + 0x9c]
mov edi, 0xaa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [edx]
lea ecx, [edi - 0x4eeb0b00]
or ecx, eax
lea ebx, [ecx + ecx]
not ebx
add ebx, ecx
and eax, edi
or ebx, eax
add ebx, 0x7568cc56
mov eax, ebx
and eax, 0xc
xor ebx, 0x8c
lea eax, [ebx + eax*2]
add al, 0x75
mov byte [edx], al
inc edx
dec edi
cmp edi, 0x43
jne 0x42f9a0
movzx edx, byte [esi + 0x9c]
mov eax, dword [esi + 0x18]
test dl, dl
je 0x42f9fb
lea edi, [esi + 0x9d]
mov eax, dword [esi + 0x18]
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x42f9f0
mov byte [eax], 0
mov ecx, dword [esi + 8]
movzx edx, byte [ecx]
test dl, dl
mov edi, eax
je 0x42fa1d
inc ecx
mov eax, dword [esi + 4]
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x42fa10
jmp 0x42fa20
mov eax, dword [esi + 4]
mov byte [edi], 0
movzx ecx, byte [esi + 0x404]
test cl, cl
je 0x42fa4b
lea edx, [esi + 0x405]
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 0x42fa40
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42fa6b
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 0x42fa60
mov byte [edi], 0
movzx eax, byte [esi + 0x734]
test al, al
je 0x42fa8b
lea ecx, [esi + 0x735]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42fa80
mov byte [edi], 0
push 0
call fcn.00443c40
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44d4c0]