Function at 0x100c3c30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x1014c418]
and eax, dword [str.l8o]
or eax, 0xecb42da3
imul eax, eax, 0xbd55572b
imul eax, eax, 0x1b8b7559
xor eax, 0x857c0478
xor eax, 0xd00f87ed
add eax, 0x8ae83c55
add eax, 0x5c877ec0
and eax, 0xe2129044
xor eax, 0xed7e46db
sub eax, 0xeb4b223
mov ecx, 0x138f30a8
xor edx, edx
div ecx
sub eax, 0x92ed3815
xor eax, 0xad8c78a1
or eax, 0x5bbb16cc
xor eax, 0x1057284e
xor eax, 0x6cfadacd
xor eax, 0xaf285ab0
or eax, 0x65abf6bf
or eax, 0x2761192e
imul eax, eax, 0x6015fe1c
or eax, 0x4c4bd901
sub eax, 0x120e3ffa
and eax, 0xa71c7a38
imul eax, eax, 0x9b652026
add eax, 0x5828f8a3
mov ecx, 0x2d80b77f
xor edx, edx
div ecx
add eax, 0xf98e4b4e
add eax, 0xe4fcd3d4
sub eax, 0xe7c2cb4
xor eax, 0x8e50bbdc
and eax, 0xe8412f54
add eax, 0x34de08f5
mov ecx, 0xab92e4b7
xor edx, edx
div ecx
cmp eax, 0x19c0cbdd
jae 0x100c418a
mov eax, dword [0x1014c420]
and eax, dword [0x1014c424]
add eax, 0xdf4ffbb
mov ecx, 0xcdd1c53f
xor edx, edx
div ecx
xor eax, 0x3d8f9e51
sub eax, 0x4908852e
mov ecx, 0xce08b364
xor edx, edx
div ecx
sub eax, 0xb1ef4ea2
imul eax, eax, 0xe2200cfd
imul eax, eax, 0x802c92f
add eax, 0x6f9bb4cd
add eax, 0x42c83df0
mov ecx, 0xa30816a3
xor edx, edx
div ecx
and eax, 0xebf7a86a
or eax, 0x6c53f70d
xor eax, 0xe190f887
sub eax, 0xc9e8bd22
add eax, 0xf3364cd2
and eax, 0xdd9807cf
sub eax, 0xf2edee11
add eax, 0x7c6f7a9f
imul eax, eax, 0x6ce2e68d
imul eax, eax, 0xad9ce8a0
xor eax, 0xf8d5fb67
sub eax, 0x7fb13054
imul eax, eax, 0x90cf4bbb
xor eax, 0xe6c27dc
add eax, 0x110e8736
sub eax, 0x5ec611ef
and eax, 0x2645a4eb
sub eax, 0xc59e5548
mov ecx, 0xb05fba31
xor edx, edx
div ecx
or eax, 0x85116a2
xor eax, 0x98323935
and eax, 0x5b67577a
cmp eax, 0xc9e95ba3
jae 0x100c3d1f
mov eax, dword [0x1014c428]
add eax, dword [0x1014c42c]
mov ecx, 0x45b1886e
xor edx, edx
div ecx
sub eax, 0x56787ac7
add eax, 0x751363d9
add eax, 0xb7dd6bc4
mov ecx, 0xa7eb2d57
xor edx, edx
div ecx
add eax, 0xd54d9bf7
and eax, 0x9a31562b
and eax, 0x24bae7d6
sub eax, 0x1a570a09
xor eax, 0xe6360c43
add eax, 0xb4df4c6a
or eax, 0x91053104
imul eax, eax, 0x391976ca
sub eax, 0xae200b9b
or eax, 0x7972ea60
and eax, 0xf1c3b130
or eax, 0xb4095046
imul eax, eax, 0x9ab830ef
imul eax, eax, 0x676dbd1d
imul eax, eax, 0x94cd655e
sub eax, 0x1802dfd7
add eax, 0xeb68610a
xor eax, 0x1dc072e3
add eax, 0xc995c6a9
add eax, 0x2775d739
imul eax, eax, 0x38779305
imul eax, eax, 0xda12cece
and eax, 0xbf991110
imul eax, eax, 0x12bd153a
add eax, 0xe96532e0
mov ecx, 0xccce73c9
xor edx, edx
div ecx
xor eax, 0xac3cb333
imul eax, eax, 0x79ee3289
cmp eax, 0x101b616d
je 0x100c4157
mov eax, dword [0x1014c430]
mov ecx, dword [0x1014c434]
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x1c]
xor ecx, 0xe21afc5c
imul ecx, ecx, 0x22206404
add ecx, 0x3b0a9130
xor ecx, 0x1c0f4e83
add ecx, 0x5965ac09
or ecx, 0x73d
add ecx, 0x6749ee31
xor ecx, 0x398
add ecx, 0xcd0e29cd
and ecx, 0x800
add ecx, 0xdb42f873
xor ecx, 0x5afdc72
imul ecx, ecx, 0x58b50a41
add ecx, 0x7d4498a9
and ecx, 0x7ff6888
xor ecx, 0xd4997c05
imul ecx, ecx, 0xc6258c0c
xor ecx, 0x21512012
or ecx, 0x5ca2decd
xor ecx, 0x62416f3e
add ecx, 0xa746ce68
mov dword [ebp - 0x24], ecx
push eax
mov ecx, esp
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov ebx, esp
push eax
mov esi, esp
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov dword [edi], eax
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
mov dword [edx], edi
mov edi, dword [ebp - 0x10]
mov dword [ebx], edi
mov edi, dword [ebp - 0x20]
mov dword [esi], edi
mov edx, dword [edx]
mov ecx, dword [ecx]
mov dword [ecx], edx
cmp eax, 0xf3136998
je 0x100c4157
mov eax, dword [str.Y.n]
xor edx, edx
div dword [0x1014c43c]
xor eax, 0x1436888
xor eax, 0xbf9c5356
or eax, 0xa58d3b9b
imul eax, eax, 0x562371b4
sub eax, 0xe37993f0
or eax, 0x2f00330
mov ecx, 0x20ad2d14
xor edx, edx
div ecx
imul eax, eax, 0x51b4e38e
mov ecx, 0x4eb26500
xor edx, edx
div ecx
mov ecx, 0x75aa1d06
xor edx, edx
div ecx
imul eax, eax, 0xf8dfe75c
add eax, 0xa3c252d9
xor eax, 0xa845a136
imul eax, eax, 0xaff2e5d8
imul eax, eax, 0xff02f513
imul eax, eax, 0x7deeba7c
imul eax, eax, 0x6a08664c
imul eax, eax, 0x792465e
and eax, 0xe8ccd31e
or eax, 0x7edb88e4
add eax, 0x3c1c17d9
add eax, 0x44097c16
sub eax, 0xef78f33e
xor eax, 0x1660f363
sub eax, 0x1725adc1
add eax, 0x49728374
xor eax, 0xa3f394c0
sub eax, 0xf5b7201a
or eax, 0x73f0f094
mov ecx, 0x3f2f46b8
xor edx, edx
div ecx
mov ecx, 0xfcbb8b02
xor edx, edx
div ecx
and eax, 0x6053a0c6
or eax, 0x14de966b
cmp eax, 0xcb30b48b
ja 0x100c418f
mov eax, dword [0x1014c440]
or eax, dword [0x1014c444]
mov ecx, 0x4d8630c1
xor edx, edx
div ecx
mov ecx, 0xa313bfb0
xor edx, edx
div ecx
and eax, 0x5f7f0978
sub eax, 0xb4e57c7d
sub eax, 0x7e7c0993
and eax, 0x68b205da
xor eax, 0x7f1c75e3
mov ecx, 0x30f27336
xor edx, edx
div ecx
mov ecx, 0x518fefc1
xor edx, edx
div ecx
imul eax, eax, 0x89daef
mov ecx, 0xd6f3710d
xor edx, edx
div ecx
xor eax, 0x6e0635b0
xor eax, 0x19be7ce
sub eax, 0xae0ae16a
mov ecx, 0x850d8b9c
xor edx, edx
div ecx
add eax, 0x73b8d3c4
or eax, 0x6a0d3e6b
imul eax, eax, 0x40f1d4f4
mov ecx, 0xbade0b69
xor edx, edx
div ecx
sub eax, 0x861a852f
mov ecx, 0xda51fa2f
xor edx, edx
div ecx
add eax, 0xf31856aa
and eax, 0xc4214df
and eax, 0xb187103
or eax, 0x3bc8701
sub eax, 0x7a1b8e91
sub eax, 0xc5e329d8
xor eax, 0xf74d03b1
mov ecx, 0x7374b703
xor edx, edx
div ecx
add eax, 0xcce28065
add eax, 0x9f20fbbd
imul eax, eax, 0xf5f377cf
imul eax, eax, 0xd7fb4390
cmp eax, 0xe9439e9e
ja 0x100c418f
mov eax, 3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov ebx, dword [ebp - 0x1c]
push eax
mov eax, esp
push eax
mov esi, esp
push eax
mov ecx, esp
push eax
mov edi, esp
push eax
mov edx, esp
mov dword [eax], ebx
mov ebx, dword [ebp - 0x18]
mov dword [esi], ebx
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
mov dword [ecx], esi
mov esi, dword [ebp - 0x20]
mov dword [edi], ebx
mov dword [edx], esi
mov ecx, dword [ecx]
mov eax, dword [eax]
mov dword [eax], ecx
jmp 0x100c3ebe
jmp 0x100c3d1f
jmp 0x100c4065