Function at 0x100058a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x10
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], ecx
call fcn.1005da40
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0
lea eax, [0x10000000]
mov dword [ecx + 4], eax
lea eax, [0x100c1158]
add eax, 4
mov dword [ecx + 8], eax
lea eax, [0x100c115c]
mov dword [ecx + 0xc], eax
add ecx, 0x10
call fcn.1005dc50
cmp eax, 0
jge 0x100058fc
mov byte [0x100c5008], 1
jmp 0x10005c51
mov eax, dword [0x100c25d8]
xor edx, edx
div dword [0x100c25dc]
xor eax, 0x2c896172
mov ecx, 0xb4a9057b
xor edx, edx
div ecx
xor eax, 0x18660af6
and eax, 0xb0f440cc
add eax, 0x2c1bc36f
and eax, 0x5687f874
mov ecx, 0xf12fc6dd
xor edx, edx
div ecx
xor eax, 0x6b8f84e
add eax, 0x86042030
sub eax, 0xcebb7778
sub eax, 0xb00eea17
imul eax, eax, 0x5cf2da81
xor eax, 0xe6695cf3
mov ecx, 0x405c441f
xor edx, edx
div ecx
imul eax, eax, 0x1be7ac41
add eax, 0x8733ba5b
and eax, 0x7d505ee3
and eax, 0x254eb426
imul eax, eax, 0x265d0dcd
and eax, 0xeadd6eb7
or eax, 0xb7576be5
mov ecx, 0xaf7145cd
xor edx, edx
div ecx
xor eax, 0xa732f158
or eax, 0xca8df1ab
and eax, 0xf9b1c719
add eax, 0xd6f73b71
imul eax, eax, 0xd5384c09
add eax, 0x51a382e6
sub eax, 0x6aabc4b2
and eax, 0x4aedf9ec
and eax, 0x247957de
and eax, 0x253e2c52
add eax, 0xf514d8c9
mov ecx, 0xe53d4bc5
xor edx, edx
div ecx
mov ecx, 0xd4d20894
xor edx, edx
div ecx
xor eax, 0x76bcbc9f
add eax, 0x53929dbb
or eax, 0x72517f50
or eax, 0xba8a68d2
xor eax, 0x2d7f3607
mov ecx, 0x20cf1d8
xor edx, edx
div ecx
or eax, 0xe96149f2
xor eax, 0xc5195e7b
xor eax, 0xb73ce022
add eax, 0x8289e70d
and eax, 0xd2acaa87
or eax, 0x5660032
imul eax, eax, 0x82508d54
imul eax, eax, 0x362d865a
mov ecx, 0x5beff67
xor edx, edx
div ecx
mov ecx, 0x91229da8
xor edx, edx
div ecx
or eax, 0x476f75d0
add eax, 0x25f9e2c7
or eax, 0x43c01dae
sub eax, 0x28fa8829
xor eax, 0x5c87df63
add eax, 0xb0a1f69e
imul eax, eax, 0x7b6f5e79
imul eax, eax, 0x899eefc0
xor eax, 0xabd9500c
imul eax, eax, 0x81faeb87
sub eax, 0x526f69f2
and eax, 0x46987a71
add eax, 0x12554827
add eax, 0x8d5926bc
mov ecx, 0x2f1ccae
xor edx, edx
div ecx
add eax, 0xcd307c46
imul eax, eax, 0xeba12746
or eax, 0x31ca3d7c
imul eax, eax, 0x9d5819e7
add eax, 0x6b5e207a
xor eax, 0x3e2a12bf
cmp eax, 0x30023494
jae 0x10005fd3
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x100c25e0]
add eax, dword [0x100c25e4]
and eax, 0x1eecd157
imul eax, eax, 0x3b17349b
xor eax, 0x7a59e411
sub eax, 0xa6c4704
sub eax, 0x24bbc4dc
add eax, 0x55b066f
sub eax, 0x6fa81a38
add eax, 0x94b43934
mov esi, 0x249e0c5b
xor edx, edx
div esi
and eax, 0x49a2a78b
xor eax, 0x60dfaeff
xor eax, 0xd3d88401
imul eax, eax, 0x43611fa2
imul eax, eax, 0xd017cb20
xor eax, 0xd442c430
and eax, 0x66875f7f
add eax, 0x4fa1ee9
and eax, 0xe3b1532c
or eax, 0x4163d773
and eax, 0xa3ff30e4
or eax, 0xbeb97926
and eax, 0xee98f5de
add eax, 0xc1fca37b
xor eax, 0x75f88f8f
add eax, 0x73719f38
mov esi, 0xcf9b626b
xor edx, edx
div esi
xor eax, 0x5325019a
sub eax, 0x52ac5b1d
add eax, 0xe9f763f5
and eax, 0xe87c5de7
and eax, 0xe9d13c38
sub eax, 0x4b5a45b7
or eax, 0x5515f134
imul eax, eax, 0x342b5f7e
or eax, 0xdd37cf6d
add eax, 0x1ac40901
or eax, 0x826d0242
xor eax, 0x9abf04eb
and eax, 0x6be46a7
mov esi, 0xec8d7290
xor edx, edx
div esi
add eax, 0x879fd423
add eax, 0xd7e9dfcc
and eax, 0xbb3f0f9f
imul eax, eax, 0xdea3a8cc
imul eax, eax, 0x19f92122
xor eax, 0x742e4dd1
xor eax, 0xe8df18d5
add eax, 0xf9e579e5
and eax, 0xaeefee6d
xor eax, 0xa92c48df
sub eax, 0xb8097f3f
imul eax, eax, 0x5f10d076
add eax, 0xde64b55f
add eax, 0xc372b08c
imul eax, eax, 0x8aa4c92d
sub eax, 0xde2cdc81
and eax, 0x573d6f31
add eax, 0x6b1cd5e7
add eax, 0xf8834dae
add eax, 0x73769709
xor eax, 0x96b49a1b
xor eax, 0x96d962e7
imul eax, eax, 0xd9767e70
and eax, 0xbfe97ce0
xor eax, 0x970002f6
sub eax, 0x664f84c0
and eax, 0xe4ebd2c9
xor eax, 0x1b62c74e
add eax, 0xa5f427d
or eax, 0x47408086
and eax, 0x6a624d37
imul eax, eax, 0xfaeaf00
mov dword [ecx], 0x28
cmp eax, 0xdb930417
jae 0x10005fd3
jmp 0x10005c51
mov eax, dword [0x100c25e8]
sub eax, dword [0x100c25ec]
or eax, 0x735ecd1f
or eax, 0xd2bdc471
xor eax, 0x25b7eccb
imul eax, eax, 0x5b5abbf8
imul eax, eax, 0xbc0298bb
and eax, 0x42dc3430
sub eax, 0x89f74767
add eax, 0x939aff68
sub eax, 0xb31fa3aa
sub eax, 0xbaf79be7
or eax, 0x6c42155e
or eax, 0x34ecfa9a
xor eax, 0xf521542a
imul eax, eax, 0x828d40e6
imul eax, eax, 0xaa5855f1
mov ecx, 0xf3ac623c
xor edx, edx
div ecx
and eax, 0x106e8982
mov ecx, 0xd6e69e7b
xor edx, edx
div ecx
xor eax, 0xf0f512aa
mov ecx, 0x915ee39a
xor edx, edx
div ecx
mov ecx, 0x9a50ea4b
xor edx, edx
div ecx
or eax, 0x8e8ed9e3
xor eax, 0xaca4d0d5
or eax, 0x82e9b9d5
mov ecx, 0x528b9f64
xor edx, edx
div ecx
mov ecx, 0x87c07c94
xor edx, edx
div ecx
or eax, 0x4ee43239
xor eax, 0x6ab38331
xor eax, 0x3f072d3c
imul eax, eax, 0x18292282
mov ecx, 0x7d348156
xor edx, edx
div ecx
and eax, 0x81c648f0
imul eax, eax, 0x72ba3329
sub eax, 0x6c4aeab0
mov ecx, 0x75993889
xor edx, edx
div ecx
xor eax, 0x630ca19a
or eax, 0x7ee8f93
and eax, 0xcbfbd9e
and eax, 0x23026ad0
add eax, 0xf44f639d
imul eax, eax, 0xafe466bf
add eax, 0xdf95f846
sub eax, 0x9b3aa068
xor eax, 0xfdbbe78
imul eax, eax, 0xebe5c7d6
mov ecx, 0x916dcf50
xor edx, edx
div ecx
imul eax, eax, 0x9b518eb8
sub eax, 0x1d768445
sub eax, 0x1d65cd11
xor eax, 0x452a1d5d
add eax, 0xbcd459c6
imul eax, eax, 0xcedf2320
and eax, 0xfabe3a3f
sub eax, 0xc3fcf842
and eax, 0xb0e9c18b
mov ecx, 0xa9e50bd4
xor edx, edx
div ecx
imul eax, eax, 0xbeda6308
or eax, 0x34faf592
mov ecx, 0x51a39e30
xor edx, edx
div ecx
mov ecx, 0x3aed2d44
xor edx, edx
div ecx
imul eax, eax, 0xe075922
and eax, 0x3d7b15f5
add eax, 0xf744a0c3
xor eax, 0x3ea7af5f
and eax, 0x5371f3f7
mov ecx, 0x2c9c7947
xor edx, edx
div ecx
imul eax, eax, 0xf3c7ddf6
imul eax, eax, 0x41db8a6
or eax, 0x45968a61
xor eax, 0xd4cdccd8
imul eax, eax, 0xa3261931
sub eax, 0x85a2ac63
cmp eax, 0x7bb25129
jae 0x10005fe1
mov eax, dword [0x100c25f0]
imul eax, dword [0x100c25f4]
add eax, 0x3ea2bfdc
imul eax, eax, 0xb3852155
imul eax, eax, 0x6ba16a85
or eax, 0x6e3ad0e6
imul eax, eax, 0xf02c2e07
and eax, 0x3e0fea90
or eax, 0x7443f596
sub eax, 0x65b31980
mov ecx, 0xc31c4cdf
xor edx, edx
div ecx
mov ecx, 0xebbef177
xor edx, edx
div ecx
mov ecx, 0x72174388
xor edx, edx
div ecx
or eax, 0x789ab185
mov ecx, 0x308c7bd8
xor edx, edx
div ecx
mov ecx, 0xed160dba
xor edx, edx
div ecx
sub eax, 0xeab7c575
or eax, 0xba9d0a47
add eax, 0xeded7f3a
add eax, 0x9247e685
add eax, 0x4e3df6cd
add eax, 0xff3719c1
xor eax, 0x8e42e06e
xor eax, 0x7a8a626c
and eax, 0x33dba55c
imul eax, eax, 0xb22df982
imul eax, eax, 0x8ff7de96
xor eax, 0xe9e8209c
or eax, 0x2964a2c0
add eax, 0xdfaf6e72
and eax, 0x3ca97fe1
and eax, 0xc78f4df9
mov ecx, 0x23e2f53b
xor edx, edx
div ecx
add eax, 0xa39b66a2
imul eax, eax, 0x6cdb3223
or eax, 0xf0dec6dc
xor eax, 0xd8e762b2
sub eax, 0xcad4dfff
imul eax, eax, 0x8a86a85e
and eax, 0xb2263a93
add eax, 0x66d45ad3
add eax, 0xca8e1e18
and eax, 0xa6bf0b9a
xor eax, 0x85d7bf93
add eax, 0x258e1273
or eax, 0x59ba28a8
mov ecx, 0x7aaf3de1
xor edx, edx
div ecx
mov ecx, 0x8714b7ef
xor edx, edx
div ecx
sub eax, 0x3692c32a
add eax, 0xbd42d754
mov ecx, 0x5abae25d
xor edx, edx
div ecx
xor eax, 0x8b15eee8
xor eax, 0xf67c3289
and eax, 0x4c5ba887
or eax, 0x1765123
or eax, 0xf49ff2fc
imul eax, eax, 0x672e0205
sub eax, 0xf3b424a4
imul eax, eax, 0xc3c406b8
xor eax, 0xbfd9df76
or eax, 0x7a290dc9
xor eax, 0xa4ff7295
add eax, 0x9dd0c4b1
xor eax, 0x96e58d47
sub eax, 0xf455bc9e
add eax, 0x9fe6d2f5
and eax, 0x4dd2e8e9
add eax, 0x11262203
imul eax, eax, 0xddd2cee6
and eax, 0xf08c4d52
and eax, 0xb816ee6e
add eax, 0x886a2df5
imul eax, eax, 0x5d07f21d
mov ecx, 0x9917b687
xor edx, edx
div ecx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], ecx
cmp eax, 0xda121c60
ja 0x10005e12
mov eax, dword [ebp - 0x14]
add esp, 0x10
pop esi
pop ebp
ret
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x28
jmp 0x10005aaf
jmp 0x10005e12