Function at 0x10095bb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x64
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1009a8c0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x10289f8c]
or eax, dword [0x10289f90]
sub eax, 0x19e2a4b5
add eax, 0xe8a29477
add eax, 0x19e2a4b5
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb471150b
mov ecx, eax
and ecx, 0x4b8eeaf4
imul ecx, edx
mov edx, eax
and edx, 0xb471150b
or eax, 0xb471150b
imul eax, edx
add eax, ecx
imul eax, eax, 0x683ce7ff
cmp eax, 0xd6058338
jae 0x10095fc7
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x44], edx
push eax
mov edx, esp
mov dword [ebp - 0x40], edx
push eax
mov edi, esp
mov dword [ebp - 0x48], edi
push eax
mov edx, esp
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
mov dword [ecx], esi
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
mov dword [ecx], esi
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x3c]
mov dword [edi], ebx
mov dword [edx], esi
mov edx, dword [edx]
mov dword [ebp - 0x38], edx
mov dword [ecx], edx
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
cmp eax, 0
je 0x10095cb5
mov ecx, dword [ebp - 0x38]
lea eax, [0x1022cb4c]
mov dword [ecx], eax
add ecx, 0x68
call fcn.10036140
mov eax, dword [0x10289f9c]
mov esi, dword [0x10289fa0]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, esi
and edx, ecx
mov edi, esi
xor edi, 0xffffffff
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, esi
or eax, esi
imul eax, edx
add eax, ecx
mov edx, eax
and edx, 0xbb0ef8c7
mov ecx, eax
or ecx, 0xbb0ef8c7
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x44f10738
or eax, 0x44f10738
imul eax, edx
add eax, ecx
imul eax, eax, 0xa5c4b42f
sub eax, 0x5ad96d29
cmp eax, 0x2caa9eb5
jae 0x10096001
mov ecx, dword [ebp - 0x38]
mov edx, dword [0x10289fa4]
or edx, dword [0x10289fa8]
xor edx, 0x5b7717dc
or edx, 0x662c0f0d
mov eax, edx
xor eax, 0xffffffff
and eax, 0x458136c6
and edx, 0xba7ec939
or eax, edx
xor eax, 0x3eb9ba53
mov edx, dword [ecx]
mov edx, dword [edx + 4]
lea esi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov dword [ecx + edx], esi
mov edx, dword [ecx]
mov esi, dword [edx + 4]
xor esi, 0xffffffff
sub esi, 0xffffffff
xor edx, edx
sub edx, esi
mov edi, edx
xor edi, 0xffffffff
and edi, 0x68
mov esi, edx
and esi, 0xffffff97
sub esi, edi
mov dword [ecx + edx - 4], esi
add ecx, 4
mov dword [ebp - 0x4c], ecx
cmp eax, 0x4c45ff67
jbe 0x10096001
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x10], 0
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov dword [eax + 8], 0
mov dword [eax + 4], 0
call fcn.10081f60
jmp 0x10095dbd
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov dword [ecx + eax], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ecx]
mov eax, dword [eax + 4]
mov edx, eax
add edx, 0xffffff98
mov dword [ecx + eax - 4], edx
add ecx, 4
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x10], 1
call fcn.10096120
jmp 0x10095df1
mov eax, dword [0x10289fac]
mov ecx, dword [0x10289fb0]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x1c2caa45
xor edx, edx
div ecx
imul eax, eax, 0x52bc76a9
mov edx, eax
and edx, 0x9b51b145
mov ecx, eax
or ecx, 0x9b51b145
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x64ae4eba
or eax, 0x64ae4eba
imul eax, edx
add eax, ecx
cmp eax, 0x15a930b9
jbe 0x10096038
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x38]
mov eax, dword [0x10289fb4]
mov ecx, dword [0x10289fb8]
sub eax, 0xf2869500
sub eax, ecx
add eax, 0xf2869500
mov ecx, eax
and ecx, 0x36150a1d
xor eax, 0x36150a1d
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov ebx, eax
and ebx, 0xb27d1d0
and ecx, 0xf4d82e2f
or ebx, ecx
mov ecx, dword [ebp - 0x48]
xor ebx, 0x29848979
or eax, 0xdd5ca756
xor eax, 0xffffffff
or ebx, eax
mov eax, ebx
xor eax, 0xffffffff
and eax, 0xcf8fd0f7
xor ebx, 0xffffffff
and ebx, 0xcf8fd0f7
or eax, ebx
xor eax, 0xffffffff
add edi, 4
mov dword [ebp - 0x60], edi
mov esi, dword [esi]
mov dword [ebp - 0x5c], esi
mov edx, dword [edx]
or edx, 2
mov dword [ebp - 0x58], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x54], ecx
cmp eax, 0xcb1dead1
jae 0x10096038
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x58]
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x10], 2
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], esi
mov dword [eax], edx
call fcn.10096160
mov dword [ebp - 0x64], eax
jmp 0x10095f08
mov eax, dword [ebp - 0x64]
cmp eax, 0
jne 0x10095f3a
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add ecx, eax
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0
mov dword [eax], 2
call fcn.10037550
jmp 0x10095f3a
mov eax, dword [0x10289fdc]
xor edx, edx
div dword [0x10289fe0]
mov ecx, 0x5f8afee
xor edx, edx
div ecx
or eax, 0x536c0104
or eax, 0x2a5493ed
cmp eax, 0xcc7657ae
ja 0x1009603d
mov ecx, dword [ebp - 0x3c]
mov eax, dword [str.Zef_r]
xor edx, edx
div dword [0x10289fe8]
mov esi, 0x90ac60aa
xor edx, edx
div esi
mov edx, eax
and edx, 0xadae25fa
shl edx, 1
xor eax, 0xadae25fa
add eax, edx
mov edx, eax
and edx, 0x9884a27d
shl edx, 1
xor eax, 0x9884a27d
add eax, edx
mov ecx, dword [ecx]
mov dword [ebp - 0x68], ecx
cmp eax, 0x7c0ffd37
je 0x10095f65
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [edi], eax
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x28]
mov dword [edx], edi
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov dword [ebx], edx
mov edx, dword [ebp - 0x30]
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x10095c4d
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
xor edx, 0xffffffff
sub edx, 0xffffffff
xor ecx, ecx
sub ecx, edx
lea edx, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov dword [eax + ecx], edx
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov esi, ecx
xor esi, 0x68
mov edx, ecx
and edx, 0xffffff97
shl edx, 1
sub edx, esi
mov dword [eax + ecx - 4], edx
jmp 0x10095d1e
jmp 0x10095e49
jmp 0x10095f65