Function at 0x100c1a30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x40
mov esi, esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x34], eax
mov eax, dword [0x101bdbec]
xor eax, ebp
mov dword [esi + 0x38], eax
mov eax, dword [0x101bb4e8]
xor edx, edx
div dword [0x101bb4ec]
or eax, 0xe48f4156
and eax, 0xfa0528bf
or eax, 0x3d296ef4
mov ecx, 0x60c107b
xor edx, edx
div ecx
mov ecx, 0xc0c0fbf1
xor edx, edx
div ecx
and eax, 0xb476c4a2
add eax, 0x8a1fefee
or eax, 0x85b6fda3
add eax, 0xf3d6c5d
and eax, 0x35462423
sub eax, 0x4c6c27b6
add eax, 0xebfd6a11
and eax, 0x1f637641
add eax, 0xa4a7ca10
sub eax, 0x458aa1d0
xor eax, 0x8243b454
or eax, 0x37fcec05
mov ecx, 0xfbc6cbe8
xor edx, edx
div ecx
mov ecx, 0xc42f0416
xor edx, edx
div ecx
imul eax, eax, 0xf0e33692
or eax, 0x57f40a6c
imul eax, eax, 0xf917989f
add eax, 0xc7bf1c28
mov ecx, 0x447dc836
xor edx, edx
div ecx
add eax, 0x45d036d2
xor eax, 0xb13cd2cf
xor eax, 0x73fe92d2
add eax, 0xc8adabf8
xor eax, 0x7f3005ed
and eax, 0x3396211
or eax, 0x81047fcd
xor eax, 0xaf1d3e57
add eax, 0x87ce766b
and eax, 0x74046127
mov ecx, 0x31409386
xor edx, edx
div ecx
or eax, 0x2060dda9
and eax, 0xc5741b1f
and eax, 0x4af1d684
cmp eax, 0x9704621d
ja 0x100c23b6
mov eax, dword [0x101bb4f0]
sub eax, dword [0x101bb4f4]
imul eax, eax, 0x63a38131
xor eax, 0x44127301
or eax, 0x85fbaf53
imul eax, eax, 0x85ba3820
sub eax, 0x4fec9118
or eax, 0x3eec0dea
xor eax, 0xe6154349
mov ecx, 0xe46394c8
xor edx, edx
div ecx
add eax, 0x7c88980a
and eax, 0x5b97338
imul eax, eax, 0xc5a9dd68
xor eax, 0x1eb14c0b
imul eax, eax, 0x92bd4dd9
sub eax, 0x871fd73f
xor eax, 0xb3f90225
imul eax, eax, 0x7244bea4
and eax, 0x91b702d1
or eax, 0xdd343d6e
sub eax, 0x77948222
or eax, 0x87b3f7dd
and eax, 0x40411af4
mov ecx, 0xc1d4776f
xor edx, edx
div ecx
xor eax, 0x928dca67
sub eax, 0x404a4d2f
mov ecx, 0x6117e33e
xor edx, edx
div ecx
xor eax, 0x45c7e6aa
imul eax, eax, 0x99318d15
or eax, 0x38def343
mov ecx, 0xd135df0d
xor edx, edx
div ecx
xor eax, 0x7184ad62
add eax, 0x5308fe2d
xor eax, 0x2b0e8793
mov ecx, 0x317316f
xor edx, edx
div ecx
imul eax, eax, 0x8071b68f
and eax, 0x2d2a8d7a
or eax, 0xcacf41b0
and eax, 0xbcac18de
sub eax, 0x6de1c0d3
cmp eax, 0xc82e0bc0
jae 0x100c1b47
mov eax, dword [0x101bb4f8]
or eax, dword [0x101bb4fc]
imul eax, eax, 0xdf40ba0d
mov ecx, 0xf1405c3d
xor edx, edx
div ecx
or eax, 0x84646a72
sub eax, 0x8aa4e06c
and eax, 0x1455ebc0
or eax, 0x2e31029d
and eax, 0xd17a0c77
add eax, 0x68f936d
mov ecx, 0x546dad31
xor edx, edx
div ecx
sub eax, 0xa4114057
mov ecx, 0x81e01f6a
xor edx, edx
div ecx
mov ecx, 0x836f5009
xor edx, edx
div ecx
or eax, 0x5859ab4a
imul eax, eax, 0x3287a200
imul eax, eax, 0x92edd026
or eax, 0x2c7f35bb
sub eax, 0x9fa52b7e
and eax, 0x8ece9822
xor eax, 0xdbd9a12a
or eax, 0x2518cfa7
xor eax, 0x95dc51e4
or eax, 0xb9b97f5e
mov ecx, 0xdf7cfea7
xor edx, edx
div ecx
add eax, 0x2d05fc40
or eax, 0x2c6b9c01
add eax, 0xa4a47aa2
imul eax, eax, 0x23eac4cc
sub eax, 0x3a76cb5a
imul eax, eax, 0x2fc66c27
and eax, 0x8d00e019
mov ecx, 0xc922a33f
xor edx, edx
div ecx
or eax, 0xa48f87e
imul eax, eax, 0x9c150bd
or eax, 0x7ffa6ef9
sub eax, 0x7dc81cf5
xor eax, 0x352f9ec8
sub eax, 0x5f4758ec
add eax, 0x53b352dd
cmp eax, 0xc51d2c7f
je 0x100c217e
mov eax, dword [0x101bb500]
xor edx, edx
div dword [0x101bb504]
and eax, 0xdcde88c7
xor eax, 0xea5d9b86
add eax, 0x988590b7
and eax, 0xd14e2893
xor eax, 0x8357f33e
imul eax, eax, 0x8bc1f95c
mov ecx, 0x84305d37
xor edx, edx
div ecx
sub eax, 0x75613bed
sub eax, 0xb82a41ab
mov ecx, 0x2244cec9
xor edx, edx
div ecx
and eax, 0xf45bda83
xor eax, 0x9fe9227b
and eax, 0xdb5e07f0
mov ecx, 0x7823f344
xor edx, edx
div ecx
add eax, 0xf94c2d3
and eax, 0xcbb77d6c
xor eax, 0x73a717de
sub eax, 0x34c19e69
mov ecx, 0x255b94a
xor edx, edx
div ecx
sub eax, 0xaaaa3c20
mov ecx, 0x5bd7a7b8
xor edx, edx
div ecx
imul eax, eax, 0xcd69834a
and eax, 0xa576c418
and eax, 0x5f1c38e8
and eax, 0xdc27939b
sub eax, 0x33bbae85
and eax, 0x867f4fef
imul eax, eax, 0xece29efa
imul eax, eax, 0x33f1bbea
and eax, 0x515485d9
or eax, 0xed84718c
sub eax, 0xdf51ade9
or eax, 0x937a0c
imul eax, eax, 0x21a2a2ed
xor eax, 0x36c40d8
imul eax, eax, 0xda7d21a2
add eax, 0xac73c77d
or eax, 0xd06d7d08
cmp eax, 0xb743482e
jb 0x100c2447
mov eax, 0x6fe7ac6f
mov dword [esi + 0x28], eax
push eax
mov ebx, esp
push eax
mov eax, esp
push eax
mov edx, esp
push eax
mov ecx, esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 0x20], edi
mov esp, edi
mov edi, dword [esi + 0x2c]
mov dword [ebx], edi
mov edi, dword [esi + 0x34]
mov dword [eax], edi
mov byte [edx], 1
mov byte [ecx], 0
mov ecx, dword [eax]
call fcn.1015e700
mov ecx, eax
sub esp, 0x10
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0xa
call fcn.101626e0
mov ecx, dword [esi + 0x2c]
mov edi, eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x24], edi
mov edi, edx
mov edx, dword [esi + 0x24]
mov dword [eax + 4], edi
mov dword [eax], edx
sub esp, 4
mov dword [esp], eax
call fcn.1015edd0
mov eax, dword [esi + 0x28]
cmp eax, 0x376bd808
jb 0x100c1e18
mov eax, dword [0x101bb510]
and eax, dword [0x101bb514]
sub eax, 0xfeaa51cd
xor eax, 0x424afe06
or eax, 0x4e737066
or eax, 0xd1bd2b89
imul eax, eax, 0xeac4b7a9
sub eax, 0xb199fef9
sub eax, 0xedebafc2
and eax, 0x6d7f21dd
mov ecx, 0x48c8cdb7
xor edx, edx
div ecx
or eax, 0xfd0829e9
and eax, 0x75c7f55
mov ecx, 0xb51918bd
xor edx, edx
div ecx
mov ecx, 0xbcf5de0d
xor edx, edx
div ecx
add eax, 0x3dd4deeb
or eax, 0x15a07030
and eax, 0x56ce184d
mov ecx, 0xf7665fb3
xor edx, edx
div ecx
xor eax, 0xde3cfd34
add eax, 0x84dd32a6
sub eax, 0x8619b7df
imul eax, eax, 0x428adb8a
and eax, 0xd43e327d
or eax, 0x314cf51e
and eax, 0x1c0485ad
add eax, 0x80a88ec9
add eax, 0xa2e809aa
and eax, 0xdd25d22f
xor eax, 0xb6c17feb
xor eax, 0x851897e0
mov ecx, 0x1c87eaf5
xor edx, edx
div ecx
mov ecx, 0xe3cd1e0e
xor edx, edx
div ecx
add eax, 0xf99eaf10
and eax, 0x9af38fe0
sub eax, 0xa0f6eb1
xor eax, 0xa5832a62
xor eax, 0xdf8935b2
and eax, 0x61d6a9f2
mov ecx, 0x4ba336f0
xor edx, edx
div ecx
cmp eax, 0xd087f583
je 0x100c1d28
mov eax, dword [0x101bb518]
sub eax, dword [0x101bb51c]
or eax, 0xfab1e10b
imul eax, eax, 0x6d388fde
xor eax, 0x4237ab19
and eax, 0x9ec697a5
and eax, 0x2a0f5999
or eax, 0x4e838c46
xor eax, 0x845ba23f
and eax, 0xdbdf996b
or eax, 0xd1d2f638
and eax, 0x9b930a95
xor eax, 0xb5e3e317
sub eax, 0xd147037
sub eax, 0xec4495dc
or eax, 0x48c4b92a
add eax, 0xad721331
and eax, 0xbaf8680a
imul eax, eax, 0x6ad51a84
and eax, 0x815ea29b
and eax, 0x112f020e
add eax, 0x4a4e1930
xor eax, 0x8d5bf233
xor eax, 0x21f0028d
imul eax, eax, 0xd4bf228b
imul eax, eax, 0x3637971f
add eax, 0x7a4b4932
or eax, 0xde660849
imul eax, eax, 0x39ddf4cd
imul eax, eax, 0x270a9625
imul eax, eax, 0x1bca3e4b
and eax, 0xe49ab5a7
imul eax, eax, 0x346dd06d
sub eax, 0xf61056f2
imul eax, eax, 0x77550ed7
or eax, 0xbe079276
add eax, 0x23e7787e
mov ecx, 0x65e4cfde
xor edx, edx
div ecx
and eax, 0x2cddd7e2
imul eax, eax, 0x99d6cd19
cmp eax, 0x290f9a30
jbe 0x100c2537
mov eax, dword [0x101bb520]
or eax, dword [0x101bb524]
xor eax, 0x7549344b
imul eax, eax, 0x208acb84
mov ecx, 0xc3f798bc
xor edx, edx
div ecx
sub eax, 0x773de23c
and eax, 0x2527a125
imul eax, eax, 0x55849045
or eax, 0xcf5a9f9c
and eax, 0x504a6a77
mov ecx, 0x4c4ab616
xor edx, edx
div ecx
sub eax, 0xae4c010e
and eax, 0xa004079b
mov ecx, 0xe924ea88
xor edx, edx
div ecx
xor eax, 0x5ed5156e
and eax, 0x36c7a6cb
xor eax, 0x68017611
or eax, 0x9aed0e95
and eax, 0xfa25bba9
xor eax, 0xa0f28525
mov ecx, 0x94f014de
xor edx, edx
div ecx
imul eax, eax, 0x133f42cd
mov ecx, 0x5ba1c8f1
xor edx, edx
div ecx
imul eax, eax, 0xc9013d73
and eax, 0x152d3c35
add eax, 0xc17fe7be
imul eax, eax, 0x471616ed
xor eax, 0x7daa56ee
imul eax, eax, 0x16a2d9c3
xor eax, 0xdab765d
and eax, 0x516e5d5f
add eax, 0x4232e787
imul eax, eax, 0x6d014afe
imul eax, eax, 0xea5456dc
mov ecx, 0x3a6b5b26
xor edx, edx
div ecx
or eax, 0x8b50bf63
and eax, 0x88bedbd1
sub eax, 0x50d8f2fd
mov ecx, 0xfbaa99d9
xor edx, edx
div ecx
and eax, 0xe2e67439
cmp eax, 0xbe96959
jae 0x100c2071
mov ecx, dword [esi + 0x38]
xor ecx, ebp
call fcn.101626c6
mov eax, dword [esi + 0x30]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x101bb528]
xor edx, edx
div dword [0x101bb52c]
add eax, 0x8335bee5
and eax, 0x8806f14f
xor eax, 0xe71d9508
sub eax, 0xd5314f43
mov ecx, 0xa01e1fe0
xor edx, edx
div ecx
sub eax, 0xfc73e4ee
sub eax, 0x46cc0a16
xor eax, 0x80674dd9
imul eax, eax, 0xec383c99
imul eax, eax, 0x212a7826
add eax, 0x65c67773
or eax, 0x1e5b4344
add eax, 0x23d449b1
add eax, 0xb18bf0a5
sub eax, 0xea65bc3c
imul eax, eax, 0xfe332d05
sub eax, 0x9ba013c3
mov ecx, 0x43491a67
xor edx, edx
div ecx
or eax, 0x5d8b1169
and eax, 0xb450bf86
or eax, 0x7bcf2209
imul eax, eax, 0x797250b7
or eax, 0x5bb1af6c
imul eax, eax, 0x16eabe48
imul eax, eax, 0x4cbc4ab7
and eax, 0xcf718a3f
add eax, 0xe4245f21
or eax, 0xc1c2d1d5
imul eax, eax, 0x5bbc0d1f
or eax, 0x249bbb7a
sub eax, 0x929891bb
xor eax, 0x404990f1
and eax, 0x382fabc9
imul eax, eax, 0xcc2811ab
and eax, 0xeae805f5
mov ecx, 0xb23bf8fd
xor edx, edx
div ecx
or eax, 0x2db0cd58
mov ecx, 0xcc7d5dcd
xor edx, edx
div ecx
cmp eax, 0xf8c1d14b
jae 0x100c25d0
mov eax, 0x9d1428c9
mov dword [esi + 0x1c], eax
in eax, 0x26
aas
mov dword [0x6d10f7f8], eax
in al, dx
clc
sal dword [ebp + 0x2c], cl
inc ecx
shr al, 0x46
cmp dword [ebp + 0x4ece34c0], esi
test eax, 0x6509ffd2
or esp, edi
xor dword [ecx - 0x21a6d555], esp
xchg edi, eax
pop ebx
dec edx
iretd
inc esi
xchg ebp, eax
je 0x100c25d0
jmp 0x100c1d28
sub byte [eax + 4], al
cli
sub dword [eax - 0x6020725], ebx
loopne 0x100c23a9
push esi
sub byte [ebp - 0x67c245dc], bh
mov ebx, 0x9c67e098
pop ds
fidivr word [ebx]
invalid
std
sub dword [esi + 0x446cd736], esi
test eax, 0xf8c55607
fsub qword [0x87d34f1]
aaa
cdq
invalid
or esp, esp
aas
sbb byte [edi], cl
fisubr dword [ebx - 0x64]
in al, 0xea
pushfd
stosd dword es:[edi], eax
stosb byte es:[edi], al
push ss
das
bound edx, qword [ebx - 0x1f]
jmp 0x100c23f6
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0xa
call fcn.101626e0
mov ecx, dword [esi + 0x2c]
mov edi, eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x10], edi
mov edi, edx
mov edx, dword [esi + 0x10]
mov dword [eax + 4], edi
mov dword [eax], edx
sub esp, 4
mov dword [esp], eax
call fcn.1015edd0
jmp 0x100c1e18
adc eax, 0x56d284cc
sbb bl, byte [ecx + ebp*4 - 0x3c]
mov dword [edx], eax
pop eax
jb 0x100c25a8
mov dl, 0x7c
adc byte [edi - 0x46bb3a33], cl
jnp 0x100c24f8
out 0x81, eax
invalid
popfd
dec esp
invalid
xor eax, 0xf0630db1
ret