Function at 0x100dfbe0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, 0xffffffff
sub eax, dword [ebp + 0xc]
cmp eax, dword [ebp + 0x10]
jae 0x100e001e
mov eax, dword [0x10145f14]
xor eax, dword [0x10145f18]
mov ecx, 0x6eab213d
xor edx, edx
div ecx
imul eax, eax, 0x648694df
imul eax, eax, 0xc96da964
sub eax, 0xdcf54af0
add eax, 0x9d19bd0e
and eax, 0x33be855f
sub eax, 0x7c7221aa
mov ecx, 0x218a78e7
xor edx, edx
div ecx
xor eax, 0x857aa06b
imul eax, eax, 0x5faecb29
mov ecx, 0x7baf2ed0
xor edx, edx
div ecx
xor eax, 0xe61e0f6
mov ecx, 0x1cf358fa
xor edx, edx
div ecx
and eax, 0xb389ef3c
add eax, 0x8d2fb0f2
sub eax, 0x58593979
mov ecx, 0x3b1024c9
xor edx, edx
div ecx
xor eax, 0xc18751b
imul eax, eax, 0xe87989ed
or eax, 0x6146132b
cmp eax, 0xd3444461
ja 0x100e038f
mov eax, dword [0x10145f1c]
and eax, dword [0x10145f20]
add eax, 0x3f277cd8
mov ecx, 0x6713dbfc
xor edx, edx
div ecx
or eax, 0xde3a7590
sub eax, 0xf121bc61
xor eax, 0xdee90d45
imul eax, eax, 0xfcbe97c9
add eax, 0xb97f9e14
add eax, 0x8cb15c2b
and eax, 0xc689f4a2
mov ecx, 0xd4e8ea52
xor edx, edx
div ecx
imul eax, eax, 0x61650d44
and eax, 0x1bf3f136
or eax, 0xc263994f
sub eax, 0x12b1b955
or eax, 0xed395691
imul eax, eax, 0xcfa7d1f2
or eax, 0x3d6e00d4
or eax, 0x9dba5405
sub eax, 0x5fe4814d
xor eax, 0x8156e1ab
cmp eax, 0xb1aa9251
ja 0x100e0699
mov eax, dword [0x10145f24]
or eax, dword [0x10145f28]
imul eax, eax, 0x47d6f983
mov ecx, 0x3faff99b
xor edx, edx
div ecx
imul eax, eax, 0x6f0683e
mov ecx, 0xf10b599f
xor edx, edx
div ecx
add eax, 0xed4a4fb7
or eax, 0x96e86c08
mov ecx, 0x816033e8
xor edx, edx
div ecx
and eax, 0x9b28204
xor eax, 0xfb40227c
xor eax, 0x4d391165
or eax, 0xc5d078ed
or eax, 0xc374444d
xor eax, 0xd8b9da91
or eax, 0xce0b1346
sub eax, 0x733d4228
imul eax, eax, 0x6ee34581
xor eax, 0x3265b2a4
and eax, 0xbd59bd84
mov ecx, 0xc693690e
xor edx, edx
div ecx
add eax, 0xb817951d
cmp eax, 0xe63bc0a2
setne al
mov byte [ebp - 0x19], al
mov eax, esp
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x216
cmp dword [ebp - 4], 0
jg 0x100dfdc5
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
jmp 0x100dfdda
mov eax, dword [ebp - 4]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [0x10144994]
add eax, dword [0x10144998]
add eax, 0x5ce4eca2
xor eax, 0x9f01dfb3
add eax, 0x880814b6
or eax, 0xc2cb60f6
add eax, 0x311cf506
sub eax, 0x615eee4c
mov ecx, 0xcccb2496
xor edx, edx
div ecx
or eax, 0xd81cc3e6
xor eax, 0x84d5c7d2
and eax, 0x1f3af9b0
add eax, 0x8dfdcb49
mov ecx, 0x4485621a
xor edx, edx
div ecx
xor eax, 0x50277098
sub eax, 0x2651a8d7
xor eax, 0xe6189a91
xor eax, 0xd05b5650
add eax, 0x652eea95
xor eax, 0xcee2eed
sub eax, 0xcb652abd
xor eax, 0x7a4b0a66
cmp eax, 0x7d9bf45
ja 0x100dfe67
jmp 0x100dfe67
mov al, byte [ebp - 0x19]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
mov esp, edx
mov dword [ebp - 0x14], ecx
test al, 1
jne 0x100dfe82
jmp 0x100e0699
mov eax, dword [0x10145f2c]
xor eax, dword [0x10145f30]
or eax, 0xd2616ad4
xor eax, 0xc9fa37e1
sub eax, 0x77f504ea
xor eax, 0xfb991f21
and eax, 0x6a14bd11
and eax, 0xcc081eac
mov ecx, 0xf1c9cf9c
xor edx, edx
div ecx
add eax, 0xff2bb5dd
imul eax, eax, 0xa3fb1113
mov ecx, 0x51ac6277
xor edx, edx
div ecx
imul eax, eax, 0x9ef72d3c
and eax, 0xb03f5de
xor eax, 0xa493dcbf
and eax, 0xc73f9614
mov ecx, 0xe5ac3883
xor edx, edx
div ecx
or eax, 0xfc75fc65
imul eax, eax, 0x91fa19d4
or eax, 0xa9bcba44
or eax, 0xd1042c4a
add eax, 0x4f5c00db
cmp eax, 0x7a4734b3
je 0x100e038f
mov eax, dword [0x10145f34]
imul eax, dword [0x10145f38]
imul eax, eax, 0xc8668c7b
mov ecx, 0x94dcbe03
xor edx, edx
div ecx
imul eax, eax, 0xe6adb721
and eax, 0x7fcf7390
mov ecx, 0xc157ee77
xor edx, edx
div ecx
and eax, 0xf9dd658b
xor eax, 0x784a6db5
and eax, 0x973d9b95
xor eax, 0xd272097b
xor eax, 0x3e1cece1
sub eax, 0xa60c433f
and eax, 0x773855b0
xor eax, 0x355d3f16
xor eax, 0x60c0cccc
imul eax, eax, 0x8af29d0d
and eax, 0xe544c184
imul eax, eax, 0x2aadc852
or eax, 0xc7c0c03e
sub eax, 0x93c6b2fd
mov ecx, 0x233de26c
xor edx, edx
div ecx
cmp eax, 0x49f1037
ja 0x100e076c
mov eax, dword [0x10145f3c]
and eax, dword [0x10145f40]
and eax, 0xe62371a9
and eax, 0x95c8ab99
and eax, 0xbda462fb
and eax, 0xc823456d
imul eax, eax, 0xf6360794
sub eax, 0x3d5a4795
and eax, 0x5c41f9ba
or eax, 0xdff54e21
mov ecx, 0x9bcaa495
xor edx, edx
div ecx
sub eax, 0x286219ba
mov ecx, 0x9685d9d7
xor edx, edx
div ecx
and eax, 0x7df246d4
sub eax, 0x7a6921f
add eax, 0x4814031c
sub eax, 0x6cc2e673
xor eax, 0x385bac6e
sub eax, 0xbfb630b6
or eax, 0xf9c8d959
sub eax, 0x1d40d181
and eax, 0x7976edd
cmp eax, 0x8b698053
ja 0x100e076c
jmp 0x100e0030
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov dword [ebp - 0x14], 0
mov eax, dword [0x10145f44]
add eax, dword [0x10145f48]
and eax, 0xd462cf72
imul eax, eax, 0xa17069e4
mov ecx, 0x36cc7efe
xor edx, edx
div ecx
imul eax, eax, 0x96213838
mov ecx, 0x88e4f5d4
xor edx, edx
div ecx
or eax, 0xe6cade9f
add eax, 0xabb60531
sub eax, 0xaa79d5e2
mov ecx, 0xf3c28973
xor edx, edx
div ecx
or eax, 0x7b9b0341
imul eax, eax, 0xde09ea1d
sub eax, 0x6936e8be
imul eax, eax, 0xaeb823e8
mov ecx, 0xf85ea962
xor edx, edx
div ecx
or eax, 0xd67e2be8
add eax, 0x7853e6c0
xor eax, 0x77ceb340
add eax, 0x2ab694f4
xor eax, 0xb059d817
or eax, 0x8f2941dc
cmp eax, 0xbed09286
jbe 0x100e0771
mov eax, dword [0x10145f4c]
and eax, dword [0x10145f50]
mov ecx, 0xb3383a91
xor edx, edx
div ecx
mov ecx, 0x4b99988
xor edx, edx
div ecx
or eax, 0x66a1f84
or eax, 0x649ee2a4
mov ecx, 0xaa031ecc
xor edx, edx
div ecx
mov ecx, 0x2897257f
xor edx, edx
div ecx
or eax, 0x96f15ccc
and eax, 0x18a17f0a
and eax, 0x3742915
or eax, 0x5ea3712c
and eax, 0xc3b9821f
and eax, 0x56897851
add eax, 0x3b2cc99a
sub eax, 0xe6f9bcdf
and eax, 0x60dc6082
add eax, 0xba73e186
xor eax, 0x792bc8d4
and eax, 0x30c86fc5
and eax, 0x5598221b
add eax, 0x8c4062fd
cmp eax, 0xf9d339fa
je 0x100e00be
mov eax, dword [0x10145f54]
and eax, dword [0x10145f58]
xor eax, 0x7ec39f55
mov ecx, 0xd36965ef
xor edx, edx
div ecx
xor eax, 0x91f84838
sub eax, 0xeb7335e1
or eax, 0xdb575eb9
or eax, 0x33aa7d01
imul eax, eax, 0x3bd31dd8
and eax, 0xd66c8b62
xor eax, 0x7aa5233a
add eax, 0xa83c281c
mov ecx, 0x8d713cb8
xor edx, edx
div ecx
mov ecx, 0xe047a48f
xor edx, edx
div ecx
mov ecx, 0x5bbd16d3
xor edx, edx
div ecx
and eax, 0x8c2c9a76
xor eax, 0x1708d607
and eax, 0x2038d4a0
and eax, 0x7c74b40b
or eax, 0x2d3b565c
and eax, 0x44b053f9
sub eax, 0x18549933
cmp eax, 0x825a659c
jbe 0x100e0576
mov eax, dword [0x10145f5c]
imul eax, dword [0x10145f60]
imul eax, eax, 0xd09093cb
sub eax, 0x2e14e2ad
sub eax, 0xec26c1d7
sub eax, 0xe320af15
imul eax, eax, 0xc656d9ec
add eax, 0xf0528cd3
sub eax, 0x32550649
imul eax, eax, 0xc83fbff2
or eax, 0x612df78f
mov ecx, 0x4116769f
xor edx, edx
div ecx
imul eax, eax, 0x8bbcf92c
add eax, 0xedf15637
xor eax, 0x393bb4ff
add eax, 0x1304d631
mov ecx, 0xdeb865b5
xor edx, edx
div ecx
imul eax, eax, 0x24ab0167
xor eax, 0x111c450
add eax, 0xf8243aff
add eax, 0xd01cd78b
xor eax, 0x97d792b
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x28], ecx
cmp eax, 0x319212b0
je 0x100e01d3
mov eax, dword [0x10145f64]
and eax, dword [0x10145f68]
and eax, 0x6d325081
imul eax, eax, 0xbd552a78
sub eax, 0xf9573a36
or eax, 0xf2563d97
imul eax, eax, 0x4d15fe5f
add eax, 0xaf39ee4b
mov ecx, 0xec94d471
xor edx, edx
div ecx
xor eax, 0x8f3bee6e
mov ecx, 0xc4cabe02
xor edx, edx
div ecx
add eax, 0xa19274e1
imul eax, eax, 0xd3c0d29
sub eax, 0x7b97bb72
mov ecx, 0xc656c4ce
xor edx, edx
div ecx
or eax, 0x7e1f5dd3
mov ecx, 0x71c0800
xor edx, edx
div ecx
xor eax, 0x54a4f2b7
and eax, 0xd546f12f
xor eax, 0xdf6e684
xor eax, 0x862cfc0d
xor eax, 0x1d4a2c33
cmp eax, 0x4a1d0bed
je 0x100e0776
mov eax, dword [0x10145f6c]
sub eax, dword [0x10145f70]
imul eax, eax, 0x711acef3
add eax, 0x8d4516ec
mov ecx, 0x61092ecb
xor edx, edx
div ecx
add eax, 0x767b6e03
imul eax, eax, 0xba517737
xor eax, 0xb98069b8
mov ecx, 0x5c8e7f92
xor edx, edx
div ecx
sub eax, 0xa9c6d0e2
xor eax, 0x3ab3a1da
or eax, 0x677930d2
mov ecx, 0x22700286
xor edx, edx
div ecx
mov ecx, 0x89ccfa98
xor edx, edx
div ecx
xor eax, 0xe0a6d0ca
and eax, 0x9a9fbb0e
and eax, 0x33ff147
mov ecx, 0x4bbb1d5f
xor edx, edx
div ecx
mov ecx, 0x180c3fc3
xor edx, edx
div ecx
sub eax, 0xcde13094
mov ecx, 0x6b810f56
xor edx, edx
div ecx
imul eax, eax, 0x18064625
cmp eax, 0xab7c2e78
jae 0x100e02ee
mov eax, dword [ebp - 0x28]
add esp, 0x50
pop ebp
ret
mov eax, dword [0x10145f74]
xor eax, dword [0x10145f78]
and eax, 0x199529b2
xor eax, 0xf33d4300
and eax, 0x7748aef3
xor eax, 0x1da5c946
or eax, 0x82d3ef31
and eax, 0xd1372ba2
and eax, 0x8e197bdd
add eax, 0xd2904ec4
add eax, 0x94f269df
sub eax, 0x2f78bc1
and eax, 0x5fa54844
and eax, 0x2e7fa95d
mov ecx, 0x1cfe6bd9
xor edx, edx
div ecx
xor eax, 0xf650e016
xor eax, 0xf8889e56
and eax, 0x699c5120
add eax, 0x5c45a0cb
and eax, 0xbe5be537
xor eax, 0xc571de9e
sub eax, 0x7c90af0c
cmp eax, 0x9c963fa3
jae 0x100e077b
mov eax, dword [0x10145f7c]
xor eax, dword [0x10145f80]
xor eax, 0x812cb0cf
imul eax, eax, 0x41ad0b2f
or eax, 0x5d306ee4
mov ecx, 0xe0719255
xor edx, edx
div ecx
add eax, 0xcc1bbae0
or eax, 0x1571efbe
imul eax, eax, 0x4a9ebc23
mov ecx, 0x5ca343bb
xor edx, edx
div ecx
add eax, 0x41b9676f
imul eax, eax, 0x9a908b35
add eax, 0x38e67a22
imul eax, eax, 0xc5f90647
xor eax, 0xa42340a9
and eax, 0xacb0dfdc
or eax, 0x7fc36907
add eax, 0x36d1e7a8
sub eax, 0x274bef69
sub eax, 0x3fd057eb
xor eax, 0x435cd014
or eax, 0xdc12d78c
cmp eax, 0xb054166f
seta al
mov byte [ebp - 0x2d], al
mov eax, esp
mov dword [ebp - 0x2c], eax
mov dword [ebp - 8], 0x216
cmp dword [ebp - 8], 0
jg 0x100e04b4
mov eax, dword [ebp - 8]
mov dword [ebp - 0x34], eax
jmp 0x100e04c9
mov eax, dword [ebp - 8]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [0x10144994]
add eax, dword [0x10144998]
add eax, 0x5ce4eca2
xor eax, 0x9f01dfb3
add eax, 0x880814b6
or eax, 0xc2cb60f6
add eax, 0x311cf506
sub eax, 0x615eee4c
mov ecx, 0xcccb2496
xor edx, edx
div ecx
or eax, 0xd81cc3e6
xor eax, 0x84d5c7d2
and eax, 0x1f3af9b0
add eax, 0x8dfdcb49
mov ecx, 0x4485621a
xor edx, edx
div ecx
xor eax, 0x50277098
sub eax, 0x2651a8d7
xor eax, 0xe6189a91
xor eax, 0xd05b5650
add eax, 0x652eea95
xor eax, 0xcee2eed
sub eax, 0xcb652abd
xor eax, 0x7a4b0a66
cmp eax, 0x7d9bf45
ja 0x100e0556
jmp 0x100e0556
mov al, byte [ebp - 0x2d]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x2c]
mov esp, edx
mov dword [ebp - 0x14], ecx
test al, 1
jne 0x100e0571
jmp 0x100e077b
jmp 0x100dfc92
mov eax, dword [0x10145f84]
xor edx, edx
div dword [0x10145f88]
sub eax, 0x9aa634f
or eax, 0x36f2616a
sub eax, 0xe0330658
mov ecx, 0x434da611
xor edx, edx
div ecx
mov ecx, 0xa9b71f98
xor edx, edx
div ecx
imul eax, eax, 0x2ae9ad82
xor eax, 0x5e4c76ae
sub eax, 0xbdb0fbf7
or eax, 0x42457d53
sub eax, 0x2e362cba
sub eax, 0x32800e7d
mov ecx, 0x65237457
xor edx, edx
div ecx
xor eax, 0x2317ecf
mov ecx, 0x7106d594
xor edx, edx
div ecx
and eax, 0xf75ed3ed
imul eax, eax, 0xa5ec829c
xor eax, 0x4c52eaba
and eax, 0xc2fc77d6
sub eax, 0x90a98a84
add eax, 0x51b07c66
cmp eax, 0x49e0a15b
jae 0x100e084e
mov eax, dword [0x10145f8c]
imul eax, dword [0x10145f90]
sub eax, 0xd92d9e1f
add eax, 0x5326dd97
mov ecx, 0xee2e8536
xor edx, edx
div ecx
or eax, 0x77108117
mov ecx, 0xf70e39ba
xor edx, edx
div ecx
xor eax, 0x794594e7
mov ecx, 0x428f067f
xor edx, edx
div ecx
sub eax, 0x2215c56b
sub eax, 0x5587a5ce
and eax, 0x1472bd7d
mov ecx, 0x753a6e6d
xor edx, edx
div ecx
or eax, 0xa27fc3bc
sub eax, 0x70d689b3
sub eax, 0xc0840052
add eax, 0x91adf53
and eax, 0x5df2c32f
sub eax, 0x59a3cce9
mov ecx, 0xab6421d5
xor edx, edx
div ecx
and eax, 0x7e11ba39
imul eax, eax, 0xec24a5e6
cmp eax, 0xf2236117
ja 0x100e0604
jmp 0x100e01d3
mov eax, esp
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0xc], 0x216
cmp dword [ebp - 0xc], 0
jg 0x100e06ba
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x40], eax
jmp 0x100e06cf
mov eax, dword [ebp - 0xc]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov eax, dword [0x10144994]
add eax, dword [0x10144998]
add eax, 0x5ce4eca2
xor eax, 0x9f01dfb3
add eax, 0x880814b6
or eax, 0xc2cb60f6
add eax, 0x311cf506
sub eax, 0x615eee4c
mov ecx, 0xcccb2496
xor edx, edx
div ecx
or eax, 0xd81cc3e6
xor eax, 0x84d5c7d2
and eax, 0x1f3af9b0
add eax, 0x8dfdcb49
mov ecx, 0x4485621a
xor edx, edx
div ecx
xor eax, 0x50277098
sub eax, 0x2651a8d7
xor eax, 0xe6189a91
xor eax, 0xd05b5650
add eax, 0x652eea95
xor eax, 0xcee2eed
sub eax, 0xcb652abd
xor eax, 0x7a4b0a66
cmp eax, 0x7d9bf45
ja 0x100e075c
jmp 0x100e075c
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov esp, ecx
mov dword [ebp - 0x14], eax
jmp 0x100dfd17
jmp 0x100dff96
jmp 0x100e00be
jmp 0x100e02ee
mov eax, esp
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0x216
cmp dword [ebp - 0x10], 0
jg 0x100e079c
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x4c], eax
jmp 0x100e07b1
mov eax, dword [ebp - 0x10]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
mov eax, dword [0x10144994]
add eax, dword [0x10144998]
add eax, 0x5ce4eca2
xor eax, 0x9f01dfb3
add eax, 0x880814b6
or eax, 0xc2cb60f6
add eax, 0x311cf506
sub eax, 0x615eee4c
mov ecx, 0xcccb2496
xor edx, edx
div ecx
or eax, 0xd81cc3e6
xor eax, 0x84d5c7d2
and eax, 0x1f3af9b0
add eax, 0x8dfdcb49
mov ecx, 0x4485621a
xor edx, edx
div ecx
xor eax, 0x50277098
sub eax, 0x2651a8d7
xor eax, 0xe6189a91
xor eax, 0xd05b5650
add eax, 0x652eea95
xor eax, 0xcee2eed
sub eax, 0xcb652abd
xor eax, 0x7a4b0a66
cmp eax, 0x7d9bf45
ja 0x100e083e
jmp 0x100e083e
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
mov esp, ecx
mov dword [ebp - 0x14], eax
jmp 0x100e040d
jmp 0x100e0604