Function at 0x4696cd0
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.046782d0
add esp, 4
mov dword [esi + 0x1c], eax
mov dword [esi + 0x744], 0xdfeef496
mov dword [esi + 0x748], 0xcd3a392d
mov dword [esi + 0x74c], 0x81e0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x22
xor cl, byte [esi + eax + 0x744]
add cl, 0x56
mov byte [esi + eax + 0x744], cl
inc eax
cmp eax, 0xc
jne 0x4696d20
mov eax, dword [0x46b15e4]
mov dword [esi + 8], eax
mov dword [esi + 0x414], 0x58beb496
mov dword [esi + 0x418], 0x4a486f6f
mov dword [esi + 0x41c], 0x4650544b
mov dword [esi + 0x420], 0x59594c50
mov word [esi + 0x424], 0x8996
mov byte [esi + 0x426], 0xae
mov word [esi + 0x427], 0
mov ecx, 0xffffffff
xor edx, edx
xor edi, edi
nop
nop
mov eax, edi
or eax, 0x25
mov ebx, ecx
or ebx, 0xda
and ebx, eax
mov eax, edx
and eax, 0x34
sub ebx, eax
xor bl, byte [esi + edi + 0x414]
mov al, 0xbd
sub al, bl
mov byte [esi + edi + 0x414], al
inc edi
dec ecx
add edx, 2
cmp ecx, 0xffffffea
jne 0x4696d90
mov ecx, dword [str.yJEcaG__aaaa1]
mov dword [esi + 0xac], 0x8ed03133
mov dword [esi + 0xb0], 0x88883d85
mov dword [esi + 0xb4], 0xe73ac387
mov dword [esi + 0xb8], 0x93c625cb
mov dword [esi + 0xbc], 0xe297949d
mov dword [esi + 0xc0], 0x98919a9a
mov dword [esi + 0xc4], 0x2800e29a
mov dword [esi + 0xc8], 0xaeabf714
mov dword [esi + 0xcc], 0xa7dfc21e
mov dword [esi + 0xd0], 0xa8aa1da8
mov dword [esi + 0xd4], 0x1be0aad7
mov dword [esi + 0xd8], 0xb2bbb1e4
mov dword [esi + 0xdc], 0xc2b7c0b5
mov dword [esi + 0xe0], 0xb3c3c6be
mov dword [esi + 0xe4], 0xc8cbbdb8
mov dword [esi + 0xe8], 0x40343239
mov dword [esi + 0xec], 0xf307db4c
mov dword [esi + 0xf0], 0x4a4b4028
mov dword [esi + 0xf4], 0xfb081a39
mov dword [esi + 0xf8], 0x532f5806
mov dword [esi + 0xfc], 0x35e21b2c
mov dword [esi + 0x100], 0x1eee535b
mov dword [esi + 0x104], 0x1b18e91b
mov dword [esi + 0x108], 0x22fc2926
mov dword [esi + 0x10c], 0x3f3b05d0
mov word [esi + 0x110], 0xdd26
mov byte [esi + 0x112], 0xfe
mov word [esi + 0x113], 0
mov edx, 0x19d2a0c4
movzx edi, byte [esi + edx - 0x19d2a018]
mov eax, edx
and eax, edi
add eax, eax
sub edi, eax
add edi, edx
mov eax, edi
xor eax, 0x811d23d5
and edi, 0x18c29c2a
add edi, edi
sub edi, eax
mov eax, edi
and eax, 1
xor edi, 1
lea eax, [edi + eax*2]
mov byte [esi + edx - 0x19d2a018], al
inc edx
cmp edx, 0x19d2a12d
jne 0x4696ee0
movzx edx, byte [esi + 0xac]
mov eax, dword [esi + 0x1c]
test dl, dl
je 0x4696f4b
lea edi, [esi + 0xad]
mov eax, dword [esi + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x4696f40
mov byte [eax], 0
movzx edx, byte [ecx]
test dl, dl
mov edi, eax
je 0x4696f6d
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 0x4696f60
jmp 0x4696f70
mov eax, dword [esi + 8]
mov byte [edi], 0
movzx ecx, byte [esi + 0x414]
test cl, cl
je 0x4696f9b
lea edx, [esi + 0x415]
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 0x4696f90
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4696fbb
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 0x4696fb0
mov byte [edi], 0
movzx eax, byte [esi + 0x744]
test al, al
je 0x4696fdb
lea ecx, [esi + 0x745]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4696fd0
mov byte [edi], 0
push 0
call fcn.046abb90
add esp, 4
xor ecx, ecx
mov dword [esi + 0x14], eax
test eax, eax
setne cl
mov eax, dword [ecx*4 + 0x46b4414]
mov ecx, 0xcbaff943
xor ecx, dword [0x46b441c]
add eax, ecx
inc eax
mov dword [esi + 0xc], edi
jmp eax