Function at 0x100644a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x1c
mov eax, dword [ebp + 8]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp dword [ebp + 8], 0
je 0x10064842
mov eax, dword [0x100c4ff0]
add eax, dword [0x100c4ff4]
xor eax, 0x9f9e3896
add eax, 0x35e2cd7
imul eax, eax, 0xc50ae9f1
add eax, 0x9409d0de
sub eax, 0xfd27f11c
imul eax, eax, 0x734ea274
or eax, 0x7c5f3af9
xor eax, 0x5aa03de0
imul eax, eax, 0x62fef74a
xor eax, 0x9785177e
or eax, 0x2fe53340
xor eax, 0x58ba4f02
add eax, 0x2b1930f1
mov ecx, 0x71155b67
xor edx, edx
div ecx
mov ecx, 0xcf30d10b
xor edx, edx
div ecx
add eax, 0xb3f37144
sub eax, 0x6e8e4136
mov ecx, 0x9035c361
xor edx, edx
div ecx
and eax, 0x331d3507
sub eax, 0x3932ca7d
sub eax, 0x9b357a89
or eax, 0x1601709a
add eax, 0x4de6c72c
add eax, 0xf57fe3db
or eax, 0x13baf4ac
or eax, 0xe8bc83fa
sub eax, 0x48dd9b4d
or eax, 0xf9ae057
mov ecx, 0x4e818316
xor edx, edx
div ecx
add eax, 0x23c7af29
mov ecx, 0xd4cd6500
xor edx, edx
div ecx
mov ecx, 0x3e796a47
xor edx, edx
div ecx
or eax, 0x2ced029b
sub eax, 0xa0739155
xor eax, 0x6dc1f52a
add eax, 0x1c9da73f
mov ecx, 0xf8205b62
xor edx, edx
div ecx
mov ecx, 0x24dcb334
xor edx, edx
div ecx
or eax, 0x60633842
mov ecx, 0xb9f7ae56
xor edx, edx
div ecx
xor eax, 0x54e8657f
sub eax, 0xceb578bd
and eax, 0xf9f99f73
and eax, 0x50e3470e
and eax, 0x71824f46
add eax, 0xec1d6dc9
add eax, 0x2ff6a63c
or eax, 0xb2a6cea4
and eax, 0x95b0553d
sub eax, 0x5a53b7b4
add eax, 0x72d97c18
and eax, 0xa42eda55
imul eax, eax, 0x1978b933
or eax, 0x4c3b0aa8
add eax, 0x3b1e4742
and eax, 0x59db6700
add eax, 0x1a3fed1a
or eax, 0x88e8df0f
mov ecx, 0xce90af7e
xor edx, edx
div ecx
and eax, 0x43d5ba22
add eax, 0x50b8131c
add eax, 0x16defa32
and eax, 0xf3605f34
or eax, 0xebe70b7
or eax, 0xa037516e
add eax, 0x57cd230a
imul eax, eax, 0xa3728e70
mov ecx, 0x755b06f4
xor edx, edx
div ecx
xor eax, 0xf3f873e6
xor eax, 0x73f06bbe
xor eax, 0xea8e6d2a
xor eax, 0xc5415892
cmp eax, 0xc63716d0
je 0x1006484a
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x100c4ff8]
and eax, dword [0x100c4ffc]
imul eax, eax, 0xf705c6e8
add eax, 0xcf9ad6a3
add eax, 0xcde9ea11
imul eax, eax, 0x190fc02
sub eax, 0xccf4a77c
imul eax, eax, 0x4c9dfd78
and eax, 0xe14660f1
and eax, 0xfc3608f3
xor eax, 0x7d62f81b
xor eax, 0xa9dcba9b
and eax, 0xce9d566d
xor eax, 0x2cf8b3da
add eax, 0x33fcfa18
and eax, 0x693f9be4
and eax, 0xcae329d4
and eax, 0x2931d89e
imul eax, eax, 0xe981388d
xor eax, 0x4281e2c8
add eax, 0x62b1458a
or eax, 0xa878fb94
add eax, 0x330ef4a1
and eax, 0x73cf108f
add eax, 0x7e5963fd
sub eax, 0x4f60071e
mov esi, 0x1e91573e
xor edx, edx
div esi
imul eax, eax, 0x49c479e1
add eax, 0x59b12f06
or eax, 0xf76fd3a6
imul eax, eax, 0xc9897ff9
or eax, 0x91c7d14f
and eax, 0xc7c3e5f4
mov esi, 0x3e8d9e81
xor edx, edx
div esi
xor eax, 0xa75aee22
imul eax, eax, 0xd5e6961b
sub eax, 0x4e5c6334
and eax, 0x70188f44
and eax, 0x35069b2c
add eax, 0x8b273479
xor eax, 0x28042c1b
add eax, 0x3e89cdc3
imul eax, eax, 0x51073365
sub eax, 0x6bd311ce
or eax, 0x7fc1a9f9
mov esi, 0x1542d16e
xor edx, edx
div esi
and eax, 0xe4232530
add eax, 0xf804eb90
add eax, 0x5e6628fd
xor eax, 0x21ef87d9
sub eax, 0x7ad86155
add eax, 0x42fde023
xor eax, 0xd3b19b0b
sub eax, 0x5f666b44
imul eax, eax, 0x1b466201
mov esi, 0xfbfb4928
xor edx, edx
div esi
imul eax, eax, 0x9c6f8513
mov esi, 0xd407ac0
xor edx, edx
div esi
mov esi, 0x3a14c919
xor edx, edx
div esi
add eax, 0x5f962f40
imul eax, eax, 0x1ed9869b
imul eax, eax, 0x42ec7a98
sub eax, 0x6c7d35b9
add eax, 0xce7616f
add eax, 0x590329ec
add eax, 0xa7255ac7
xor eax, 0x4d88b12b
imul eax, eax, 0x992d66bc
sub eax, 0x2b8b4841
add eax, 0x1b7e57af
and eax, 0x6d14d411
sub eax, 0xc8ba532f
sub eax, 0xf2e00925
xor eax, 0x2c5c1315
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + 4]
xor edx, edx
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
sub esp, 0xc
mov ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], ecx
cmp eax, 0x5f46d26b
jbe 0x1006466c
jmp 0x10064842
add esp, 0x1c
pop esi
pop ebp
ret 4
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [ecx + 4]
xor edx, edx
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
sub esp, 0xc
mov dword [ebp - 0xc], eax
jmp 0x1006466c