Function at 0x100ac5f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, dword [ebp + 8]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
cmp eax, dword [ebp + 8]
jae 0x100ac60e
call fcn.100acf30
mov eax, dword [0x1014b608]
sub eax, dword [0x1014b60c]
sub eax, 0xab110fcc
sub eax, 0xc8e72e4
xor eax, 0x2d2d5cc3
sub eax, 0x6aaf212f
xor eax, 0xa9a273ce
add eax, 0xc2484aed
and eax, 0xf70c09db
and eax, 0x7a344d1
imul eax, eax, 0xb1d05fb2
or eax, 0xa3740197
mov ecx, 0xbb0ae2c
xor edx, edx
div ecx
or eax, 0x5f0164c0
and eax, 0x719362f1
and eax, 0x9aedf4a3
and eax, 0xb4645b2f
and eax, 0xad5d8c0d
add eax, 0xecc1b21f
sub eax, 0x84ac3974
sub eax, 0x89579067
imul eax, eax, 0xe461d9aa
or eax, 0xabc1b105
sub eax, 0x9608df6d
imul eax, eax, 0x2a87fe1b
add eax, 0xc81043f2
imul eax, eax, 0x233eaaf9
imul eax, eax, 0xc5e6f479
and eax, 0xba326ac5
sub eax, 0x599bbae9
imul eax, eax, 0xdfaf618f
sub eax, 0xb44b21d9
mov ecx, 0x419a62ab
xor edx, edx
div ecx
and eax, 0xcc2f0ee6
add eax, 0x46b64cbb
cmp eax, 0x688bf3c4
jae 0x100ace7d
mov eax, dword [0x1014b610]
xor eax, dword [0x1014b614]
and eax, 0x26a7d65f
imul eax, eax, 0xb0e35050
or eax, 0x17f6caee
xor eax, 0xd98a4507
or eax, 0x3aee2134
sub eax, 0x22c0e60
imul eax, eax, 0xe35a0849
imul eax, eax, 0xe86b1a8f
sub eax, 0x57355ab8
and eax, 0xd6301a39
mov ecx, 0xd3d9a2d8
xor edx, edx
div ecx
add eax, 0xdc824a40
imul eax, eax, 0xe43ae8de
add eax, 0x560d5d7
xor eax, 0xd17bb1fa
or eax, 0x16cd17c4
add eax, 0x875776f7
and eax, 0xb35b1f34
imul eax, eax, 0x9876cfbc
and eax, 0x922004d8
and eax, 0x7f80c81a
imul eax, eax, 0xf057adf2
sub eax, 0x1b55da52
xor eax, 0xa5d0e0c1
add eax, 0xa656797c
or eax, 0x701de126
xor eax, 0x3f77377b
xor eax, 0x2b0d824b
add eax, 0x35fe1043
imul eax, eax, 0xeb95760b
sub eax, 0x208cc10b
imul eax, eax, 0x79c97ba4
and eax, 0xf7b05377
cmp eax, 0x2b7c8761
je 0x100ac6d7
mov eax, dword [0x1014b618]
add eax, dword [0x1014b61c]
imul eax, eax, 0xe7bcdf6d
or eax, 0xff2d298c
mov ecx, 0xaf058543
xor edx, edx
div ecx
or eax, 0x5f980bd0
imul eax, eax, 0xf91da1ed
mov ecx, 0x32f1369e
xor edx, edx
div ecx
sub eax, 0x90b531e
and eax, 0x5db79153
xor eax, 0x206f65ee
xor eax, 0x85ae968b
mov ecx, 0xfeab0554
xor edx, edx
div ecx
imul eax, eax, 0x33f7844e
or eax, 0xe7a864df
or eax, 0x9b493144
mov ecx, 0xe485dde6
xor edx, edx
div ecx
add eax, 0xd10610e3
imul eax, eax, 0x5cfb4f6
sub eax, 0xf2abadf8
xor eax, 0x966a41d7
imul eax, eax, 0x26ce155e
mov ecx, 0x1d9aa229
xor edx, edx
div ecx
mov ecx, 0x655d4df8
xor edx, edx
div ecx
sub eax, 0x8476b088
imul eax, eax, 0xd438a2b1
or eax, 0xdb5860b6
or eax, 0x7b3c1577
imul eax, eax, 0x37ca1d4e
and eax, 0xabaa94c6
mov ecx, 0x30c223ae
xor edx, edx
div ecx
add eax, 0x30311668
and eax, 0x28d4104
or eax, 0x8b3ab43a
add eax, 0x4b08c047
cmp eax, 0x3016bd47
jb 0x100accc4
mov eax, dword [0x1014b620]
sub eax, dword [0x1014b624]
mov ecx, 0x71364c1d
xor edx, edx
div ecx
mov ecx, 0xb610bf61
xor edx, edx
div ecx
and eax, 0x5f8e143c
mov ecx, 0x20c5a167
xor edx, edx
div ecx
mov ecx, 0x39d2bf9c
xor edx, edx
div ecx
sub eax, 0xd5526f3f
and eax, 0xefc435a7
add eax, 0x4857ca10
mov ecx, 0x7f827baa
xor edx, edx
div ecx
mov ecx, 0x37bde29b
xor edx, edx
div ecx
add eax, 0xe8820f19
add eax, 0xf3cb9c41
or eax, 0x3d3e927b
or eax, 0xaec55cbe
or eax, 0xd7223f33
and eax, 0x1c637355
xor eax, 0xd81e45b4
mov ecx, 0xd6c9fe0e
xor edx, edx
div ecx
sub eax, 0xbe52dc43
xor eax, 0xdbd12313
add eax, 0x99a1173b
xor eax, 0xd254fe23
mov ecx, 0x3b55dda0
xor edx, edx
div ecx
imul eax, eax, 0xc5cb2535
mov ecx, 0xe2966633
xor edx, edx
div ecx
sub eax, 0x7f311617
or eax, 0x1abaf18a
or eax, 0x40477af0
imul eax, eax, 0xc5c2664c
imul eax, eax, 0x514decdc
imul eax, eax, 0x13938acd
add eax, 0x7c577a88
add eax, 0x2f10424d
cmp eax, 0x2335423b
je 0x100ace82
mov eax, dword [0x1014b628]
or eax, dword [0x1014b62c]
imul eax, eax, 0xa5a045c3
sub eax, 0xb5ac6b9f
xor eax, 0xad290ecc
mov ecx, 0x78c74ce1
xor edx, edx
div ecx
sub eax, 0xa4c14960
and eax, 0x98fa5828
sub eax, 0x9c3d4126
sub eax, 0x6985ddb6
mov ecx, 0x7182c9ee
xor edx, edx
div ecx
mov ecx, 0x6357fdd1
xor edx, edx
div ecx
xor eax, 0xbd6d45a6
sub eax, 0xc27681b4
imul eax, eax, 0x62695532
add eax, 0x1bb848b2
imul eax, eax, 0x4598a502
mov ecx, 0x24a87d73
xor edx, edx
div ecx
sub eax, 0x1ed64078
xor eax, 0xc8661958
xor eax, 0x93d3ef69
or eax, 0xaaaa3a45
or eax, 0x87bb2c9d
add eax, 0x6a1a6615
or eax, 0x3f98182f
imul eax, eax, 0xaba30b31
imul eax, eax, 0xd8133526
sub eax, 0xf1116914
or eax, 0xb04f2ee9
and eax, 0xcb7c24c
sub eax, 0xc0226c8c
sub eax, 0xa0b41ca6
sub eax, 0x401c9d67
add eax, 0x8b8f47b3
imul eax, eax, 0xb27989fd
cmp eax, 0xe456675d
je 0x100ace82
mov eax, dword [0x1014b630]
or eax, dword [0x1014b634]
mov ecx, 0x95fd63ec
xor edx, edx
div ecx
imul eax, eax, 0xe9a1f17b
sub eax, 0x4581d3c9
sub eax, 0x6e599e75
or eax, 0xee8cad43
imul eax, eax, 0xa3bfd9c3
add eax, 0xeb6a063e
sub eax, 0x2609a305
imul eax, eax, 0x51dd1a02
xor eax, 0x5a0efa24
mov ecx, 0x99af0fe7
xor edx, edx
div ecx
add eax, 0x3c1c6ed5
or eax, 0x7ff07af4
imul eax, eax, 0x7f76b32f
xor eax, 0x2226437f
sub eax, 0xf62fa4e5
mov ecx, 0x8cc5de1a
xor edx, edx
div ecx
imul eax, eax, 0xe9415349
or eax, 0x20553ee7
imul eax, eax, 0xc5c022f
imul eax, eax, 0xaa9ac5fa
imul eax, eax, 0x8024fd29
mov ecx, 0x404712cf
xor edx, edx
div ecx
mov ecx, 0x87a19adb
xor edx, edx
div ecx
add eax, 0x760b40d9
add eax, 0xae7e40c
or eax, 0xf2d76f7c
add eax, 0x6b633174
sub eax, 0x9ff2c539
imul eax, eax, 0xaf69245f
and eax, 0x1959c060
and eax, 0x51e093a3
xor eax, 0x70396a14
cmp eax, 0x19f5dc8a
je 0x100ac87c
mov eax, dword [0x1014b638]
xor edx, edx
div dword [0x1014b63c]
and eax, 0xf749d32d
imul eax, eax, 0x4a731ada
or eax, 0x4405d29
xor eax, 0x9262dc13
add eax, 0xd6fd620d
mov ecx, 0xc31c74ff
xor edx, edx
div ecx
sub eax, 0x41076f3c
add eax, 0x9595de29
or eax, 0x7e9ed510
xor eax, 0xb5bd7659
sub eax, 0xde487d8c
mov ecx, 0x4c800f5a
xor edx, edx
div ecx
and eax, 0xc16d6d50
xor eax, 0x9b60b9d1
or eax, 0x9ed5f90e
sub eax, 0x84edd3bc
mov ecx, 0xd3a0407a
xor edx, edx
div ecx
add eax, 0x6aa9a4
xor eax, 0x926d9d48
sub eax, 0x92a83813
mov ecx, 0xef830813
xor edx, edx
div ecx
or eax, 0xb829d199
mov ecx, 0xeee26f46
xor edx, edx
div ecx
add eax, 0xfd725d59
or eax, 0xc2d723ef
imul eax, eax, 0x35a2d895
xor eax, 0x4dd02984
mov ecx, 0xe7048c63
xor edx, edx
div ecx
and eax, 0xcc4d5974
sub eax, 0x95623c4
imul eax, eax, 0x44219941
and eax, 0x72b68df1
or eax, 0xeb08ef35
cmp eax, 0xd304077
jb 0x100ace87
mov eax, dword [0x1014b640]
sub eax, dword [0x1014b644]
sub eax, 0x66afabb6
and eax, 0x318d1f1e
imul eax, eax, 0xd32b174d
or eax, 0x57f2bb2f
sub eax, 0xa0ea2dad
mov ecx, 0x9ea07cd8
xor edx, edx
div ecx
mov ecx, 0x9a015b5c
xor edx, edx
div ecx
mov ecx, 0xe242f593
xor edx, edx
div ecx
mov ecx, 0x3f8cc5ca
xor edx, edx
div ecx
add eax, 0x3acbd68c
mov ecx, 0xf8560eb5
xor edx, edx
div ecx
or eax, 0xbb25a633
and eax, 0x364c4f66
add eax, 0x8ffae0b
add eax, 0x34c35342
mov ecx, 0x491be233
xor edx, edx
div ecx
and eax, 0x8b5646a
and eax, 0xd9b57197
sub eax, 0x59195d4c
add eax, 0x5474d34a
and eax, 0xa75c6c10
imul eax, eax, 0x11f60aeb
or eax, 0x4aaf88e2
add eax, 0xf5227394
mov ecx, 0x3def595
xor edx, edx
div ecx
sub eax, 0x67d109aa
and eax, 0x3ff7cac2
xor eax, 0xe56e3c4c
sub eax, 0x75085fed
xor eax, 0x8f9b4b7a
mov ecx, 0x125ee902
xor edx, edx
div ecx
sub eax, 0xcadc3e7e
xor eax, 0x2552f1d1
cmp eax, 0x631e1d23
jae 0x100ace87
add esp, 4
pop ebp
ret 4
mov eax, dword [0x1014b648]
add eax, dword [0x1014b64c]
imul eax, eax, 0x27edb7ae
sub eax, 0xc936a727
add eax, 0xac5779c1
or eax, 0xf8b755b7
xor eax, 0x7019bfd5
and eax, 0x3503a637
imul eax, eax, 0x5ec1e41a
add eax, 0x44fdd541
imul eax, eax, 0xa466e002
xor eax, 0xbdee23ab
sub eax, 0x7d8f4847
add eax, 0x51d5966d
imul eax, eax, 0xc5f32da2
xor eax, 0xf64c960c
or eax, 0x1543ba4c
xor eax, 0x556beb68
xor eax, 0x60ebf7af
mov ecx, 0x2d773a9
xor edx, edx
div ecx
add eax, 0x9d1e1ec2
imul eax, eax, 0xb91d7098
mov ecx, 0xed1f9ff8
xor edx, edx
div ecx
imul eax, eax, 0xb6d0fba8
or eax, 0x6a84af2c
or eax, 0xd04de1ed
mov ecx, 0x84e30718
xor edx, edx
div ecx
mov ecx, 0xf11e69cd
xor edx, edx
div ecx
and eax, 0x5aadb230
xor eax, 0x6de979ff
mov ecx, 0xbf14c8fa
xor edx, edx
div ecx
mov ecx, 0x1c0475a5
xor edx, edx
div ecx
and eax, 0x71bebb7f
add eax, 0x484c6818
mov ecx, 0x10886fdc
xor edx, edx
div ecx
cmp eax, 0x18b4acc7
ja 0x100ace8c
mov eax, dword [0x1014b650]
xor eax, dword [0x1014b654]
imul eax, eax, 0x7671e640
sub eax, 0xfcf18234
add eax, 0x83da8e38
sub eax, 0x568f637
xor eax, 0xf9f475cc
add eax, 0xc9bd53f8
mov ecx, 0x81ce760a
xor edx, edx
div ecx
and eax, 0x775ef556
sub eax, 0x12af28fb
or eax, 0x4ff664fc
and eax, 0x9e73e110
and eax, 0x875679a1
add eax, 0xb5427d42
imul eax, eax, 0x98fb9c90
add eax, 0x7908e0e5
and eax, 0x688bedf5
xor eax, 0x963e8cba
mov ecx, 0xf5ae3232
xor edx, edx
div ecx
or eax, 0x21eaf32c
mov ecx, 0xa9f02754
xor edx, edx
div ecx
imul eax, eax, 0xcf7ead85
and eax, 0x854447cc
imul eax, eax, 0xa84b5756
imul eax, eax, 0x68b1ece3
xor eax, 0xe53ef90b
xor eax, 0xab3bc973
imul eax, eax, 0xac581ed0
imul eax, eax, 0x8b4de25a
add eax, 0x5cfea64c
mov ecx, 0xd9ac6927
xor edx, edx
div ecx
or eax, 0xa432ba4d
mov ecx, 0x348f9a89
xor edx, edx
div ecx
imul eax, eax, 0x1947dce1
cmp eax, 0xbf502f6
jb 0x100acda1
jmp 0x100ac87c
jmp 0x100ac6d7
jmp 0x100ac95f
jmp 0x100acbe0
jmp 0x100acda1