Function at 0x100c41a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
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 [0x1014c448]
xor edx, edx
div dword [0x1014c44c]
and eax, 0x9cc464b4
add eax, 0xf5be6749
imul eax, eax, 0xa4331a13
mov ecx, 0xbf199b61
xor edx, edx
div ecx
sub eax, 0x412ccab1
and eax, 0x666f08ae
xor eax, 0x67bf553c
xor eax, 0xe66a93ea
imul eax, eax, 0xeb706b7
sub eax, 0xa2f61ba7
add eax, 0x415d2937
add eax, 0xec8318bd
add eax, 0x4231b653
sub eax, 0xf063ae62
sub eax, 0xe122238d
or eax, 0xbd068647
add eax, 0x2c09cf6e
xor eax, 0x6aa45dd3
xor eax, 0x136731c2
or eax, 0xb86991dd
add eax, 0x6dfce399
sub eax, 0xe5b92965
xor eax, 0xf6e61121
and eax, 0x23db367c
xor eax, 0xd77c67f3
and eax, 0x5a091d37
and eax, 0x9715207
sub eax, 0xa506607a
sub eax, 0x1cd7e6c0
imul eax, eax, 0x22e0967b
imul eax, eax, 0xeb1d040e
or eax, 0x9e8f5dd4
imul eax, eax, 0xf2a09b01
cmp eax, 0xf541ce50
ja 0x100c48ca
mov eax, dword [0x1014c450]
or eax, dword [0x1014c454]
mov ecx, 0x58b0492e
xor edx, edx
div ecx
or eax, 0x923af16f
mov ecx, 0x22ce905f
xor edx, edx
div ecx
sub eax, 0x8a4ea943
sub eax, 0x8964d45c
xor eax, 0x68cdb0d4
imul eax, eax, 0x885bd91e
mov ecx, 0xb6cfd7fc
xor edx, edx
div ecx
xor eax, 0xb8902438
and eax, 0xbd86028a
imul eax, eax, 0x55c5c56f
mov ecx, 0xa9daca57
xor edx, edx
div ecx
xor eax, 0x14a5025b
xor eax, 0xf9c0ae6c
sub eax, 0xc490b37d
imul eax, eax, 0xce69ebbd
or eax, 0xb99bf69
mov ecx, 0xa2f79b23
xor edx, edx
div ecx
mov ecx, 0xe1b31e2d
xor edx, edx
div ecx
and eax, 0x4668462c
or eax, 0x89aa99da
mov ecx, 0xa88a7572
xor edx, edx
div ecx
mov ecx, 0x7fa8a921
xor edx, edx
div ecx
or eax, 0xdbc02881
add eax, 0x5094c83c
sub eax, 0x94125a7c
add eax, 0xf8f1e78a
add eax, 0xab27fd70
and eax, 0x32e3a61c
imul eax, eax, 0x1b985791
and eax, 0xe4981336
or eax, 0x39aaec90
or eax, 0xcad8cefd
cmp eax, 0xaecee589
jbe 0x100c428a
mov eax, dword [0x1014c458]
or eax, dword [0x1014c45c]
xor eax, 0x524a71bf
and eax, 0x26d539d9
imul eax, eax, 0xde665ab7
and eax, 0x94d6c5e4
xor eax, 0xb52ee58d
mov ecx, 0x44950ad3
xor edx, edx
div ecx
and eax, 0xb4bfead3
mov ecx, 0x15857a93
xor edx, edx
div ecx
mov ecx, 0xa981d5d7
xor edx, edx
div ecx
imul eax, eax, 0xbdf843e3
mov ecx, 0xd94b8a0b
xor edx, edx
div ecx
imul eax, eax, 0x405295f3
or eax, 0xb29069cf
sub eax, 0x2e9380b7
imul eax, eax, 0x8a6030a3
xor eax, 0xe4b09df6
imul eax, eax, 0x2801ae42
xor eax, 0x6cf0cd40
imul eax, eax, 0xab812bb9
imul eax, eax, 0x4a0a4824
sub eax, 0x4485d029
and eax, 0x7c2a06fa
or eax, 0xa5330a15
xor eax, 0x7279c0ac
imul eax, eax, 0xb8c9d3f0
sub eax, 0x334cc06
and eax, 0xe7570106
add eax, 0xa80ad752
or eax, 0x171c3445
or eax, 0xd69bd59c
or eax, 0xe69eef5d
mov ecx, 0xbffae814
xor edx, edx
div ecx
add eax, 0xafa1b0f9
cmp eax, 0xdcfcd907
ja 0x100c474f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [0x1014c460]
mov esi, dword [0x1014c464]
xor edx, edx
div esi
add eax, 0xef0f9fcd
mov edx, 0x6850d2d1
mul edx
shr edx, 0x1e
imul eax, edx, 0x124efb35
xor eax, 0x529
or eax, 0x1e5f6ad2
add eax, 0xa910b637
or eax, 0xf953543
add eax, 0xc33f306a
xor eax, 0x29080000
and eax, 0x2b282700
imul eax, eax, 0x2a80dcb5
add eax, 0x7223f749
xor eax, 0x1080e20
and eax, 0x59ca4e20
mov edx, 0x345d70a9
mul edx
shr edx, 0x1c
imul eax, edx, 0xdf341eec
and eax, 0xa9e77f54
mov edx, 0x80772f09
mul edx
mov eax, edx
shr eax, 0x1e
or eax, 0x4840430
xor eax, 0xfae5687
add eax, 0x447feb33
and eax, 0x82815e3
imul eax, eax, 0x3d3d3d14
add eax, 0x854dde4d
mov dword [ebp - 0x3c], eax
mov edx, 0x70eadbf
mul edx
mov eax, dword [ebp - 0x3c]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1c
xor eax, 0x3108001c
and eax, 0x3108001d
mov dword [ebp - 0x28], eax
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
push eax
mov edx, esp
push eax
mov esi, esp
push eax
mov ebx, esp
push eax
mov edi, esp
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
push eax
mov eax, esp
mov dword [ebp - 0x34], eax
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov dword [edx], eax
mov eax, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebx], eax
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x20]
mov dword [edi], ebx
mov dword [eax], 0x7fffffff
mov edx, dword [edx]
mov esi, dword [esi]
sub edx, esi
mov dword [ecx], edx
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100c6e50
mov ecx, dword [ebp - 0x30]
add esp, 8
mov edx, eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [edx]
mov dword [eax], edx
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10098c40
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ecx]
mov dword [ebp - 0x24], ecx
cmp eax, 0x14652e39
jbe 0x100c4440
mov eax, dword [0x1014c468]
and eax, dword [0x1014c46c]
imul eax, eax, 0x818c9d1b
imul eax, eax, 0xe0338e07
sub eax, 0x54bc7ed0
and eax, 0x594146d1
xor eax, 0x4893d34d
mov ecx, 0x57aa7493
xor edx, edx
div ecx
mov ecx, 0xe8d3d082
xor edx, edx
div ecx
sub eax, 0xd0e03c30
mov ecx, 0x3b92f5a4
xor edx, edx
div ecx
add eax, 0x80569a1a
add eax, 0x4cb5fb5b
sub eax, 0xd6fda44a
add eax, 0x851c12de
xor eax, 0x31740182
mov ecx, 0x94ba52f4
xor edx, edx
div ecx
add eax, 0x9bbbdd75
mov ecx, 0x8fc362b4
xor edx, edx
div ecx
imul eax, eax, 0x5e9ade00
add eax, 0x7b931c95
or eax, 0xb4a88122
sub eax, 0x2ca38f7d
imul eax, eax, 0xcac09ffd
imul eax, eax, 0xcf7f302e
add eax, 0xdfa22806
add eax, 0x99fae6cf
mov ecx, 0x458ba460
xor edx, edx
div ecx
mov ecx, 0x7c235d4e
xor edx, edx
div ecx
imul eax, eax, 0xc7018b14
add eax, 0xfec8b500
mov ecx, 0xca3381c0
xor edx, edx
div ecx
sub eax, 0x3a5f1735
add eax, 0x5900075d
xor eax, 0x31e9189a
cmp eax, 0xf53278d7
ja 0x100c48cf
mov eax, dword [0x1014c470]
sub eax, dword [0x1014c474]
add eax, 0xc9b9b48b
and eax, 0x186ebac
xor eax, 0x80f66d52
or eax, 0x5688ec7d
sub eax, 0x1b606167
and eax, 0xa0d6ae16
sub eax, 0x255464dc
or eax, 0xc49f2b57
imul eax, eax, 0x9e1a0fb1
mov ecx, 0x85779e6f
xor edx, edx
div ecx
and eax, 0xfbd672a8
add eax, 0x4e85e044
add eax, 0xd5052704
add eax, 0xf2d40a46
xor eax, 0xc8c776ae
imul eax, eax, 0x2ef01420
xor eax, 0x5446e001
and eax, 0xb954c345
sub eax, 0x819740f9
and eax, 0x1ba5aa40
xor eax, 0xee46f024
imul eax, eax, 0xad5e1d66
and eax, 0xa1171668
xor eax, 0x3ed7e250
and eax, 0xe5739931
sub eax, 0xb9cf3b22
or eax, 0xa1932923
add eax, 0x37bb8fcf
imul eax, eax, 0x364f09ca
mov ecx, 0x6b8c5191
xor edx, edx
div ecx
xor eax, 0x761b610c
imul eax, eax, 0xe3775f19
imul eax, eax, 0xfc2b803c
cmp eax, 0x39d8f35f
jb 0x100c48cf
mov eax, dword [ebp - 0x24]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov eax, dword [0x1014c478]
xor edx, edx
div dword [0x1014c47c]
mov ecx, 0x596868d9
xor edx, edx
div ecx
and eax, 0x81da71c5
xor eax, 0x1602203c
imul eax, eax, 0x3745047d
sub eax, 0xbd22e73d
add eax, 0xb9c5f064
xor eax, 0x212a2303
imul eax, eax, 0xe21d4db7
add eax, 0x8540b36e
sub eax, 0x295dde72
mov ecx, 0x1a7df7
xor edx, edx
div ecx
and eax, 0xceed1578
mov ecx, 0x29ee9d4e
xor edx, edx
div ecx
xor eax, 0x19c8b4d2
or eax, 0x68545fe8
imul eax, eax, 0xf8fbb0a8
xor eax, 0x99a60319
sub eax, 0x94e7632a
xor eax, 0x90faaea2
mov ecx, 0x6ebed4df
xor edx, edx
div ecx
xor eax, 0x19a4e7ee
mov ecx, 0x30d18906
xor edx, edx
div ecx
mov ecx, 0x5104cea3
xor edx, edx
div ecx
sub eax, 0x7e92f59e
or eax, 0xfeb6f789
sub eax, 0x11f0fe8
or eax, 0x3c0b19c0
and eax, 0x98ecb9ef
and eax, 0x50ab153d
mov ecx, 0x711541fe
xor edx, edx
div ecx
xor eax, 0x6ccdb007
add eax, 0xc4c6f87
or eax, 0x4a574622
cmp eax, 0x809d7801
ja 0x100c48d4
mov ecx, dword [ebp - 0x1c]
mov eax, 0x68a73ff0
mov dword [ebp - 0x40], eax
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov edx, esp
push eax
mov esi, esp
push eax
mov ebx, esp
push eax
mov edi, esp
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x48]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x18]
mov dword [edx], eax
mov eax, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebx], eax
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x20]
mov dword [edi], ebx
mov dword [eax], 0x7fffffff
mov edx, dword [edx]
mov esi, dword [esi]
sub edx, esi
mov dword [ecx], edx
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100c6e50
mov ecx, dword [ebp - 0x48]
add esp, 8
mov edx, eax
mov eax, dword [ebp - 0x44]
mov edx, dword [edx]
mov dword [eax], edx
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10098c40
add esp, 8
mov eax, dword [ebp - 0x40]
cmp eax, 0xe47eb53d
ja 0x100c48d4
jmp 0x100c4440
jmp 0x100c428a
jmp 0x100c4679
mov ecx, dword [ebp - 0x1c]
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov edx, esp
push eax
mov esi, esp
push eax
mov ebx, esp
push eax
mov edi, esp
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x18]
mov dword [edx], eax
mov eax, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebx], eax
mov eax, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x20]
mov dword [edi], ebx
mov dword [eax], 0x7fffffff
mov edx, dword [edx]
mov esi, dword [esi]
sub edx, esi
mov dword [ecx], edx
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100c6e50
mov ecx, dword [ebp - 0x58]
add esp, 8
mov edx, eax
mov eax, dword [ebp - 0x54]
mov edx, dword [edx]
mov dword [eax], edx
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10098c40
add esp, 8
jmp 0x100c482b