Function at 0x10109650
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 4], ecx
mov eax, dword [0x1014edf8]
xor eax, dword [0x1014edfc]
and eax, 0x5b3fb9c8
imul eax, eax, 0x6cd3a424
xor eax, 0xd9bb66fb
mov ecx, 0x67ffb2c
xor edx, edx
div ecx
imul eax, eax, 0x7078cc23
xor eax, 0xa1ff135a
add eax, 0xec93bbe0
imul eax, eax, 0x9409304
add eax, 0xbe35623a
and eax, 0xdc8979
imul eax, eax, 0x82f04a48
xor eax, 0x33be7bac
sub eax, 0x8377ac06
add eax, 0x269df7ad
sub eax, 0x4f002a25
and eax, 0x71780aa4
add eax, 0xa4e8917
or eax, 0x82646232
xor eax, 0xbfec3929
add eax, 0x1316e29d
xor eax, 0xb676264f
or eax, 0xb3ef1a64
sub eax, 0xb723d8d0
add eax, 0xb75e8542
add eax, 0x5e203dcf
and eax, 0x407d8bad
mov ecx, 0xc1e2663d
xor edx, edx
div ecx
add eax, 0x7e9cd377
add eax, 0x1e91536b
sub eax, 0x2f764553
mov ecx, 0xae663bcf
xor edx, edx
div ecx
imul eax, eax, 0xaca933c9
or eax, 0xd7b67935
cmp eax, 0x3e47243a
je 0x1010991a
mov ecx, dword [ebp - 4]
mov eax, 0x785c5016
mov dword [ebp - 0xc], eax
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
call fcn.10108d20
mov ecx, eax
mov eax, dword [ebp - 0xc]
and ecx, 6
cmp ecx, 0
setne cl
mov byte [ebp - 5], cl
cmp eax, 0x1927818
je 0x1010991a
mov eax, dword [0x1014ee08]
add eax, dword [0x1014ee0c]
or eax, 0x9b2fcdd6
imul eax, eax, 0xae289d5d
sub eax, 0x735c2d19
imul eax, eax, 0x51b1b606
and eax, 0x7b284d02
and eax, 0xab38c9fd
and eax, 0x6e21d5a8
and eax, 0xbc2b8a4e
imul eax, eax, 0xd8d84472
mov ecx, 0x3394076f
xor edx, edx
div ecx
imul eax, eax, 0x4fe3d5dd
mov ecx, 0xc6d918d
xor edx, edx
div ecx
add eax, 0x61a94e10
mov ecx, 0x7abdf98f
xor edx, edx
div ecx
imul eax, eax, 0xef560bef
imul eax, eax, 0x517ee086
or eax, 0xb26140d3
mov ecx, 0x67b3d56c
xor edx, edx
div ecx
add eax, 0x40c6f9bc
add eax, 0xa384943
mov ecx, 0x884343b6
xor edx, edx
div ecx
mov ecx, 0xbe2924c5
xor edx, edx
div ecx
mov ecx, 0x82b4b571
xor edx, edx
div ecx
sub eax, 0x3ca4bcac
imul eax, eax, 0xcf3750ee
or eax, 0xc9b78fe5
imul eax, eax, 0x92fae6e6
mov ecx, 0xef57267b
xor edx, edx
div ecx
imul eax, eax, 0xeeffd058
add eax, 0xe09e5d93
or eax, 0x47d43d21
imul eax, eax, 0xbef3095d
xor eax, 0x22104992
cmp eax, 0x45a163da
jae 0x10109a14
mov eax, dword [0x1014ee10]
imul eax, dword [0x1014ee14]
and eax, 0x8c3fa774
imul eax, eax, 0xeb00bd06
or eax, 0x1d8818a3
sub eax, 0xca7cc192
add eax, 0x5b71cdca
or eax, 0x4b8c54ab
or eax, 0xc67b0edb
imul eax, eax, 0xc153902a
mov ecx, 0x14113d8d
xor edx, edx
div ecx
sub eax, 0x46135125
imul eax, eax, 0x271e668e
and eax, 0x7906b6f
imul eax, eax, 0x44fbbc97
sub eax, 0x1a610911
sub eax, 0x97d3416d
or eax, 0x28817a23
add eax, 0x790ae074
sub eax, 0xd0159fc4
imul eax, eax, 0x3652caf8
mov ecx, 0x76b80de
xor edx, edx
div ecx
mov ecx, 0x1203ee26
xor edx, edx
div ecx
add eax, 0x17b8e72d
xor eax, 0x72e61332
add eax, 0xd1d32c7b
add eax, 0xf7254369
or eax, 0x36dacb42
mov ecx, 0x50084db1
xor edx, edx
div ecx
sub eax, 0x809f6a02
and eax, 0xd60f1b60
add eax, 0x5cad6272
sub eax, 0xa6e97385
xor eax, 0xbcfde286
sub eax, 0x8bba895f
cmp eax, 0x67f80f58
je 0x1010983d
mov al, byte [ebp - 5]
and al, 1
movzx eax, al
mov esp, ebp
pop ebp
ret
mov eax, dword [0x1014ee18]
sub eax, dword [0x1014ee1c]
or eax, 0x8239426d
imul eax, eax, 0xd32434ac
and eax, 0x9ef3a1ad
imul eax, eax, 0xa244dec8
xor eax, 0x3d43ea7e
and eax, 0x937bb1d5
sub eax, 0x69deedb9
imul eax, eax, 0x676a1435
sub eax, 0x7f00426d
imul eax, eax, 0x598ee71a
mov ecx, 0x94a33f03
xor edx, edx
div ecx
imul eax, eax, 0xde9a81e9
or eax, 0xf1dfb0b8
and eax, 0x61ecf062
or eax, 0xa180e0e4
xor eax, 0xf3b8707a
sub eax, 0x888673c4
and eax, 0xf583ba6f
sub eax, 0xf5b44fcb
sub eax, 0xe73fb3da
add eax, 0xd4887d1d
xor eax, 0xc15d5671
mov ecx, 0x59b9f877
xor edx, edx
div ecx
or eax, 0x3ec98295
xor eax, 0x264c9181
add eax, 0x23ee8771
sub eax, 0x9cfee654
mov ecx, 0x67a2c2c7
xor edx, edx
div ecx
mov ecx, 0x265f911c
xor edx, edx
div ecx
or eax, 0xabd60a81
sub eax, 0xd575e3c6
sub eax, 0x9f0a570d
xor eax, 0xf3790231
cmp eax, 0xcf6a0ceb
je 0x10109a19
mov ecx, dword [ebp - 4]
mov eax, 0x21000d02
mov dword [ebp - 0x10], eax
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
call fcn.10108d20
mov eax, dword [ebp - 0x10]
cmp eax, 0xd1e5990f
jae 0x10109a19
jmp 0x10109725
jmp 0x1010983d
mov ecx, dword [ebp - 4]
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
call fcn.10108d20
jmp 0x101099ea