Function at 0x1005c450
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x14
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x100d0de0]
imul eax, dword [0x100d0de4]
and eax, 0x23adf36f
or eax, 0xd76c4fbe
sub eax, 0x6c763c14
xor eax, 0x88b9f6f
sub eax, 0xbdb8513b
sub eax, 0x32ac97c7
sub eax, 0xddd42f28
mov ecx, 0x2df86a6d
xor edx, edx
div ecx
imul eax, eax, 0x7004e215
add eax, 0x56906117
xor eax, 0xba49bc05
sub eax, 0x2e2bc487
sub eax, 0x3eeca1f5
imul eax, eax, 0x63b25124
mov ecx, 0xd6f852a6
xor edx, edx
div ecx
sub eax, 0x4598200a
sub eax, 0x565dd9a6
and eax, 0x11c63676
mov ecx, 0xefcd19b3
xor edx, edx
div ecx
xor eax, 0x989ac6eb
mov ecx, 0xf0afa530
xor edx, edx
div ecx
or eax, 0x9f4c402c
add eax, 0x150a8f93
mov ecx, 0x8adff557
xor edx, edx
div ecx
xor eax, 0x2869a1f5
mov ecx, 0xc96ea986
xor edx, edx
div ecx
and eax, 0xa77b460a
or eax, 0x15368e36
imul eax, eax, 0x1709e584
or eax, 0xd5c15ece
or eax, 0x315cac79
sub eax, 0x97ae8889
imul eax, eax, 0xef4064fc
sub eax, 0x5b9e2648
xor eax, 0xee4f8893
sub eax, 0x10baa741
xor eax, 0xa47ca901
add eax, 0x3066a93a
or eax, 0xde38331c
imul eax, eax, 0x17f129f0
and eax, 0xf623422f
xor eax, 0x72ac8fa4
add eax, 0x60f41172
imul eax, eax, 0xa005682e
add eax, 0xd7e35301
mov ecx, 0xfcd22c2c
xor edx, edx
div ecx
xor eax, 0x68311d1a
xor eax, 0x84081ea9
mov ecx, 0xdb85bd04
xor edx, edx
div ecx
xor eax, 0x726407a1
xor eax, 0xf4803637
sub eax, 0x9a9bdd8d
add eax, 0x66b20b2f
and eax, 0x5ad1dfb8
add eax, 0xde6c21d1
mov ecx, 0xc5f4c33b
xor edx, edx
div ecx
xor eax, 0x37dea948
add eax, 0x47ae92b6
imul eax, eax, 0x4d8add55
sub eax, 0x3d44972f
imul eax, eax, 0x2bef82b5
and eax, 0xf708ad44
xor eax, 0xdd32768e
mov ecx, 0x81999fc5
xor edx, edx
div ecx
mov ecx, 0x5121baa3
xor edx, edx
div ecx
sub eax, 0xcbecb17d
sub eax, 0xa3b58b98
add eax, 0x1c4497e4
or eax, 0x887f6020
and eax, 0x8f3f0c09
sub eax, 0x714c54df
mov ecx, 0x2e8276e6
xor edx, edx
div ecx
cmp eax, 0x391ee64c
jae 0x1005ca07
mov edi, dword [ebp - 0xc]
mov eax, 0xae5ccc63
push eax
mov esi, esp
mov dword [ebp - 0x18], esi
push eax
mov edx, esp
mov dword [ebp - 0x14], edx
push eax
mov ecx, esp
mov dword [ebp - 0x10], ecx
mov dword [esi], edi
mov dword [edx], 0
mov dword [ecx], 0
cmp eax, 0x8534a01c
je 0x1005c615
jmp 0x1005c64d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ecx]
movsx eax, byte [eax + ecx]
cmp eax, 0
je 0x1005c9f2
mov eax, dword [0x100d0df0]
or eax, dword [0x100d0df4]
add eax, 0xe816ad39
and eax, 0x4790e0df
xor eax, 0x4a3b2b41
add eax, 0x1b9d60d1
xor eax, 0x229fa769
mov ecx, 0x4dfc2df9
xor edx, edx
div ecx
imul eax, eax, 0x2e1c774e
sub eax, 0xe289115d
xor eax, 0x705a7db1
and eax, 0xc643a721
or eax, 0x8f947d98
add eax, 0xda997408
xor eax, 0xa1f1c36
add eax, 0xf122547f
xor eax, 0xd8bb8df5
mov ecx, 0x52c407d8
xor edx, edx
div ecx
and eax, 0x30d2756a
imul eax, eax, 0x18b7231a
sub eax, 0x6739b2a4
and eax, 0xbce54c4c
add eax, 0x5b80e614
and eax, 0xeac72fa9
and eax, 0x6e94a75e
or eax, 0x9c57bb49
sub eax, 0xbefc32ef
or eax, 0x86ce1975
xor eax, 0xcf797b43
add eax, 0x1b010db6
add eax, 0x6f824d12
mov ecx, 0xab25652d
xor edx, edx
div ecx
add eax, 0x8ead7d6d
add eax, 0x590e8cac
imul eax, eax, 0xfdca4f49
sub eax, 0x19273dbf
sub eax, 0x30cc5431
sub eax, 0x6dc05de6
or eax, 0x53147d0f
add eax, 0x237ac33f
imul eax, eax, 0x912005b6
add eax, 0x3937a4fb
or eax, 0xa4ebde81
imul eax, eax, 0x7c87581
xor eax, 0xf73c997a
or eax, 0xfbd2c6b9
imul eax, eax, 0xd8c0009c
xor eax, 0xa7b859bc
sub eax, 0xfb1ec8db
sub eax, 0x5735b864
xor eax, 0xab0adcae
xor eax, 0x5742580f
xor eax, 0x2351890b
mov ecx, 0x8a45f5cf
xor edx, edx
div ecx
imul eax, eax, 0xa0902470
imul eax, eax, 0x16366014
xor eax, 0x1576b5c6
add eax, 0xf05b1abc
mov ecx, 0xbb51f84f
xor edx, edx
div ecx
sub eax, 0xe57b320a
xor eax, 0xbf2b86e9
xor eax, 0xb72e3a88
sub eax, 0x87eeb2f2
xor eax, 0xe9cba38c
and eax, 0x25373e74
add eax, 0xf31514b4
xor eax, 0x4cfb39bb
imul eax, eax, 0x10fcb9d3
or eax, 0xdbfdd1a1
sub eax, 0x5f453ed3
mov ecx, 0x856d2099
xor edx, edx
div ecx
or eax, 0x735af554
sub eax, 0x8f304815
sub eax, 0x99098dc8
cmp eax, 0xea67d5e5
ja 0x1005ca26
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x100d0df8]
imul eax, dword [0x100d0dfc]
imul eax, eax, 0xdcd971af
or eax, 0xd1ad120
mov esi, 0xca41080e
xor edx, edx
div esi
add eax, 0x8641258
imul eax, eax, 0xe135448e
xor eax, 0x196dac60
add eax, 0x2e6e0527
sub eax, 0xed6ead0
xor eax, 0x5894a72d
xor eax, 0x9a4e4242
imul eax, eax, 0xdbd05c44
xor eax, 0x21a2115d
or eax, 0x817d45ab
xor eax, 0x19efe21
or eax, 0x7e72b5e4
add eax, 0xab64b8f4
add eax, 0xc2ecba8b
add eax, 0x5bc909de
add eax, 0x14cd04c1
imul eax, eax, 0xa1dc21f9
sub eax, 0x30a264bf
mov esi, 0xcdac2439
xor edx, edx
div esi
and eax, 0xb795c960
or eax, 0xd055cfdf
imul eax, eax, 0x45657a79
or eax, 0xdfc5ed19
or eax, 0x4dce2569
sub eax, 0x9069b066
mov esi, 0x47322f3
xor edx, edx
div esi
imul eax, eax, 0x404760c0
add eax, 0x616a38ba
and eax, 0x3096139b
xor eax, 0x956bf68c
imul eax, eax, 0x6f843e9e
and eax, 0x346b22b6
add eax, 0x173177b3
sub eax, 0xd41846d0
xor eax, 0xc7a87779
or eax, 0x38de85d9
sub eax, 0x76cb9d12
or eax, 0x4e38028
and eax, 0x326e9805
imul eax, eax, 0x7bb33786
xor eax, 0x4184ff50
sub eax, 0x4d87a29f
imul eax, eax, 0x387556c
mov esi, 0x521bddc3
xor edx, edx
div esi
or eax, 0xfbddf718
xor eax, 0x9d5e5b6f
sub eax, 0xa053aa4b
or eax, 0xa635b964
imul eax, eax, 0xd77cd488
mov esi, 0x77bab5b1
xor edx, edx
div esi
or eax, 0xed4b86f0
sub eax, 0x6258f559
sub eax, 0xfd86b49c
sub eax, 0xb575a47a
mov esi, 0xb3c6918c
xor edx, edx
div esi
add eax, 0x948f1bd6
and eax, 0x526d4db8
mov esi, 0x1c87975a
xor edx, edx
div esi
or eax, 0x831c1323
add eax, 0xfcb14d9b
imul eax, eax, 0x3161aac8
or eax, 0xd638bf1b
or eax, 0xb5e9a0c8
xor eax, 0x63c727e
and eax, 0xd92e5961
sub eax, 0x42b8b9fb
add eax, 0x95c6441
or eax, 0xfd50b392
mov esi, 0xfcbec36b
xor edx, edx
div esi
mov edx, dword [ebp - 0x10]
mov ecx, dword [ecx]
mov edx, dword [edx]
movsx ecx, byte [ecx + edx]
cmp ecx, 0x5c
sete cl
mov byte [ebp - 0x19], cl
cmp eax, 0xcc419d02
je 0x1005c803
mov al, byte [ebp - 0x19]
test al, 1
jne 0x1005c9d4
jmp 0x1005c9de
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x1005c9e3
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x1005c64d
mov eax, dword [ebp - 0x14]
cmp dword [eax], 7
setg al
and al, 1
movzx eax, al
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebp - 0xc]
push eax
mov edx, esp
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [ecx], 0
mov dword [eax], 0
jmp 0x1005c615
jmp 0x1005c803