Function at 0x100dc040
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 [0x1014d2d8]
and eax, dword [0x1014d2dc]
imul eax, eax, 0xcb3f07d9
add eax, 0x589c6527
mov ecx, 0x1dfd5905
xor edx, edx
div ecx
imul eax, eax, 0x935e3aa
xor eax, 0x5677039
xor eax, 0x447fa51d
xor eax, 0xbebe51e9
add eax, 0xd2f05d34
or eax, 0x37244cd8
or eax, 0xf15a6a1e
mov ecx, 0xa66a35aa
xor edx, edx
div ecx
sub eax, 0xd7883160
and eax, 0x9b56197
or eax, 0xfaf9a42b
sub eax, 0x78df8b4f
mov ecx, 0x399d924
xor edx, edx
div ecx
add eax, 0x5c397860
sub eax, 0xcf2a566c
xor eax, 0x1fcf3112
add eax, 0xa734e4bc
xor eax, 0x43994dda
imul eax, eax, 0xee5f2fdb
or eax, 0xe0849caf
add eax, 0x4348fbb6
xor eax, 0x79fdc48b
xor eax, 0x5da79a89
sub eax, 0x451a6335
mov ecx, 0xecccef2a
xor edx, edx
div ecx
sub eax, 0xe9a953f3
sub eax, 0x52ba0d45
or eax, 0x39ef2b1
xor eax, 0x5be00b18
xor eax, 0x97223833
cmp eax, 0x836f7275
jae 0x100dc6a8
mov eax, dword [0x1014d2e0]
xor edx, edx
div dword [0x1014d2e4]
mov ecx, 0xa891dc6b
xor edx, edx
div ecx
and eax, 0x121065fe
add eax, 0x7c629a8f
mov ecx, 0x490ed915
xor edx, edx
div ecx
add eax, 0x25b43826
or eax, 0x3f72ebb1
sub eax, 0x684da0f6
xor eax, 0xa3074e2a
sub eax, 0x4babae00
sub eax, 0x9577fe30
imul eax, eax, 0x9ecc4e8a
mov ecx, 0x771042eb
xor edx, edx
div ecx
mov ecx, 0xbe61d70d
xor edx, edx
div ecx
or eax, 0xcf03768f
or eax, 0x5bd95ae7
and eax, 0xd997f974
and eax, 0xf671ce56
and eax, 0xf16cd69f
mov ecx, 0x40e614aa
xor edx, edx
div ecx
add eax, 0x65fb5849
sub eax, 0x3fbf6a67
add eax, 0xc912c5ee
xor eax, 0x503fc262
or eax, 0x203b0dcb
xor eax, 0x31009134
mov ecx, 0x3c6ccc1f
xor edx, edx
div ecx
imul eax, eax, 0xc6d414c5
and eax, 0x66806d5
xor eax, 0xa6c15541
add eax, 0xc37ffca5
mov ecx, 0x311e447f
xor edx, edx
div ecx
and eax, 0xdb50856d
add eax, 0x9e515366
cmp eax, 0xb84c2d59
jae 0x100dc6a8
mov eax, dword [0x1014d2e8]
and eax, dword [0x1014d2ec]
or eax, 0xb893360e
or eax, 0x15df58c1
xor eax, 0x804163e6
imul eax, eax, 0x29716cf4
xor eax, 0x567cf1e6
or eax, 0x4e3aebe9
and eax, 0xde7f58b4
sub eax, 0x8889573b
imul eax, eax, 0x15b8278d
and eax, 0x7e3d8258
imul eax, eax, 0x6ba22089
or eax, 0x91dde605
imul eax, eax, 0x81aa5098
add eax, 0x87d88135
xor eax, 0xa729d979
imul eax, eax, 0x381c0275
xor eax, 0xd51e8847
imul eax, eax, 0x4e376059
xor eax, 0x3aecb5b8
mov ecx, 0x49299588
xor edx, edx
div ecx
sub eax, 0xad08fa86
imul eax, eax, 0x3029435e
xor eax, 0x52f79331
xor eax, 0xe8516367
xor eax, 0x7f961c03
xor eax, 0xb483e67c
and eax, 0xc3da4bc4
xor eax, 0x740d98bd
and eax, 0x1d64a26
sub eax, 0x16591634
or eax, 0x4d8fcc08
imul eax, eax, 0xc18491ff
mov ecx, 0x404f1127
xor edx, edx
div ecx
cmp eax, 0xa7c90fe4
ja 0x100dc662
mov eax, dword [0x1014d2f0]
xor edx, edx
div dword [0x1014d2f4]
and eax, 0xf53d52a6
imul eax, eax, 0x91760c6
xor eax, 0x43261483
add eax, 0x30d1bda0
xor eax, 0x1d59fb26
sub eax, 0x40559028
or eax, 0x499649f0
add eax, 0xf1253fa9
and eax, 0xab480a58
mov ecx, 0x5b708c5d
xor edx, edx
div ecx
or eax, 0xac2631c0
imul eax, eax, 0x25291805
or eax, 0xf634f916
and eax, 0x396f65fc
imul eax, eax, 0x706ff79
and eax, 0x3b0ab5d2
xor eax, 0x126f9acc
xor eax, 0xb2a4b78e
mov ecx, 0x5fd00971
xor edx, edx
div ecx
mov ecx, 0xcfd3ba52
xor edx, edx
div ecx
xor eax, 0x1ae72c65
xor eax, 0xd74e38e3
sub eax, 0x6c8c0874
or eax, 0xa76932d2
xor eax, 0xf2c23c9b
add eax, 0xd74e8815
and eax, 0xe073873b
imul eax, eax, 0xa5f1886c
sub eax, 0x1d578b53
xor eax, 0xd8107059
or eax, 0x8512f40a
xor eax, 0x237eb54a
add eax, 0x667cfda4
cmp eax, 0x8f000df
jb 0x100dc6ad
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov eax, 0x9023
mov dword [ebp - 0x10], eax
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
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.100dc700
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
lea esi, vtable.std::_System_error.0
mov dword [ecx], esi
mov edx, dword [edx]
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
mov edx, dword [edx + 0x10]
mov dword [ecx + 0x10], edx
cmp eax, 0x46c77ff5
ja 0x100dc6ad
mov eax, dword [0x1014d300]
imul eax, dword [0x1014d304]
sub eax, 0xbaccb1fc
or eax, 0x68a02135
and eax, 0xf3c2f6d9
add eax, 0x65ff2358
add eax, 0x90b423b9
xor eax, 0x254027f3
imul eax, eax, 0xc7cee77c
add eax, 0x7046395a
sub eax, 0xfcac526d
or eax, 0xdf6f182f
imul eax, eax, 0x73caba37
mov ecx, 0x25d950a2
xor edx, edx
div ecx
imul eax, eax, 0xca1dbbcf
xor eax, 0x679eaaa1
mov ecx, 0x725da38a
xor edx, edx
div ecx
mov ecx, 0xbbb8db33
xor edx, edx
div ecx
sub eax, 0x386764f7
sub eax, 0xa744af7b
sub eax, 0x3b85ace0
sub eax, 0xb0de4ac2
add eax, 0xee71483c
or eax, 0x72c05a1d
or eax, 0x58c41fd6
sub eax, 0xeaa45a1c
mov ecx, 0xb8167db7
xor edx, edx
div ecx
mov ecx, 0x736c70a0
xor edx, edx
div ecx
or eax, 0xfe0d269e
sub eax, 0x641b32f3
or eax, 0x1ab01950
or eax, 0x529566e7
or eax, 0x2ab2ec7
or eax, 0xba30de58
xor eax, 0xe45f2f2f
cmp eax, 0x34c0a88a
ja 0x100dc662
mov eax, dword [0x1014d308]
add eax, dword [0x1014d30c]
imul eax, eax, 0x377a35b3
add eax, 0xef3b3ff9
xor eax, 0xb4ff742d
imul eax, eax, 0xa36594d0
sub eax, 0x2a388f56
sub eax, 0x4ce20a1a
add eax, 0xb867097c
and eax, 0x603222b
mov ecx, 0xd666a168
xor edx, edx
div ecx
mov ecx, 0x4f373fb0
xor edx, edx
div ecx
or eax, 0x52330958
or eax, 0x495a867b
add eax, 0xfea4979
and eax, 0x70b5c80d
and eax, 0xbc10280f
sub eax, 0x33f38ef9
or eax, 0x489a27e7
or eax, 0x7e3955d1
sub eax, 0xd03fab2
add eax, 0xefaecd32
sub eax, 0x14e1884
or eax, 0x9db07122
imul eax, eax, 0xeaaf9f23
sub eax, 0x3676ee2b
and eax, 0xaaeb21a7
xor eax, 0x1a82b368
mov ecx, 0x9048f4c6
xor edx, edx
div ecx
imul eax, eax, 0x8a807af8
imul eax, eax, 0x15e760b9
and eax, 0xc4972701
or eax, 0x9fee14dc
mov ecx, 0x730e9f30
xor edx, edx
div ecx
or eax, 0x1a6f435a
cmp eax, 0x231793aa
jae 0x100dc6f3
mov eax, dword [0x1014d310]
sub eax, dword [0x1014d314]
and eax, 0x4e5f19d4
sub eax, 0xf1d81b5e
sub eax, 0x4ded6f6
sub eax, 0x410877b0
and eax, 0x1a1e5b57
sub eax, 0x1b7ca183
or eax, 0xccf7c882
and eax, 0x7720b271
mov ecx, 0xfb8d2d7a
xor edx, edx
div ecx
xor eax, 0x662466ea
xor eax, 0x2785d92a
sub eax, 0xe6c52d15
imul eax, eax, 0x6aff7846
xor eax, 0xd3a57f40
mov ecx, 0xe79639ef
xor edx, edx
div ecx
imul eax, eax, 0xcfef8f04
imul eax, eax, 0x416f6db7
sub eax, 0x6723acb3
imul eax, eax, 0x6e4646ab
and eax, 0xd6e8e739
xor eax, 0xc23ebb7f
or eax, 0xb408e982
and eax, 0xbaf3fc86
add eax, 0x696cf2df
add eax, 0x64514f0a
sub eax, 0x483cd086
xor eax, 0xe338e924
mov ecx, 0x54f85dc2
xor edx, edx
div ecx
imul eax, eax, 0xbc9d083c
or eax, 0xb916fc4
add eax, 0x7ff4cd5c
xor eax, 0xb1f23f99
and eax, 0x96516464
cmp eax, 0x6480e0a2
je 0x100dc58b
mov eax, dword [ebp - 0x14]
lea esp, [ebp - 4]
pop esi
pop ebp
ret 4
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
push eax
mov ecx, esp
mov dword [eax], esi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x1c], ecx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100dc700
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
lea edx, vtable.std::_System_error.0
mov dword [eax], edx
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov ecx, dword [ecx + 0x10]
mov dword [eax + 0x10], ecx
jmp 0x100dc2c4
jmp 0x100dc11e
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
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.100dc700
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
lea edx, vtable.std::_System_error.0
mov dword [eax], edx
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov ecx, dword [ecx + 0x10]
mov dword [eax + 0x10], ecx
jmp 0x100dc391
jmp 0x100dc58b