Function at 0x100ed240
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x28
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [0x1014dd68]
imul eax, dword [0x1014dd6c]
xor eax, 0x2a8946a0
mov ecx, 0x388b51f
xor edx, edx
div ecx
imul eax, eax, 0xa45390c5
xor eax, 0x3e2230c9
or eax, 0x83a308d5
mov ecx, 0x48b8cfe7
xor edx, edx
div ecx
add eax, 0x6035ed6
sub eax, 0x2837880d
add eax, 0xd0932094
sub eax, 0x9d6173c3
add eax, 0xa0f735c
or eax, 0x6a52b06e
sub eax, 0xa54e304b
add eax, 0x8040ae71
mov ecx, 0x4c9c68bf
xor edx, edx
div ecx
and eax, 0x3576c14b
add eax, 0x1691dfc1
mov ecx, 0x94dedc91
xor edx, edx
div ecx
xor eax, 0x64ae15e8
or eax, 0xf1434123
and eax, 0xf382ef1a
or eax, 0xfe5922da
sub eax, 0x365227f6
sub eax, 0x25e923c1
or eax, 0x5e1bc86b
or eax, 0xb14f5b21
and eax, 0x83690e0b
add eax, 0x6a7aa41d
imul eax, eax, 0x9534162e
add eax, 0x99e2c26
or eax, 0x8f6d1f98
or eax, 0xecf6fe80
or eax, 0x42d7d32d
cmp eax, 0xffac0cf4
jb 0x100ed8e6
mov eax, dword [0x1014dd70]
or eax, dword [0x1014dd74]
sub eax, 0x8aea8f6a
imul eax, eax, 0xf5061475
sub eax, 0x25b0e8e0
mov ecx, 0x80497593
xor edx, edx
div ecx
sub eax, 0xc9bf0a08
sub eax, 0x97bf9f7b
imul eax, eax, 0x8ea87bce
or eax, 0xf4297eb1
add eax, 0xf4b2c602
sub eax, 0xc4ef2058
imul eax, eax, 0xfe3ca35c
imul eax, eax, 0x53bad24d
and eax, 0x5aa68345
or eax, 0x3362fa7e
or eax, 0xc4de28eb
imul eax, eax, 0xfaf3e586
imul eax, eax, 0x9731629d
xor eax, 0xd6507dd5
add eax, 0x841aca2d
mov ecx, 0xbc421de4
xor edx, edx
div ecx
or eax, 0x90b9fe73
sub eax, 0x8029cf88
or eax, 0x25a79db0
mov ecx, 0x7398c1b4
xor edx, edx
div ecx
or eax, 0x7c73e300
mov ecx, 0x6fe0c6fc
xor edx, edx
div ecx
or eax, 0x3cbc0909
mov ecx, 0x7ed07ef3
xor edx, edx
div ecx
mov ecx, 0x7259218a
xor edx, edx
div ecx
mov ecx, 0x391b3889
xor edx, edx
div ecx
sub eax, 0x8faa8860
imul eax, eax, 0x98e8f516
xor eax, 0x71e0f897
cmp eax, 0x6ece580c
jbe 0x100ed31e
mov eax, dword [0x1014dd78]
xor edx, edx
div dword [0x1014dd7c]
imul eax, eax, 0x4b7d203e
xor eax, 0x37cdddb8
xor eax, 0x36cadf6a
mov ecx, 0xe155a5a5
xor edx, edx
div ecx
and eax, 0xffc369db
or eax, 0x6a40373
xor eax, 0xce54c4a4
add eax, 0x951391b9
mov ecx, 0x4253aee
xor edx, edx
div ecx
imul eax, eax, 0xea302b4
xor eax, 0xf79b4d00
imul eax, eax, 0xcaa971df
or eax, 0xf861ca02
imul eax, eax, 0xaa08fa89
mov ecx, 0x3f516215
xor edx, edx
div ecx
mov ecx, 0x14de64eb
xor edx, edx
div ecx
mov ecx, 0x56cac3c0
xor edx, edx
div ecx
sub eax, 0x6d7f978c
or eax, 0xf1a4b02b
mov ecx, 0x8d508fae
xor edx, edx
div ecx
xor eax, 0x57effff7
or eax, 0x2f843ec1
mov ecx, 0x10f7341
xor edx, edx
div ecx
and eax, 0x30cb2c69
mov ecx, 0x3bdef9ec
xor edx, edx
div ecx
add eax, 0x71e03a1c
imul eax, eax, 0x8a88b070
imul eax, eax, 0x4fa661b9
add eax, 0xa683cb57
sub eax, 0x85937fa4
or eax, 0x634ced29
xor eax, 0xc7874b02
sub eax, 0x17f8f59e
cmp eax, 0xaff48355
ja 0x100ed89a
mov eax, dword [0x1014dd80]
sub eax, dword [0x1014dd84]
mov ecx, 0x95b18a24
xor edx, edx
div ecx
and eax, 0xede7b9ee
xor eax, 0xb04cfb97
add eax, 0xdc33d45c
and eax, 0x7247289f
imul eax, eax, 0x8e3b79c9
add eax, 0xc61316bd
and eax, 0xcc43f3cf
mov ecx, 0xd416ae4b
xor edx, edx
div ecx
or eax, 0x9d0bd0f
mov ecx, 0x64416712
xor edx, edx
div ecx
xor eax, 0x59bf0614
imul eax, eax, 0x57a75012
or eax, 0xb018075c
or eax, 0xac9f11dc
add eax, 0xf4e81afa
imul eax, eax, 0xd7047384
mov ecx, 0xf7c483b8
xor edx, edx
div ecx
mov ecx, 0xdd62cb66
xor edx, edx
div ecx
imul eax, eax, 0x41dcca47
sub eax, 0xa2febae6
or eax, 0x33d5effa
add eax, 0x3c81cd55
xor eax, 0x429921c2
and eax, 0xacdd530
or eax, 0x84dea3f4
or eax, 0xfcdde4fd
sub eax, 0xa2067c63
add eax, 0x8fab474c
mov ecx, 0x5b894bf
xor edx, edx
div ecx
and eax, 0x6115f669
mov ecx, 0xee399982
xor edx, edx
div ecx
sub eax, 0xcab2a037
cmp eax, 0x463c2338
jae 0x100ed8eb
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
mov eax, 7
mov dword [ebp - 0x14], eax
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
push eax
mov ecx, esp
mov dword [eax], esi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x18], ecx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100e5a20
mov dword [esp], eax
call fcn.100e5900
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
add esp, 4
mov edx, dword [edx]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.100ee240
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
cmp eax, 0xa43d532f
jae 0x100ed5ba
mov eax, dword [0x1014dd90]
sub eax, dword [0x1014dd94]
mov ecx, 0x178c8712
xor edx, edx
div ecx
add eax, 0xc5381d3f
add eax, 0x241d49b9
mov ecx, 0x4fa999fb
xor edx, edx
div ecx
add eax, 0x3a8461d9
sub eax, 0x13bb3045
and eax, 0xc274ebd7
or eax, 0xc3c03096
sub eax, 0x7d3ae141
xor eax, 0x211cbfe
and eax, 0x8ae43d2f
xor eax, 0xab664ec3
mov ecx, 0xd3bc0b2a
xor edx, edx
div ecx
and eax, 0x89ef4c76
imul eax, eax, 0x269021d5
mov ecx, 0xee4737a1
xor edx, edx
div ecx
and eax, 0x4ad29542
xor eax, 0x44a1c5ad
imul eax, eax, 0x7880a215
and eax, 0x140ba417
and eax, 0xcb11dce3
or eax, 0x13fb3374
and eax, 0x46dbc5e8
mov ecx, 0x1cf9c006
xor edx, edx
div ecx
and eax, 0x978a4a06
xor eax, 0xd2f2bafc
or eax, 0x5d6f1ec6
xor eax, 0x7b296ef3
mov ecx, 0x242e9738
xor edx, edx
div ecx
sub eax, 0xbda26568
sub eax, 0xb58e968e
add eax, 0xf1d5612b
sub eax, 0xa7a19d59
cmp eax, 0x2a6c40ee
jb 0x100ed89a
mov eax, dword [0x1014dd98]
xor eax, dword [0x1014dd9c]
xor eax, 0x5595ee99
imul eax, eax, 0xd7cdab39
or eax, 0xad155b65
imul eax, eax, 0xc29eb098
add eax, 0xe515aff5
xor eax, 0xeafa6da2
imul eax, eax, 0x4abf1428
xor eax, 0xa2c7f621
xor eax, 0x5c77b924
or eax, 0x8bdbd331
imul eax, eax, 0xc0a35f9
xor eax, 0x36467657
or eax, 0xead5c8f0
or eax, 0x116795e5
or eax, 0xdbb9b5a6
sub eax, 0xd5e94859
or eax, 0xa3f20074
or eax, 0x9369892e
and eax, 0x10b06c6f
and eax, 0x6cd95250
add eax, 0x960b4fff
or eax, 0xc2945de0
xor eax, 0xd1a7caa8
add eax, 0x85ef0bf6
mov ecx, 0x32ce4b1b
xor edx, edx
div ecx
imul eax, eax, 0x78a3d66d
sub eax, 0x898f370d
or eax, 0x3233dd2b
xor eax, 0x64bd14a3
sub eax, 0xe522dbf
sub eax, 0x9619756f
imul eax, eax, 0x89344780
mov ecx, 0xf695e865
xor edx, edx
div ecx
cmp eax, 0x9aed6303
je 0x100ed937
mov eax, dword [0x1014dda0]
and eax, dword [0x1014dda4]
imul eax, eax, 0x2b817d77
mov ecx, 0xb887c4c5
xor edx, edx
div ecx
or eax, 0xaee9e074
imul eax, eax, 0xbf2b373c
imul eax, eax, 0x1dc2a3e
sub eax, 0xb21a1ac0
imul eax, eax, 0x6c95df2e
or eax, 0x43d59c90
and eax, 0xca133ca3
add eax, 0xf378be6
add eax, 0x7bd15b73
mov ecx, 0x98349035
xor edx, edx
div ecx
imul eax, eax, 0xbe754f72
and eax, 0xd3edb10a
and eax, 0x7e6958db
sub eax, 0x9a78f985
sub eax, 0x795c6275
add eax, 0xd8616bcc
or eax, 0xa2db537e
xor eax, 0xca2d4046
add eax, 0x3ed532ec
xor eax, 0xd4a6299e
imul eax, eax, 0x5cffd16
and eax, 0xabac4d41
sub eax, 0xcf0fa7e0
add eax, 0x5c782725
xor eax, 0x770beb9e
mov ecx, 0xaee49b89
xor edx, edx
div ecx
and eax, 0xd764ded8
add eax, 0xe82e44f3
mov ecx, 0x97ca8c72
xor edx, edx
div ecx
mov ecx, 0x95ba599
xor edx, edx
div ecx
xor eax, 0x5c119847
cmp eax, 0x67a83ba7
je 0x100ed7ba
mov eax, dword [ebp - 0x10]
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 - 0x24], eax
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.100e5a20
mov dword [esp], eax
call fcn.100e5900
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
add esp, 4
mov edx, dword [edx]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.100ee240
jmp 0x100ed4df
jmp 0x100ed31e
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 8]
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
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.100e5a20
mov dword [esp], eax
call fcn.100e5900
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
add esp, 4
mov edx, dword [edx]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.100ee240
jmp 0x100ed5ba
jmp 0x100ed7ba