Function at 0x100197d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
add eax, dword [ebp + 0xc]
add eax, 0xffffffff
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0
mov eax, dword [0x100c3b80]
add eax, dword [0x100c3b84]
xor eax, 0x90fe66d5
imul eax, eax, 0xd385e40d
xor eax, 0xb42218c6
xor eax, 0x280c34ea
add eax, 0xf97e1e9d
or eax, 0x9807c448
mov ecx, 0x52039df4
xor edx, edx
div ecx
mov ecx, 0xff29505e
xor edx, edx
div ecx
xor eax, 0xa984f1e8
or eax, 0x3ea9e762
or eax, 0x480d248b
xor eax, 0xdd75340e
and eax, 0xc6a28bf3
or eax, 0xef8dc44b
xor eax, 0xde7e5cb0
and eax, 0x8d847963
xor eax, 0xd32d3cda
and eax, 0x4e37fd6a
imul eax, eax, 0xb7b14ef6
sub eax, 0x98e2165e
add eax, 0x9d879424
sub eax, 0xeeeaa444
imul eax, eax, 0xd24467c6
xor eax, 0xda94d86f
sub eax, 0x9e899ad3
xor eax, 0x60a9fa2c
or eax, 0x31d9c55
and eax, 0x58707279
xor eax, 0xdcd6694e
sub eax, 0xd3016772
or eax, 0xdc589ae5
and eax, 0x2fdb143e
add eax, 0xb6829061
or eax, 0xe774e155
xor eax, 0x208704cc
sub eax, 0xc811663e
and eax, 0x365d6710
sub eax, 0xbcb3e801
or eax, 0x6ecf6027
add eax, 0x2bbaac41
imul eax, eax, 0xc2e2d675
and eax, 0x4951f5d6
imul eax, eax, 0x8c91b918
imul eax, eax, 0x9032b1e4
imul eax, eax, 0x20cd6966
or eax, 0x3dfdb173
xor eax, 0xf9a9ee3e
and eax, 0x38f37048
xor eax, 0xc4f6696
mov ecx, 0xf63e0c94
xor edx, edx
div ecx
imul eax, eax, 0x6b2c533
xor eax, 0x47677f23
sub eax, 0x47d4c532
xor eax, 0x33293141
imul eax, eax, 0x2830340b
sub eax, 0x2c5915ed
or eax, 0xb14c2691
sub eax, 0x3b0a1f1b
or eax, 0x328fe8af
or eax, 0x3d4b74e4
and eax, 0x924abe18
imul eax, eax, 0x47c6c149
and eax, 0x56ceaaf2
sub eax, 0x5e7c818a
imul eax, eax, 0x2df7fb9e
sub eax, 0x606b29f2
or eax, 0x2eab8875
xor eax, 0x957e44a
imul eax, eax, 0x36cea093
sub eax, 0x9f55cbe9
or eax, 0x13fcde8
sub eax, 0x8b662b5d
cmp eax, 0xf9fc78f3
jae 0x10019fbf
mov eax, dword [0x100c3b88]
or eax, dword [0x100c3b8c]
or eax, 0x79e875cd
sub eax, 0x54cd9107
imul eax, eax, 0x64f5eca7
imul eax, eax, 0xd9686727
add eax, 0x77ea2331
and eax, 0x3ee75b2e
add eax, 0x20a93557
and eax, 0xbb0aa8ee
mov ecx, 0x5a38381
xor edx, edx
div ecx
add eax, 0x562e79e5
and eax, 0xf541fa61
or eax, 0x3a567515
and eax, 0x7e204774
mov ecx, 0x8054c14
xor edx, edx
div ecx
imul eax, eax, 0xfe35a218
add eax, 0xf9d9d0ca
add eax, 0xa6a81838
imul eax, eax, 0xaddcb352
add eax, 0xc348b648
or eax, 0xd26fe0c0
or eax, 0xd1cff9fe
sub eax, 0x99aa5897
imul eax, eax, 0x48eaf454
sub eax, 0x81089c9
and eax, 0x7aadc877
mov ecx, 0xb0797e57
xor edx, edx
div ecx
mov ecx, 0x4fb9a9ab
xor edx, edx
div ecx
xor eax, 0x88958a98
imul eax, eax, 0xba17446c
xor eax, 0xdecb9258
xor eax, 0xb7f54e4c
imul eax, eax, 0xaf8827df
or eax, 0xdd6e37a
or eax, 0xe535b77a
or eax, 0x87c4684e
mov ecx, 0x4e8efc44
xor edx, edx
div ecx
mov ecx, 0xcda79969
xor edx, edx
div ecx
or eax, 0x20cf20d9
mov ecx, 0x276ee8dc
xor edx, edx
div ecx
or eax, 0x73135d55
sub eax, 0x21418f7
add eax, 0x23a15573
mov ecx, 0x303ee14a
xor edx, edx
div ecx
add eax, 0x7921c57b
add eax, 0xc52f7ef5
and eax, 0x654319a1
sub eax, 0x9409b9c2
or eax, 0x11ed994e
add eax, 0x85c02447
imul eax, eax, 0xa5a4fde1
and eax, 0xe172e081
sub eax, 0x3c9fdec6
or eax, 0xbdcd02f9
mov ecx, 0xf7440692
xor edx, edx
div ecx
add eax, 0x542076a0
mov ecx, 0x72606bf
xor edx, edx
div ecx
sub eax, 0xcdca30f9
add eax, 0x10f9a90
and eax, 0x23a0ca90
add eax, 0xdbd9e0d3
sub eax, 0xef06da73
or eax, 0xb27f26ec
and eax, 0xac6935a9
and eax, 0x90cf8a89
xor eax, 0x2180f36b
add eax, 0x4b501a24
sub eax, 0xbf7c6302
imul eax, eax, 0xaa14fb1a
xor eax, 0x9918fded
or eax, 0x1fb824f5
imul eax, eax, 0x6ec7aab3
xor eax, 0xdef9be39
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
setb cl
mov byte [ebp - 0xd], cl
cmp eax, 0x4b77cd8b
je 0x1001998b
mov al, byte [ebp - 0xd]
test al, 1
jne 0x10019b57
jmp 0x10019bff
mov eax, dword [ebp - 8]
movsx edx, byte [eax]
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 4]
movsx edx, byte [eax]
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 8]
movsx edx, byte [eax]
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 0xc]
mov ecx, 0x100
cdq
idiv ecx
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
xor eax, 0xffffffff
mov cl, al
mov eax, dword [ebp - 4]
mov byte [eax], cl
mov eax, dword [ebp - 0xc]
xor eax, 0xffffffff
mov ecx, 0x100
cdq
idiv ecx
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 8]
movsx eax, byte [eax]
shl eax, 4
mov ecx, dword [ebp - 8]
movsx ecx, byte [ecx]
sar ecx, 4
or eax, ecx
mov cl, al
mov eax, dword [ebp - 8]
mov byte [eax], cl
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
add eax, 0xffffffff
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
jmp 0x100197f5
mov eax, dword [0x100c3b90]
and eax, dword [0x100c3b94]
or eax, 0x88b151a1
mov ecx, 0x1e197279
xor edx, edx
div ecx
and eax, 0x3d295311
add eax, 0xd612e741
sub eax, 0xf1e4622e
or eax, 0xf69a640b
and eax, 0x92986749
and eax, 0x4d903f7f
or eax, 0x13963c56
or eax, 0x16633cab
or eax, 0xd268b540
or eax, 0x123259db
sub eax, 0xa504c29e
xor eax, 0xe740dd96
or eax, 0xf27f423b
sub eax, 0x205e324a
and eax, 0x77f70977
mov ecx, 0x86218692
xor edx, edx
div ecx
sub eax, 0x221d6bb4
add eax, 0x16882dbf
imul eax, eax, 0x41e58c45
sub eax, 0x7eefc3aa
add eax, 0xf0f17257
or eax, 0xaef4d9d7
add eax, 0x663916a4
imul eax, eax, 0xfaf83616
xor eax, 0x8bce12a9
xor eax, 0x8346c19a
and eax, 0x63ac0d0a
imul eax, eax, 0x64ed396a
and eax, 0xa3fcbefa
mov ecx, 0x33ed0436
xor edx, edx
div ecx
imul eax, eax, 0x35b76690
add eax, 0x7e466353
or eax, 0x7f07c0b2
imul eax, eax, 0xbd81b7a
imul eax, eax, 0x385313af
sub eax, 0x5afbd89f
xor eax, 0xbdccb8c4
mov ecx, 0x8a4bbb36
xor edx, edx
div ecx
mov ecx, 0x41a44c8f
xor edx, edx
div ecx
or eax, 0xa1140c14
sub eax, 0x52ab4e61
xor eax, 0x2f71338d
add eax, 0x786686f7
xor eax, 0x7ae1140f
and eax, 0xf7e109d8
sub eax, 0x17232990
and eax, 0x3c49ded5
or eax, 0x7507f7e8
imul eax, eax, 0xa036eb65
or eax, 0xde422fb9
and eax, 0x8b6c08f0
and eax, 0x9c87caa7
sub eax, 0x52c5cab
add eax, 0xad2cfc74
sub eax, 0x96d136c7
or eax, 0xc4e79e0a
or eax, 0x508c9d33
sub eax, 0x14a90983
sub eax, 0x7b26c3ab
mov ecx, 0xc8d392ed
xor edx, edx
div ecx
xor eax, 0x7fb5dd32
or eax, 0x8c6635d2
imul eax, eax, 0xf6e283e3
and eax, 0x390e8695
xor eax, 0x15f7a09b
imul eax, eax, 0xc66f3fb2
mov ecx, 0x5eae6d53
xor edx, edx
div ecx
and eax, 0x21546004
or eax, 0xe94b966f
and eax, 0xf4aea3c8
cmp eax, 0x6ecfb320
je 0x10019fc4
mov eax, dword [0x100c3b98]
or eax, dword [0x100c3b9c]
or eax, 0x9319b879
or eax, 0xe92cfcd3
imul eax, eax, 0xde25295c
add eax, 0x4900269e
sub eax, 0x17afb44a
xor eax, 0xbf5f049c
and eax, 0x947dd16c
sub eax, 0x74933467
imul eax, eax, 0x2a63c992
and eax, 0x58f2fae8
imul eax, eax, 0x4c068059
imul eax, eax, 0x9ce712f6
imul eax, eax, 0xaa63a929
imul eax, eax, 0x9e4bd1c1
or eax, 0x83b6b6d7
xor eax, 0xa852e6c2
sub eax, 0x68304484
mov ecx, 0xb2888733
xor edx, edx
div ecx
or eax, 0xd0461964
add eax, 0xbb8e1f3a
imul eax, eax, 0x9e643f22
sub eax, 0x123cc521
mov ecx, 0x272155ba
xor edx, edx
div ecx
and eax, 0x152d6053
sub eax, 0xfd69679a
sub eax, 0x83d592b0
sub eax, 0x5e15e62c
mov ecx, 0x5042d2db
xor edx, edx
div ecx
imul eax, eax, 0x62441edb
imul eax, eax, 0x6c936d03
or eax, 0x7c950b24
and eax, 0x3b50d076
and eax, 0x92ebfa2d
imul eax, eax, 0x2c4e585
xor eax, 0x978c0d9a
sub eax, 0x1f8ae25b
add eax, 0xf2f236c8
sub eax, 0xd1a3dc9e
imul eax, eax, 0x579a4244
or eax, 0xa9666c2c
and eax, 0xdf0ab5dd
add eax, 0x41eec25f
sub eax, 0x2067dbda
and eax, 0x8345a525
add eax, 0x4a559be6
or eax, 0xe93ae57
sub eax, 0x92c76763
and eax, 0xa5038e1d
and eax, 0xfa950a35
and eax, 0x8bf1a012
imul eax, eax, 0x48b36ddb
imul eax, eax, 0x8ef8c1e5
and eax, 0xb53ca904
sub eax, 0x48d7e370
or eax, 0x39d076d9
and eax, 0x5c945b0d
imul eax, eax, 0xd472831b
and eax, 0xd3817b14
mov ecx, 0xe9964764
xor edx, edx
div ecx
or eax, 0x87d43b4a
add eax, 0x96bca340
and eax, 0xcfb10104
add eax, 0x28825f03
add eax, 0xb2496e24
mov ecx, 0x47ef93c5
xor edx, edx
div ecx
and eax, 0x4d5f0740
sub eax, 0x84d5ac91
add eax, 0x961ad21d
mov ecx, 0xd623128f
xor edx, edx
div ecx
and eax, 0xd166fed1
add eax, 0xad5ccccf
or eax, 0xf5999e06
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
sete cl
mov byte [ebp - 0xe], cl
cmp eax, 0xbcef4772
jb 0x10019da2
mov al, byte [ebp - 0xe]
test al, 1
jne 0x10019f62
jmp 0x10019fba
mov eax, dword [ebp - 0xc]
mov ecx, 0x100
cdq
idiv ecx
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
xor eax, 0xffffffff
mov cl, al
mov eax, dword [ebp - 4]
mov byte [eax], cl
mov eax, dword [ebp - 0xc]
xor eax, 0xffffffff
mov ecx, 0x100
cdq
idiv ecx
mov eax, dword [ebp - 4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [eax], cl
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
shl eax, 4
mov ecx, dword [ebp - 4]
movsx ecx, byte [ecx]
sar ecx, 4
or eax, ecx
mov cl, al
mov eax, dword [ebp - 4]
mov byte [eax], cl
add esp, 0x10
pop ebp
ret
jmp 0x1001998b
jmp 0x10019da2