Function at 0x10004580
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0xc
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x1013a734]
xor eax, dword [0x1013a738]
add eax, 0xff6cb493
and eax, 0xb0d813f4
mov ecx, 0xe8fd7486
xor edx, edx
div ecx
imul eax, eax, 0x18ae72f4
or eax, 0xccf2801c
and eax, 0xc87fc209
sub eax, 0x7387cb86
add eax, 0x47378562
sub eax, 0x27b8432c
sub eax, 0x1d515a4e
mov ecx, 0x53c3e966
xor edx, edx
div ecx
or eax, 0x5ec2e3fc
sub eax, 0x13be3645
add eax, 0x58e4c38
and eax, 0x1889ca7c
imul eax, eax, 0x83d96778
xor eax, 0xc494c73b
or eax, 0x75df731c
or eax, 0x33d17214
xor eax, 0xd11e0110
cmp eax, 0xa170305c
je 0x100048ea
mov eax, dword [0x1013a73c]
imul eax, dword [0x1013a740]
mov ecx, 0x2f3ab2ee
xor edx, edx
div ecx
add eax, 0x6ef2e229
mov ecx, 0x9ff13c66
xor edx, edx
div ecx
and eax, 0x6e22c781
mov ecx, 0x95976c77
xor edx, edx
div ecx
or eax, 0x47eda82d
imul eax, eax, 0xbdc9a144
xor eax, 0xb6445df
mov ecx, 0x1e1246f3
xor edx, edx
div ecx
xor eax, 0x7f192f6
add eax, 0x2922f0c3
mov ecx, 0xc2713d35
xor edx, edx
div ecx
imul eax, eax, 0x96476cbe
xor eax, 0xa3e0d609
mov ecx, 0x6edada53
xor edx, edx
div ecx
add eax, 0x9bcba338
imul eax, eax, 0x7a19076a
and eax, 0x2a1ddf7c
imul eax, eax, 0x19e91ef
xor eax, 0x8015404e
cmp eax, 0xc87f121c
jae 0x1000499d
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, dword [0x1013a744]
mov edx, dword [0x1013a748]
imul eax, edx
imul eax, eax, 0x5a8cdad9
or eax, 0x96c05798
and eax, 0xf7f1dff8
shr eax, 3
mov edx, 0x29a6db2b
mul edx
mov eax, edx
shr eax, 0x1a
or eax, 0x2cd2e048
xor eax, 0x29a321c5
add eax, 0x295a078c
or eax, 0xdfcebbf7
xor eax, 0x8dc1e83b
imul eax, eax, 0xbdf4fb33
xor eax, 0xac55cdf1
add eax, 0x5ea22b0a
xor eax, 0x9772aab8
shr eax, 3
mov edx, 0x22112939
mul edx
mov eax, edx
shr eax, 0x18
add eax, 0x97c1860b
mov edx, 0xf9c98489
mul edx
shr edx, 0x1c
push eax
mov esi, esp
push eax
mov eax, esp
mov dword [esi], edi
mov dword [eax], ecx
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp edx, 0x5665c829
jae 0x100046ac
mov eax, dword [0x1013a74c]
imul eax, dword [0x1013a750]
xor eax, 0xa926e989
xor eax, 0xe68eaa11
imul eax, eax, 0xd5416dcc
or eax, 0x43ba75e5
xor eax, 0x94a2c665
add eax, 0x35e19f98
or eax, 0xfa4cc367
sub eax, 0x3bf208d
and eax, 0xd4dfebff
or eax, 0x5f9f6363
or eax, 0x55352195
mov ecx, 0x9d692144
xor edx, edx
div ecx
and eax, 0x2675c90
or eax, 0xa32888b1
mov ecx, 0x41fc75a0
xor edx, edx
div ecx
sub eax, 0x1f53807
xor eax, 0x2860c3fe
imul eax, eax, 0xd8fd8f2e
imul eax, eax, 0xb8eff867
or eax, 0xb73432da
cmp eax, 0x434aa63f
jb 0x10004615
mov eax, dword [0x1013a754]
imul eax, dword [0x1013a758]
imul eax, eax, 0x6926ad14
and eax, 0xc2048b4f
and eax, 0x22d887c5
sub eax, 0x928180d4
imul eax, eax, 0x96892041
and eax, 0xbf1e7f6e
and eax, 0xe4a27df9
sub eax, 0xebe23957
and eax, 0x5ae191bd
imul eax, eax, 0x5daff962
imul eax, eax, 0xf827ed62
xor eax, 0x70527738
add eax, 0x41987625
and eax, 0x7d52ab0f
mov ecx, 0x30a79c77
xor edx, edx
div ecx
sub eax, 0x11999668
mov ecx, 0xe3e41bed
xor edx, edx
div ecx
xor eax, 0x76b61bd6
xor eax, 0x8845d96a
sub eax, 0xd69c2e0a
cmp eax, 0x41dec356
je 0x100049b2
mov eax, dword [0x1013a75c]
or eax, dword [0x1013a760]
mov ecx, 0x4a489b39
xor edx, edx
div ecx
imul eax, eax, 0x3f08a0c0
imul eax, eax, 0x59e89180
or eax, 0xe2071224
sub eax, 0xdcc74d25
sub eax, 0xb73e46db
or eax, 0x71808a67
sub eax, 0xb7ccf215
imul eax, eax, 0x969986eb
or eax, 0x8c718073
sub eax, 0x94efca3a
sub eax, 0xa2201f89
add eax, 0xfdf25010
sub eax, 0x837108cc
imul eax, eax, 0x29c65d0f
mov ecx, 0xc7c3be1e
xor edx, edx
div ecx
sub eax, 0x6a166a56
sub eax, 0x5d7b720f
imul eax, eax, 0x9a37d352
mov ecx, 0x97191f84
xor edx, edx
div ecx
cmp eax, 0x1feac460
ja 0x10004853
mov eax, dword [ebp - 0x14]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [0x1013a764]
xor eax, dword [0x1013a768]
mov ecx, 0x773fb071
xor edx, edx
div ecx
or eax, 0x5474e6d9
xor eax, 0xb16f350
xor eax, 0x7023613e
add eax, 0x89b8d582
mov ecx, 0x54b9a36c
xor edx, edx
div ecx
mov ecx, 0xbc56400b
xor edx, edx
div ecx
xor eax, 0xe695364a
sub eax, 0x7015a52b
sub eax, 0x59e6f69
add eax, 0xdb9bba5d
add eax, 0x2656f1c2
and eax, 0x770e93d4
and eax, 0xb378e3f4
mov ecx, 0x9a3b0a64
xor edx, edx
div ecx
mov ecx, 0x9f2d64a
xor edx, edx
div ecx
xor eax, 0xf5d323f5
sub eax, 0xbca82f01
or eax, 0x954cca17
and eax, 0x7e35cf71
cmp eax, 0xe6389eaf
ja 0x100049b7
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, 0x24824100
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [esi], edi
mov dword [ecx], edx
cmp eax, 0x476f5f7c
jae 0x10004978
jmp 0x10004615
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xc]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x100046ac
jmp 0x10004853
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0xc]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x10004978