Function at 0x100913c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
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], 0x10096bb0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov edi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x10284da4]
mov ecx, dword [0x10284da8]
xor eax, ecx
add eax, 0x8b741775
xor eax, 0x49002721
or eax, 0x30bf58c2
push eax
mov ecx, esp
mov dword [ebp - 0x40], ecx
push eax
mov ecx, esp
push eax
mov esi, esp
mov dword [ebp - 0x48], esi
push eax
mov esi, esp
mov dword [ebp - 0x44], esi
push eax
mov ebx, esp
mov dword [ebp - 0x4c], ebx
push eax
mov esi, esp
mov dword [ecx], edx
mov edx, dword [ebp - 0x48]
mov dword [edx], edi
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x44]
mov dword [edx], edi
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
mov dword [ebx], edx
mov edx, dword [ebp - 0x40]
mov dword [esi], edi
mov esi, dword [esi]
mov dword [ebp - 0x3c], esi
mov dword [edx], esi
mov ecx, dword [ecx]
mov dword [ebp - 0x38], ecx
cmp ecx, 0
setne cl
mov byte [ebp - 0x31], cl
cmp eax, 0x9e298f58
jb 0x1009140a
mov al, byte [ebp - 0x31]
test al, 1
jne 0x10091496
jmp 0x10091541
mov eax, dword [0x10284dac]
imul eax, dword [0x10284db0]
or eax, 0xfb46e9a9
xor eax, 0xd43792d2
xor eax, 0xa8a75a8d
mov dword [ebp - 0x10], 0xffffffff
cmp eax, 0xad5c0177
ja 0x100917bf
mov ecx, dword [ebp - 0x3c]
mov eax, dword [0x10284db4]
xor edx, edx
div dword [0x10284db8]
mov esi, eax
and esi, 0xf4f95c73
mov edx, eax
or edx, 0xf4f95c73
xor edx, 0xffffffff
imul edx, esi
mov esi, eax
and esi, 0xb06a38c
or eax, 0xb06a38c
imul eax, esi
add eax, edx
add eax, 0x9dc7e6d6
add eax, 0x6cfba626
sub eax, 0x9dc7e6d6
mov edx, eax
xor edx, 0x15f954d6
and eax, 0xea06ab29
shl eax, 1
sub eax, edx
mov dword [ebp - 0x50], eax
lea eax, [0x10227b4c]
mov dword [ecx], eax
add ecx, 0x68
call fcn.10035a10
mov eax, dword [ebp - 0x50]
cmp eax, 0xf632d021
jae 0x100914c3
jmp 0x10091541
mov ecx, dword [ebp - 0x3c]
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
mov edx, ecx
add edx, 4
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.1007e2b0
jmp 0x10091589
mov ecx, dword [ebp - 0x3c]
mov eax, dword [0x10284dc4]
mov edx, dword [0x10284dc8]
xor edx, 0xffffffff
add eax, edx
add eax, 1
mov esi, eax
xor esi, 0xffffffff
and esi, 0xc6965af6
mov edx, eax
and edx, 0x3969a509
imul edx, esi
mov esi, eax
and esi, 0xc6965af6
or eax, 0xc6965af6
imul eax, esi
add eax, edx
mov esi, 0xb398d786
xor edx, edx
div esi
mov edx, eax
mov eax, edx
xor eax, 0xd7b6d9cb
and eax, edx
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 edx, dword [edx + 4]
mov esi, edx
sub esi, 0x68
mov dword [ecx + edx - 4], esi
add ecx, 4
mov dword [ebp - 0x54], ecx
cmp eax, 0x7661fa5d
jae 0x100917d7
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x10], 1
call fcn.10091910
jmp 0x1009161c
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x3c]
add ecx, 4
mov edi, dword [esi]
mov esi, dword [edx]
or esi, 2
mov edx, dword [eax]
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.10091aa0
mov dword [ebp - 0x58], eax
jmp 0x10091655
mov ecx, dword [ebp - 0x58]
mov eax, dword [0x10284dd4]
xor eax, dword [0x10284dd8]
add eax, 0xb639153a
add eax, 0x782139d5
sub eax, 0xb639153a
imul edx, eax, 0xb610ee90
mov eax, edx
and eax, 0xcc5a81ea
or edx, 0xcc5a81ea
add eax, edx
cmp ecx, 0
setne cl
mov byte [ebp - 0x59], cl
cmp eax, 0xaed7b2ab
jae 0x100917fb
mov al, byte [ebp - 0x59]
test al, 1
jne 0x100917a6
jmp 0x100916ab
mov ecx, dword [ebp - 0x3c]
mov eax, dword [0x10284de4]
mov edx, dword [0x10284de8]
and eax, edx
mov esi, 0xe780f815
xor edx, edx
div esi
or eax, 0xe5cf0a9b
mov edx, eax
and edx, 0xf6dd508b
shl edx, 1
add eax, 0xf6dd508b
sub eax, edx
mov edx, dword [ecx]
add ecx, dword [edx + 4]
mov dword [ebp - 0x60], ecx
cmp eax, 0xb4c5f7ad
ja 0x10091800
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x10], 2
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0
mov dword [eax], 2
call fcn.10037270
jmp 0x10091713
mov ecx, dword [0x10284dec]
mov edx, dword [0x10284df0]
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x32519c89
xor edx, edx
div ecx
or eax, 0x60ad4a3a
or eax, 0x556c41ac
cmp eax, 0xc7486b9f
jae 0x10091805
mov ecx, dword [0x10284df4]
mov edx, dword [0x10284df8]
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
and ecx, 0xea9743a8
shl ecx, 1
add eax, 0xea9743a8
sub eax, ecx
mov ecx, 0xe808c809
xor edx, edx
div ecx
imul eax, eax, 0xf1a12866
cmp eax, 0xf4b7baf0
ja 0x10091805
jmp 0x100917a6
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
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 ecx, dword [ebp - 0x3c]
lea eax, [0x10227b4c]
mov dword [ecx], eax
add ecx, 0x68
call fcn.10035a10
jmp 0x100914c3
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
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 edx, ecx
sub edx, 0x68
mov dword [eax + ecx - 4], edx
jmp 0x10091589
jmp 0x10091655
jmp 0x100916ab
jmp 0x1009174e