Function at 0x100dda50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x38
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mul ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x100ddea1
jmp 0x100dda83
mov eax, dword [0x10145d74]
or eax, dword [0x10145d78]
and eax, 0x87a98975
xor eax, 0xbea00fa2
sub eax, 0xfbf5c2b0
and eax, 0x6bb07155
sub eax, 0x3351982a
imul eax, eax, 0x306469f2
xor eax, 0x4308620a
mov ecx, 0xbb2a6301
xor edx, edx
div ecx
sub eax, 0x7be9a48c
or eax, 0x91cd97c9
imul eax, eax, 0x970ffb71
imul eax, eax, 0x9398fbba
mov ecx, 0x4236940a
xor edx, edx
div ecx
and eax, 0xbaba40ed
imul eax, eax, 0xdf96b3a2
or eax, 0x70be9207
or eax, 0xe68dc63d
add eax, 0xed8a33ff
xor eax, 0x8a7f5ed
mov ecx, 0x9da6bf73
xor edx, edx
div ecx
cmp eax, 0xc504d2de
ja 0x100de632
mov eax, dword [0x10145d7c]
or eax, dword [0x10145d80]
or eax, 0xe24cdf19
add eax, 0x97a54ccd
or eax, 0xbd08c266
add eax, 0xa402b40
add eax, 0xbe686214
imul eax, eax, 0xf7b1cc87
and eax, 0xeb921645
mov ecx, 0xb3c16fce
xor edx, edx
div ecx
or eax, 0xdf9eca85
sub eax, 0x9444cc27
mov ecx, 0xa77dff76
xor edx, edx
div ecx
imul eax, eax, 0xedf8b998
and eax, 0xf676d996
imul eax, eax, 0xae2861b3
and eax, 0xc6aa0c1
add eax, 0xefc16d0a
mov ecx, 0xd070ce73
xor edx, edx
div ecx
mov ecx, 0xbfd76a05
xor edx, edx
div ecx
or eax, 0xf98691b8
and eax, 0x1a5d06b3
cmp eax, 0xad106a02
je 0x100de632
mov eax, dword [0x10145d84]
or eax, dword [0x10145d88]
imul eax, eax, 0x6ab362bb
xor eax, 0xd67407f8
or eax, 0xf977cfbe
add eax, 0x1599b7ac
xor eax, 0x30f25b25
and eax, 0x13120cb6
imul eax, eax, 0x410754ed
or eax, 0x3a0cbf4a
mov ecx, 0x79304982
xor edx, edx
div ecx
sub eax, 0x650a907d
add eax, 0x669d98c0
mov ecx, 0x61f91481
xor edx, edx
div ecx
and eax, 0x3ee2f22b
mov ecx, 0x67550e68
xor edx, edx
div ecx
imul eax, eax, 0xc0590080
or eax, 0xb5913ee1
and eax, 0xf078c1c
or eax, 0xd50987aa
add eax, 0x47393585
and eax, 0x928cbe86
cmp eax, 0xc8c02870
jae 0x100de4a4
mov eax, dword [0x10145d8c]
or eax, dword [0x10145d90]
imul eax, eax, 0x138cbf4a
and eax, 0x593fdb20
xor eax, 0xc7d177eb
and eax, 0x36584467
sub eax, 0xb0a3d3c5
and eax, 0xe3efece0
xor eax, 0xdee1bc34
and eax, 0xea4803bb
and eax, 0xf699e595
and eax, 0x402285d
or eax, 0x9cbe3b5b
imul eax, eax, 0xcc85e3ce
and eax, 0xb4ef3d70
imul eax, eax, 0xec9b532b
and eax, 0x489eb539
or eax, 0x3451563e
xor eax, 0x497f3cb2
add eax, 0x85fcc92a
mov ecx, 0x2aec2677
xor edx, edx
div ecx
sub eax, 0xd5180e63
cmp eax, 0xab400458
sete al
mov byte [esp + 0x1b], al
mov eax, esp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], 0x216
cmp dword [esp + 0x34], 0
jg 0x100ddccb
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
jmp 0x100ddce2
mov eax, dword [esp + 0x34]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], 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 0x100ddd71
jmp 0x100ddd71
mov al, byte [esp + 0x1b]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov esp, edx
mov dword [esp + 0x2c], ecx
test al, 1
jne 0x100ddc23
mov eax, dword [0x10145d94]
and eax, dword [0x10145d98]
add eax, 0xd0a1458b
add eax, 0x8089523f
mov ecx, 0x150f60c6
xor edx, edx
div ecx
or eax, 0xf40af348
xor eax, 0xd761c98f
or eax, 0x28306fd3
xor eax, 0x916d6d7f
and eax, 0xb490c7
and eax, 0x6554c443
sub eax, 0x55724718
or eax, 0x662a7a26
xor eax, 0x654576e0
add eax, 0xa43af465
add eax, 0x80ae1986
mov ecx, 0xc3008730
xor edx, edx
div ecx
xor eax, 0x66eee405
mov ecx, 0x75087c6e
xor edx, edx
div ecx
or eax, 0xcacef60b
and eax, 0xe5b8d883
or eax, 0x14e28538
cmp eax, 0x16c4e5b9
jbe 0x100de637
mov eax, dword [0x10145d9c]
imul eax, dword [0x10145da0]
xor eax, 0xbed1e5d6
imul eax, eax, 0x374cf295
sub eax, 0xbcc7d056
mov ecx, 0xe764dd0
xor edx, edx
div ecx
and eax, 0x3e2dd474
mov ecx, 0xeddc1a8f
xor edx, edx
div ecx
imul eax, eax, 0xf410a4ff
xor eax, 0x5f3b26a2
imul eax, eax, 0xf49d660f
imul eax, eax, 0xee9f4b31
or eax, 0xea21f75d
add eax, 0xa345596e
sub eax, 0x969b38cb
or eax, 0x70161c06
and eax, 0xff923c7c
and eax, 0x710fb5f7
mov ecx, 0xce0b656c
xor edx, edx
div ecx
and eax, 0x17dcdeb6
and eax, 0x9e57fa6d
and eax, 0xb69f763b
cmp eax, 0xbd370c3e
je 0x100dde11
jmp 0x100de170
mov eax, dword [0x10145da4]
xor eax, dword [str.ckOs]
imul eax, eax, 0x48827189
add eax, 0xc585d0e0
imul eax, eax, 0x896f4aba
mov ecx, 0xd585127c
xor edx, edx
div ecx
mov ecx, 0x40683605
xor edx, edx
div ecx
xor eax, 0xd9314fb0
sub eax, 0x1c5b6bd3
mov ecx, 0x9c465e9c
xor edx, edx
div ecx
add eax, 0xcb8f3e95
imul eax, eax, 0x3ad5fca
and eax, 0x740c7f87
add eax, 0xe7e4dd43
or eax, 0xdc1fe1f6
imul eax, eax, 0x767e92ce
xor eax, 0xf19685e
xor eax, 0xd84c1881
imul eax, eax, 0x502bf022
and eax, 0x17851d5d
add eax, 0x76f9eda3
or eax, 0x3277676e
cmp eax, 0xde3f48c6
jae 0x100de581
mov eax, dword [0x10145dac]
imul eax, dword [0x10145db0]
and eax, 0x521f2ae4
xor eax, 0x8892130b
or eax, 0x40aa4d2e
mov ecx, 0x1cbfaf90
xor edx, edx
div ecx
and eax, 0x19521594
sub eax, 0x78e29fd7
xor eax, 0x1d9cfd9b
xor eax, 0xe4ab763b
sub eax, 0x85488da6
imul eax, eax, 0x2e443ac4
sub eax, 0xac456637
or eax, 0xc2c13772
mov ecx, 0xde45bede
xor edx, edx
div ecx
or eax, 0xf6600491
imul eax, eax, 0x2b6e5ad6
imul eax, eax, 0xc49b935f
and eax, 0xc6a177be
or eax, 0xf836c566
and eax, 0x43189353
sub eax, 0x5d238f80
cmp eax, 0xe304453c
je 0x100de63c
xor eax, eax
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
mov dword [ecx], edx
mov dword [esp + 0x2c], 0
cmp eax, 0x14970a87
je 0x100de63c
mov eax, dword [0x10145dbc]
sub eax, dword [0x10145dc0]
add eax, 0xd97065bd
mov ecx, 0x1b97b8ad
xor edx, edx
div ecx
mov ecx, 0x7317b3bb
xor edx, edx
div ecx
xor eax, 0x1f85c9c6
xor eax, 0x9cb61a5c
sub eax, 0x393ba4ed
sub eax, 0xd175c036
mov ecx, 0xe632e68
xor edx, edx
div ecx
add eax, 0xee886fba
or eax, 0xdf1b7fd5
add eax, 0x257a8156
and eax, 0x4ead87e9
or eax, 0x3cb28807
or eax, 0x70ed90e6
imul eax, eax, 0x4b40dc98
and eax, 0xfa1a971
sub eax, 0xb800d91
and eax, 0xc840a136
xor eax, 0xcbc06c17
and eax, 0x8a26afc6
cmp eax, 0xd57ba54d
ja 0x100de581
mov eax, dword [0x10145dc4]
and eax, dword [0x10145dc8]
and eax, 0x3e3bff97
add eax, 0x6825f83c
xor eax, 0x29c78ecb
and eax, 0x75514fd6
xor eax, 0x48663c1e
add eax, 0xd1bbf7b4
add eax, 0xf39ac655
mov ecx, 0x93d206e5
xor edx, edx
div ecx
sub eax, 0x2928bf5
imul eax, eax, 0x11577b0e
or eax, 0xd50e9a98
and eax, 0x2ab41710
or eax, 0x6bd8f9f1
and eax, 0x68f4ad3b
mov ecx, 0xdf5c301
xor edx, edx
div ecx
mov ecx, 0xbbb62700
xor edx, edx
div ecx
or eax, 0x595d25d1
add eax, 0x2d27c41d
mov ecx, 0x5cc887da
xor edx, edx
div ecx
imul eax, eax, 0xee1cd3d7
cmp eax, 0xe410c75
je 0x100de652
mov eax, dword [0x10145dcc]
add eax, dword [0x10145dd0]
mov ecx, 0xc6b3eab2
xor edx, edx
div ecx
imul eax, eax, 0xfe313063
imul eax, eax, 0x8158035c
imul eax, eax, 0x95def135
and eax, 0xa8e2f762
add eax, 0xa0c79828
imul eax, eax, 0x2ed333a7
imul eax, eax, 0x43290ef6
add eax, 0x25362de3
mov ecx, 0xa1ab3fe9
xor edx, edx
div ecx
add eax, 0xe7b1b66
xor eax, 0xec4f0bc9
sub eax, 0x553a12b
and eax, 0x6cea6a14
sub eax, 0xe7b6e0db
imul eax, eax, 0x8a467f5d
add eax, 0x6555961e
add eax, 0xb6d04264
xor eax, 0x3e5088c9
or eax, 0x4e30f368
cmp eax, 0x35b0bf63
jb 0x100de0e3
jmp 0x100de170
mov eax, dword [0x10145dd4]
xor edx, edx
div dword [0x10145dd8]
add eax, 0x3e9ef354
sub eax, 0x2fdaa2dd
imul eax, eax, 0x9d6ebbc0
and eax, 0xd9888a3b
xor eax, 0x143b0a9e
mov ecx, 0xb1655671
xor edx, edx
div ecx
imul eax, eax, 0x11417fb0
mov ecx, 0xac45704f
xor edx, edx
div ecx
or eax, 0x9c54f1cb
or eax, 0x8faca0bf
add eax, 0x3abac311
imul eax, eax, 0xda5110a9
mov ecx, 0xc99d6ee1
xor edx, edx
div ecx
and eax, 0x13090dcd
or eax, 0x7b9d1932
and eax, 0x7538094a
sub eax, 0xd92f701f
add eax, 0x389dc29c
add eax, 0xa98755b6
and eax, 0x58d99a44
cmp eax, 0x9a935d83
je 0x100de62d
mov eax, dword [0x10145ddc]
xor eax, dword [0x10145de0]
add eax, 0x63f0a452
or eax, 0x98a8915d
mov ecx, 0xade87dcc
xor edx, edx
div ecx
add eax, 0xec2e2fe6
and eax, 0x9943af59
xor eax, 0x6e0314d
or eax, 0xc7a3f4fd
sub eax, 0xa3700e8b
xor eax, 0xa5e3c5eb
or eax, 0xc5472589
or eax, 0x74802a05
and eax, 0x4f0d8fed
imul eax, eax, 0x4632d8a3
add eax, 0x6345db69
imul eax, eax, 0xe7b7260d
add eax, 0x3b87f28f
imul eax, eax, 0x7b009e5
and eax, 0xa31b98d1
and eax, 0xebf0d83f
imul eax, eax, 0x1163a1b2
cmp eax, 0x5fa12507
je 0x100de657
mov eax, dword [0x10145de4]
or eax, dword [0x10145de8]
xor eax, 0x8dc49ddc
xor eax, 0x90f0c780
imul eax, eax, 0x8a078df7
or eax, 0x4a5615e6
and eax, 0x55f374de
and eax, 0x8d3c89b5
sub eax, 0xc216465c
add eax, 0x9f35cf7a
xor eax, 0x982c1c19
mov ecx, 0xbb6c8f11
xor edx, edx
div ecx
and eax, 0x6262da1d
or eax, 0xba9eb903
sub eax, 0x71ff6b28
sub eax, 0x837067e
or eax, 0x8d25ade4
and eax, 0x4313e9cd
sub eax, 0x46f6e31f
or eax, 0x148d94fc
and eax, 0x17e4e020
mov ecx, 0x6aae0509
xor edx, edx
div ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
cmp eax, 0x40f88af7
ja 0x100de657
mov eax, dword [0x10145dec]
xor eax, dword [0x10145df0]
and eax, 0x8857ccd3
mov ecx, 0x8a0717d2
xor edx, edx
div ecx
xor eax, 0x9b022ca3
xor eax, 0xb1b110c
xor eax, 0x11d2bcd8
and eax, 0xe9dcc191
xor eax, 0xf6713e5f
mov ecx, 0xbc75f646
xor edx, edx
div ecx
sub eax, 0x7e30717a
and eax, 0x3d1fb71f
or eax, 0x8401cbe5
add eax, 0x263e9b3
sub eax, 0xaaa1fc48
and eax, 0xcf897209
imul eax, eax, 0xaf6c7b03
or eax, 0xa957c239
add eax, 0xae240eb6
and eax, 0x7fbb07ea
sub eax, 0x643cb152
and eax, 0x94389819
cmp eax, 0x5112580f
je 0x100de62d
mov eax, dword [0x10145df4]
xor eax, dword [0x10145df8]
mov ecx, 0x7c0d4bbd
xor edx, edx
div ecx
add eax, 0x8a5c7bfe
and eax, 0xa4990b5
add eax, 0xe328b8b4
or eax, 0x3466f8d8
sub eax, 0xc953b832
imul eax, eax, 0xd51867ce
add eax, 0x1457c8c7
mov ecx, 0xb1fb580b
xor edx, edx
div ecx
sub eax, 0x8fb6ff4a
or eax, 0x6858eaee
add eax, 0x26feddea
or eax, 0x46e9df28
or eax, 0x8b2c2053
mov ecx, 0x51fb5362
xor edx, edx
div ecx
and eax, 0x22597058
sub eax, 0xf221fe12
imul eax, eax, 0xbd2cf012
add eax, 0xc2ff9b69
and eax, 0x71c11797
cmp eax, 0xc3e862c8
ja 0x100de65c
mov eax, dword [0x10145dfc]
sub eax, dword [0x10145e00]
xor eax, 0xb2a64d20
or eax, 0x77aa69d5
sub eax, 0xde1e3719
and eax, 0x214bfdcc
or eax, 0x90faabc7
imul eax, eax, 0x191a3579
mov ecx, 0xe3b6dd66
xor edx, edx
div ecx
sub eax, 0xfe6f4fbc
mov ecx, 0x87f38bcf
xor edx, edx
div ecx
imul eax, eax, 0x1e842b14
and eax, 0x568666b8
sub eax, 0xe0f752a2
or eax, 0x38469eb
imul eax, eax, 0x2531d0c2
add eax, 0xb885a1e4
mov ecx, 0x34ad9943
xor edx, edx
div ecx
and eax, 0x767e2c15
add eax, 0x64adb312
sub eax, 0x4aec4b6e
xor eax, 0x7ab5daba
cmp eax, 0xa45aad6f
ja 0x100de413
mov eax, dword [esp + 0xc]
mov esp, ebp
pop ebp
ret
mov eax, esp
mov dword [esp + 8], eax
mov dword [esp + 0x30], 0x216
cmp dword [esp + 0x30], 0
jg 0x100de4ca
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
jmp 0x100de4e1
mov eax, dword [esp + 0x30]
and eax, 0xffff
or eax, 0x70000
or eax, 0x80000000
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov dword [esp], 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 0x100de56f
jmp 0x100de56f
mov eax, dword [esp]
mov ecx, dword [esp + 8]
mov esp, ecx
mov dword [esp + 0x2c], eax
jmp 0x100ddc23
mov eax, dword [0x10145e04]
xor eax, dword [0x10145e08]
xor eax, 0x54e70479
add eax, 0x9df8aa09
mov ecx, 0x2e0ee4f5
xor edx, edx
div ecx
mov ecx, 0xa0f0a3c4
xor edx, edx
div ecx
and eax, 0xc78de6aa
and eax, 0x68c36542
add eax, 0xee2bae5a
sub eax, 0xa66676da
add eax, 0x91168ac4
or eax, 0xade9fcce
xor eax, 0xae2303ea
add eax, 0x58cc16f1
sub eax, 0xac909128
add eax, 0xf5c3f664
sub eax, 0xc351fd4a
add eax, 0xd3f88383
mov ecx, 0x5852842b
xor edx, edx
div ecx
or eax, 0x1e625b4f
xor eax, 0x3970d50
and eax, 0x764d7d3b
cmp eax, 0x867196c8
je 0x100de661
mov eax, 0x75210bea
mov edx, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
mov dword [ecx], edx
mov dword [esp + 0x2c], 0
cmp eax, 0xb7ca89c5
jae 0x100de607
jmp 0x100ddf2c
jmp 0x100de1fb
jmp 0x100ddb0d
jmp 0x100dde11
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov dword [esp + 0x2c], 0
jmp 0x100ddfb2
jmp 0x100de0e3
jmp 0x100de27d
jmp 0x100de413
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 8]
mov dword [eax], ecx
mov dword [esp + 0x2c], 0
jmp 0x100de607