Function at 0x42ccc0
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.004086e0
add esp, 4
mov dword [esi + 0x14], eax
mov dword [esi + 0x734], 0x3146507e
mov dword [esi + 0x738], 0x371aef03
mov dword [esi + 0x73c], 0x7f5c
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi], eax
movzx edi, byte [esi + ecx + 0x734]
mov dword [esi + 8], edi
mov eax, ecx
xor eax, 0x3bf217
mov edx, dword [esi]
and edx, 0x10
sub edx, eax
mov ebx, edx
and ebx, edi
mov edi, ebx
or edi, 0xfd
inc edi
mov eax, ebx
and eax, 0xfffffffd
imul eax, edi
mov edi, ebx
and edi, 2
or ebx, 2
imul ebx, edi
sub eax, ebx
add edx, dword [esi + 8]
add edx, eax
add dl, 0x73
mov byte [esi + ecx + 0x734], dl
mov eax, dword [esi]
inc ecx
add eax, 2
cmp ecx, 0xc
jne 0x42cd10
mov eax, dword [str.b9abc76ce53b6fc3a03566f8f764f5ea]
mov dword [esi + 4], eax
mov dword [esi + 0x404], 0x785e5436
mov dword [esi + 0x408], 0x8a88afaf
mov dword [esi + 0x40c], 0x86b0b48b
mov dword [esi + 0x410], 0xb9b98cb0
mov word [esi + 0x414], 0x4976
mov byte [esi + 0x416], 0x2e
mov word [esi + 0x417], 0
mov ecx, 0x1474f98a
mov eax, 0x51d3e629
nop
nop
nop
nop
nop
nop
mov dword [esi + 8], eax
movzx edx, byte [esi + ecx - 0x1474f586]
mov dword [esi], edx
mov edi, edx
not edi
mov ebx, ecx
and ebx, edi
mov eax, ecx
xor eax, edx
or edi, ecx
mov edx, eax
sub edx, edi
sub edx, ebx
add edi, ebx
sub edx, dword [esi]
lea ebx, [ecx + edx]
add ebx, 0x99b7204c
add edi, dword [esi]
mov dword [esi], ebx
sub edi, eax
mov eax, dword [esi + 8]
add edi, eax
mov edx, edi
and edi, 0x90
and ebx, 0x6f
or ebx, edi
not edx
xor ebx, 0x91
and edx, 1
or edx, ebx
mov edi, dword [esi]
and edi, 1
add edx, edi
mov byte [esi + ecx - 0x1474f586], dl
inc ecx
dec eax
cmp ecx, 0x1474f99f
jne 0x42cdc0
mov eax, dword [str.HpOoIh__bd10a1647218]
mov dword [esi], eax
mov dword [esi + 0x9c], 0xda88696f
mov dword [esi + 0xa0], 0xd0d06dc5
mov dword [esi + 0xa4], 0xb3668fcb
mov dword [esi + 0xa8], 0xe7ba65bf
mov dword [esi + 0xac], 0x9ee3e4ed
mov dword [esi + 0xb0], 0xe0f9eeee
mov dword [esi + 0xb4], 0x5048eee6
mov dword [esi + 0xb8], 0xe2ffb354
mov dword [esi + 0xbc], 0xf38b9eb2
mov dword [esi + 0xc0], 0xf0fe4df0
mov dword [esi + 0xc4], 0x47a8f6fb
mov dword [esi + 0xc8], 0x868ff9a4
mov dword [esi + 0xcc], 0xfe83f885
mov dword [esi + 0xd0], 0x87f7828a
mov dword [esi + 0xd4], 0xf0f78d80
mov dword [esi + 0xd8], 0x98ecf6f1
mov dword [esi + 0xdc], 0x2fd3379c
mov dword [esi + 0xe0], 0x9e9f98f0
mov dword [esi + 0xe4], 0x27d0c6e1
mov dword [esi + 0xe8], 0xa7a390c2
mov dword [esi + 0xec], 0xcd1ef7dc
mov dword [esi + 0xf0], 0xe212b7af
mov dword [esi + 0xf4], 0xe7e011f8
mov dword [esi + 0xf8], 0xf614e1e2
mov dword [esi + 0xfc], 0xebd7d508
mov word [esi + 0x100], 0xde2
mov byte [esi + 0x102], 0x22
mov byte [esi + 0x107], 0
mov dword [esi + 0x103], 0
xor edx, edx
nop
mov eax, edx
not eax
or eax, 0x4a4e2992
add eax, edx
mov edi, edx
xor edi, 0x4a4e2992
lea ebx, [edi + eax*2]
lea ecx, [edi + eax*2]
add ecx, 2
movzx eax, byte [esi + edx + 0x9c]
lea edi, [eax + ebx]
add edi, 2
not eax
or ecx, eax
sub eax, ecx
lea ecx, [edi + eax*2]
lea eax, [edi + eax*2]
add eax, 0x8c793025
not edi
and edi, 1
lea ebx, [edi + ecx]
add ebx, 0x8c793025
mov ecx, eax
xor eax, 1
add ebx, eax
and ecx, 0xfe
sub ebx, ecx
mov byte [esi + edx + 0x9c], bl
mov eax, edx
xor eax, 0x5840df6
and edx, 0x76
lea edx, [eax + edx*2]
add edx, 0xfa7bf20b
cmp edx, 0x6c
jb 0x42cf50
movzx edx, byte [esi + 0x9c]
mov ecx, dword [esi + 0x14]
mov edi, ecx
test dl, dl
je 0x42cfeb
lea eax, [esi + 0x9d]
mov edi, ecx
nop
mov byte [edi], dl
inc edi
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x42cfe0
mov byte [edi], 0
mov eax, dword [esi]
movzx edx, byte [eax]
test dl, dl
je 0x42d00b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x42d000
mov byte [edi], 0
movzx eax, byte [esi + 0x404]
test al, al
je 0x42d02b
lea ecx, [esi + 0x405]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42d020
mov byte [edi], 0
mov eax, dword [esi + 4]
movzx ecx, byte [eax]
test cl, cl
je 0x42d04b
inc eax
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42d040
mov byte [edi], 0
movzx eax, byte [esi + 0x734]
test al, al
je 0x42d06b
lea ecx, [esi + 0x735]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42d060
mov byte [edi], 0
push 0
call fcn.0043ffd0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov ecx, dword [ecx*4 + 0x448588]
mov edx, 0x54710998
xor edx, dword [0x448590]
add ecx, edx
inc ecx
jmp ecx