Function at 0x1008fda0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x40
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 [0x10141f84]
xor edx, edx
div dword [0x10141f88]
imul eax, eax, 0x87ec3b56
imul eax, eax, 0x4a828129
add eax, 0xa2b422e1
sub eax, 0x42ff28a8
xor eax, 0x2b6f6f5f
sub eax, 0x56e1f6ca
sub eax, 0xf34f621
xor eax, 0xf36671c6
sub eax, 0xa29beb8c
add eax, 0xb9bd615b
mov ecx, 0xd936afad
xor edx, edx
div ecx
sub eax, 0x6b62778b
sub eax, 0xfc75ae0
and eax, 0x7fb99d46
mov ecx, 0x3e4ed3ac
xor edx, edx
div ecx
imul eax, eax, 0xd5a9b6ba
or eax, 0x81297b8f
mov ecx, 0xde5d1ac5
xor edx, edx
div ecx
mov ecx, 0xe71b4758
xor edx, edx
div ecx
and eax, 0xc245c44e
cmp eax, 0xd84aa4b4
jae 0x100908b1
mov eax, dword [0x10141f8c]
add eax, dword [0x10141f90]
and eax, 0x8696c7c3
mov ecx, 0x22cc148a
xor edx, edx
div ecx
mov ecx, 0xc53d7e11
xor edx, edx
div ecx
sub eax, 0x9d5e8f9c
xor eax, 0xf9d09e4e
or eax, 0x5e8401a0
xor eax, 0x4eca9b95
or eax, 0xc6494b6
imul eax, eax, 0x9d23dc8a
sub eax, 0x270833b9
sub eax, 0x18c797f1
and eax, 0xbcd0d240
add eax, 0x75093810
imul eax, eax, 0xaea2822e
xor eax, 0x22201a90
add eax, 0x3402b791
sub eax, 0x9d66eb4f
or eax, 0x5e11a56c
sub eax, 0x34a4bd17
add eax, 0xb211d4aa
cmp eax, 0x18508fc2
jbe 0x1008fe4a
mov eax, dword [0x10141f94]
sub eax, dword [0x10141f98]
mov ecx, 0x161ebfc8
xor edx, edx
div ecx
or eax, 0x4762a1
and eax, 0x5b240adf
xor eax, 0x232b4c37
xor eax, 0xd62185f6
imul eax, eax, 0xb15a7718
xor eax, 0x4818f03
add eax, 0xd70bf6db
mov ecx, 0xe5c21daf
xor edx, edx
div ecx
or eax, 0x1edb0d13
add eax, 0x3904d630
add eax, 0xde567938
or eax, 0xc7a293c2
add eax, 0x6d66b60f
or eax, 0xe479014c
or eax, 0x291b7122
add eax, 0xbc7f0967
and eax, 0x41e184
sub eax, 0xff47d6e
xor eax, 0x75f590fc
cmp eax, 0x614b5793
jbe 0x1009068c
mov eax, dword [0x10141f9c]
mov ecx, dword [0x10141fa0]
and eax, ecx
or eax, 0x6f4e8822
add eax, 0xdd724862
or eax, 0x402640
and eax, 0x54e12ecc
xor eax, 0x5a999532
imul eax, eax, 0x4c9027ef
add eax, 0xd1f29fd4
and eax, 0x6690f1b0
add eax, 0x1a31748a
and eax, 0x50819432
add eax, 0xe54df929
xor eax, 0x88804200
and eax, 0x8881c378
mov ecx, 0x5ef5ac13
mul ecx
mov eax, edx
mov edx, dword [ebp - 0x18]
shr eax, 0x1b
or eax, 0x76fe76ea
imul eax, eax, 0xe7ae4a9d
add eax, 0x46d01ee9
push eax
mov ecx, esp
mov dword [ebp - 0x24], ecx
push eax
mov esi, esp
push eax
mov ebx, esp
mov dword [ebp - 0x30], ebx
push eax
mov edi, esp
mov dword [ebp - 0x2c], edi
push eax
mov ecx, esp
mov dword [ebp - 0x20], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x1c], ecx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ecx], edx
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov dword [esi], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebx]
mov dword [edi], ebx
mov esi, dword [esi]
mov dword [edx], esi
mov dword [ecx], 0
cmp eax, 0x5a93697f
jbe 0x1009068c
mov eax, dword [0x10141fa4]
add eax, dword [0x10141fa8]
and eax, 0xe77b9bfa
and eax, 0x652264ce
add eax, 0x21678509
and eax, 0xf74ae6d2
imul eax, eax, 0x922fa6c1
imul eax, eax, 0x7a407af2
sub eax, 0xeeb67aa6
xor eax, 0xeff78384
or eax, 0xe4028b66
xor eax, 0x4c192099
sub eax, 0x28b46cc5
add eax, 0xa4cc6173
sub eax, 0xa1bc3380
or eax, 0x8ab2dfdf
and eax, 0xcaf0e97e
or eax, 0x33311d76
imul eax, eax, 0x9bd8d260
xor eax, 0x1578bb83
and eax, 0xaf1536ba
add eax, 0xec8c1a93
cmp eax, 0xa0e44f49
ja 0x100908b6
mov eax, dword [0x10141fac]
add eax, dword [0x10141fb0]
or eax, 0xbf3447d7
mov ecx, 0x57e7deb
xor edx, edx
div ecx
or eax, 0x62582d1c
mov ecx, 0xb5b92c99
xor edx, edx
div ecx
sub eax, 0xbce10721
xor eax, 0xbad1343d
or eax, 0xcdcf8525
and eax, 0x979caa3d
and eax, 0xb6dae1f
xor eax, 0xc6109f70
and eax, 0x25653b36
imul eax, eax, 0x6b73de86
sub eax, 0x65437b44
sub eax, 0xb0dbec95
or eax, 0x270fa3b3
or eax, 0x2006033d
xor eax, 0x1437ab1b
and eax, 0x5da6260f
sub eax, 0xdf8027b7
or eax, 0xf68198ff
cmp eax, 0x532e55e9
jbe 0x100908b6
jmp 0x1009011b
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp eax, dword [ecx]
jae 0x100905b2
mov eax, dword [0x10141fb4]
and eax, dword [0x10141fb8]
or eax, 0xd91a4cda
imul eax, eax, 0x642f9560
sub eax, 0x675092ab
sub eax, 0xf323a88d
imul eax, eax, 0xb29a6050
mov ecx, 0x9d1694f
xor edx, edx
div ecx
imul eax, eax, 0xe3d560b9
imul eax, eax, 0x93e7d0c9
imul eax, eax, 0x6679bb2d
mov ecx, 0x696b3d48
xor edx, edx
div ecx
mov ecx, 0x2aaa8787
xor edx, edx
div ecx
xor eax, 0xc1891672
sub eax, 0x1b715f3c
or eax, 0x196a85ee
add eax, 0x2ea7ded5
and eax, 0xf5fc9b8f
xor eax, 0xe2f21832
and eax, 0x24393f53
and eax, 0x20d85209
imul eax, eax, 0xd2e7bced
cmp eax, 0x4c557a8c
jbe 0x10090765
mov eax, dword [0x10141fbc]
imul eax, dword [str.aSsp]
and eax, 0xab9f561
xor eax, 0x5f616213
xor eax, 0x5dab9e79
or eax, 0xe9056678
and eax, 0x776e672b
sub eax, 0x79226e13
xor eax, 0x93463519
sub eax, 0xcdb90075
sub eax, 0x88f8800
xor eax, 0x602eb69
add eax, 0x409cb771
add eax, 0x6eacc360
and eax, 0xc6eed961
mov ecx, 0x31136af5
xor edx, edx
div ecx
imul eax, eax, 0xb651f515
imul eax, eax, 0x18195097
add eax, 0x344d53e7
sub eax, 0xcda75f99
add eax, 0xce17e955
xor eax, 0xcf3a386
cmp eax, 0x49aa2912
je 0x100908bb
mov esi, dword [ebp - 0x20]
mov eax, dword [0x10141fc4]
sub eax, dword [0x10141fc8]
xor eax, 0x4138df0c
imul eax, eax, 0xad8c1781
imul eax, eax, 0xc48f750b
or eax, 0xcee17688
and eax, 0x3f3ad66c
and eax, 0xb9489567
sub eax, 0x5a09ddde
xor eax, 0x4ca6828e
add eax, 0xa9f74030
mov ecx, 0x2ddf220a
xor edx, edx
div ecx
or eax, 0x6b1a33f8
imul eax, eax, 0x3fb26138
and eax, 0xc86d0b39
imul eax, eax, 0x250a4555
mov ecx, 0xd13dbbaa
xor edx, edx
div ecx
and eax, 0x593ddddc
imul eax, eax, 0x79f6981c
sub eax, 0xe7d292d
or eax, 0x60abb5df
mov ecx, 0xc064bae3
xor edx, edx
div ecx
mov dword [ebp - 0x34], eax
sub esp, 8
mov dword [esp], 6
mov dword [esp + 4], 0xc
call fcn.1000afb0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
add esp, 8
mov eax, dword [ebp - 0x34]
mov esi, dword [esi]
mov edi, dword [edx]
mov bl, byte [esi + edi]
mov ecx, dword [ecx]
mov edx, dword [edx]
mov byte [ecx + edx], bl
cmp eax, 0xc30f608
jae 0x10090238
mov eax, dword [0x10141fcc]
add eax, dword [0x10141fd0]
xor eax, 0x756c2bdd
xor eax, 0xc7a20cde
sub eax, 0x3d4c4d13
add eax, 0xb47e370a
xor eax, 0x746b92dd
add eax, 0xc8bad9d3
and eax, 0xef699cde
sub eax, 0x3ccef47c
or eax, 0xfa9b2e9e
or eax, 0xec4834b4
and eax, 0x8e0a6779
and eax, 0x736e9c30
add eax, 0xd9036696
imul eax, eax, 0x780fa65b
add eax, 0x23c5d01e
mov ecx, 0x5c9826df
xor edx, edx
div ecx
xor eax, 0xccb0200a
xor eax, 0xc65b91af
xor eax, 0x260a035a
xor eax, 0x5f904f53
cmp eax, 0x30bc2be5
je 0x100901b7
mov eax, dword [0x10141fd4]
or eax, dword [0x10141fd8]
imul eax, eax, 0x8af2d2ea
sub eax, 0x2025563e
mov ecx, 0x2c05c03f
xor edx, edx
div ecx
add eax, 0xd73367a
sub eax, 0xd9fc5cd
imul eax, eax, 0xabed0577
or eax, 0xb2388237
xor eax, 0xa61432b3
sub eax, 0xaf2384eb
add eax, 0x13a0444e
xor eax, 0x1609106f
sub eax, 0x5aa8a39
and eax, 0x1d35d49d
mov ecx, 0xe859a865
xor edx, edx
div ecx
imul eax, eax, 0x28225bb7
or eax, 0x62577d82
xor eax, 0x64346b1a
imul eax, eax, 0xee4ed8bf
and eax, 0xda07316a
imul eax, eax, 0x2488ef57
cmp eax, 0x4e9a1c83
je 0x100908f1
mov eax, dword [0x10141fdc]
xor eax, dword [0x10141fe0]
and eax, 0x1eca371f
xor eax, 0x78f5043f
imul eax, eax, 0x1da0350b
and eax, 0x4baad967
imul eax, eax, 0xf31b0b60
mov ecx, 0xf74b62f2
xor edx, edx
div ecx
mov ecx, 0x75a9d5ef
xor edx, edx
div ecx
sub eax, 0x62d7ddaa
and eax, 0xbc4f4bd
and eax, 0x6c9d84de
or eax, 0x2d923168
mov ecx, 0xecae2f90
xor edx, edx
div ecx
and eax, 0x84213692
or eax, 0x1d3b4311
mov ecx, 0xdd1492a4
xor edx, edx
div ecx
sub eax, 0x521ebc9f
mov ecx, 0x800deb46
xor edx, edx
div ecx
and eax, 0xda9d5f23
or eax, 0xe9869524
add eax, 0x8f13a4dc
cmp eax, 0x67c1ba4b
jb 0x10090400
jmp 0x10090495
mov eax, dword [0x10141fe4]
or eax, dword [0x10141fe8]
add eax, 0x70eb2797
and eax, 0x46192f91
mov ecx, 0xfd6afc8a
xor edx, edx
div ecx
mov ecx, 0xc715f27f
xor edx, edx
div ecx
sub eax, 0x3bef56c5
or eax, 0x45218e95
add eax, 0xc5332715
or eax, 0x2808170d
and eax, 0xb511a1a7
xor eax, 0xb8124d73
imul eax, eax, 0x957ec756
mov ecx, 0x68b85948
xor edx, edx
div ecx
or eax, 0xbb484b7
xor eax, 0xf2e556d9
add eax, 0xffe466a5
or eax, 0x17c9e4c7
add eax, 0xe191bfcc
xor eax, 0xbdd05bfd
add eax, 0xfb7b6953
imul eax, eax, 0xd5a5c676
cmp eax, 0x128f903
je 0x100908f6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [0x10141fec]
sub eax, dword [0x10141ff0]
add eax, 0x1e391ee5
xor eax, 0x9029fbab
imul eax, eax, 0xf3d0f8f
sub eax, 0x137cf071
mov esi, 0xbbb2c1ca
xor edx, edx
div esi
mov esi, 0xa2d2fd4c
xor edx, edx
div esi
xor eax, 0x7bb7891c
add eax, 0xee911a98
sub eax, 0xe61acbf2
xor eax, 0xc044590f
imul eax, eax, 0xc14956c0
and eax, 0xfab13279
xor eax, 0xb3a80db7
imul eax, eax, 0xd16a29f
or eax, 0xa2eec677
imul eax, eax, 0x5a035846
xor eax, 0xabc39bfd
add eax, 0xfb2ee4d6
xor eax, 0xb75d6b34
add eax, 0xae65b72e
mov edx, dword [ecx]
add edx, 1
mov dword [ecx], edx
cmp eax, 0xa8d8f7d3
ja 0x1009051d
jmp 0x1009011b
mov eax, dword [0x10141ff4]
xor edx, edx
div dword [0x10141ff8]
imul eax, eax, 0xe241650b
sub eax, 0x5441b5ea
add eax, 0xd79c6dcf
xor eax, 0x1bde703
or eax, 0xe5e13883
sub eax, 0xf5c39501
add eax, 0x34d80649
mov ecx, 0xdfcc33d0
xor edx, edx
div ecx
mov ecx, 0xc6255659
xor edx, edx
div ecx
or eax, 0x22a9f3db
add eax, 0xcad610c1
add eax, 0xb494b3ff
or eax, 0x35f45184
sub eax, 0xea8fade0
mov ecx, 0x321c14b5
xor edx, edx
div ecx
imul eax, eax, 0x6d7bd23f
or eax, 0x4eec9e3
sub eax, 0x9b6ff805
sub eax, 0xdbabd9b2
imul eax, eax, 0xa441285e
cmp eax, 0xa6a59127
jae 0x10090905
mov eax, 0x2bac4df0
mov dword [ebp - 0x3c], eax
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 9
call fcn.1006fdc0
mov ecx, dword [ebp - 0x30]
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0x3c]
mov edi, edx
mov edx, dword [ebp - 0x28]
mov dword [edx + 4], edi
mov dword [edx], esi
mov ecx, dword [ecx]
mov dword [ebp - 0x38], ecx
cmp eax, 0xc2565656
ja 0x10090905
mov eax, dword [ebp - 0x38]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x10142004]
xor edx, edx
div dword [0x10142008]
and eax, 0x680af405
or eax, 0x5edbff05
and eax, 0x5f2da168
sub eax, 0x564fbd71
or eax, 0xfd55747a
mov ecx, 0x18cacc93
xor edx, edx
div ecx
xor eax, 0x4f5c56cc
imul eax, eax, 0xd576f30f
mov ecx, 0xfd73dacb
xor edx, edx
div ecx
sub eax, 0x72bc89
add eax, 0xbd43934c
or eax, 0x5b4954c7
and eax, 0xa2225dc1
xor eax, 0x23b69c3
or eax, 0x1f91cba7
add eax, 0xd9924f79
add eax, 0x7f5c9fb8
mov ecx, 0xb6cd86be
xor edx, edx
div ecx
or eax, 0x1dfc203f
xor eax, 0x531577dc
cmp eax, 0x24f845a
je 0x1009092e
mov eax, 0x57f1e4a5
mov dword [ebp - 0x40], eax
push eax
mov eax, esp
push eax
mov esi, esp
push eax
mov ebx, esp
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov ecx, esp
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
mov dword [esi], eax
mov eax, dword [ebp - 0x10]
mov dword [ebx], eax
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebx]
mov dword [edi], ebx
mov esi, dword [esi]
mov dword [edx], esi
mov dword [ecx], 0
cmp eax, 0x64dcd067
ja 0x10090715
jmp 0x1008ff51
mov eax, dword [0x10142014]
sub eax, dword [0x10142018]
add eax, 0x72e6e9cc
add eax, 0x22294255
imul eax, eax, 0x11f988d5
and eax, 0x76115c03
xor eax, 0xb0510db4
xor eax, 0x3dd663e
sub eax, 0x3fa61619
mov ecx, 0xa8e1d32f
xor edx, edx
div ecx
sub eax, 0x17110866
xor eax, 0x8515118b
xor eax, 0xfcc46de6
sub eax, 0xd22061e8
or eax, 0xf0454100
imul eax, eax, 0xe02ef70b
sub eax, 0x7b665379
mov ecx, 0xfa0c7518
xor edx, edx
div ecx
and eax, 0x679832ac
xor eax, 0xb6453243
and eax, 0xc15f9f6e
mov ecx, 0xaf4d5659
xor edx, edx
div ecx
cmp eax, 0x3d903c34
jae 0x10090968
mov esi, dword [ebp - 0x20]
mov eax, dword [0x1014201c]
xor eax, dword [0x10142020]
or eax, 0x9f4cd7b8
and eax, 0x7dfd66f3
and eax, 0x8672c96e
add eax, 0x13272cba
imul eax, eax, 0xf9ac27df
sub eax, 0x20e0ee08
xor eax, 0x6e0aea72
or eax, 0x45da220d
or eax, 0x8884a80c
xor eax, 0x89fa2d71
add eax, 0x7d492ae6
add eax, 0x7ad9cf1a
and eax, 0x64a50d08
imul eax, eax, 0x7fb8a2eb
xor eax, 0x21a40613
mov ecx, 0x33f42356
xor edx, edx
div ecx
mov ecx, 0xe8751968
xor edx, edx
div ecx
mov ecx, 0xfd69b149
xor edx, edx
div ecx
sub eax, 0x918378d1
sub eax, 0x6ba54a68
mov dword [ebp - 0x48], eax
sub esp, 8
mov dword [esp], 6
mov dword [esp + 4], 0xc
call fcn.1000afb0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c]
add esp, 8
mov eax, dword [ebp - 0x48]
mov esi, dword [esi]
mov edi, dword [edx]
mov bl, byte [esi + edi]
mov ecx, dword [ecx]
mov edx, dword [edx]
mov byte [ecx + edx], bl
cmp eax, 0xb66d6acd
je 0x100907ed
jmp 0x100901b7
jmp 0x1008fe4a
jmp 0x10090093
sub esp, 8
mov dword [esp], 6
mov dword [esp + 4], 0xc
call fcn.1000afb0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
add esp, 8
mov eax, dword [ebp - 0x2c]
mov edx, dword [edx]
mov esi, dword [ecx]
mov dl, byte [edx + esi]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov byte [eax + ecx], dl
jmp 0x10090238
jmp 0x10090400
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x1009051d
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 9
call fcn.1006fdc0
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x28]
mov dword [eax + 4], edx
mov dword [eax], ecx
jmp 0x1009063d
push eax
mov ebx, esp
push eax
mov edx, esp
push eax
mov edi, esp
push eax
mov esi, esp
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebx], eax
mov eax, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x14]
mov dword [edx], ebx
mov ebx, dword [ebp - 0x10]
mov dword [edi], ebx
mov edi, dword [edi]
mov dword [esi], edi
mov edx, dword [edx]
mov dword [ecx], edx
mov dword [eax], 0
jmp 0x10090715
sub esp, 8
mov dword [esp], 6
mov dword [esp + 4], 0xc
call fcn.1000afb0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
add esp, 8
mov eax, dword [ebp - 0x2c]
mov edx, dword [edx]
mov esi, dword [ecx]
mov dl, byte [edx + esi]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov byte [eax + ecx], dl
jmp 0x100907ed