Function at 0x100fc830
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x24
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [0x1014e5f8]
xor edx, edx
div dword [0x1014e5fc]
add eax, 0x6353b07
mov ecx, 0xb3fb1b9e
xor edx, edx
div ecx
or eax, 0xf27a534c
xor eax, 0x7f742f3f
xor eax, 0x342e809b
add eax, 0x8d489590
mov ecx, 0x55f740ea
xor edx, edx
div ecx
or eax, 0xac97f8ca
and eax, 0xe6c9eba2
sub eax, 0xe240fc54
add eax, 0xb087a3ff
and eax, 0xdfb1f602
sub eax, 0x9e461b98
xor eax, 0xec9308f8
xor eax, 0x9a29dde8
and eax, 0xe915dbd0
mov ecx, 0xe5064ea7
xor edx, edx
div ecx
mov ecx, 0x1901e5f1
xor edx, edx
div ecx
sub eax, 0xd9683f10
and eax, 0x7b3382ac
or eax, 0xd71c6dbf
mov ecx, 0xdc6e773f
xor edx, edx
div ecx
and eax, 0x33c192f8
add eax, 0xc679cc85
add eax, 0x5012c36a
and eax, 0xe24874d9
imul eax, eax, 0xa4587640
mov ecx, 0xc8433a2
xor edx, edx
div ecx
sub eax, 0x7b827990
xor eax, 0x4ea1fdd9
and eax, 0x4d684cd1
and eax, 0xb8fa2bb1
imul eax, eax, 0xb0adbc28
cmp eax, 0x417f0ddb
jb 0x100fce44
mov eax, dword [0x1014e600]
xor eax, dword [0x1014e604]
imul eax, eax, 0x3683877c
xor eax, 0xd2a4d8e7
xor eax, 0xc329b73
and eax, 0x9e15ec5e
sub eax, 0x2447886a
xor eax, 0xa06e6d4e
xor eax, 0x787f88f0
and eax, 0x6e63ce14
xor eax, 0xb01dc50
xor eax, 0x77108029
and eax, 0xb3490b2b
sub eax, 0x752180f
and eax, 0x1ff6f389
imul eax, eax, 0x2a4e920d
xor eax, 0xd3f0ad8
add eax, 0x48a63745
imul eax, eax, 0xd4d2fac6
mov ecx, 0x4854df1d
xor edx, edx
div ecx
sub eax, 0xfd835959
and eax, 0x68fa459
add eax, 0x933c547a
or eax, 0x845d9a6e
and eax, 0x7de0b9fb
mov ecx, 0xd0fd4273
xor edx, edx
div ecx
sub eax, 0xe6e2d29f
or eax, 0xf013af61
add eax, 0xf52208d
and eax, 0x5d5af544
or eax, 0x2b6a4d34
sub eax, 0x94b45955
and eax, 0x22e8540
and eax, 0xa2de83ae
imul eax, eax, 0xb07a3c79
cmp eax, 0xdaf4f7cf
je 0x100fce44
mov eax, dword [0x1014e608]
imul eax, dword [0x1014e60c]
or eax, 0xd225d027
add eax, 0xf9050f9e
imul eax, eax, 0xeabf6935
mov ecx, 0x285240cb
xor edx, edx
div ecx
xor eax, 0x73e55320
or eax, 0x8b08ed31
sub eax, 0xd3eb59a6
mov ecx, 0x8bab0bc5
xor edx, edx
div ecx
or eax, 0xb8042263
imul eax, eax, 0xd3d4bc90
sub eax, 0x6bf366f4
mov ecx, 0xdda1f53e
xor edx, edx
div ecx
xor eax, 0xb97983b4
and eax, 0xe32e7dfe
sub eax, 0xdd2c084d
or eax, 0xa205006a
and eax, 0xefc9a33e
and eax, 0x83acb2ed
xor eax, 0x444dd3a
or eax, 0xec3cd091
imul eax, eax, 0x662326f5
imul eax, eax, 0xb35730c
and eax, 0x964c4ea7
add eax, 0xb522d393
or eax, 0x1f0a7d35
mov ecx, 0xc679d0b
xor edx, edx
div ecx
xor eax, 0x610678a0
xor eax, 0x19c305b2
add eax, 0x4f1633a9
sub eax, 0x2400900d
xor eax, 0xde3a7d7c
or eax, 0x98dc320f
imul eax, eax, 0x52285a86
cmp eax, 0xde837236
je 0x100fcd3e
mov eax, dword [0x1014e610]
sub eax, dword [0x1014e614]
sub eax, 0x967cf6e5
mov ecx, 0xb6fdc463
xor edx, edx
div ecx
add eax, 0x20c7fbb6
add eax, 0x57c0dcd3
sub eax, 0xae40af6d
and eax, 0x431f04c7
add eax, 0x595af8f6
and eax, 0x677457f2
add eax, 0x1c477e93
and eax, 0x977d66ff
imul eax, eax, 0x9cff8cd2
or eax, 0xd228fbe9
imul eax, eax, 0xfb222e70
add eax, 0x94ede739
sub eax, 0xe2c81bdd
imul eax, eax, 0xffb05528
and eax, 0x8bc71328
imul eax, eax, 0x92e6fa1e
imul eax, eax, 0x36a3db56
mov ecx, 0x6b88de6a
xor edx, edx
div ecx
sub eax, 0x3f26338
xor eax, 0x4798f6a5
xor eax, 0x98511dd3
imul eax, eax, 0x15ab9659
and eax, 0x24d75ee1
or eax, 0x45207122
imul eax, eax, 0x5371f4de
add eax, 0x145f1077
and eax, 0x3d1884c8
or eax, 0xf8605092
mov ecx, 0xd5d37138
xor edx, edx
div ecx
mov ecx, 0x4f74cb8f
xor edx, edx
div ecx
xor eax, 0x60780398
cmp eax, 0xba81a00d
je 0x100fce49
mov esi, dword [ebp - 8]
mov eax, dword [0x1014e618]
mov ecx, dword [0x1014e61c]
xor edx, edx
div ecx
xor eax, 0x32c06484
add eax, 0x4cd0257d
xor eax, 0x42422008
or eax, 0x1d38ddb7
add eax, 0xaa83c4ab
and eax, 0x636e02c0
imul eax, eax, 0x643eea7a
add eax, 0xa226f8b2
or eax, 0x1d7fffd7
imul eax, eax, 0x78bcc320
mov dword [ebp - 0x18], eax
mov ecx, 0x85ae6123
mul ecx
mov eax, dword [ebp - 0x18]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
imul eax, eax, 0xbf2945e2
and eax, 0xc0420002
imul eax, eax, 0x8f92ff8a
mov ecx, 0xd18af3e3
mul ecx
mov eax, edx
shr eax, 0x1f
or eax, 0xd2dbc86
imul eax, eax, 0xebddcdc4
mov ecx, 0x6950b713
mul ecx
mov eax, edx
mov edx, dword [ebp - 0xc]
shr eax, 0x1e
or eax, 0x341f62e
imul eax, eax, 0xf394b9b1
add eax, 0xbf32ab98
or eax, 0x326833eb
mov dword [ebp - 0x10], eax
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], esi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100c4960
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
lea edx, vtable.std::ctype_base.0
mov dword [ecx], edx
cmp eax, 0xb12d6cd4
jb 0x100fcb81
mov eax, dword [0x1014e620]
xor edx, edx
div dword [0x1014e624]
sub eax, 0x472da352
and eax, 0xfd940303
mov ecx, 0x6878634b
xor edx, edx
div ecx
sub eax, 0xd149356
and eax, 0x1668b032
and eax, 0x1387cdf7
and eax, 0xe57278c5
imul eax, eax, 0x8b31c6e6
imul eax, eax, 0xc55d4e7c
add eax, 0x7eabaf9
sub eax, 0x6fbfa73
and eax, 0x3cd8c655
and eax, 0xa3691189
imul eax, eax, 0xaf72b8b
and eax, 0x79ac43b8
imul eax, eax, 0xcce9d08a
or eax, 0x1c36b250
add eax, 0x770862d3
xor eax, 0xdba99fe0
xor eax, 0x7297b36e
xor eax, 0xb1ecf4c9
imul eax, eax, 0x538c0e0f
or eax, 0x359ae4ff
xor eax, 0x45648d7c
imul eax, eax, 0xaf497b81
and eax, 0xc76f7f8f
mov ecx, 0x78e2c5a4
xor edx, edx
div ecx
imul eax, eax, 0x43acd225
mov ecx, 0x5ce837b6
xor edx, edx
div ecx
add eax, 0x292dcdfd
imul eax, eax, 0x378cf4f4
xor eax, 0x9e49b943
imul eax, eax, 0x7add0763
cmp eax, 0x9a8164a4
je 0x100fcd3e
mov eax, dword [ebp - 0x14]
lea esp, [ebp - 4]
pop esi
pop ebp
ret 4
mov eax, dword [0x1014e628]
or eax, dword [str..Yt]
xor eax, 0x619f5cb2
sub eax, 0x818f2ace
add eax, 0xc5d1635f
add eax, 0xc3e6fe65
add eax, 0x9c31fccc
or eax, 0x1d36032f
or eax, 0x6c4641aa
sub eax, 0x2cca9822
sub eax, 0x2661472a
imul eax, eax, 0xf9acffb2
xor eax, 0x68989332
or eax, 0xa04941cf
add eax, 0xdd814c79
or eax, 0x2f40896d
and eax, 0xf4a95992
or eax, 0x7a2edde3
imul eax, eax, 0x3c31968c
mov ecx, 0x50272f8
xor edx, edx
div ecx
sub eax, 0x48397eb1
add eax, 0x3b6dfe32
xor eax, 0x4c962a58
and eax, 0x3eb4edd2
add eax, 0xd9465715
or eax, 0x6348ed66
sub eax, 0x357a115a
xor eax, 0xd6aac757
and eax, 0x29917464
add eax, 0x1736bcff
and eax, 0xdb163808
and eax, 0xd3091ba3
sub eax, 0xe69fd46
xor eax, 0x6251bff4
or eax, 0xf82c5f7d
cmp eax, 0xef6ce5f6
je 0x100fce7b
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
xor eax, eax
mov dword [ebp - 0x1c], eax
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], esi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x20], ecx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100c4960
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
lea edx, vtable.std::ctype_base.0
mov dword [ecx], edx
cmp eax, 0xdcd9499d
jae 0x100fcdff
jmp 0x100fcaaf
jmp 0x100fc917
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], esi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x24], ecx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100c4960
mov eax, dword [ebp - 0x24]
lea ecx, vtable.std::ctype_base.0
mov dword [eax], ecx
jmp 0x100fcb81
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], esi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x28], ecx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100c4960
mov eax, dword [ebp - 0x28]
lea ecx, vtable.std::ctype_base.0
mov dword [eax], ecx
jmp 0x100fcdff