Function at 0x100de680
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x48
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x10145e14]
and eax, dword [0x10145e18]
add eax, 0xd0c00f6e
sub eax, 0x3c3caac6
add eax, 0x611d4dd4
add eax, 0xefcdc500
sub eax, 0xce7dd7f6
or eax, 0x352962ab
add eax, 0xe92ff2a1
and eax, 0x1fda6f0d
and eax, 0x3935fb6d
or eax, 0x36705013
imul eax, eax, 0xd556683e
add eax, 0x8be30cea
imul eax, eax, 0x7d8d925e
add eax, 0xe4cba59c
or eax, 0x5496e697
and eax, 0xc778bb6e
and eax, 0xe391df00
and eax, 0x1706f852
imul eax, eax, 0xaa608ff7
add eax, 0x402f3f0e
cmp eax, 0x15b1cb73
jb 0x100df334
mov eax, dword [0x10145e1c]
imul eax, dword [0x10145e20]
add eax, 0xeac4ccf2
imul eax, eax, 0xac402f1a
xor eax, 0x6b82a50
imul eax, eax, 0xff6f0879
mov ecx, 0xcc982de4
xor edx, edx
div ecx
add eax, 0x2f669392
and eax, 0x1e3ef6f2
sub eax, 0x8e6c117b
xor eax, 0x4185f7f7
add eax, 0x1e24c329
and eax, 0x3f487533
and eax, 0x8d0553cc
and eax, 0x5be0c520
add eax, 0xb869ec47
and eax, 0x469201d9
mov ecx, 0xbe372da6
xor edx, edx
div ecx
add eax, 0x62ad05af
add eax, 0xdeb64f42
add eax, 0x103cf155
and eax, 0x9b857578
cmp eax, 0xf9ae6f3e
je 0x100df334
mov eax, dword [0x10145e24]
xor edx, edx
div dword [0x10145e28]
imul eax, eax, 0xf1548eb1
imul eax, eax, 0xf6540e2
or eax, 0x30b08fa6
add eax, 0x435f23c9
sub eax, 0x662c393c
sub eax, 0x914fdd42
sub eax, 0x7b8fc67e
add eax, 0x5e76199c
or eax, 0x7b55f0ac
and eax, 0x8bb340b
and eax, 0x6ccac441
sub eax, 0xadd7d302
sub eax, 0x44219fa9
sub eax, 0x397ec597
xor eax, 0xe1b0d53f
add eax, 0x10bf334e
sub eax, 0xc8f98d34
add eax, 0xd4e4ce6d
xor eax, 0x3fce695b
add eax, 0x64ba1eb8
cmp eax, 0x2b615d24
jbe 0x100df128
mov eax, dword [0x10145e2c]
and eax, dword [0x10145e30]
xor eax, 0x2e9d02c3
imul eax, eax, 0x21685f2
xor eax, 0x48d5dc66
xor eax, 0xa9ea267a
and eax, 0x2d0ade90
or eax, 0x442b0c5b
mov ecx, 0x5661c406
xor edx, edx
div ecx
imul eax, eax, 0xa8335d8f
or eax, 0xbfadf232
add eax, 0xc528ef00
or eax, 0xaaede7f7
sub eax, 0xa1b0fcec
xor eax, 0x104635c3
and eax, 0xbe1e3fb5
imul eax, eax, 0x272b5a9d
or eax, 0x9f13568b
add eax, 0x7db8f0cf
imul eax, eax, 0x21d8c243
mov ecx, 0xdd81f980
xor edx, edx
div ecx
and eax, 0xc1b4b1e7
cmp eax, 0xbd869a6d
je 0x100df339
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
mov eax, 0x42ca3866
push eax
mov ecx, esp
mov dword [ebp - 0x34], ecx
push eax
mov edx, esp
mov dword [ebp - 0x30], edx
push eax
mov esi, esp
mov dword [ebp - 0x2c], esi
push eax
mov ecx, esp
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x20]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x28]
mov dword [esi], ebx
mov dword [ecx], edi
mov ecx, 0xffffffff
sub ecx, dword [esi]
cmp ecx, dword [edx]
setb cl
mov byte [ebp - 0x21], cl
cmp eax, 0x351a0962
jbe 0x100de8a1
mov eax, dword [0x10145e3c]
add eax, dword [0x10145e40]
add eax, 0xf677af2b
mov ecx, 0x64d99d5
xor edx, edx
div ecx
mov ecx, 0xb5070899
xor edx, edx
div ecx
add eax, 0x6579b3a7
xor eax, 0xf40dc999
xor eax, 0xb9c7d59d
mov ecx, 0x2501d199
xor edx, edx
div ecx
add eax, 0xe9a157d4
and eax, 0xbb15bd37
sub eax, 0xb322626e
sub eax, 0x38970a3
add eax, 0x8ed3c553
add eax, 0x39ffa9d5
sub eax, 0xdbc4170d
and eax, 0x124d014a
and eax, 0xda27e8ec
and eax, 0x6b3682a9
mov ecx, 0x2001c568
xor edx, edx
div ecx
and eax, 0x603e607d
and eax, 0x36ff868f
cmp eax, 0xb2587187
ja 0x100de81b
mov eax, dword [0x10145e44]
or eax, dword [0x10145e48]
imul eax, eax, 0xccf9aeb9
add eax, 0x3093b46b
xor eax, 0xe9bf171e
xor eax, 0x34b07742
and eax, 0x5b629a5b
and eax, 0xb147b2f
or eax, 0x1c96ad4e
sub eax, 0x7748b3ac
sub eax, 0x7861d989
mov ecx, 0xfe86a962
xor edx, edx
div ecx
or eax, 0xe95fe0e6
imul eax, eax, 0x91bbb3e
sub eax, 0x513fc59f
and eax, 0xd186d3a7
mov ecx, 0x79ff8408
xor edx, edx
div ecx
and eax, 0xf95649c
sub eax, 0x8c58428c
and eax, 0x81fe8e9d
sub eax, 0xa597888c
imul eax, eax, 0x45637cf5
cmp eax, 0x60b8cfac
jbe 0x100df357
mov eax, dword [0x10145e4c]
and eax, dword [0x10145e50]
sub eax, 0xc53f62e5
or eax, 0xb5db192c
mov ecx, 0x211c2746
xor edx, edx
div ecx
add eax, 0xe809f0b4
sub eax, 0xbbee05d8
and eax, 0x5da0a8fe
imul eax, eax, 0xdb714d8a
add eax, 0x28fe7fb1
and eax, 0x6071d638
sub eax, 0x50de38c3
or eax, 0x62db3bda
xor eax, 0xa0f9d36
add eax, 0xcc7d454e
sub eax, 0x46f8575b
mov ecx, 0x34ca0dd0
xor edx, edx
div ecx
or eax, 0x4307a115
or eax, 0x8c2a67ad
mov ecx, 0xc10eebdc
xor edx, edx
div ecx
xor eax, 0x9c9ed0d8
or eax, 0xd5cd46f6
cmp eax, 0xda8e070a
jb 0x100de9f9
mov al, byte [ebp - 0x21]
test al, 1
jne 0x100dea90
jmp 0x100deda4
mov eax, dword [0x10145e54]
or eax, dword [0x10145e58]
sub eax, 0xc15a9c99
sub eax, 0x2036e42e
mov ecx, 0x56810ba
xor edx, edx
div ecx
sub eax, 0x6986c855
imul eax, eax, 0x93763831
sub eax, 0x6b71d97b
mov ecx, 0x981b6b45
xor edx, edx
div ecx
imul eax, eax, 0x1624d841
xor eax, 0x1c6da5eb
mov ecx, 0xa5d81129
xor edx, edx
div ecx
imul eax, eax, 0x91faec34
sub eax, 0xf536b996
sub eax, 0x1430fe7b
imul eax, eax, 0x293c6fa5
imul eax, eax, 0x20590d10
or eax, 0x2711daf7
sub eax, 0xcb7ebd88
and eax, 0x304a9a8a
mov ecx, 0xba95074c
xor edx, edx
div ecx
and eax, 0xf460eaf0
cmp eax, 0xce501fbf
ja 0x100df35c
mov eax, dword [0x10145e5c]
and eax, dword [0x10145e60]
and eax, 0xdd89b18d
and eax, 0x8815915e
mov ecx, 0x7b577d3d
xor edx, edx
div ecx
imul eax, eax, 0x712505df
xor eax, 0xd50fa2c8
or eax, 0x2528e278
or eax, 0xb261b5e7
xor eax, 0xb60e04b
sub eax, 0x98afc17b
imul eax, eax, 0x96e2e8d1
and eax, 0x351f5df8
imul eax, eax, 0x7747cca0
imul eax, eax, 0x86e0b6ad
and eax, 0x77bf6ceb
or eax, 0x26a513d5
add eax, 0xa11ac24c
xor eax, 0xece03d35
mov ecx, 0x42ac65f
xor edx, edx
div ecx
mov ecx, 0xb20230aa
xor edx, edx
div ecx
sub eax, 0xce12eda6
cmp eax, 0xe7d1869f
ja 0x100deb1f
mov eax, dword [0x10145e64]
xor edx, edx
div dword [0x10145e68]
imul eax, eax, 0x63f9f529
and eax, 0x54155cba
xor eax, 0x91e43f7d
add eax, 0x5e9d4f27
sub eax, 0xf65c1674
add eax, 0x6543110e
and eax, 0x353284ef
or eax, 0xce5aea00
imul eax, eax, 0xa19db714
xor eax, 0x326102e1
and eax, 0xc81eb21a
and eax, 0xf07cc0eb
add eax, 0xfd8a108b
imul eax, eax, 0xfe7fe63c
mov ecx, 0x75ba0c4
xor edx, edx
div ecx
add eax, 0xf3f95152
mov ecx, 0x7de3365b
xor edx, edx
div ecx
mov ecx, 0x2f378a80
xor edx, edx
div ecx
xor eax, 0x101a0fa6
sub eax, 0x75510c60
cmp eax, 0x798117d6
jb 0x100df146
mov eax, dword [0x10145e6c]
xor edx, edx
div dword [0x10145e70]
mov ecx, 0x207efa07
xor edx, edx
div ecx
xor eax, 0x1416712a
add eax, 0xb7668832
xor eax, 0xc7f15c68
mov ecx, 0x14d1f3cb
xor edx, edx
div ecx
sub eax, 0x2e1e7abd
imul eax, eax, 0x61ad1c90
xor eax, 0x14b63029
xor eax, 0xbbea4ae6
add eax, 0x6f372e7
imul eax, eax, 0xf6a718ab
xor eax, 0xd667b7b4
add eax, 0x6d2bade0
imul eax, eax, 0x51e67f5a
xor eax, 0xd3011639
and eax, 0xc5b8af89
or eax, 0xbbea12f6
xor eax, 0x6d88f1a4
or eax, 0xaed2e64
mov ecx, 0xfcf4c568
xor edx, edx
div ecx
cmp eax, 0xf3f4b397
setne al
mov byte [ebp - 0x39], al
mov eax, esp
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0x216
cmp dword [ebp - 0x10], 0
jg 0x100dece0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x40], eax
jmp 0x100decf5
mov eax, dword [ebp - 0x10]
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 0x100ded82
jmp 0x100ded82
mov al, byte [ebp - 0x39]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x38]
mov esp, esi
mov dword [ecx], edx
test al, 1
jne 0x100ded9f
jmp 0x100df146
jmp 0x100deed2
mov eax, dword [0x10145e74]
and eax, dword [0x10145e78]
sub eax, 0x2f69e230
add eax, 0xe835927c
add eax, 0x4dc2e6a1
imul eax, eax, 0x82f78f3f
sub eax, 0x9c721abc
add eax, 0xc70ef18a
sub eax, 0x985ccb79
or eax, 0x257dee63
imul eax, eax, 0x8efb124d
xor eax, 0x31d03631
imul eax, eax, 0xba2bff36
sub eax, 0x1fab4fca
imul eax, eax, 0x138f2998
sub eax, 0x1c607b3e
xor eax, 0xc3726af8
sub eax, 0x29e49ac6
or eax, 0x73b35158
mov ecx, 0x357a3971
xor edx, edx
div ecx
xor eax, 0x7bb83e1e
or eax, 0xe18a2141
cmp eax, 0xc35efa17
jbe 0x100df361
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov eax, dword [0x10145e7c]
xor eax, dword [0x10145e80]
mov ebx, 0x17d7eba3
xor edx, edx
div ebx
sub eax, 0xf2f519a8
or eax, 0x192841d0
imul eax, eax, 0x1b452a82
xor eax, 0x421ae63e
mov ebx, 0x87a57a42
xor edx, edx
div ebx
mov ebx, 0x4e00f9b3
xor edx, edx
div ebx
imul eax, eax, 0xeb1e5acf
xor eax, 0xb48cf683
xor eax, 0xfafcc1dd
add eax, 0x59f3f7aa
add eax, 0xf033611e
mov ebx, 0x978fd63a
xor edx, edx
div ebx
mov edx, dword [ebp - 0x28]
xor eax, 0x41a17ab9
xor eax, 0x21313432
or eax, 0x1d7bfab6
imul eax, eax, 0x5756a69
sub eax, 0x69f9bb97
or eax, 0x5d486b3f
sub eax, 0x91085afd
mov esi, dword [esi]
add esi, dword [edi]
mov edx, dword [edx]
mov dword [edx], esi
mov dword [ecx], 0
cmp eax, 0xe1d4513b
ja 0x100df361
jmp 0x100deed2
mov eax, dword [0x10145e84]
and eax, dword [0x10145e88]
mov ecx, 0x83596935
xor edx, edx
div ecx
or eax, 0x608a6e5a
and eax, 0x2fc70dd6
xor eax, 0x4742d32d
and eax, 0x5244981
sub eax, 0x742be3be
or eax, 0xcbc31c34
imul eax, eax, 0xe574dad6
imul eax, eax, 0x58196e70
xor eax, 0x8576ddcc
mov ecx, 0xacefb86a
xor edx, edx
div ecx
and eax, 0x702faa51
mov ecx, 0xd2587282
xor edx, edx
div ecx
imul eax, eax, 0x131c95d6
add eax, 0xe0b8572
mov ecx, 0xbe0bf59c
xor edx, edx
div ecx
imul eax, eax, 0xcb332474
mov ecx, 0xe6b4eabd
xor edx, edx
div ecx
and eax, 0x68808b8c
imul eax, eax, 0x69fd45ce
cmp eax, 0x95c7c7e3
jae 0x100df21b
mov eax, dword [0x10145e8c]
xor eax, dword [0x10145e90]
imul eax, eax, 0xd8b431a4
sub eax, 0x44f6c3e4
imul eax, eax, 0x61bba6bc
xor eax, 0xded7e72d
sub eax, 0x17fa2184
add eax, 0xc44f0588
add eax, 0xf9764c2a
mov ecx, 0xe8586365
xor edx, edx
div ecx
mov ecx, 0xe98a3855
xor edx, edx
div ecx
mov ecx, 0x8e5c8961
xor edx, edx
div ecx
or eax, 0x33daf460
xor eax, 0x89a1e894
add eax, 0xb6dc121f
and eax, 0xbc97d921
add eax, 0xf9c17b0c
mov ecx, 0x6632ce0e
xor edx, edx
div ecx
mov ecx, 0x28a028ab
xor edx, edx
div ecx
imul eax, eax, 0xdb93b516
mov ecx, 0x9bb77f08
xor edx, edx
div ecx
and eax, 0xd17ccd03
cmp eax, 0x478ddd12
jae 0x100df382
mov ecx, dword [ebp - 0x34]
mov eax, dword [0x10145e94]
xor eax, dword [0x10145e98]
imul eax, eax, 0xee619525
or eax, 0x1ff20c4e
imul eax, eax, 0x153a4132
imul eax, eax, 0x2cd098d7
mov esi, 0x1c9ed96f
xor edx, edx
div esi
sub eax, 0x923c0b0d
sub eax, 0x76d45dff
and eax, 0xa0770431
xor eax, 0xb1d8e466
add eax, 0x847ba699
xor eax, 0x4923c8fa
or eax, 0x45363bdd
xor eax, 0xc005824a
or eax, 0x4f6d0d1f
or eax, 0x9b39457
mov esi, 0xa33c29c
xor edx, edx
div esi
add eax, 0x9b30207a
mov esi, 0x5534855c
xor edx, edx
div esi
imul eax, eax, 0x9b066fa0
xor eax, 0x97930c94
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
cmp eax, 0x11f3156f
je 0x100deffa
mov eax, dword [0x10145e9c]
or eax, dword [0x10145ea0]
xor eax, 0x29b72466
and eax, 0x5b18a6d7
mov ecx, 0x566e3c93
xor edx, edx
div ecx
imul eax, eax, 0xaad7e2ee
imul eax, eax, 0x49c846fe
mov ecx, 0x9507f2a5
xor edx, edx
div ecx
mov ecx, 0x46995d5b
xor edx, edx
div ecx
mov ecx, 0x921cd8c2
xor edx, edx
div ecx
add eax, 0x1f4cba24
mov ecx, 0x8296c7b3
xor edx, edx
div ecx
or eax, 0x73a24f04
imul eax, eax, 0x9c441a0b
sub eax, 0x80bdd154
or eax, 0xa8d40c72
and eax, 0x665284f7
add eax, 0x7d33fb93
or eax, 0xc5b3c1b1
sub eax, 0xac600a4b
xor eax, 0x14afc237
and eax, 0xe052f5c8
cmp eax, 0x1b088fcd
jb 0x100def65
mov eax, dword [ebp - 0x48]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
push eax
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edi], ebx
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x100de81b
mov eax, esp
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x14], 0x216
cmp dword [ebp - 0x14], 0
jg 0x100df167
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x50], eax
jmp 0x100df17c
mov eax, dword [ebp - 0x14]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], 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 0x100df209
jmp 0x100df209
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x4c]
mov esp, edx
mov dword [eax], ecx
jmp 0x100dec34
mov eax, dword [0x10145ea4]
and eax, dword [0x10145ea8]
mov ecx, 0xdcb9d244
xor edx, edx
div ecx
imul eax, eax, 0xfafe36a5
add eax, 0xbd7a3b67
sub eax, 0x645dedfa
and eax, 0x8760a79e
xor eax, 0xc4a80d6c
xor eax, 0x2b5077f2
mov ecx, 0xab2f9f13
xor edx, edx
div ecx
and eax, 0xa426ea71
or eax, 0x4f9114f3
xor eax, 0x9e6e1cfe
mov ecx, 0x434764ce
xor edx, edx
div ecx
or eax, 0x45e3218b
sub eax, 0x868a4b22
mov ecx, 0x68d6adda
xor edx, edx
div ecx
xor eax, 0x90db2a9d
imul eax, eax, 0x754fc812
or eax, 0x1419f0b0
sub eax, 0x33421b6e
sub eax, 0xdd9ec782
cmp eax, 0x2f92b09
jbe 0x100df387
mov eax, dword [0x10145eac]
sub eax, dword [0x10145eb0]
imul eax, eax, 0xcacf7893
add eax, 0xc54f5255
or eax, 0x48da2e52
mov ecx, 0x2a872f89
xor edx, edx
div ecx
add eax, 0x88cd4e53
xor eax, 0x95b48a87
add eax, 0xda4a26de
and eax, 0x762037e3
mov ecx, 0x5eb550ef
xor edx, edx
div ecx
add eax, 0x70381fe2
imul eax, eax, 0x7eadf340
and eax, 0x9c46aaa6
sub eax, 0x9a2cac1c
and eax, 0xca740111
mov ecx, 0x2715c35b
xor edx, edx
div ecx
and eax, 0xcbe1d71b
sub eax, 0x2abb898b
sub eax, 0x99a90a66
add eax, 0x2af36a0f
or eax, 0x69c30adc
cmp eax, 0xdb53b850
je 0x100df2a7
jmp 0x100def65
jmp 0x100de718
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
push eax
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edi], ebx
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x100de8a1
jmp 0x100de9f9
jmp 0x100deb1f
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx]
mov esi, dword [esi]
add edx, esi
mov ecx, dword [ecx]
mov dword [ecx], edx
mov dword [eax], 0
jmp 0x100dee26
jmp 0x100deffa
jmp 0x100df2a7