Function at 0x10090080
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 4], ecx
mov eax, dword [0x1014a4b8]
xor eax, dword [0x1014a4bc]
sub eax, 0xd96a3e90
add eax, 0x4de02c71
and eax, 0x970b56fb
sub eax, 0x46ce944e
imul eax, eax, 0x2fcc1af9
or eax, 0x88ec5201
xor eax, 0x7d3435c0
add eax, 0xc06e4c7a
xor eax, 0x7e2d249c
sub eax, 0xca85de28
xor eax, 0xe600e4a4
add eax, 0x8a508f2a
or eax, 0x3a98a7f6
and eax, 0x33e551ad
or eax, 0x6af67a65
and eax, 0x1968ba54
mov ecx, 0xb51c99ed
xor edx, edx
div ecx
add eax, 0x253bde07
and eax, 0x1b30f1e3
imul eax, eax, 0x479fe425
xor eax, 0xa9a97bd9
and eax, 0x92ef193d
imul eax, eax, 0x6dc2732a
mov ecx, 0x6910cc83
xor edx, edx
div ecx
add eax, 0x1ce4be2f
or eax, 0x1794b2fd
add eax, 0x545a0c1a
imul eax, eax, 0x6e8701d1
sub eax, 0xa02fc4a
and eax, 0xb184356d
mov ecx, 0x31ee6220
xor edx, edx
div ecx
sub eax, 0x105ace63
sub eax, 0xfeb49187
cmp eax, 0xd416882b
jb 0x100904e6
mov eax, dword [0x1014a4c0]
add eax, dword [0x1014a4c4]
or eax, 0xb4ee814d
and eax, 0x5ec9f0c3
xor eax, 0xa958abe5
add eax, 0x46c2ccd2
or eax, 0xe7d67f4e
xor eax, 0x85cf51b2
and eax, 0x3f233bbc
mov ecx, 0xa57cbcb0
xor edx, edx
div ecx
mov ecx, 0x6c59f4ff
xor edx, edx
div ecx
add eax, 0x5e0e289c
xor eax, 0xe415aaad
add eax, 0x28bc234e
or eax, 0x7bcd14e7
and eax, 0xfbe938ab
add eax, 0x7769471c
and eax, 0x55c4f1e9
and eax, 0xfa1368a5
mov ecx, 0xbb25a92f
xor edx, edx
div ecx
and eax, 0xba7fc7c9
xor eax, 0xa99e3fa7
imul eax, eax, 0x2f32f70f
xor eax, 0x469faeae
sub eax, 0x70ddcc99
sub eax, 0xd2411f63
sub eax, 0xb0c5b6c9
imul eax, eax, 0x7ffe6477
or eax, 0x30d6ba2b
xor eax, 0x257d419c
or eax, 0x27ff39f8
mov ecx, 0xdf3521d7
xor edx, edx
div ecx
add eax, 0xf58034cf
mov ecx, 0xab1d5f34
xor edx, edx
div ecx
and eax, 0xa1deddb8
cmp eax, 0x19537051
je 0x100905fa
mov ecx, dword [ebp - 4]
mov eax, 0x36f65045
mov dword [ebp - 8], eax
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0xc], ecx
call fcn.10090650
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
cmp eax, 0xc80590b
jbe 0x10090225
mov eax, dword [0x1014a4d0]
xor edx, edx
div dword [0x1014a4d4]
and eax, 0x8f74e4c5
mov ecx, 0x9bab9646
xor edx, edx
div ecx
and eax, 0x75ca0574
sub eax, 0x3e5531a0
add eax, 0x18f7b111
add eax, 0x3270d9c
add eax, 0xa14f4b0c
mov ecx, 0x2ba01c48
xor edx, edx
div ecx
add eax, 0x60244c88
xor eax, 0xb13c1c32
and eax, 0x74c6237
mov ecx, 0xafaefa48
xor edx, edx
div ecx
xor eax, 0xa41a5e23
imul eax, eax, 0xc8b33b6
or eax, 0x1e0345a9
sub eax, 0x45bdbadf
sub eax, 0x93b1a157
and eax, 0x4c4845a8
add eax, 0x97c4f9f8
and eax, 0xcf11951b
and eax, 0x7f8aae47
sub eax, 0x774aad7a
xor eax, 0xd8bc3cd6
mov ecx, 0x75840782
xor edx, edx
div ecx
xor eax, 0x49ccc3bf
and eax, 0x3355967c
imul eax, eax, 0xec580301
add eax, 0x555d6195
or eax, 0x7faf9792
and eax, 0x6170ba30
and eax, 0x1b6f75ca
sub eax, 0xa4a935c1
xor eax, 0xb54939bf
cmp eax, 0xdf322d20
jb 0x10090154
mov eax, dword [0x1014a4d8]
add eax, dword [0x1014a4dc]
imul eax, eax, 0xc1284352
imul eax, eax, 0x91676393
mov ecx, 0xaa841a71
xor edx, edx
div ecx
mov ecx, 0xf62246e1
xor edx, edx
div ecx
or eax, 0xc02cfe25
sub eax, 0x56ee2b10
xor eax, 0x682ee95a
imul eax, eax, 0x1f8a8267
xor eax, 0xe645ecef
imul eax, eax, 0xe56e3bba
sub eax, 0xce75d249
xor eax, 0x49bddb0c
imul eax, eax, 0x892fcf9d
or eax, 0x2749952e
imul eax, eax, 0xf573b673
mov ecx, 0xd9ce3b63
xor edx, edx
div ecx
add eax, 0x6470ac19
imul eax, eax, 0x6e9bae78
or eax, 0xcdefdc7b
imul eax, eax, 0x99d3bebf
add eax, 0x69a2a226
xor eax, 0x85be6903
add eax, 0x565553c2
imul eax, eax, 0xaace6c60
xor eax, 0xf2106393
sub eax, 0xf9f1e480
and eax, 0x90bf13c0
imul eax, eax, 0x424ad156
imul eax, eax, 0xe3c79665
imul eax, eax, 0xd95ed070
xor eax, 0xfd11cd92
or eax, 0xd5c9c248
add eax, 0x2ba50b62
cmp eax, 0xe8f5bc5d
ja 0x10090622
mov eax, dword [0x1014a4e0]
xor eax, dword [0x1014a4e4]
mov ecx, 0x9a59dec2
xor edx, edx
div ecx
sub eax, 0x148b3dd3
mov ecx, 0x7731772b
xor edx, edx
div ecx
sub eax, 0x1cc4cd64
imul eax, eax, 0x698c19c9
and eax, 0x1bd051cd
imul eax, eax, 0x43c89e15
imul eax, eax, 0x41092d97
mov ecx, 0x7e2495e5
xor edx, edx
div ecx
imul eax, eax, 0xf2bd8b72
xor eax, 0x534a5c78
imul eax, eax, 0x9b60cbba
mov ecx, 0x24ca6a4
xor edx, edx
div ecx
add eax, 0x12a64ed5
and eax, 0x70d69093
mov ecx, 0x504dd67e
xor edx, edx
div ecx
sub eax, 0x6f7daa30
imul eax, eax, 0x21fca2db
or eax, 0x734e2d96
mov ecx, 0x24e774b0
xor edx, edx
div ecx
imul eax, eax, 0xa1f9efda
xor eax, 0xa02a9dec
sub eax, 0x38621e29
xor eax, 0x3ee1f9d2
and eax, 0xa92006ee
xor eax, 0xb6171690
or eax, 0xfcdb9396
and eax, 0x25301091
add eax, 0x1e7f4e64
add eax, 0x92f1bd91
imul eax, eax, 0x6ad7d41b
mov ecx, 0x74a1a642
xor edx, edx
div ecx
add eax, 0x53b333b
cmp eax, 0xbedf7ca9
jae 0x10090400
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
mov eax, dword [0x1014a4e8]
xor eax, dword [0x1014a4ec]
xor eax, 0xfd58a2b0
and eax, 0xeaf73a9e
or eax, 0xa5d4f232
sub eax, 0xb6e0fdfd
or eax, 0x40ff019c
imul eax, eax, 0xaa7ca56
xor eax, 0x6c3faf1f
add eax, 0x968c962
xor eax, 0x3157f4cc
mov ecx, 0xa10b9e9d
xor edx, edx
div ecx
mov ecx, 0x8a9da19d
xor edx, edx
div ecx
and eax, 0xdc1de0b4
xor eax, 0x4fbfbf6a
or eax, 0xbe11f42d
imul eax, eax, 0x100ead5
and eax, 0xed13b500
imul eax, eax, 0x4232c741
mov ecx, 0x8d1b585c
xor edx, edx
div ecx
or eax, 0xfd10fa9a
and eax, 0xb18fd490
and eax, 0xe3e44dc9
imul eax, eax, 0x98916504
mov ecx, 0xe3cf32a3
xor edx, edx
div ecx
imul eax, eax, 0xd109caaf
or eax, 0x87b6d516
imul eax, eax, 0x51d28d09
sub eax, 0x91d8ced1
mov ecx, 0x8ddb272f
xor edx, edx
div ecx
and eax, 0xdc170b14
add eax, 0x7a4812b8
xor eax, 0xcf88fe66
add eax, 0x8a78efe3
imul eax, eax, 0xf5b91f67
cmp eax, 0xfcd0695f
ja 0x10090627
mov ecx, dword [ebp - 4]
mov eax, 0x97b379ee
mov dword [ebp - 0x10], eax
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
call fcn.10090650
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
cmp eax, 0x1c9ad699
jb 0x10090627
jmp 0x10090154
mov ecx, dword [ebp - 4]
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
call fcn.10090650
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
jmp 0x10090225
jmp 0x10090400
mov ecx, dword [ebp - 4]
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
call fcn.10090650
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
jmp 0x100905bc