Function at 0x1005ca00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x14
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp dword [eax], 0
je 0x1005d115
mov dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ecx + 4]
jge 0x1005cd90
mov eax, dword [0x100beda4]
imul eax, dword [0x100beda8]
add eax, 0xd55aef4f
and eax, 0xf96706b8
and eax, 0x53db2d53
sub eax, 0xe40305b6
or eax, 0xaf0c62bc
sub eax, 0x4e3d625
or eax, 0x720ff600
imul eax, eax, 0x169e5244
and eax, 0xd52d3308
xor eax, 0x2bd1421b
xor eax, 0xb2308af8
sub eax, 0x5c7054b1
mov ecx, 0xa751ce04
xor edx, edx
div ecx
sub eax, 0xae00397a
sub eax, 0xd2cc9451
mov ecx, 0x8f3459d2
xor edx, edx
div ecx
xor eax, 0x9802c498
and eax, 0x665298bb
and eax, 0xe162419b
and eax, 0x6bf9c8d8
or eax, 0xa8a1cf7d
mov ecx, 0x38afe8c8
xor edx, edx
div ecx
sub eax, 0xe0433774
add eax, 0x699f6ceb
xor eax, 0x7b50cac4
and eax, 0x95dafeb1
or eax, 0x1337c06
sub eax, 0x1b85d4dd
imul eax, eax, 0xa64eb197
xor eax, 0xf43211fa
or eax, 0x5c57f029
and eax, 0xa3f5f48c
and eax, 0xd3692d42
or eax, 0xffef3206
xor eax, 0x60abb00b
and eax, 0xc2fbe081
imul eax, eax, 0x4adf4a95
mov ecx, 0xb7efd2c3
xor edx, edx
div ecx
imul eax, eax, 0x749f07
and eax, 0xa2b49d47
add eax, 0x90f201f9
add eax, 0x94a26913
and eax, 0x8f636bc0
mov ecx, 0x62a7e641
xor edx, edx
div ecx
add eax, 0x9e0c07e
sub eax, 0x37122fbe
or eax, 0xa016b6ad
add eax, 0xf8f1c307
or eax, 0x3cd20334
sub eax, 0x7b1b85e0
xor eax, 0xe3e0fce9
and eax, 0x89326303
and eax, 0xb0614e9b
and eax, 0xb472d2cd
and eax, 0x68c7d2e9
and eax, 0x9d2cdf01
xor eax, 0x2a0c3450
or eax, 0x7f76e0c8
mov ecx, 0x40241fe4
xor edx, edx
div ecx
sub eax, 0xdded8f03
mov ecx, 0xe7ddd8a7
xor edx, edx
div ecx
or eax, 0x683de65b
or eax, 0x7c6ed225
imul eax, eax, 0x2b2a61ee
add eax, 0x683d2dd4
add eax, 0xc4a75944
or eax, 0x10b3d014
and eax, 0x3f4306e8
xor eax, 0x5c4e7e52
sub eax, 0xf854f3a
mov ecx, 0x40dc36d1
xor edx, edx
div ecx
imul eax, eax, 0x173facec
cmp eax, 0x99f12763
ja 0x1005d4a9
mov eax, dword [0x100bedac]
or eax, dword [0x100bedb0]
mov ecx, 0x87ae8b36
xor edx, edx
div ecx
imul eax, eax, 0x7b638218
xor eax, 0x7dd01f58
imul eax, eax, 0xdba54a92
mov ecx, 0x289442f6
xor edx, edx
div ecx
add eax, 0x6861577d
xor eax, 0x99d854fa
imul eax, eax, 0xd7f20018
and eax, 0xa196c682
sub eax, 0xdcd81b6f
imul eax, eax, 0xcc2fb13
xor eax, 0x3bcc857f
xor eax, 0x836f7ba
imul eax, eax, 0xe8119c8d
add eax, 0x3eb80bae
add eax, 0xbd75ccc9
or eax, 0x3dc7fa8
imul eax, eax, 0x19ad0fa9
or eax, 0x4db7fc98
mov ecx, 0xa54d90f2
xor edx, edx
div ecx
add eax, 0x6ae2647c
mov ecx, 0x8f07ef92
xor edx, edx
div ecx
add eax, 0x752b15d0
sub eax, 0x4548811
imul eax, eax, 0x73f6a88c
imul eax, eax, 0xcda2064d
add eax, 0x1528491f
add eax, 0xcee8681f
sub eax, 0x5c4f3bd1
add eax, 0x66082830
xor eax, 0xf074e148
imul eax, eax, 0x8e4a2f2
sub eax, 0x45298781
and eax, 0x30b5a0bd
or eax, 0x869b547b
imul eax, eax, 0x30028cd6
or eax, 0xbde8c4c
or eax, 0x8758db7c
mov ecx, 0xe1d41d59
xor edx, edx
div ecx
add eax, 0x9f8532e5
or eax, 0x493d45de
imul eax, eax, 0xe4cd522b
imul eax, eax, 0x6f008969
sub eax, 0xa299ac69
add eax, 0xb5e5a1d3
mov ecx, 0x74989010
xor edx, edx
div ecx
xor eax, 0xd0e3e688
xor eax, 0xc475c1df
add eax, 0xf50efb6b
xor eax, 0xf8d52dda
and eax, 0xe08fdb1e
and eax, 0x88722853
imul eax, eax, 0xc4351a35
xor eax, 0xff8a78ff
add eax, 0xcff50f35
add eax, 0xeb4f00eb
imul eax, eax, 0xad2a5074
sub eax, 0x72c4e900
and eax, 0xd606531b
or eax, 0x1d5c19d4
xor eax, 0xff270642
xor eax, 0x5b62a9dc
add eax, 0x1fc2248a
sub eax, 0x14b49e05
or eax, 0x19edcdae
or eax, 0xb2725f5c
imul eax, eax, 0x5b5ee0ce
xor eax, 0x65076959
and eax, 0xe8d829d3
sub eax, 0x970297d7
mov ecx, 0x5aa33ac4
xor edx, edx
div ecx
sub eax, 0xd1b43e66
cmp eax, 0x8d389c8
jb 0x1005d4a9
jmp 0x1005cd82
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
jmp 0x1005ca20
mov eax, dword [0x100bedb4]
or eax, dword [0x100bedb8]
xor eax, 0x3f862baa
xor eax, 0x926d0a74
sub eax, 0xa29cfbcb
imul eax, eax, 0xf3bc5077
add eax, 0x1239e706
imul eax, eax, 0x98215e45
imul eax, eax, 0xca1115e1
and eax, 0xa82e817b
xor eax, 0x5a89c9ac
sub eax, 0x454d5cfd
imul eax, eax, 0x5db99e53
mov ecx, 0x37e5c4d1
xor edx, edx
div ecx
sub eax, 0xe2cc4700
sub eax, 0x1d7bd355
or eax, 0x7f65f744
sub eax, 0x31e79c19
imul eax, eax, 0x88c53fab
sub eax, 0xa47a9333
xor eax, 0xd8b0f1ff
or eax, 0xaa32bcd5
xor eax, 0xcf227e22
add eax, 0xdee43e69
add eax, 0xeea9977
or eax, 0xe0b68e15
add eax, 0x9a66a595
imul eax, eax, 0xed9e7917
sub eax, 0xcf61acf9
mov ecx, 0x96d2fba0
xor edx, edx
div ecx
and eax, 0x3c6ddf96
or eax, 0x7c1686
add eax, 0x7f07029d
and eax, 0xba6d3866
and eax, 0xa81afd6a
imul eax, eax, 0xd9d0ecae
imul eax, eax, 0xeaa30c1a
imul eax, eax, 0x81cbaace
add eax, 0x99d9de9a
add eax, 0xb14dda58
add eax, 0x2038bd4a
or eax, 0x588c146d
sub eax, 0xe90916cf
xor eax, 0x55e0e035
or eax, 0xd69b9d50
mov ecx, 0x2a933675
xor edx, edx
div ecx
mov ecx, 0xc078d649
xor edx, edx
div ecx
mov ecx, 0x963d204
xor edx, edx
div ecx
imul eax, eax, 0x2da3c41
xor eax, 0x7dff11b
xor eax, 0x26776bc9
mov ecx, 0xe2e35c57
xor edx, edx
div ecx
add eax, 0x48abff72
xor eax, 0xfca4b7c8
add eax, 0x250defa3
or eax, 0x6d5e8fab
xor eax, 0x99845310
or eax, 0x1dcb953b
imul eax, eax, 0x529afaba
and eax, 0xcba7c046
add eax, 0x915cee9a
and eax, 0x1fd03b0
mov ecx, 0xec7d4459
xor edx, edx
div ecx
xor eax, 0xe8dc5cb3
and eax, 0xfd1deaef
or eax, 0x7b4fe13c
mov ecx, 0x3c1eb390
xor edx, edx
div ecx
xor eax, 0xd3434ddb
imul eax, eax, 0x2c8465ff
or eax, 0x4c60dca7
xor eax, 0x1f449c2e
or eax, 0x2f32ad59
mov ecx, 0xbf8b0ab
xor edx, edx
div ecx
mov ecx, 0x68272984
xor edx, edx
div ecx
cmp eax, 0xeb3415f5
je 0x1005d4ae
mov eax, dword [0x100bedbc]
and eax, dword [0x100bedc0]
imul eax, eax, 0xc85d324a
imul eax, eax, 0x9c1fcd24
or eax, 0x8cb794c6
add eax, 0xf9801559
add eax, 0x14934594
mov ecx, 0xc2c2d4f5
xor edx, edx
div ecx
xor eax, 0x37687ef7
add eax, 0x5e5d0a
sub eax, 0xe691d87e
mov ecx, 0xe662455e
xor edx, edx
div ecx
mov ecx, 0xc8a7929
xor edx, edx
div ecx
imul eax, eax, 0x7c7a402c
or eax, 0xeae30e99
xor eax, 0x9386ff3
sub eax, 0x88bfb29f
and eax, 0x4416fc11
add eax, 0x44d52856
imul eax, eax, 0x1cbceff6
imul eax, eax, 0x8c014d8d
and eax, 0x541f16e7
add eax, 0xf885d742
mov ecx, 0x7c6f47be
xor edx, edx
div ecx
imul eax, eax, 0x22396d4d
and eax, 0x99f091e5
xor eax, 0x985e1c46
add eax, 0xe88c0e22
add eax, 0x7b28f6f1
mov ecx, 0x25346ee8
xor edx, edx
div ecx
imul eax, eax, 0x97029dbb
sub eax, 0xb7ff0825
imul eax, eax, 0x1150ff58
imul eax, eax, 0xc6bc52af
or eax, 0x9a3511ce
or eax, 0x8243f23e
imul eax, eax, 0x3292ef9c
sub eax, 0xe49183b7
sub eax, 0x85fa5b0a
and eax, 0x85267d02
add eax, 0x22456df3
and eax, 0x6330c441
and eax, 0xd627e0a8
xor eax, 0x11ba32d4
or eax, 0x38517918
or eax, 0xa8caa38a
mov ecx, 0x1848f25b
xor edx, edx
div ecx
imul eax, eax, 0xbe625797
imul eax, eax, 0xe3738252
mov ecx, 0x81aa6e67
xor edx, edx
div ecx
or eax, 0xb78793fb
xor eax, 0x86700e17
and eax, 0x731c9380
xor eax, 0xdac683e8
and eax, 0x1c7b9fa6
and eax, 0xb8a12d04
and eax, 0x2dab1ab
xor eax, 0xa0a13cf3
or eax, 0x1debfbf8
or eax, 0x6f6f3447
and eax, 0xf95e4178
xor eax, 0xa873d305
or eax, 0xf6f6340f
sub eax, 0x13116ec7
add eax, 0xe4cba128
add eax, 0xb72cba49
add eax, 0x85685608
mov ecx, 0x29c38fd1
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x10]
and ecx, 0x8f12d5db
sub ecx, 0xb1e2b056
xor ecx, 0xa8d08558
xor ecx, 0x901aaad6
imul ecx, ecx, 0xff559f0b
imul ecx, ecx, 0xdc795db4
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
mov dword [esp], eax
call fcn.10087c2f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov dword [ecx], 0
cmp eax, 0x31b4cbf1
jb 0x1005cf42
jmp 0x1005d115
mov eax, dword [0x100bedc4]
or eax, dword [0x100bedc8]
add eax, 0xf9e0c2bf
mov ecx, 0xec21f32
xor edx, edx
div ecx
sub eax, 0x8193bb67
imul eax, eax, 0x6b67e800
imul eax, eax, 0x3654cdc5
add eax, 0x929719dc
add eax, 0x42c15219
or eax, 0x710519fb
imul eax, eax, 0xbcf15d85
and eax, 0x23cb6077
mov ecx, 0x19cb2a70
xor edx, edx
div ecx
mov ecx, 0x5c82d8e0
xor edx, edx
div ecx
or eax, 0x55e276af
add eax, 0x9275a6c7
mov ecx, 0x9ea2e0c2
xor edx, edx
div ecx
xor eax, 0x81684d80
imul eax, eax, 0x71f88a95
add eax, 0x89086494
imul eax, eax, 0x789b049f
or eax, 0x3523980b
add eax, 0x7640abe3
or eax, 0xd678cf06
add eax, 0xe03b48b7
xor eax, 0xa67bc7ab
or eax, 0xf23203f5
xor eax, 0x890e3231
and eax, 0x61297bb0
mov ecx, 0xed464670
xor edx, edx
div ecx
or eax, 0xc63895ad
mov ecx, 0x3196dd05
xor edx, edx
div ecx
mov ecx, 0xeca08b6e
xor edx, edx
div ecx
or eax, 0x9c0dc682
add eax, 0xc12cb952
mov ecx, 0xe7127397
xor edx, edx
div ecx
imul eax, eax, 0x83d1719c
sub eax, 0x702d1671
and eax, 0x6dc2e03f
imul eax, eax, 0xd151bd11
and eax, 0xfb00e30d
and eax, 0x4e3d9288
xor eax, 0x9bbe8571
add eax, 0x1874406d
xor eax, 0x101cab69
sub eax, 0x2129cb74
and eax, 0x214202d9
add eax, 0xccd1c87b
add eax, 0x7e0de46b
sub eax, 0x4bb6447d
add eax, 0xed7c45d
xor eax, 0x70e762c3
sub eax, 0x7ca4e527
or eax, 0xb8f2720e
xor eax, 0xcebadb7d
xor eax, 0x6e334683
imul eax, eax, 0x8b83df51
and eax, 0x4065289a
add eax, 0x76ca4029
and eax, 0xf81779bd
and eax, 0xe542704f
sub eax, 0xfc9e164a
sub eax, 0xbe8d33c8
or eax, 0x3ab4f645
sub eax, 0xd086d52e
xor eax, 0x6776a2c5
mov ecx, 0xb384a964
xor edx, edx
div ecx
sub eax, 0xd57e3dca
sub eax, 0x41e5552b
sub eax, 0x5366a3dd
sub eax, 0xeca77d91
mov ecx, 0x178361b2
xor edx, edx
div ecx
xor eax, 0x4c75b86d
imul eax, eax, 0x843f2ea9
cmp eax, 0x90b5c957
jbe 0x1005d4c9
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x100bedcc]
or eax, dword [0x100bedd0]
or eax, 0xa8ceb746
imul eax, eax, 0x415fe970
xor eax, 0x9e9dfaab
and eax, 0xf0aa9a56
mov esi, 0x7be49fd4
xor edx, edx
div esi
xor eax, 0xad8f71d5
mov esi, 0xb06e3165
xor edx, edx
div esi
mov esi, 0xd9fa805
xor edx, edx
div esi
sub eax, 0xb05a4d31
mov esi, 0xf749401d
xor edx, edx
div esi
mov esi, 0x858addd8
xor edx, edx
div esi
sub eax, 0x991aeffd
mov esi, 0x71d9873c
xor edx, edx
div esi
add eax, 0x5f1b71d6
sub eax, 0x5519c7f0
xor eax, 0x31177f24
sub eax, 0x1de7f625
sub eax, 0x5d60cb7d
add eax, 0xe4ca1a8d
imul eax, eax, 0x331c1768
sub eax, 0xc8e08eb2
or eax, 0x80ac5dc6
mov esi, 0x9a3f9026
xor edx, edx
div esi
add eax, 0x79537e
and eax, 0x95d5153d
imul eax, eax, 0xede1883a
add eax, 0x3c5fac46
add eax, 0x460e6439
imul eax, eax, 0x335f80c1
sub eax, 0x38022371
add eax, 0xb9e0ef1a
and eax, 0xd48e2e09
or eax, 0xd0e1ea9
mov esi, 0x6918f4c3
xor edx, edx
div esi
or eax, 0xa31d1431
xor eax, 0xc5173747
or eax, 0xce08e4bb
mov esi, 0xbf8c3fb7
xor edx, edx
div esi
or eax, 0x9124da9b
and eax, 0xbe5bdd02
sub eax, 0xef88607d
mov esi, 0xe7f679a3
xor edx, edx
div esi
add eax, 0xf26cfb9c
imul eax, eax, 0x2c980033
imul eax, eax, 0x572d0a77
xor eax, 0xe0e2d016
imul eax, eax, 0xc0d3f81c
xor eax, 0x761a083
imul eax, eax, 0xd81e8651
mov esi, 0xffb45182
xor edx, edx
div esi
mov esi, 0x6ad5b500
xor edx, edx
div esi
add eax, 0x22afc0cd
or eax, 0xbd976ac0
or eax, 0xa1b3257a
imul eax, eax, 0x96913
imul eax, eax, 0x9a268fe3
mov esi, 0x3d5137cf
xor edx, edx
div esi
sub eax, 0x41bccc60
mov esi, 0x5bd309fe
xor edx, edx
div esi
mov esi, 0x3a01e94a
xor edx, edx
div esi
add eax, 0x6acc2305
and eax, 0xf838f50
or eax, 0x5eb77742
or eax, 0xeb039f0
add eax, 0xfd2a2a2a
mov esi, 0xf5d60bb7
xor edx, edx
div esi
or eax, 0x9561d2f3
imul eax, eax, 0x4f71b160
sub eax, 0x68e0f340
imul eax, eax, 0x4efa696c
add eax, 0x47aa5e36
mov esi, 0xe37a798
xor edx, edx
div esi
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
cmp eax, 0x134d77c2
jae 0x1005d4c9
add esp, 0x14
pop esi
pop ebp
ret
jmp 0x1005cbd4
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.10087c2f
mov eax, dword [ebp - 0x10]
mov dword [eax], 0
jmp 0x1005cf42
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x1005d2c4