Function at 0x100ed980
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x38
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov eax, dword [0x1014dda8]
imul eax, dword [0x1014ddac]
add eax, 0x5bceea47
add eax, 0xe9168b48
and eax, 0xa16fd7ea
sub eax, 0x289a9c09
sub eax, 0x4f04da51
imul eax, eax, 0xf374218d
mov ecx, 0xa3e6389e
xor edx, edx
div ecx
sub eax, 0x2619453
sub eax, 0x410bb379
mov ecx, 0xdeb3759b
xor edx, edx
div ecx
or eax, 0x69e67dd3
add eax, 0x500c355e
imul eax, eax, 0x44437b1d
sub eax, 0x9c3d8221
xor eax, 0x2cac7cd9
add eax, 0xd8dd772f
imul eax, eax, 0x7febac2e
add eax, 0x6935edb
and eax, 0x8b7e96d9
xor eax, 0x6e745aaf
or eax, 0x451c1bbd
and eax, 0x86c25607
mov ecx, 0x3ca25839
xor edx, edx
div ecx
and eax, 0x18fcb5f3
imul eax, eax, 0xe96d7413
or eax, 0xdb782869
or eax, 0xd9ad086a
sub eax, 0x95ca6f9
or eax, 0x4e4e92b0
add eax, 0x4f18cc4e
sub eax, 0x1d0a48ab
imul eax, eax, 0xfd760af0
mov ecx, 0x7ae47430
xor edx, edx
div ecx
cmp eax, 0x21118b5
je 0x100ede00
mov eax, dword [0x1014ddb0]
add eax, dword [0x1014ddb4]
and eax, 0x8477923
sub eax, 0x3413fb00
imul eax, eax, 0x81b5ee0b
xor eax, 0x468275e4
sub eax, 0xebba3df1
add eax, 0xb07f155b
and eax, 0x29e12639
and eax, 0xaf4c58a1
add eax, 0x82546a45
mov ecx, 0xe5eff98a
xor edx, edx
div ecx
and eax, 0x70b31b87
or eax, 0x6bb0709d
or eax, 0x839e36ef
mov ecx, 0x5f4d2ba
xor edx, edx
div ecx
and eax, 0xcf7cf94d
or eax, 0xcc5e3a6
mov ecx, 0x43aade60
xor edx, edx
div ecx
add eax, 0xee9003d4
add eax, 0x35d65bf6
and eax, 0xa67feb
xor eax, 0x405120d9
sub eax, 0x298c1173
or eax, 0x8fd7e840
sub eax, 0x613a326b
xor eax, 0x61ac06dd
and eax, 0xee69afe4
mov ecx, 0x63c819fa
xor edx, edx
div ecx
sub eax, 0xe3b777f0
mov ecx, 0x148c3552
xor edx, edx
div ecx
imul eax, eax, 0xaddfcaa1
xor eax, 0xf2a250a0
xor eax, 0x5a6bf203
and eax, 0x2d7d3b36
cmp eax, 0x5ab4b25a
ja 0x100edfeb
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov eax, 0x74a87458
mov dword [ebp - 0x14], eax
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
call fcn.100e6a00
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
call fcn.100e6f80
mov ecx, dword [ebp - 0x18]
mov edx, eax
mov eax, dword [ecx]
sub esp, 8
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
cmp eax, 0x37f4c4a8
jb 0x100edb35
mov eax, dword [0x1014ddc0]
imul eax, dword [0x1014ddc4]
add eax, 0x309b6839
xor eax, 0xef682864
add eax, 0x8df8c137
imul eax, eax, 0xfb74d647
add eax, 0xc86972f4
or eax, 0x6eb35cd2
or eax, 0xbcff233b
sub eax, 0xe59a757d
or eax, 0x38ba1451
or eax, 0xa8c7003e
imul eax, eax, 0xdbe437ed
xor eax, 0xac3a29d8
imul eax, eax, 0x48de8bbb
and eax, 0xdf50892e
xor eax, 0xcc0efaf7
and eax, 0x7fd358df
xor eax, 0x986f8de3
and eax, 0x11c8366
sub eax, 0xae27694c
add eax, 0xb3005f0a
imul eax, eax, 0x77600656
mov ecx, 0x206806e
xor edx, edx
div ecx
xor eax, 0xf5004630
add eax, 0x321452c8
xor eax, 0xaf8f9d57
mov ecx, 0x4240b8ef
xor edx, edx
div ecx
or eax, 0xfa223362
or eax, 0x7e2dd6ba
or eax, 0x11bca61a
imul eax, eax, 0x426a88d2
and eax, 0xa8834384
imul eax, eax, 0xdbe0a6df
and eax, 0xe55adef5
cmp eax, 0x200475ef
jbe 0x100eda64
mov eax, dword [0x1014ddc8]
add eax, dword [0x1014ddcc]
imul eax, eax, 0x4fbc3cf6
and eax, 0xbd17b89f
sub eax, 0x8b365c07
imul eax, eax, 0xf991c4dd
and eax, 0xdad3808b
and eax, 0x4d4c9dbd
mov ecx, 0x389aff3e
xor edx, edx
div ecx
xor eax, 0x6d2cfcbf
xor eax, 0xbdbac97b
and eax, 0x46592fa8
and eax, 0xa59ca0d9
add eax, 0xec44252
imul eax, eax, 0xf2eabe05
mov ecx, 0x69466e4f
xor edx, edx
div ecx
and eax, 0xa2377ef9
sub eax, 0xebb61a5d
or eax, 0x4224d02e
imul eax, eax, 0x86f01055
add eax, 0xf8ddbc29
imul eax, eax, 0x7de6d416
xor eax, 0xebbd1556
mov ecx, 0x75d8a075
xor edx, edx
div ecx
mov ecx, 0xcebcd062
xor edx, edx
div ecx
sub eax, 0x4d3a0141
mov ecx, 0x612ed62b
xor edx, edx
div ecx
add eax, 0x6c7cae68
sub eax, 0x4194f261
or eax, 0x5d107d20
xor eax, 0xcdb26927
mov ecx, 0x81899136
xor edx, edx
div ecx
add eax, 0x3c8347bb
sub eax, 0x54d0610e
imul eax, eax, 0x568b8d59
cmp eax, 0xa7c639ca
jbe 0x100ee029
mov eax, dword [0x1014ddd0]
and eax, dword [0x1014ddd4]
mov ecx, 0xa82cf4a8
xor edx, edx
div ecx
xor eax, 0x750869fa
or eax, 0x1632e06
sub eax, 0xdab002ba
add eax, 0xd1269d2b
mov ecx, 0x9ef071e5
xor edx, edx
div ecx
xor eax, 0x7cb2d3bf
sub eax, 0xb2adc0de
xor eax, 0xe853e32d
mov ecx, 0x2408cc5f
xor edx, edx
div ecx
sub eax, 0x3b042b40
mov ecx, 0x3189b32c
xor edx, edx
div ecx
imul eax, eax, 0x2ee104ab
or eax, 0x5ad1eb05
add eax, 0x30a78425
xor eax, 0x2731a045
xor eax, 0x82d92208
add eax, 0x861c157f
imul eax, eax, 0xb424c64e
add eax, 0x9e575fa7
or eax, 0x97cdf21a
add eax, 0x74b47130
xor eax, 0x6a453247
sub eax, 0xd4aca828
sub eax, 0xe32ddc7a
add eax, 0xa9a893bc
sub eax, 0x69eb5542
xor eax, 0xdfb8712b
sub eax, 0xdf7d12b4
imul eax, eax, 0x188dca1
or eax, 0x1af2b3b5
or eax, 0x34ac9e03
add eax, 0x1dd20f82
cmp eax, 0xf9ee0ac1
je 0x100ee029
mov eax, dword [ebp - 8]
lea esp, [ebp - 4]
pop esi
pop ebp
ret 4
mov eax, dword [0x1014ddd8]
add eax, dword [0x1014dddc]
imul eax, eax, 0x7ca4e665
sub eax, 0xdf91bb23
xor eax, 0xee507fac
add eax, 0x9ed7e06
add eax, 0x94c02075
and eax, 0x69a503c0
add eax, 0x7d4dd661
sub eax, 0x6523cf01
and eax, 0x736d48f
or eax, 0x4e7347e1
imul eax, eax, 0x8840bb36
xor eax, 0x479381a2
imul eax, eax, 0xe2b7d76e
mov ecx, 0x27b6bff4
xor edx, edx
div ecx
or eax, 0x451f86c0
and eax, 0xe0e78b3e
and eax, 0x7644890b
add eax, 0xfc69d138
and eax, 0xe7650ea2
imul eax, eax, 0xf6225aa6
mov ecx, 0x8cb1e259
xor edx, edx
div ecx
mov ecx, 0x797d5333
xor edx, edx
div ecx
add eax, 0xb5c62491
mov ecx, 0xc1d2c26a
xor edx, edx
div ecx
imul eax, eax, 0x1038f1e1
and eax, 0xc813402
and eax, 0xb63ae537
imul eax, eax, 0x872ee87a
imul eax, eax, 0x1a44dd22
imul eax, eax, 0xecb087ea
imul eax, eax, 0x7c01121b
mov ecx, 0x354f8153
xor edx, edx
div ecx
sub eax, 0x731da4b6
cmp eax, 0x782e0ba1
je 0x100ee02e
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x1014dde0]
mov edx, dword [0x1014dde4]
and eax, edx
mov edx, 0x28fcaf39
mul edx
mov eax, edx
shr eax, 0x1d
add eax, 0xbe265093
mov edx, 0xdc5f4199
mul edx
mov eax, edx
shr eax, 0x1e
add eax, 0x513ee42e
xor eax, 0xea961a31
imul eax, eax, 0x7d51c47
mov dword [ebp - 0x2c], eax
mov edx, 0x23a9080d
mul edx
mov eax, dword [ebp - 0x2c]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
imul eax, eax, 0xe987f0f8
mov edx, 0x1a08a1b3
mul edx
mov eax, edx
shr eax, 0x1c
add eax, 0xcd875c65
or eax, 0x44803c8
and eax, 0x4ce5fc9
add eax, 0xd1e00351
and eax, 0x100c2101
imul eax, eax, 0xdf6f9097
or eax, 0x4b85a70e
add eax, 0xfe2eead9
xor eax, 0x341040
or eax, 0x1430bbc
add eax, 0xcf6dac38
or eax, 0x2020c0
and eax, 0x13020c0
or eax, 0x1e4bd227
xor eax, 0x1d511330
imul eax, eax, 0xd06a52ae
and eax, 0x1d400402
imul eax, eax, 0x83f6e5da
add eax, 0x2e1c7a4c
mov dword [ebp - 0x20], eax
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
call fcn.100e6a00
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
call fcn.100e6f80
mov ecx, dword [ebp - 0x24]
mov edx, eax
mov eax, dword [ecx]
sub esp, 8
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 8]
mov eax, dword [ebp - 0x20]
cmp eax, 0x6eda1446
je 0x100eded8
jmp 0x100eda64
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x34], ecx
call fcn.100e6a00
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
call fcn.100e6f80
mov ecx, dword [ebp - 0x30]
mov edx, eax
mov eax, dword [ecx]
sub esp, 8
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 8]
jmp 0x100edb35
jmp 0x100edd27
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
call fcn.100e6a00
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
call fcn.100e6f80
mov ecx, dword [ebp - 0x38]
mov edx, eax
mov eax, dword [ecx]
sub esp, 8
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 8]
jmp 0x100eded8