Function at 0x100cf0d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x11], al
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x1014cb28]
imul eax, dword [0x1014cb2c]
sub eax, 0x245be04e
imul eax, eax, 0x414a8508
xor eax, 0x8ec8aceb
or eax, 0xf4f184df
sub eax, 0x5efd0879
sub eax, 0x20c762e
imul eax, eax, 0x3c8cc36e
imul eax, eax, 0xf66e354
xor eax, 0xc00567a7
add eax, 0xee73b0a5
mov ecx, 0x74dd5645
xor edx, edx
div ecx
mov ecx, 0xdb35c286
xor edx, edx
div ecx
imul eax, eax, 0xe02fd80c
add eax, 0xd8c818ca
imul eax, eax, 0x22c56e9d
or eax, 0x92e340f9
add eax, 0x8a1a73ab
sub eax, 0xfb657d0c
xor eax, 0xe965a30e
mov ecx, 0x4ed05ac1
xor edx, edx
div ecx
add eax, 0x62d9dc41
and eax, 0xaf9bdc7e
imul eax, eax, 0xfc1b981a
xor eax, 0xdc80bb7e
xor eax, 0x29dad32c
or eax, 0xb3e84d5a
add eax, 0x3e388eb4
sub eax, 0x58b335d7
sub eax, 0xb9d49b26
xor eax, 0x4783d175
imul eax, eax, 0xf5990136
imul eax, eax, 0x2206d5f1
xor eax, 0x53eca5ab
cmp eax, 0xd6e2be43
je 0x100cfada
mov edi, dword [ebp - 0x1c]
mov bl, byte [ebp - 0x11]
mov eax, dword [0x1014cb30]
mov ecx, dword [0x1014cb34]
xor eax, ecx
imul eax, eax, 0x3eea4221
xor eax, 0xf7fe376
mov ecx, 0x94276e0b
mul ecx
mov eax, edx
shr eax, 0x1f
or eax, 0xc584c1c0
xor eax, 0x4cb19ee2
imul eax, eax, 0x751e4252
mov ecx, 0x8125436d
mul ecx
shr edx, 0x1f
imul eax, edx, 0x6fea4fc4
xor eax, 0x794a6202
add eax, 0x30828399
mov ecx, 0xe2f4f5b9
mul ecx
shr edx, 0x1c
imul eax, edx, 0x4cbd3ab8
add eax, 0xb8753d40
xor eax, 0x8e90b00
or eax, 0xb51270f8
mov ecx, 0x59c817ef
mul ecx
mov eax, edx
mov edx, dword [ebp - 0x18]
shr eax, 0x19
imul eax, eax, 0x2aa8d842
or eax, 0xa90c431
and eax, 0x1ab0d43d
imul eax, eax, 0x2111c31a
and eax, 0x1d6eb9c0
add eax, 0x63c50d6c
and eax, 0x18f41520
imul eax, eax, 0x9d4a1279
push eax
mov ecx, esp
mov dword [ebp - 0x28], ecx
push eax
mov ecx, esp
push eax
mov esi, esp
mov dword [ebp - 0x30], esi
push eax
mov esi, esp
mov dword [ebp - 0x2c], esi
push eax
mov esi, esp
mov dword [ecx], edx
mov edx, dword [ebp - 0x30]
and bl, 1
mov byte [edx], bl
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x10]
mov dword [ebx], edx
mov edx, dword [ebp - 0x28]
mov dword [esi], edi
mov esi, dword [esi]
mov dword [ebp - 0x24], esi
mov dword [edx], esi
cmp dword [ecx], 0
setne cl
mov byte [ebp - 0x1d], cl
cmp eax, 0x6e1f869e
jb 0x100cf1be
mov al, byte [ebp - 0x1d]
test al, 1
jne 0x100cf2c5
jmp 0x100cf47d
mov eax, dword [0x1014cb38]
xor eax, dword [0x1014cb3c]
or eax, 0x6f4e9b66
sub eax, 0x7e0835ec
xor eax, 0x8449b585
and eax, 0xa12aabce
sub eax, 0x7f494621
mov ecx, 0xb4efd1ef
xor edx, edx
div ecx
and eax, 0x17a4e82b
imul eax, eax, 0x9629dc43
mov ecx, 0x7a2b3b6a
xor edx, edx
div ecx
imul eax, eax, 0x4b33a78e
or eax, 0x6a5a8a60
or eax, 0xf731aa47
sub eax, 0x2385b6a1
or eax, 0x6a413cf4
imul eax, eax, 0x653c6241
or eax, 0x6a3184c2
sub eax, 0x28591731
mov ecx, 0x863b93a5
xor edx, edx
div ecx
xor eax, 0xbfba2f1f
or eax, 0x4acc664a
add eax, 0x456c343c
or eax, 0x75be1ef5
xor eax, 0x799609c8
mov ecx, 0x5adf3dbc
xor edx, edx
div ecx
xor eax, 0x6f797af1
xor eax, 0x557682fc
imul eax, eax, 0x95e0deda
add eax, 0x27baec33
sub eax, 0xa467710e
and eax, 0xa77eda1e
sub eax, 0x1ab13e13
sub eax, 0xf22e48f9
add eax, 0x447d7e8a
cmp eax, 0x3f900a61
je 0x100cfb09
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x1014cb40]
or eax, dword [0x1014cb44]
add eax, 0x284a4da6
xor eax, 0x3e46b564
sub eax, 0x8fa5626e
xor eax, 0xe02540b5
sub eax, 0xf5c8479d
and eax, 0x46ec6ade
imul eax, eax, 0x936621a0
and eax, 0x987fb484
sub eax, 0x7dbe733a
imul eax, eax, 0xac5258bb
imul eax, eax, 0xe01d30b7
xor eax, 0x8aa98651
and eax, 0x6ee5278a
imul eax, eax, 0xe4d0703b
or eax, 0x615df1a9
or eax, 0xcd68c22c
add eax, 0x75cd0cd9
mov esi, 0x470de562
xor edx, edx
div esi
or eax, 0x72d5d74e
and eax, 0xf26800ca
and eax, 0x64a89a9b
mov esi, 0xcdb25e50
xor edx, edx
div esi
xor eax, 0x1c34ab0c
and eax, 0x4a3fb90c
add eax, 0x995d944
add eax, 0x3b2ba209
sub eax, 0x3be8c711
xor eax, 0x6369b243
add eax, 0xb333491f
mov esi, 0xc8f927f7
xor edx, edx
div esi
add eax, 0xa8b3a843
add eax, 0x3c690b57
sub eax, 0x6e55a5dd
mov dword [ebp - 0x34], eax
lea eax, [0x1013b774]
mov dword [ecx], eax
add ecx, 0x18
call fcn.100cef90
mov eax, dword [ebp - 0x34]
cmp eax, 0x3d8c796b
je 0x100cfb09
jmp 0x100cf47d
mov eax, dword [0x1014cb48]
xor edx, edx
div dword [0x1014cb4c]
or eax, 0x93279d9c
xor eax, 0x43fe3b9d
add eax, 0x49b0c4cb
imul eax, eax, 0xa7c6ea6b
mov ecx, 0xc55560c3
xor edx, edx
div ecx
xor eax, 0xe9594c9c
xor eax, 0x5c80ac60
or eax, 0x1c179944
add eax, 0xf6e912e0
sub eax, 0x82b55b46
xor eax, 0x52d853ed
xor eax, 0x404998e6
xor eax, 0x6322c20a
sub eax, 0xd90d6c9f
xor eax, 0xa649d64f
and eax, 0x517c89d3
sub eax, 0xd19e5453
xor eax, 0xcf8194fc
imul eax, eax, 0x720324b6
xor eax, 0x66681c56
xor eax, 0x45b0c9de
xor eax, 0xe12dc4d2
imul eax, eax, 0x9d8c6513
or eax, 0xcb082531
or eax, 0x229a996d
sub eax, 0xc4e6f7ad
xor eax, 0x1f207b41
or eax, 0x21369a21
or eax, 0x88030def
and eax, 0xade50685
sub eax, 0xfe7ffa00
or eax, 0x95bbe850
mov ecx, 0x83f2ba24
xor edx, edx
div ecx
cmp eax, 0x17df43aa
jae 0x100cfb21
mov eax, dword [0x1014cb50]
sub eax, dword [0x1014cb54]
sub eax, 0x83c05078
add eax, 0xacd60612
mov ecx, 0x353db8bf
xor edx, edx
div ecx
xor eax, 0x2c334174
add eax, 0xe558fb65
mov ecx, 0xa324c274
xor edx, edx
div ecx
or eax, 0xe6dfd559
or eax, 0xf90f2e72
sub eax, 0xba76334d
add eax, 0x50bcb554
or eax, 0x66c5d943
mov ecx, 0x465748f9
xor edx, edx
div ecx
or eax, 0x98ae8277
xor eax, 0xb82d85e5
and eax, 0x7edb3056
and eax, 0xa104adec
sub eax, 0x16f1edce
or eax, 0x65f4f7f5
xor eax, 0x95c96b7e
imul eax, eax, 0xcbcd7845
imul eax, eax, 0xc9ad8b43
and eax, 0x8a05279d
or eax, 0x96264fd3
mov ecx, 0xcae338fa
xor edx, edx
div ecx
mov ecx, 0xa99aaf77
xor edx, edx
div ecx
sub eax, 0x717f1ca0
sub eax, 0x11c0802d
sub eax, 0xfa84d8cf
or eax, 0x410af030
xor eax, 0x79fa4d16
xor eax, 0x3337286
add eax, 0x30472079
xor eax, 0x3e2f8e23
cmp eax, 0xf1f19b2d
je 0x100cf545
mov eax, dword [0x1014cb58]
xor eax, dword [0x1014cb5c]
and eax, 0xbebf695e
and eax, 0xcd0dd272
imul eax, eax, 0x13b25183
or eax, 0xcc54e59a
sub eax, 0x19728a0c
add eax, 0xe2bea7f
sub eax, 0x62ce5a40
xor eax, 0x4fce5dcc
or eax, 0x927e99c
mov ecx, 0x7fe28418
xor edx, edx
div ecx
and eax, 0x72670a7a
xor eax, 0x1f847975
or eax, 0xbad037e7
add eax, 0x9176c03d
sub eax, 0x735abff6
or eax, 0xe5332a41
imul eax, eax, 0x7f19b8ec
or eax, 0xbaf72915
mov ecx, 0x8c336f3d
xor edx, edx
div ecx
xor eax, 0xaf069c7f
xor eax, 0x227e1ef5
xor eax, 0xcace6183
xor eax, 0x87885ab7
and eax, 0x159cb42e
and eax, 0xb22b736
mov ecx, 0x1285d78d
xor edx, edx
div ecx
or eax, 0x250cfc55
or eax, 0x29681f8
or eax, 0x840c33ab
xor eax, 0xeba25386
add eax, 0xb77019f0
and eax, 0xac87a308
add eax, 0x516079c6
cmp eax, 0xaf74a6c
jb 0x100cf99d
mov eax, dword [0x1014cb60]
xor eax, dword [0x1014cb64]
xor eax, 0xee54a54b
or eax, 0xc45fd943
sub eax, 0xea2cfe95
and eax, 0x1aaabfc0
sub eax, 0xf10e8e18
add eax, 0xf99c0132
and eax, 0x1a2e3d82
sub eax, 0xfbf6be21
imul eax, eax, 0x864092b0
sub eax, 0xf9623d42
xor eax, 0xe6acf19
or eax, 0x3d947324
add eax, 0xeb8b1fd8
add eax, 0x7511b729
or eax, 0xca0f510c
and eax, 0xc7495dd5
xor eax, 0x7036d0f3
mov ecx, 0xa7edbada
xor edx, edx
div ecx
mov ecx, 0xf17a4c09
xor edx, edx
div ecx
imul eax, eax, 0x3c8d8854
mov ecx, 0xea494bad
xor edx, edx
div ecx
sub eax, 0xfa5f605c
and eax, 0x83496d0e
or eax, 0xf35e9b11
imul eax, eax, 0x9e1a4a0b
imul eax, eax, 0x808c0855
or eax, 0x1f62d2d1
and eax, 0x8170dfa0
imul eax, eax, 0xec95075
add eax, 0xe05b7966
add eax, 0xc93fcacc
imul eax, eax, 0xe76bdc8f
mov ecx, 0x8aae7760
xor edx, edx
div ecx
cmp eax, 0x7f597cff
jae 0x100cfb26
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x1014cb68]
mov edx, dword [0x1014cb6c]
and eax, edx
and eax, 0x4d97d239
add eax, 0x8295d0de
or eax, 0x42835934
xor eax, 0xc59ee96b
imul eax, eax, 0xa7f34cc9
and eax, 0xe27039ad
xor eax, 0x162d7036
imul eax, eax, 0xc6502cee
and eax, 0xcd3a2532
add eax, 0xcb4ba8a
or eax, 0xd7120
add eax, 0xfaa92301
xor eax, 0x983b18
add eax, 0x104bca
or eax, 0xa2008400
and eax, 0xa6028414
add eax, 0x39b97bd4
xor eax, 0x4020
or eax, 0x3fdaa690
xor eax, 0x3cf1fd1e
add eax, 0xb7d7ee8f
and eax, 0x3022011d
mov edx, 0x39cd861f
mul edx
mov eax, dword [ebp - 0x30]
mov esi, edx
mov edx, dword [ebp - 0x2c]
shr esi, 0x1a
xor esi, 0x50240e0d
or esi, 0x254931f2
xor esi, 0xee5f9869
imul esi, esi, 0x9c4781e2
mov dword [ebp - 0x3c], esi
mov esi, dword [ecx]
mov esi, dword [esi + 4]
mov dword [ecx + esi], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov esi, dword [ecx]
mov esi, dword [esi + 4]
mov edi, esi
add edi, 0xffffffe8
mov dword [ecx + esi - 4], edi
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov esi, dword [ecx]
mov esi, dword [esi + 4]
add esi, 0
add ecx, esi
mov al, byte [eax]
mov edx, dword [edx]
and al, 1
sub esp, 8
mov dword [esp], edx
movzx eax, al
mov dword [esp + 4], eax
call fcn.100d3a70
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ecx]
mov dword [ebp - 0x38], ecx
cmp eax, 0x18816ce9
jbe 0x100cfb26
mov eax, dword [str.qpe4i_]
add eax, dword [0x1014cb74]
and eax, 0x18d1652b
xor eax, 0x87824e5
and eax, 0xa3884075
mov ecx, 0x7c9fc301
xor edx, edx
div ecx
imul eax, eax, 0x18b4d156
and eax, 0xdcfd165a
or eax, 0xb9a8be4d
or eax, 0x3383de87
xor eax, 0x585984fb
imul eax, eax, 0xf8c8a551
add eax, 0x632a8ac1
or eax, 0xac403b
mov ecx, 0x4bc4be98
xor edx, edx
div ecx
add eax, 0x1a2280da
xor eax, 0xccc146e8
add eax, 0xb3cad8ae
or eax, 0x4a114ac4
mov ecx, 0xe25bba29
xor edx, edx
div ecx
or eax, 0xc87cc519
or eax, 0xeea3524
imul eax, eax, 0x56f66e74
add eax, 0xf5ecd9e7
and eax, 0x8c5311b7
or eax, 0x1008153
or eax, 0x13e100fc
mov ecx, 0x8440f892
xor edx, edx
div ecx
and eax, 0x73cfa692
sub eax, 0xf41013c
imul eax, eax, 0x36fa13c0
mov ecx, 0xad4bd432
xor edx, edx
div ecx
or eax, 0x9a092722
xor eax, 0x172b039
or eax, 0xcb3e002d
cmp eax, 0xa70a3366
jbe 0x100cf6df
mov eax, dword [ebp - 0x38]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
mov eax, dword [0x1014cb78]
xor eax, dword [0x1014cb7c]
add eax, 0xb4b7e809
xor eax, 0x79c50f5
mov ecx, 0x989e09b9
xor edx, edx
div ecx
add eax, 0x65cb931b
imul eax, eax, 0x2264e045
and eax, 0x92662014
xor eax, 0x5d238e2b
imul eax, eax, 0x5a2a9940
and eax, 0x20a7a2f2
imul eax, eax, 0x953b0036
imul eax, eax, 0x746e4e6e
add eax, 0x57980e80
or eax, 0x95bec26d
or eax, 0x4fef3980
and eax, 0x4d1b0a70
sub eax, 0x2932a272
xor eax, 0x43c5ef2b
mov ecx, 0xc81cf93c
xor edx, edx
div ecx
and eax, 0xd9424074
and eax, 0x19686189
and eax, 0xf1896505
and eax, 0x57e3d46c
mov ecx, 0xa91e18d9
xor edx, edx
div ecx
xor eax, 0xbcb8fe90
and eax, 0x96237b9c
xor eax, 0x21c0004a
or eax, 0x3b5cfe39
mov ecx, 0xe41d2c3b
xor edx, edx
div ecx
sub eax, 0x5f622419
sub eax, 0xc868b934
sub eax, 0x317d5ce4
sub eax, 0xa75eba11
and eax, 0x9c4cee78
cmp eax, 0x6c39002d
je 0x100cfb7e
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
mov esi, 0xdc26a049
mov dword [ebp - 0x40], esi
mov esi, dword [ecx]
mov esi, dword [esi + 4]
mov dword [ecx + esi], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov esi, dword [ecx]
mov esi, dword [esi + 4]
mov edi, esi
add edi, 0xffffffe8
mov dword [ecx + esi - 4], edi
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov esi, dword [ecx]
mov esi, dword [esi + 4]
add esi, 0
add ecx, esi
mov al, byte [eax]
mov edx, dword [edx]
and al, 1
sub esp, 8
mov dword [esp], edx
movzx eax, al
mov dword [esp + 4], eax
call fcn.100d3a70
mov eax, dword [ebp - 0x40]
cmp eax, 0x215e50fa
je 0x100cfb7e
jmp 0x100cf6df
mov edi, dword [ebp - 0x18]
push eax
mov eax, esp
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [edx], edi
mov edi, dword [ebp - 0x10]
mov dl, byte [ebp - 0x11]
and dl, 1
mov byte [ebx], dl
mov edx, dword [ebp - 0x1c]
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x100cf1be
mov ecx, dword [ebp - 0x24]
lea eax, [0x1013b774]
mov dword [ecx], eax
add ecx, 0x18
call fcn.100cef90
jmp 0x100cf394
jmp 0x100cf545
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ecx]
mov esi, dword [esi + 4]
mov dword [ecx + esi], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov esi, dword [ecx]
mov esi, dword [esi + 4]
mov edi, esi
add edi, 0xffffffe8
mov dword [ecx + esi - 4], edi
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov esi, dword [ecx]
mov esi, dword [esi + 4]
add esi, 0
add ecx, esi
mov al, byte [eax]
mov edx, dword [edx]
and al, 1
sub esp, 8
mov dword [esp], edx
movzx eax, al
mov dword [esp + 4], eax
call fcn.100d3a70
jmp 0x100cf7b0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ecx]
mov esi, dword [esi + 4]
mov dword [ecx + esi], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov esi, dword [ecx]
mov esi, dword [esi + 4]
mov edi, esi
add edi, 0xffffffe8
mov dword [ecx + esi - 4], edi
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov esi, dword [ecx]
mov esi, dword [esi + 4]
add esi, 0
add ecx, esi
mov al, byte [eax]
mov edx, dword [edx]
and al, 1
sub esp, 8
mov dword [esp], edx
movzx eax, al
mov dword [esp + 4], eax
call fcn.100d3a70
jmp 0x100cfa6c