Function at 0x10052610
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x100dab40]
or eax, dword [0x100dab44]
imul eax, eax, 0x9c29cc5a
and eax, 0xc6afcf5d
imul eax, eax, 0x15e0493d
and eax, 0x104abb73
add eax, 0x4b2d6cc8
imul eax, eax, 0xf5831a92
add eax, 0x69a39f79
imul eax, eax, 0xc8fe35d7
xor eax, 0x3d50d09d
xor eax, 0x4b17fd99
imul eax, eax, 0x2c9e57a3
mov ecx, 0x6594bd8
xor edx, edx
div ecx
add eax, 0x4f52eb44
xor eax, 0x9282d5
or eax, 0xd3b6fa4
mov ecx, 0x87def304
xor edx, edx
div ecx
add eax, 0x6a95f708
or eax, 0xf27cabdf
and eax, 0xbab249df
sub eax, 0xe1272d42
add eax, 0x503469c8
imul eax, eax, 0x98204224
xor eax, 0xe14597e
imul eax, eax, 0xba38ea70
mov ecx, 0x74ef72f2
xor edx, edx
div ecx
xor eax, 0xe9592288
sub eax, 0xc6c7cfe5
or eax, 0xb6c27265
sub eax, 0x93da6301
mov ecx, 0x841b70e9
xor edx, edx
div ecx
and eax, 0x66c62b7e
add eax, 0x7e7ab380
add eax, 0x70039a66
imul eax, eax, 0xae2b39b7
xor eax, 0x1b6e3a9b
and eax, 0xcc8a7499
sub eax, 0xd0834117
mov ecx, 0x410881d6
xor edx, edx
div ecx
xor eax, 0xc177607
and eax, 0x9848ce08
add eax, 0x1158c4cf
sub eax, 0xdbc95380
add eax, 0x76e5c1d6
add eax, 0xe31aa5b
and eax, 0xe11a4d8c
mov ecx, 0x8397b717
xor edx, edx
div ecx
add eax, 0xee3c5d63
imul eax, eax, 0x20661043
imul eax, eax, 0x941ee04f
mov ecx, 0x1981c15a
xor edx, edx
div ecx
add eax, 0xc4827ac7
sub eax, 0x17adac6f
sub eax, 0xa67c9e8d
add eax, 0x91125a9e
imul eax, eax, 0x64f6e902
mov ecx, 0xaa6fb551
xor edx, edx
div ecx
and eax, 0xc06de44e
and eax, 0x95a0121c
imul eax, eax, 0xfdb7f195
xor eax, 0x97ec097e
xor eax, 0x678b0991
or eax, 0xece8fcbd
add eax, 0xfaddac46
xor eax, 0x664c1c74
add eax, 0x805dafc0
sub eax, 0x63a118b4
xor eax, 0x6964d0f1
imul eax, eax, 0xa10704d7
and eax, 0xa4ad935f
sub eax, 0x80c9c664
add eax, 0x11ad4259
imul eax, eax, 0x8e21b825
cmp eax, 0xefe951b7
je 0x10052fd6
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov eax, 0xf14959b8
mov dword [ebp - 0x18], eax
push eax
mov edx, esp
mov dword [ebp - 0x2c], edx
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
push eax
mov esi, esp
mov dword [ebp - 0x24], esi
push eax
mov ebx, esp
mov dword [ebp - 0x20], ebx
push eax
mov ebx, esp
mov dword [ebp - 0x1c], ebx
mov dword [edx], edi
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0x41
call fcn.100a33da
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x18]
mov dword [esi], edi
mov esi, dword [esi]
mov byte [esi + 0x40], 0
mov dword [edx], 0x40000000
mov dword [ecx], 0
cmp eax, 0x10a74c20
je 0x100527d1
jmp 0x10052842
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0x20
jge 0x10052fc9
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
and eax, dword [ecx]
cmp eax, 0
je 0x10052877
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ecx]
shl ecx, 1
mov byte [eax + ecx], 0x31
jmp 0x10052888
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ecx]
shl ecx, 1
mov byte [eax + ecx], 0x30
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
and eax, dword [ecx]
cmp eax, 0
je 0x100528b2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ecx]
shl ecx, 1
mov byte [eax + ecx + 1], 0x31
jmp 0x10052c47
mov eax, dword [0x100dab50]
or eax, dword [0x100dab54]
or eax, 0x554ca416
xor eax, 0xa8eea95f
mov ecx, 0xb1a0a810
xor edx, edx
div ecx
or eax, 0xea2a3a17
imul eax, eax, 0xa82d2d09
and eax, 0x94d7b10
or eax, 0x91244012
or eax, 0x4ad69477
sub eax, 0x76f67ef9
imul eax, eax, 0xf0510a64
xor eax, 0x548acb21
mov ecx, 0x147d8b71
xor edx, edx
div ecx
mov ecx, 0x9e4cf3b1
xor edx, edx
div ecx
mov ecx, 0x4840d618
xor edx, edx
div ecx
or eax, 0xdbdb528a
xor eax, 0xa75aa4e3
xor eax, 0x24c08386
mov ecx, 0x374d5fe4
xor edx, edx
div ecx
or eax, 0x130f3ec5
xor eax, 0xfb13dff8
add eax, 0x9dcbe1bc
or eax, 0xc1e13128
and eax, 0xc46fd41
add eax, 0xb13d1f62
xor eax, 0xbb53b6f7
or eax, 0x1c57f006
imul eax, eax, 0x4216451f
imul eax, eax, 0x72f8c1f8
mov ecx, 0xf1419834
xor edx, edx
div ecx
sub eax, 0x9a96b056
xor eax, 0xeff88845
mov ecx, 0x525e625d
xor edx, edx
div ecx
and eax, 0x729d834c
sub eax, 0xf54b5a52
xor eax, 0xac1d0a6e
and eax, 0xf7772fa1
xor eax, 0x70930581
and eax, 0x2ec1c333
sub eax, 0xf710f078
and eax, 0x6a89d54c
and eax, 0xcfe5f815
sub eax, 0x54b5d1d6
mov ecx, 0x5b527b2c
xor edx, edx
div ecx
or eax, 0x895e2c39
or eax, 0x3b23169a
or eax, 0xb3ce74d8
mov ecx, 0xc173d426
xor edx, edx
div ecx
mov ecx, 0x1c7dcaa6
xor edx, edx
div ecx
add eax, 0x679da9ef
mov ecx, 0xe66646b4
xor edx, edx
div ecx
imul eax, eax, 0x7b5af6b5
add eax, 0x2668ca56
add eax, 0xdf0f2cd3
or eax, 0xadac5089
add eax, 0x71f4408a
or eax, 0xd7ba8fc2
mov ecx, 0x4177de7
xor edx, edx
div ecx
or eax, 0x8377e684
xor eax, 0x29065d87
add eax, 0xf2fb693c
and eax, 0xbaa725e5
imul eax, eax, 0xd76860c6
imul eax, eax, 0x97e71d9
and eax, 0xf99a2c72
or eax, 0x38e9dac3
add eax, 0xa2eacf91
imul eax, eax, 0x9794d022
and eax, 0xa992dc44
or eax, 0xcd09fab1
add eax, 0xdaf6dfda
xor eax, 0x5a48ba79
or eax, 0xdaeb31d0
cmp eax, 0xe218d4ab
jb 0x1005302e
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x100dab58]
or eax, dword [0x100dab5c]
sub eax, 0x9629ad91
add eax, 0xd88442e
add eax, 0xbbb75255
xor eax, 0xcca41681
and eax, 0x528b5
and eax, 0x5fcf82b4
sub eax, 0x714e70b9
sub eax, 0x43a8311e
or eax, 0xf34b2246
mov esi, 0x74c45b18
xor edx, edx
div esi
imul eax, eax, 0xc242c37e
mov esi, 0xb137ad9c
xor edx, edx
div esi
and eax, 0x6cbee25e
mov esi, 0x65d5fe29
xor edx, edx
div esi
or eax, 0xacd66e95
or eax, 0x29abf4b0
mov esi, 0xa6db4a13
xor edx, edx
div esi
sub eax, 0xc6596c55
mov esi, 0x236373a2
xor edx, edx
div esi
imul eax, eax, 0xf2663fde
mov esi, 0xb508f13d
xor edx, edx
div esi
sub eax, 0xffeebbd4
xor eax, 0x411abe87
xor eax, 0xe6478775
mov esi, 0xb9594825
xor edx, edx
div esi
or eax, 0xd162eb8c
sub eax, 0x5536862
sub eax, 0x30dd6823
sub eax, 0x2becaeed
mov esi, 0x130a0497
xor edx, edx
div esi
sub eax, 0x28a04209
imul eax, eax, 0xe80848b8
mov esi, 0xa24a2969
xor edx, edx
div esi
sub eax, 0x938e5180
and eax, 0x846ce541
or eax, 0x82d11aca
mov esi, 0xc331b98
xor edx, edx
div esi
mov esi, 0x6b2e980a
xor edx, edx
div esi
xor eax, 0x8691d7d6
mov esi, 0xb5c48e1f
xor edx, edx
div esi
mov esi, 0xa7381602
xor edx, edx
div esi
xor eax, 0x9e25e6cb
or eax, 0x378fe3d3
add eax, 0x50c47135
and eax, 0xc3cd3172
mov esi, 0xa757254d
xor edx, edx
div esi
add eax, 0x4f0d800c
and eax, 0x8c3f4d3a
mov esi, 0x3cf7ef10
xor edx, edx
div esi
and eax, 0x5bdd75b7
sub eax, 0x4f21a144
or eax, 0xf11ef557
add eax, 0xc41ffca2
imul eax, eax, 0xcdb00525
sub eax, 0x30700333
sub eax, 0xfcd50338
xor eax, 0x77b9f800
xor eax, 0xaa1f9d47
xor eax, 0x7c0cb926
xor eax, 0x22f2fa43
add eax, 0x629b75d8
add eax, 0x7eb62c9
mov esi, 0x5a4bff91
xor edx, edx
div esi
mov esi, 0x5e43d155
xor edx, edx
div esi
mov edx, dword [ebp - 0x1c]
xor eax, 0x2b2ead6
xor eax, 0xcae5681f
or eax, 0x45b4493a
xor eax, 0xe5e5e2f0
and eax, 0xbe4456fc
xor eax, 0x968b3588
imul eax, eax, 0xd76dfc4c
imul eax, eax, 0xee97fe4a
mov ecx, dword [ecx]
mov edx, dword [edx]
shl edx, 1
mov byte [ecx + edx + 1], 0x30
cmp eax, 0x1b808547
jb 0x10052a68
jmp 0x10052c47
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
sar ecx, 1
mov dword [eax], ecx
mov eax, dword [0x100dab60]
or eax, dword [0x100dab64]
sub eax, 0xb6aebd9b
add eax, 0x5a113ec0
mov ecx, 0x13212a2b
xor edx, edx
div ecx
and eax, 0x3035a758
sub eax, 0xcb88f1b3
or eax, 0xd39045c9
xor eax, 0x616f4150
or eax, 0x9a617b8c
sub eax, 0x1780d5fb
mov ecx, 0x84573238
xor edx, edx
div ecx
sub eax, 0xfd93f752
mov ecx, 0x24d82a70
xor edx, edx
div ecx
or eax, 0xf4416878
or eax, 0xd4edae04
add eax, 0x82a670f2
or eax, 0xdd890fd8
and eax, 0xd6fef935
mov ecx, 0x88ea445b
xor edx, edx
div ecx
mov ecx, 0xe36fbb2c
xor edx, edx
div ecx
xor eax, 0x24b4ac26
mov ecx, 0xb3e69bf3
xor edx, edx
div ecx
add eax, 0xa122124a
mov ecx, 0xf8c975ad
xor edx, edx
div ecx
xor eax, 0xbe802ff8
add eax, 0x6ca31456
xor eax, 0x8e607810
xor eax, 0x87001114
mov ecx, 0x62d744dd
xor edx, edx
div ecx
sub eax, 0x63bcf881
imul eax, eax, 0xf0194bb4
add eax, 0x545cec22
mov ecx, 0xda142101
xor edx, edx
div ecx
and eax, 0x75fe5dbb
add eax, 0x5760d83e
sub eax, 0x1f8a1391
add eax, 0x5e034257
sub eax, 0x27f6f583
xor eax, 0xb31d8b64
mov ecx, 0x3c0a4e97
xor edx, edx
div ecx
imul eax, eax, 0x8902989e
add eax, 0x446976a6
xor eax, 0xa9d1f4ea
add eax, 0x4a3166b0
sub eax, 0x8c6ae5d
add eax, 0x9d17f02f
imul eax, eax, 0xd634ab41
sub eax, 0xdeae9eee
xor eax, 0xaeb4addf
or eax, 0xe49eb45b
sub eax, 0xfdbad3ac
mov ecx, 0xa132295c
xor edx, edx
div ecx
add eax, 0x434b7c53
add eax, 0x157f97d1
add eax, 0xa4262c41
xor eax, 0x8e0afff0
mov ecx, 0x88c5e960
xor edx, edx
div ecx
and eax, 0x99789c95
imul eax, eax, 0x1b3c3f8e
and eax, 0x1433e33b
add eax, 0xcfb51552
sub eax, 0xfeb85713
mov ecx, 0xbf74ad8f
xor edx, edx
div ecx
imul eax, eax, 0xdc81b58e
xor eax, 0x316154a8
imul eax, eax, 0xca18cb95
or eax, 0x743591c4
and eax, 0x4f9f1a3f
or eax, 0xc2b35463
and eax, 0x3b15a3cd
xor eax, 0x7cf7efab
sub eax, 0x2bed5975
sub eax, 0x6e028540
cmp eax, 0xff4f366e
ja 0x10053045
mov ecx, dword [ebp - 0x1c]
mov eax, dword [0x100dab68]
or eax, dword [0x100dab6c]
xor eax, 0xf0f26faa
imul eax, eax, 0xd2bfc19f
imul eax, eax, 0xcd0d1053
xor eax, 0x857f08d2
add eax, 0xbb4c9ff7
add eax, 0x407e2bb3
imul eax, eax, 0x49a8133a
sub eax, 0xa44fb582
xor eax, 0xe91b2934
add eax, 0x5776d216
or eax, 0xe62bd77f
add eax, 0xe208f4bd
and eax, 0xe0635fba
xor eax, 0x69627e08
imul eax, eax, 0xb47e2ec2
or eax, 0x4b4675e4
imul eax, eax, 0x87cfeff
xor eax, 0x567f3658
sub eax, 0xdae38250
xor eax, 0x75921f96
add eax, 0x52157a12
mov esi, 0x254c79af
xor edx, edx
div esi
and eax, 0xfc960f95
xor eax, 0x588dc9e9
add eax, 0x19488155
and eax, 0x2bca4ac3
mov esi, 0x8eddd185
xor edx, edx
div esi
xor eax, 0x5f194ef9
xor eax, 0x1f1cd2c8
add eax, 0x61cc5b29
imul eax, eax, 0x18c13f20
xor eax, 0xb4dacd21
sub eax, 0x6fac738
mov esi, 0xf0bec266
xor edx, edx
div esi
add eax, 0xa075d443
or eax, 0x4f9ceca5
imul eax, eax, 0x154d847
and eax, 0x5c78b89c
mov esi, 0x4d45547b
xor edx, edx
div esi
xor eax, 0xc15d1261
or eax, 0x4b96e99c
imul eax, eax, 0xa41c9adc
and eax, 0x95cc8592
sub eax, 0xbbef2468
add eax, 0xa0c2e0e7
mov esi, 0xd207519a
xor edx, edx
div esi
xor eax, 0xd69e2b1f
or eax, 0xaabc6c42
imul eax, eax, 0xd77ec09a
add eax, 0x98e29380
xor eax, 0xd9102c65
sub eax, 0x546020a8
mov esi, 0x48d54bf8
xor edx, edx
div esi
xor eax, 0x8126f2fc
mov esi, 0xb4ad9480
xor edx, edx
div esi
imul eax, eax, 0xa762d3
and eax, 0xbeed9ddb
sub eax, 0x9f311a0b
and eax, 0x344afa11
mov esi, 0xa38299f
xor edx, edx
div esi
sub eax, 0x17323f77
xor eax, 0x15b752a1
or eax, 0xeea62a5e
mov esi, 0x25e29ba0
xor edx, edx
div esi
or eax, 0x70a8c211
or eax, 0x9d04f238
xor eax, 0x38a90b1
add eax, 0xeb59a2fa
and eax, 0x8bf4c8cc
mov esi, 0x14da3534
xor edx, edx
div esi
and eax, 0xeb8fe5e
imul eax, eax, 0xffd539fa
mov edx, dword [ecx]
add edx, 1
mov dword [ecx], edx
cmp eax, 0x9185c6d8
jbe 0x10053045
jmp 0x10052842
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
push eax
mov edx, esp
push eax
mov eax, esp
push eax
mov edi, esp
mov dword [ebp - 0x38], edi
push eax
mov edi, esp
mov dword [ebp - 0x34], edi
push eax
mov edi, esp
mov dword [ebp - 0x30], edi
mov dword [edx], esi
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0x41
call fcn.100a33da
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x30]
mov dword [edx], esi
mov edx, dword [edx]
mov byte [edx + 0x40], 0
mov dword [ecx], 0x40000000
mov dword [eax], 0
jmp 0x100527d1
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ecx]
shl ecx, 1
mov byte [eax + ecx + 1], 0x30
jmp 0x10052a68
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x10052e09