Function at 0x10005900
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x24
mov dword [ebp - 8], ecx
mov eax, dword [0x100c05c8]
add eax, dword [0x100c05cc]
sub eax, 0x57669909
xor eax, 0xb271fe10
imul eax, eax, 0x1025414b
add eax, 0xdf451a10
or eax, 0x2b519380
add eax, 0x7aed5be9
imul eax, eax, 0x37c9c37e
xor eax, 0xf0008aca
add eax, 0x6230db30
and eax, 0xb087d6ae
and eax, 0xbe933cee
and eax, 0xaa0cdca8
sub eax, 0x541ce60f
mov ecx, 0x9aac94d1
xor edx, edx
div ecx
sub eax, 0xe38c9c69
add eax, 0x1d0015e4
or eax, 0xebfe411a
and eax, 0xd8c9bc99
mov ecx, 0xe731af1a
xor edx, edx
div ecx
or eax, 0x286bfb35
mov ecx, 0x7749cbd
xor edx, edx
div ecx
mov ecx, 0x73244a1d
xor edx, edx
div ecx
mov ecx, 0x5c302e61
xor edx, edx
div ecx
xor eax, 0xbbd10b70
add eax, 0x870e94ae
mov ecx, 0xc017d57e
xor edx, edx
div ecx
xor eax, 0x7ad25fbb
add eax, 0xe266fddd
add eax, 0xb164ad92
xor eax, 0x917cc6d1
add eax, 0x55bc935a
add eax, 0x2d556d5b
sub eax, 0xbd26497f
sub eax, 0x42c1894c
imul eax, eax, 0xb373652
mov ecx, 0x5c827812
xor edx, edx
div ecx
or eax, 0x3383dccc
sub eax, 0x53e952da
xor eax, 0x3a171669
and eax, 0xe0579760
add eax, 0x9aad4e3b
or eax, 0x81ba56e8
or eax, 0x2dd4c2bb
or eax, 0xd49d6ede
imul eax, eax, 0xb16aa6fd
add eax, 0x353be0cc
sub eax, 0x8fc24d7b
mov ecx, 0x3f974727
xor edx, edx
div ecx
sub eax, 0x36a42903
xor eax, 0x74dba427
add eax, 0xdd3d4a51
mov ecx, 0xd4bd0b98
xor edx, edx
div ecx
sub eax, 0x58eed2e6
imul eax, eax, 0x77821f5
xor eax, 0xee8a80a7
mov ecx, 0x7475bd52
xor edx, edx
div ecx
or eax, 0x128f15a5
mov ecx, 0xb84db9d7
xor edx, edx
div ecx
add eax, 0x9a07a9f3
or eax, 0x9624d4d3
imul eax, eax, 0xa2600383
sub eax, 0xa8e8521f
sub eax, 0x926de8b9
or eax, 0x7c25d52b
mov ecx, 0x52686015
xor edx, edx
div ecx
imul eax, eax, 0xae8871f9
xor eax, 0xa1441eb0
mov ecx, 0x1dfc33e9
xor edx, edx
div ecx
or eax, 0xfb54b509
xor eax, 0x92331726
add eax, 0xd94f4bdd
add eax, 0x5f8b0905
cmp eax, 0xe841abe3
ja 0x10006220
mov edx, dword [ebp - 8]
mov eax, 0x7f59f0d4
mov dword [ebp - 0x10], eax
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
push eax
mov ecx, esp
push eax
mov esi, esp
mov dword [ebp - 0x14], esi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x18], ecx
mov dword [eax], ecx
call fcn.1005df60
mov eax, dword [ebp - 0x18]
mov dword [eax], 0x2c
sub esp, 4
mov dword [esp], eax
call fcn.1005df90
mov ecx, dword [ebp - 0x14]
mov edx, eax
mov eax, dword [ebp - 0x10]
mov dword [ecx], edx
cmp dword [ecx], 0
setl cl
mov byte [ebp - 9], cl
cmp eax, 0x30e668f
jb 0x10005ac3
mov al, byte [ebp - 9]
test al, 1
jne 0x10005b2d
jmp 0x10005eb0
mov eax, dword [0x100c05d8]
imul eax, dword [0x100c05dc]
or eax, 0x15a8cf77
sub eax, 0x8d6e1bf8
add eax, 0xb4fb6d92
mov ecx, 0x36a82771
xor edx, edx
div ecx
or eax, 0x339b3792
mov ecx, 0x7ba90512
xor edx, edx
div ecx
sub eax, 0xf59b25eb
mov ecx, 0xbac3c1a3
xor edx, edx
div ecx
imul eax, eax, 0x9d1e73ef
xor eax, 0xf12006f3
or eax, 0x4aba862c
and eax, 0xa2ae1aef
add eax, 0xa0d8a16c
add eax, 0x9b9e50c
or eax, 0x48212f16
imul eax, eax, 0x3467ef84
imul eax, eax, 0x899b4242
or eax, 0x9a95302b
or eax, 0xf8c12818
imul eax, eax, 0x4871cb39
imul eax, eax, 0x4b2eeec
or eax, 0x7f1be772
sub eax, 0x6f4e4f08
sub eax, 0xf989820b
or eax, 0xf93b1536
imul eax, eax, 0x6939736b
imul eax, eax, 0x44ae5d35
sub eax, 0xc5136836
xor eax, 0x7e084ad6
and eax, 0x8c32fd0b
xor eax, 0x58f3943a
xor eax, 0xc66f27a0
mov ecx, 0xa28496ef
xor edx, edx
div ecx
or eax, 0x3de3a7ce
or eax, 0xe1196519
or eax, 0x92d39d27
add eax, 0x1f019e3f
mov ecx, 0xc8a833bc
xor edx, edx
div ecx
xor eax, 0xce527a95
xor eax, 0x2ab45033
add eax, 0xd61184ea
xor eax, 0x9845d0dd
imul eax, eax, 0x9dc80a4f
or eax, 0xdf9f78f3
imul eax, eax, 0xa2eda990
imul eax, eax, 0xaca122bd
and eax, 0x61a6c815
mov ecx, 0xc656d387
xor edx, edx
div ecx
add eax, 0xafc7e5e3
or eax, 0x7c675d79
add eax, 0xb9678cc
add eax, 0xbe46870c
add eax, 0xb84b6ddf
imul eax, eax, 0x85fa4061
imul eax, eax, 0x3ca3dec7
mov ecx, 0xeb974c50
xor edx, edx
div ecx
xor eax, 0x886e8390
mov ecx, 0x5108f66d
xor edx, edx
div ecx
xor eax, 0x4823e179
or eax, 0x12d1678c
imul eax, eax, 0x497eb53a
xor eax, 0x68935b60
or eax, 0x31117e0a
imul eax, eax, 0xffb5af87
and eax, 0x5e48baad
add eax, 0xf930d61f
and eax, 0xb30fef11
imul eax, eax, 0x26adb480
and eax, 0x8108b4a0
sub eax, 0xd136d18a
add eax, 0x942e9617
or eax, 0x32b9276b
cmp eax, 0xcdf516ab
jae 0x1000625d
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x100c05e0]
or eax, dword [0x100c05e4]
imul eax, eax, 0x67abec70
imul eax, eax, 0x69829972
imul eax, eax, 0x3a11d622
xor eax, 0x764f1542
mov esi, 0x2c724369
xor edx, edx
div esi
or eax, 0xc8bdd17d
or eax, 0xc4c8e9a
or eax, 0x4c9a5824
xor eax, 0x1f1ddcea
xor eax, 0x16149369
add eax, 0x30c63032
add eax, 0x8a690465
or eax, 0xd01a9064
mov esi, 0x8db0714f
xor edx, edx
div esi
and eax, 0x7296d9f6
sub eax, 0x51ba644b
or eax, 0x1ccdbf8
imul eax, eax, 0xae01ec19
sub eax, 0x4d8e0b25
imul eax, eax, 0x4a3a7691
xor eax, 0x56e7a239
or eax, 0x1307c870
xor eax, 0x87502f70
or eax, 0x367381a3
or eax, 0x20400e6
and eax, 0x722fa6c8
mov esi, 0x9c9e25fe
xor edx, edx
div esi
or eax, 0xd5950270
sub eax, 0xfa58cc0f
mov esi, 0x7779946b
xor edx, edx
div esi
or eax, 0x98e92acf
imul eax, eax, 0x703075b0
sub eax, 0x7d5b54b4
xor eax, 0x92ffa15
and eax, 0x6f11ba0b
mov esi, 0xa0660d6e
xor edx, edx
div esi
imul eax, eax, 0xb21b1dc5
xor eax, 0x39104c3
and eax, 0x49fe5c78
or eax, 0x6d2eaf5a
sub eax, 0xc8af63fb
add eax, 0x6e7c74b8
imul eax, eax, 0x8f2733e0
and eax, 0xa5711039
imul eax, eax, 0xbb92053e
mov esi, 0xe1071322
xor edx, edx
div esi
and eax, 0xb22e6d3a
xor eax, 0xdbb4420
imul eax, eax, 0xae3b5a24
mov esi, 0x463c1d50
xor edx, edx
div esi
imul eax, eax, 0x9f3a2a5
or eax, 0xc6206b86
add eax, 0xeb02d678
add eax, 0xfdd0fb7a
and eax, 0x69d3539
xor eax, 0x10b2457a
imul eax, eax, 0x7a3932bc
and eax, 0x9d48780d
and eax, 0xe6e039fb
imul eax, eax, 0xd6b11569
mov esi, 0x370ca603
xor edx, edx
div esi
mov esi, 0x897e5e5a
xor edx, edx
div esi
mov esi, 0xd7a1409d
xor edx, edx
div esi
mov esi, 0x29f62f2e
xor edx, edx
div esi
sub eax, 0xb3d0ecbc
mov esi, 0x44a00c36
xor edx, edx
div esi
add eax, 0x9d8094bf
xor eax, 0x7c925d4c
mov esi, 0x643c20dd
xor edx, edx
div esi
add eax, 0x3b64d0f3
imul eax, eax, 0xa476d212
xor eax, 0xb88530e8
mov byte [0x100c2f28], 1
mov dword [ecx], 0
cmp eax, 0xefeb1c0c
jae 0x1000625d
jmp 0x10005eb0
mov eax, dword [0x100c05e8]
or eax, dword [0x100c05ec]
sub eax, 0x2d16056c
or eax, 0xe6247e97
sub eax, 0x93ddf656
add eax, 0xcd8acd1
sub eax, 0x946a824c
add eax, 0x4286e1dd
add eax, 0xdbd213ee
xor eax, 0xb6cb371c
mov ecx, 0xc70407cb
xor edx, edx
div ecx
or eax, 0x70a195e0
xor eax, 0x2a10d02b
xor eax, 0xa84ff978
and eax, 0x2452b28d
xor eax, 0x6564c2ca
imul eax, eax, 0xddd329f6
and eax, 0xc15afec8
or eax, 0x6d374b8c
sub eax, 0x3bd0fe34
mov ecx, 0x40144e84
xor edx, edx
div ecx
imul eax, eax, 0x81379e33
or eax, 0x67b932a6
or eax, 0xbc247e8
and eax, 0xf456c1b2
xor eax, 0x8f297037
mov ecx, 0xe92035fd
xor edx, edx
div ecx
sub eax, 0x26f3209f
xor eax, 0x70006c9f
xor eax, 0x73234468
and eax, 0x102fd230
xor eax, 0x690c29a5
sub eax, 0x379da270
mov ecx, 0x8eb1a90b
xor edx, edx
div ecx
or eax, 0x964bb546
add eax, 0x6dc78ab7
mov ecx, 0xdd9e12d4
xor edx, edx
div ecx
add eax, 0x56020fdd
xor eax, 0xbfaffc56
imul eax, eax, 0xcfd49ef4
sub eax, 0xbfc8a224
imul eax, eax, 0x6eb9f757
sub eax, 0x891a6956
sub eax, 0x947265f0
mov ecx, 0x3986bb29
xor edx, edx
div ecx
xor eax, 0x992c1c18
imul eax, eax, 0xd24477c4
and eax, 0x9a2ee886
add eax, 0xd3737937
imul eax, eax, 0x2bae3382
mov ecx, 0xc166734b
xor edx, edx
div ecx
and eax, 0x3d6a8c78
xor eax, 0x88fa6bb7
mov ecx, 0xf309adef
xor edx, edx
div ecx
imul eax, eax, 0x579eb7ed
imul eax, eax, 0xa8a6446
mov ecx, 0x5c67011
xor edx, edx
div ecx
mov ecx, 0xfa0c92c8
xor edx, edx
div ecx
xor eax, 0x5dc3b5aa
sub eax, 0xdd0c6617
imul eax, eax, 0x1e095437
xor eax, 0xa36a8126
mov ecx, 0x4f7a71c8
xor edx, edx
div ecx
add eax, 0x568f1404
and eax, 0xfae5a432
and eax, 0x2badd46f
imul eax, eax, 0xc0ab16a4
sub eax, 0x12df2a0b
or eax, 0x4aba727e
add eax, 0x2a3d6db6
sub eax, 0x9204e454
xor eax, 0xbf92e221
mov ecx, 0x56760727
xor edx, edx
div ecx
and eax, 0xd31b0535
cmp eax, 0x4f783750
ja 0x10006272
mov ecx, dword [ebp - 0x1c]
mov eax, dword [0x100c05f0]
add eax, dword [0x100c05f4]
and eax, 0xe312a46c
xor eax, 0x73c9488f
mov esi, 0xe36d5fdb
xor edx, edx
div esi
and eax, 0x4a8f418f
imul eax, eax, 0xf8e01230
and eax, 0x454a3db
add eax, 0x7908e95c
or eax, 0x72791f34
and eax, 0x481fe6db
xor eax, 0x35bbd2e5
sub eax, 0xbb2fc9ef
or eax, 0xbdc33880
or eax, 0xf1c78a10
xor eax, 0xd6aa7
xor eax, 0x590edd18
and eax, 0xef0b32d6
xor eax, 0x91a6eef
xor eax, 0xbc3cb96b
add eax, 0xed38340d
and eax, 0x62eeb4c9
sub eax, 0xeead907a
mov esi, 0xaa7ac754
xor edx, edx
div esi
sub eax, 0xd4d2b9e
xor eax, 0xbb28649c
or eax, 0xa9a86491
mov esi, 0xf30ff4f9
xor edx, edx
div esi
imul eax, eax, 0x52e4a2c1
add eax, 0xe8e05f39
sub eax, 0x2c042674
xor eax, 0x2045e8d7
xor eax, 0x6001880d
or eax, 0x9b17b19e
add eax, 0x5b0dc52d
xor eax, 0x516c141d
xor eax, 0xef542cb5
or eax, 0xf57a9e40
sub eax, 0xd132406d
sub eax, 0x5f7aafca
mov esi, 0x6b432332
xor edx, edx
div esi
sub eax, 0x8a7ede7b
mov esi, 0xaa58dbb1
xor edx, edx
div esi
mov esi, 0xc18032da
xor edx, edx
div esi
mov esi, 0xdcd646c3
xor edx, edx
div esi
sub eax, 0x417d036b
and eax, 0x549c08d2
add eax, 0x3c504cfe
xor eax, 0x28426d73
add eax, 0x799b058e
and eax, 0xcfae7a78
add eax, 0x9ff58bd5
xor eax, 0x7604accd
or eax, 0xd7ddf6c0
xor eax, 0xcf7843f3
or eax, 0x804e6d68
sub eax, 0x2af36e91
xor eax, 0xe28f88b8
or eax, 0x412eb8ca
add eax, 0x677970c9
imul eax, eax, 0x978909f
xor eax, 0xd80d7fa9
or eax, 0x79a18354
imul eax, eax, 0x7c8f6799
sub eax, 0x570b7cf1
mov esi, 0x611fc007
xor edx, edx
div esi
sub eax, 0xb292e721
add eax, 0x6f06cf9d
sub eax, 0xeca9bd9f
imul eax, eax, 0x6f55ce1
or eax, 0x472f01b5
or eax, 0xc8d08718
mov esi, 0xfa73259d
xor edx, edx
div esi
sub eax, 0x26d4516c
mov ecx, dword [ecx]
mov dword [ebp - 0x20], ecx
cmp eax, 0x53b3c4cd
jbe 0x10006068
mov eax, dword [ebp - 0x20]
lea esp, [ebp - 4]
pop esi
pop ebp
ret
mov edx, dword [ebp - 8]
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov esi, esp
mov dword [ebp - 0x24], esi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x28], ecx
mov dword [eax], ecx
call fcn.1005df60
mov eax, dword [ebp - 0x28]
mov dword [eax], 0x2c
sub esp, 4
mov dword [esp], eax
call fcn.1005df90
mov ecx, eax
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
jmp 0x10005ac3
mov eax, dword [ebp - 0x18]
mov byte [0x100c2f28], 1
mov dword [eax], 0
jmp 0x10005cdb
jmp 0x10006068