Function at 0x10109f80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add eax, 0
add ecx, eax
call fcn.10109a30
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x1010a667
mov eax, dword [0x1014ee68]
and eax, dword [0x1014ee6c]
sub eax, 0x67ea69c2
and eax, 0x4b7818c4
xor eax, 0xe90f5188
imul eax, eax, 0x803af1b2
add eax, 0x753879e3
imul eax, eax, 0xacbabe8a
add eax, 0x74843e36
mov ecx, 0xb81c8858
xor edx, edx
div ecx
add eax, 0xd44c00d5
or eax, 0xf309cb81
imul eax, eax, 0x78b7538a
imul eax, eax, 0x58c49dfd
and eax, 0xff6610c2
xor eax, 0xe195356f
sub eax, 0x3f809c6d
and eax, 0xea6a99ed
imul eax, eax, 0xb8225d49
add eax, 0x48f66553
imul eax, eax, 0xfb8e76b0
or eax, 0xd4fe6758
imul eax, eax, 0x4383c0bc
and eax, 0xa49f4c9b
mov ecx, 0x239d790c
xor edx, edx
div ecx
mov ecx, 0xe9aa183b
xor edx, edx
div ecx
xor eax, 0x1396b572
add eax, 0x3fa6e4e0
xor eax, 0x5228859
mov ecx, 0x2c29e26c
xor edx, edx
div ecx
or eax, 0x4b0f63da
sub eax, 0x93ca8f89
imul eax, eax, 0xc80aede9
mov ecx, 0x3ce071a6
xor edx, edx
div ecx
mov ecx, 0xc0bee5d8
xor edx, edx
div ecx
cmp eax, 0x4b6462d7
je 0x1010a9d9
mov eax, dword [0x1014ee70]
sub eax, dword [0x1014ee74]
add eax, 0x7ce5619
and eax, 0xc20039cf
add eax, 0x3311f641
xor eax, 0x946c65ac
imul eax, eax, 0x2058d9c7
xor eax, 0x9a21f72e
xor eax, 0x88fdea5a
imul eax, eax, 0xb9f4244b
and eax, 0xbcb345cf
and eax, 0x426f1698
and eax, 0xf741c24c
or eax, 0x3b7eab6
sub eax, 0xb097c675
sub eax, 0x44c64baa
sub eax, 0xadefb745
or eax, 0xcd1ecbc7
or eax, 0x739b4787
xor eax, 0x1a2c1138
imul eax, eax, 0xa96e8407
sub eax, 0x1979ea92
or eax, 0xe6345825
imul eax, eax, 0x5ae52a45
add eax, 0x443613d6
sub eax, 0x58c74f7b
sub eax, 0x6898558d
xor eax, 0x62bc9d8e
and eax, 0xd39239c3
sub eax, 0xc72c00fb
mov ecx, 0x7696e14d
xor edx, edx
div ecx
and eax, 0xe9481a2a
add eax, 0xab83b963
imul eax, eax, 0x7773244c
and eax, 0x7e9ae2e3
cmp eax, 0x478d2ec8
jae 0x1010a9d9
mov eax, dword [0x1014ee78]
imul eax, dword [0x1014ee7c]
or eax, 0x21a11728
and eax, 0xd1bba5ba
imul eax, eax, 0xd6e67db2
and eax, 0xfac4089f
xor eax, 0xe13b8ed
sub eax, 0x28a56d44
add eax, 0x4c07716f
imul eax, eax, 0x4128d566
sub eax, 0xccf5f97a
add eax, 0xf4e500a6
mov ecx, 0x1cb31b50
xor edx, edx
div ecx
imul eax, eax, 0x95d8e3a4
mov ecx, 0x3a392e8a
xor edx, edx
div ecx
sub eax, 0xdd4df118
and eax, 0xc01f368a
or eax, 0x29d15015
imul eax, eax, 0x11f506bd
add eax, 0xf0a2e139
xor eax, 0x65392356
or eax, 0x97ef28bd
imul eax, eax, 0x7c3183c8
or eax, 0xc5d46cf4
mov ecx, 0xb8108d5c
xor edx, edx
div ecx
sub eax, 0xa7873b8d
or eax, 0xcb0da6bc
imul eax, eax, 0xf277e122
add eax, 0x61a7cff2
mov ecx, 0x86cfa45
xor edx, edx
div ecx
mov ecx, 0x1295e0c3
xor edx, edx
div ecx
add eax, 0xa7fef4a7
add eax, 0x1cf14bf7
add eax, 0xed714bc6
mov ecx, 0xde6214d5
xor edx, edx
div ecx
cmp eax, 0x68215c5c
jae 0x1010a81a
mov eax, dword [0x1014ee80]
xor eax, dword [0x1014ee84]
or eax, 0x743560b4
imul eax, eax, 0xa02203a2
xor eax, 0xa1db66cb
sub eax, 0xf2c987ca
add eax, 0x6a8f5352
and eax, 0xa2e15a2b
imul eax, eax, 0x3a159128
or eax, 0xd8dca99a
add eax, 0xda7ae9da
or eax, 0xd081c4d1
and eax, 0x6ee5257b
or eax, 0x22a09211
and eax, 0x3b3b685b
xor eax, 0x605c3d18
sub eax, 0xbd38765e
add eax, 0xd286b33a
and eax, 0x70d3c300
xor eax, 0x64954acb
add eax, 0xa687a023
sub eax, 0x75ce5e01
mov ecx, 0x1e07f1e7
xor edx, edx
div ecx
or eax, 0x1202ebbf
xor eax, 0xbd870077
add eax, 0x93b2bbbb
or eax, 0x764d6ebd
imul eax, eax, 0x28a8deaf
and eax, 0x41597f4f
and eax, 0x3ab64754
mov ecx, 0xf0c39694
xor edx, edx
div ecx
add eax, 0xaf6920d3
add eax, 0xc3aef793
mov ecx, 0x6b5ea3a0
xor edx, edx
div ecx
imul eax, eax, 0xdc4b2b98
cmp eax, 0x11da4a9e
jb 0x1010a9de
mov eax, dword [0x1014ee88]
imul eax, dword [0x1014ee8c]
and eax, 0x6e0bcbd0
sub eax, 0xfa0aa3e6
or eax, 0x8630a82f
or eax, 0x4174bb4a
sub eax, 0xaa6e2f2
xor eax, 0xcd2d2946
mov ecx, 0xb4d6e836
xor edx, edx
div ecx
mov ecx, 0x56686052
xor edx, edx
div ecx
and eax, 0x5389b96a
add eax, 0xeb70cab6
xor eax, 0x9b6d3674
mov ecx, 0xb7d99825
xor edx, edx
div ecx
and eax, 0xf1fa4684
and eax, 0xe7b56dd3
or eax, 0x8863dedb
sub eax, 0x835f2e39
add eax, 0x236c5bb1
imul eax, eax, 0x5451199c
and eax, 0xd26bde34
and eax, 0xba56962a
mov ecx, 0x6b57518
xor edx, edx
div ecx
add eax, 0xb106fa8d
imul eax, eax, 0xbfd01f18
or eax, 0xb7bdb803
imul eax, eax, 0xc6900060
add eax, 0x214b6f97
and eax, 0xc6e3032d
or eax, 0x643a4d7f
xor eax, 0x2c91be04
imul eax, eax, 0x6e6f3466
or eax, 0xe38eed62
imul eax, eax, 0x29f4e63f
xor eax, 0xbec1d6f1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x10]
cmp eax, 0xb0587078
jae 0x1010a2f9
mov eax, dword [0x1014ee90]
imul eax, dword [0x1014ee94]
xor eax, 0xe276bfe7
add eax, 0xd56120fc
or eax, 0x545f5e55
add eax, 0xaf7731e8
and eax, 0x33b806ec
mov ecx, 0x97aaf26d
xor edx, edx
div ecx
and eax, 0xa1c7d339
and eax, 0x5cffdaae
imul eax, eax, 0x6bf0fce0
sub eax, 0x9889cf34
sub eax, 0xca478cf
add eax, 0x3bb03c23
imul eax, eax, 0x78015bf0
sub eax, 0x33c462be
and eax, 0xf13e30a1
or eax, 0xa31b674d
and eax, 0xb51f3ff4
sub eax, 0x1510517e
or eax, 0x7032b820
xor eax, 0x77bda514
add eax, 0x7e756d6b
sub eax, 0x4f2a1382
add eax, 0x34ce18c2
and eax, 0xf79df45
add eax, 0x622abee0
xor eax, 0xab7c4528
and eax, 0x8496b620
add eax, 0x8c176f2a
add eax, 0x96f36e7f
add eax, 0xd94775e
imul eax, eax, 0x1b12a80c
add eax, 0x89cf2a1f
add eax, 0x6d7ce07e
cmp eax, 0x6322fd0b
jb 0x1010a22e
mov eax, dword [0x1014ee98]
or eax, dword [0x1014ee9c]
add eax, 0xe9d6cb64
imul eax, eax, 0x6d509060
and eax, 0x54f6d2a2
xor eax, 0x82360cc9
mov ecx, 0x7ce0ddde
xor edx, edx
div ecx
or eax, 0x453939eb
mov ecx, 0x81b4328e
xor edx, edx
div ecx
imul eax, eax, 0x54785946
xor eax, 0x2c542a3a
mov ecx, 0x6bd12e2e
xor edx, edx
div ecx
xor eax, 0xf0fda21f
xor eax, 0x2edb1265
xor eax, 0x9cf3dde4
xor eax, 0x491673d9
mov ecx, 0x9541894d
xor edx, edx
div ecx
imul eax, eax, 0x7c601896
imul eax, eax, 0x28acb70
and eax, 0xfc5f8c68
xor eax, 0x5d3ae436
mov ecx, 0x32f2e136
xor edx, edx
div ecx
or eax, 0xd16ea3bc
mov ecx, 0xae9a80e8
xor edx, edx
div ecx
imul eax, eax, 0xc8364e9e
xor eax, 0xf5ceb722
sub eax, 0x8a70de21
mov ecx, 0xe915f768
xor edx, edx
div ecx
xor eax, 0x5b37cd67
or eax, 0xc7f97a83
sub eax, 0x9e0687dd
or eax, 0x6daba06a
or eax, 0x1f934e16
add eax, 0x382566e2
mov ecx, 0x4baabce1
xor edx, edx
div ecx
cmp eax, 0xf4d99b58
ja 0x1010a9eb
mov eax, dword [0x1014eea0]
imul eax, dword [0x1014eea4]
add eax, 0x9cb656ec
and eax, 0xc8529eb9
mov ecx, 0xe06efa32
xor edx, edx
div ecx
and eax, 0x9b0b2a2a
add eax, 0x513557a3
mov ecx, 0x7a03eaa7
xor edx, edx
div ecx
sub eax, 0x6c3cb395
or eax, 0xc08c001
mov ecx, 0x161d3020
xor edx, edx
div ecx
mov ecx, 0xb9d6d3a0
xor edx, edx
div ecx
xor eax, 0xaa4def3d
or eax, 0x9c393135
or eax, 0xc7dad3f0
and eax, 0x8d1d3aca
or eax, 0x1841ebea
or eax, 0x7b26ba2b
sub eax, 0xddbcf838
or eax, 0xfec6bbae
mov ecx, 0x35b20f74
xor edx, edx
div ecx
mov ecx, 0x8b86ec73
xor edx, edx
div ecx
imul eax, eax, 0x4e33ee38
add eax, 0x45d0a0b9
or eax, 0x7253d6be
mov ecx, 0x1c96cd1a
xor edx, edx
div ecx
or eax, 0x6c308e43
or eax, 0x2f5bba47
or eax, 0x5702faee
mov ecx, 0x56d56256
xor edx, edx
div ecx
mov ecx, 0xcca3eb30
xor edx, edx
div ecx
imul eax, eax, 0x3bdce365
xor eax, 0x7e532d5e
mov ecx, 0x6dc089d7
xor edx, edx
div ecx
imul eax, eax, 0x32e5f381
cmp eax, 0x43115f1a
ja 0x1010a57b
jmp 0x1010a667
mov eax, dword [0x1014eea8]
or eax, dword [0x1014eeac]
add eax, 0xb2c0ef6d
sub eax, 0x1857036d
mov ecx, 0x9c60f624
xor edx, edx
div ecx
mov ecx, 0x92b34ce2
xor edx, edx
div ecx
sub eax, 0x70b3df7e
sub eax, 0x27aee017
imul eax, eax, 0xc3d971b7
or eax, 0x35ed8021
xor eax, 0x73a8f119
xor eax, 0x2fc8f43a
or eax, 0xac354289
add eax, 0xb081d01b
sub eax, 0x95f588b1
mov ecx, 0xc32acb98
xor edx, edx
div ecx
mov ecx, 0x50ae8b3d
xor edx, edx
div ecx
xor eax, 0xd0dce78b
or eax, 0x636d4de4
xor eax, 0x8fcacc78
or eax, 0xa89472bb
add eax, 0xf9e1789a
or eax, 0x83121048
and eax, 0xc4751aea
imul eax, eax, 0x39557ac3
imul eax, eax, 0x417d5fe4
and eax, 0xba9853fc
add eax, 0xe140aa7d
imul eax, eax, 0x5b6b7802
add eax, 0x6b130bb
imul eax, eax, 0x9f53ba25
sub eax, 0xe873c64e
sub eax, 0xa2d00051
imul eax, eax, 0xc256d5ea
imul eax, eax, 0xbd5d8f81
cmp eax, 0xb3013b53
jb 0x1010a9f0
mov eax, dword [0x1014eeb0]
xor edx, edx
div dword [str.PEc_r]
and eax, 0x25434c2b
imul eax, eax, 0x3b0ffaea
add eax, 0x1112ab0b
or eax, 0x1427d700
xor eax, 0x2be063da
and eax, 0x9fc50bd0
add eax, 0xcac59e16
mov ecx, 0x5a4be36f
xor edx, edx
div ecx
xor eax, 0xd0b969b4
sub eax, 0x70002a54
add eax, 0xac8f5187
xor eax, 0xb72cda98
and eax, 0x95dbcb99
mov ecx, 0x6b430758
xor edx, edx
div ecx
imul eax, eax, 0x48423df0
mov ecx, 0x30fc7f5f
xor edx, edx
div ecx
xor eax, 0x7c86e73d
xor eax, 0x3d060535
and eax, 0x13afee4d
sub eax, 0x7dc3ea03
xor eax, 0xea4579a3
and eax, 0x66c4509
xor eax, 0x7fe87d98
and eax, 0x4716b8bc
imul eax, eax, 0xcf1e8371
and eax, 0x16076b0c
mov ecx, 0xb0e89a11
xor edx, edx
div ecx
sub eax, 0xada233de
xor eax, 0x61451afe
xor eax, 0xe4128694
add eax, 0x9b5b5c3c
xor eax, 0x35988ace
imul eax, eax, 0x29587bab
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x14], ecx
cmp eax, 0x3924e88
jbe 0x1010a9f0
mov eax, dword [ebp - 0x14]
add esp, 0x18
pop ebp
ret 4
mov eax, dword [0x1014eeb8]
imul eax, dword [0x1014eebc]
imul eax, eax, 0xe0fbfe02
imul eax, eax, 0x121d9563
mov ecx, 0xf10ab287
xor edx, edx
div ecx
add eax, 0xa713ee53
imul eax, eax, 0xfc577970
and eax, 0xbed1a1a
and eax, 0xc792803d
sub eax, 0x7254dc4
xor eax, 0xeabf83cb
sub eax, 0x79a9745e
or eax, 0x70e17660
xor eax, 0x2ee8b8b5
and eax, 0x1ca4abff
and eax, 0x8440433f
xor eax, 0x36dbad76
and eax, 0x737c2672
sub eax, 0x7e8b387c
and eax, 0x957ad4e8
and eax, 0x69d3325e
and eax, 0x63246567
or eax, 0xe453034f
and eax, 0x3658b1d4
xor eax, 0x76e545ce
or eax, 0x8c5babfb
mov ecx, 0x7e28d8ef
xor edx, edx
div ecx
mov ecx, 0x8c8eff84
xor edx, edx
div ecx
mov ecx, 0x890ef291
xor edx, edx
div ecx
imul eax, eax, 0xc649a477
mov ecx, 0xa5a4a275
xor edx, edx
div ecx
imul eax, eax, 0x42fd2a87
add eax, 0xe3a783e4
xor eax, 0x95034f04
xor eax, 0xb25a759f
cmp eax, 0x8deaab
jbe 0x1010a9f5
mov eax, dword [0x1014eec0]
add eax, dword [0x1014eec4]
mov ecx, 0xf80c7a6d
xor edx, edx
div ecx
imul eax, eax, 0xf2da9fb3
mov ecx, 0xdd0a53f3
xor edx, edx
div ecx
imul eax, eax, 0xb89d30f9
add eax, 0x75186ed2
xor eax, 0xeb119c8a
sub eax, 0x535b9e1c
mov ecx, 0x5d220937
xor edx, edx
div ecx
or eax, 0xe77d375f
xor eax, 0xf4b82040
imul eax, eax, 0x83b4dd10
and eax, 0x654718ad
or eax, 0xec098967
or eax, 0x5b72a07e
sub eax, 0x61691138
add eax, 0x4eb20f06
or eax, 0xa560719c
mov ecx, 0x777f38db
xor edx, edx
div ecx
mov ecx, 0xd30f76f4
xor edx, edx
div ecx
or eax, 0x63fb4905
xor eax, 0x743ddd05
or eax, 0x98fa4f33
xor eax, 0x48acb3ce
and eax, 0x79218a42
xor eax, 0xa38f2753
and eax, 0x6f8289bd
imul eax, eax, 0x3fdfd92a
and eax, 0x6baabf81
sub eax, 0x7aaab9c9
xor eax, 0x658c0cf6
or eax, 0x2270784a
add eax, 0xc7ddadb1
mov ecx, 0x631621d5
xor edx, edx
div ecx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 0x6156b9e2
je 0x1010a8ef
jmp 0x1010a22e
jmp 0x1010a090
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1010a2f9
jmp 0x1010a57b
jmp 0x1010a739
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1010a8ef