Function at 0x100c54a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x28
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x1014c4f8]
and eax, dword [0x1014c4fc]
and eax, 0xf59314b3
sub eax, 0x9fa04efb
imul eax, eax, 0x4eccc505
sub eax, 0xe3da62b3
xor eax, 0x1706bc8a
add eax, 0xb6719f2e
add eax, 0x1e1dd45b
sub eax, 0x9ab23e67
xor eax, 0x3c8f6676
mov ecx, 0x7d5498f
xor edx, edx
div ecx
xor eax, 0xff67dde1
add eax, 0x57a00b0c
mov ecx, 0x9096062
xor edx, edx
div ecx
mov ecx, 0x4d2bbc84
xor edx, edx
div ecx
imul eax, eax, 0xfbc09d3c
mov ecx, 0xb26631ac
xor edx, edx
div ecx
or eax, 0xafd589fd
sub eax, 0xa74a1867
xor eax, 0xcef40d9d
mov ecx, 0x2f47775
xor edx, edx
div ecx
xor eax, 0x8d55102
or eax, 0x94857c08
sub eax, 0x7cf8aaf7
xor eax, 0x8de8d94c
or eax, 0x6bba46af
or eax, 0xeb055b84
add eax, 0x5db92d7f
and eax, 0xc4057fee
add eax, 0xa0857e0b
and eax, 0x3d15e1fe
or eax, 0x79fed34d
sub eax, 0xcc358893
mov ecx, 0x71c53531
xor edx, edx
div ecx
cmp eax, 0x3e5bbfaa
ja 0x100c5daa
mov eax, dword [0x1014c500]
xor edx, edx
div dword [0x1014c504]
add eax, 0x214dd71c
and eax, 0x1666989a
add eax, 0xfa1f6076
xor eax, 0x50cddb2f
sub eax, 0xd90aa145
or eax, 0x734458fc
add eax, 0x7a981f94
or eax, 0x37f83d6b
add eax, 0x724ef0c1
imul eax, eax, 0xb666159f
mov ecx, 0x93ae01ac
xor edx, edx
div ecx
add eax, 0xf90677b3
xor eax, 0x84c8f270
and eax, 0x6d11357f
xor eax, 0x6704551f
sub eax, 0xbb86ba0e
imul eax, eax, 0x871c341f
mov ecx, 0x4c5bf1cb
xor edx, edx
div ecx
and eax, 0xb60fb873
or eax, 0x5d2fd262
mov ecx, 0x4423f72f
xor edx, edx
div ecx
imul eax, eax, 0xc3b13979
sub eax, 0xad24ec82
sub eax, 0x8997cc72
imul eax, eax, 0x686056ab
mov ecx, 0x1981eef7
xor edx, edx
div ecx
or eax, 0x72d7ce81
or eax, 0x36a4dc72
and eax, 0x7f18a674
imul eax, eax, 0xf51e1aaf
add eax, 0x9913e5f0
imul eax, eax, 0x39e66d14
xor eax, 0x607b33ad
cmp eax, 0xa087808
je 0x100c5586
mov eax, dword [0x1014c508]
or eax, dword [0x1014c50c]
mov ecx, 0x36ae9240
xor edx, edx
div ecx
imul eax, eax, 0x6ed5561
add eax, 0x5b055ed4
sub eax, 0x5812d9f7
imul eax, eax, 0x8e62ee4d
sub eax, 0xa083b52b
mov ecx, 0xaba12bf8
xor edx, edx
div ecx
or eax, 0x74d20cab
add eax, 0x66827250
xor eax, 0xcb15bd58
mov ecx, 0xfa374e60
xor edx, edx
div ecx
xor eax, 0xdcf2e12f
or eax, 0xc9665d25
sub eax, 0x54cdcece
imul eax, eax, 0xbd03ff09
xor eax, 0x822313d8
mov ecx, 0xd65aa734
xor edx, edx
div ecx
xor eax, 0x1c29d30f
xor eax, 0x401b1826
imul eax, eax, 0x1bb8d8f2
xor eax, 0xcc4b97ff
sub eax, 0x1305e842
mov ecx, 0xf8595ae
xor edx, edx
div ecx
or eax, 0xe1324da6
or eax, 0xa45e0201
imul eax, eax, 0x3d46c9a7
and eax, 0xf23cdc58
add eax, 0x1f511fcc
or eax, 0x5f58f906
and eax, 0xc2f430d0
and eax, 0xa59de0c6
add eax, 0x5a23b400
add eax, 0xbb40b7b
cmp eax, 0x1edd6f49
jb 0x100c5c88
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, 0xc3c99f63
mov dword [ebp - 0x18], eax
push eax
mov edx, esp
mov dword [ebp - 0x24], edx
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov dword [ebp - 0x20], ecx
mov dword [edx], ecx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.100c5e10
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, 0
sete cl
mov byte [ebp - 0x11], cl
cmp eax, 0x2faf1fbb
je 0x100c5c88
mov al, byte [ebp - 0x11]
test al, 1
jne 0x100c5ad9
jmp 0x100c5786
mov eax, dword [0x1014c518]
and eax, dword [0x1014c51c]
and eax, 0xdd448df8
xor eax, 0xdf0f273c
sub eax, 0xb713c3f0
imul eax, eax, 0x47293b96
and eax, 0x9cf752d8
sub eax, 0x1ddaee43
add eax, 0x660d9394
or eax, 0x5d6b0a1e
and eax, 0x9e29057
or eax, 0x548d1771
imul eax, eax, 0x1054ce11
imul eax, eax, 0xc83f702d
and eax, 0x857f7174
add eax, 0x8e03994a
mov ecx, 0xeae7d873
xor edx, edx
div ecx
sub eax, 0x64bc910d
xor eax, 0xaa965df3
xor eax, 0x17adceea
sub eax, 0xd0dde30f
xor eax, 0xb3c3aa93
imul eax, eax, 0xb0b8e8
mov ecx, 0x9e2b9d28
xor edx, edx
div ecx
and eax, 0x83c1c8c5
xor eax, 0x3bf5a41
mov ecx, 0xfa3955b3
xor edx, edx
div ecx
xor eax, 0xce858dd6
imul eax, eax, 0x324d6c0c
and eax, 0x372f78f3
xor eax, 0x61e4242a
and eax, 0x75e1cfae
or eax, 0xe06ce008
sub eax, 0xc4773b3e
mov ecx, 0x2c6749d4
xor edx, edx
div ecx
cmp eax, 0x5bddafd6
ja 0x100c5d94
mov eax, dword [0x1014c520]
sub eax, dword [0x1014c524]
imul eax, eax, 0xe964ffc
and eax, 0xe236ee49
sub eax, 0x2bd1590b
and eax, 0xf5cb24eb
xor eax, 0xb4f3ae68
mov ecx, 0x194d51d3
xor edx, edx
div ecx
or eax, 0xb5ec2a
sub eax, 0xf42ff01f
add eax, 0x6a58fa57
sub eax, 0xfe3220ee
and eax, 0x96d16145
imul eax, eax, 0xb3e20510
and eax, 0xfc5b4c5f
add eax, 0xe931d6db
xor eax, 0x6257cf29
mov ecx, 0x7ca0eaef
xor edx, edx
div ecx
add eax, 0x7763eb99
sub eax, 0xab5b534
and eax, 0x1b24525
sub eax, 0x5e110cff
imul eax, eax, 0x18cc2263
mov ecx, 0xd19a9a88
xor edx, edx
div ecx
or eax, 0x4e555d2f
imul eax, eax, 0xb41e75f8
sub eax, 0x81a3de0d
mov ecx, 0x18964012
xor edx, edx
div ecx
and eax, 0xa11d0d0e
sub eax, 0x50814a9b
xor eax, 0xf00ff6b2
and eax, 0x7c9e9b86
add eax, 0xc4b807fb
sub eax, 0x33badca4
add eax, 0x9feee64c
cmp eax, 0x85b569f4
jb 0x100c5daf
mov eax, dword [0x1014c528]
and eax, dword [0x1014c52c]
add eax, 0xf67d6f4a
sub eax, 0xfd6d985f
xor eax, 0xe08865cc
imul eax, eax, 0xde2b1f80
and eax, 0x27852ace
xor eax, 0x5ac8b572
or eax, 0x7d98cbd8
add eax, 0xf1a75232
add eax, 0x30a257d7
xor eax, 0xdb9d19eb
and eax, 0x88624437
and eax, 0x75305892
or eax, 0x37a55d78
add eax, 0x3fe79248
and eax, 0x4b39bcc8
imul eax, eax, 0x4147ef75
sub eax, 0xb9673278
and eax, 0xe4795b45
xor eax, 0xa944b865
imul eax, eax, 0x47458c2b
xor eax, 0x5f59d32
mov ecx, 0x1d614a8c
xor edx, edx
div ecx
sub eax, 0xb9b1851b
add eax, 0x9855b9ad
add eax, 0x326125bb
and eax, 0xb74606c0
add eax, 0x90801ae7
and eax, 0x3d189742
and eax, 0x8193bcd8
or eax, 0x9312483a
mov ecx, 0x1935b33b
xor edx, edx
div ecx
xor eax, 0xe06144
mov ecx, 0x3976aa73
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], ecx
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
mov eax, dword [ebp - 0x28]
add esp, 4
cmp eax, 0x588f09ad
jae 0x100c5925
mov eax, dword [0x1014c530]
and eax, dword [0x1014c534]
sub eax, 0xa476a08c
imul eax, eax, 0xbf0e71b5
mov ecx, 0x660e60ac
xor edx, edx
div ecx
add eax, 0x973013fa
or eax, 0x3aa0f465
imul eax, eax, 0x8c7f3b19
xor eax, 0xf0ad04ee
and eax, 0x6d24cb08
and eax, 0xfdaaf86
xor eax, 0xcccbd3d9
xor eax, 0x926ee7e9
add eax, 0xe904e108
and eax, 0xf779be5
and eax, 0x4565ede1
xor eax, 0x43651915
and eax, 0x9e6c693c
imul eax, eax, 0xeff2d5ff
imul eax, eax, 0x643988b2
sub eax, 0x80149a08
and eax, 0xcd647c74
or eax, 0xee60197
or eax, 0x7515e20b
sub eax, 0x737a27a5
or eax, 0x17c1e015
or eax, 0x232ad07d
imul eax, eax, 0x5e954d61
or eax, 0x4d2e194b
mov ecx, 0x8aac54de
xor edx, edx
div ecx
and eax, 0x7d78703
and eax, 0xf6b939cf
mov ecx, 0x929e5d71
xor edx, edx
div ecx
and eax, 0xc0977778
sub eax, 0xe463ebbd
cmp eax, 0xc79cfd3e
ja 0x100c5856
jmp 0x100c5ad9
mov eax, dword [0x1014c538]
add eax, dword [0x1014c53c]
imul eax, eax, 0x562ae91
xor eax, 0x69f1381f
sub eax, 0x2885b40d
mov ecx, 0x241ec426
xor edx, edx
div ecx
add eax, 0x9771f8f1
sub eax, 0xe9b53918
xor eax, 0x41dfc0c9
add eax, 0x86e0ef48
xor eax, 0x5134a7be
sub eax, 0xbf1b52bb
sub eax, 0x785c7817
xor eax, 0x47236a2d
imul eax, eax, 0xd8690d1
imul eax, eax, 0x724f547c
or eax, 0x52abe67e
add eax, 0x1fe78ecc
add eax, 0x44bf200e
add eax, 0x326177b8
xor eax, 0x8483b777
sub eax, 0x3bffc1ba
or eax, 0x74d00fa5
add eax, 0x3c591f20
add eax, 0x4061a236
add eax, 0x4301cd77
sub eax, 0xcf93a20b
add eax, 0x2a2c8c5c
or eax, 0x82f5db6f
or eax, 0xbbe2f005
mov ecx, 0xca0cd77
xor edx, edx
div ecx
xor eax, 0xf937c58
imul eax, eax, 0x2312109e
or eax, 0xc27ecd5b
and eax, 0x5deea9eb
cmp eax, 0x4cc211a
jb 0x100c5dc5
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x1014c540]
sub eax, dword [0x1014c544]
imul eax, eax, 0x384dd5cd
xor eax, 0x1cacaf88
sub eax, 0xa2b0104
mov esi, 0x18457510
xor edx, edx
div esi
mov esi, 0x2cf8f044
xor edx, edx
div esi
and eax, 0x734576c3
and eax, 0x8ea49627
imul eax, eax, 0x699422ab
or eax, 0xf0245de4
or eax, 0x4167daef
xor eax, 0xa02fde93
mov esi, 0xb9f2f0b
xor edx, edx
div esi
or eax, 0xf7029aea
mov esi, 0x48108
xor edx, edx
div esi
and eax, 0xd0fa0e4a
or eax, 0xf7a96a22
mov esi, 0x1910df6e
xor edx, edx
div esi
xor eax, 0xb3ae5dfa
add eax, 0x74cc1b5f
sub eax, 0x207b681e
imul eax, eax, 0xd529a84
imul eax, eax, 0xa1d7d908
or eax, 0x63e6da30
and eax, 0xc6a4c5fc
add eax, 0x94be9a8c
xor eax, 0xb2cd1ebe
and eax, 0x1769c00b
imul eax, eax, 0x37295d9a
or eax, 0xac60702d
add eax, 0xb19e4463
add eax, 0xb57d9e6b
xor eax, 0xfa9795c7
xor eax, 0x2e7d34cd
mov ecx, dword [ecx]
mov dword [ebp - 0x2c], ecx
cmp eax, 0x96eb89ef
jae 0x100c5ba0
mov eax, dword [ebp - 0x2c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [0x1014c548]
xor edx, edx
div dword [0x1014c54c]
imul eax, eax, 0xd20b2607
and eax, 0x37a1688
or eax, 0x77457123
sub eax, 0xa1f7e264
imul eax, eax, 0xe8a13e8e
xor eax, 0xdaa8ec2c
add eax, 0xec2e4678
imul eax, eax, 0x763bb468
add eax, 0x99c71fed
imul eax, eax, 0xedf8b10b
or eax, 0x53b1d877
sub eax, 0x8be4f2b2
imul eax, eax, 0x4d68a8b0
sub eax, 0x9809c486
imul eax, eax, 0xabf529c2
add eax, 0xfaca76fe
and eax, 0xcc5767fd
sub eax, 0x3561f782
mov ecx, 0xac0b9bec
xor edx, edx
div ecx
mov ecx, 0xb8c8a4cf
xor edx, edx
div ecx
and eax, 0xb2a1da5c
or eax, 0x8754dfcb
and eax, 0xdb0315d1
sub eax, 0x8e3bd186
imul eax, eax, 0xbe5548a0
add eax, 0xaa84bca4
xor eax, 0xb03eaca3
sub eax, 0xddeaa87
or eax, 0x6e9045ee
mov ecx, 0x7df94141
xor edx, edx
div ecx
mov ecx, 0x344902f3
xor edx, edx
div ecx
xor eax, 0x84172556
mov ecx, 0x8122e376
xor edx, edx
div ecx
cmp eax, 0x961227d6
ja 0x100c5dca
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
xor eax, eax
mov dword [ebp - 0x30], eax
push eax
mov eax, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
call fcn.100c5e10
mov eax, dword [ebp - 0x30]
cmp eax, 0xf2f571fa
jae 0x100c5d60
jmp 0x100c572d
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
add esp, 4
jmp 0x100c5856
jmp 0x100c5586
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
add esp, 4
jmp 0x100c5925
jmp 0x100c5ba0
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
push eax
mov eax, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
call fcn.100c5e10
jmp 0x100c5d60