Function at 0x100109b0
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 dword [esp], 0x41
call fcn.1008c9da
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x40], 0
mov dword [ebp - 8], 0x40000000
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0x20
jge 0x100114df
mov eax, dword [ebp + 8]
and eax, dword [ebp - 8]
cmp eax, 0
je 0x10010a0b
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
shl ecx, 1
mov byte [eax + ecx], 0x31
jmp 0x10010da2
mov eax, dword [0x100c28f8]
add eax, dword [0x100c28fc]
mov ecx, 0x930db993
xor edx, edx
div ecx
imul eax, eax, 0xb4069c34
xor eax, 0x56650eec
add eax, 0x7f272d78
or eax, 0x6a65ddef
imul eax, eax, 0x7dda4d89
or eax, 0xff560ec2
add eax, 0xc6202850
imul eax, eax, 0xbb724a3a
add eax, 0x7749c368
or eax, 0xb1a97b2
xor eax, 0x4c8d603e
mov ecx, 0x28db2062
xor edx, edx
div ecx
and eax, 0x907847a
or eax, 0xd8ceccf
xor eax, 0x50d833be
or eax, 0x272b9a88
mov ecx, 0xc752e1a2
xor edx, edx
div ecx
or eax, 0xc13c2e32
or eax, 0xba1473f0
imul eax, eax, 0xe07fa9fc
mov ecx, 0x3b6b046f
xor edx, edx
div ecx
mov ecx, 0x3de58a86
xor edx, edx
div ecx
mov ecx, 0xe8763ba5
xor edx, edx
div ecx
add eax, 0xc13de46
sub eax, 0x36e55ac1
mov ecx, 0xc9279ee3
xor edx, edx
div ecx
imul eax, eax, 0x4912a8c2
or eax, 0xd1513d1d
xor eax, 0x286585ad
or eax, 0x944650c3
imul eax, eax, 0x6bd17701
and eax, 0xea98c0a6
and eax, 0x7a455357
mov ecx, 0x57b83583
xor edx, edx
div ecx
sub eax, 0x8b67ee4e
xor eax, 0x24f185c7
sub eax, 0xc8e87f0e
and eax, 0xc0bef77d
xor eax, 0xebf7c59a
xor eax, 0xbd786e82
or eax, 0x51e3df5d
sub eax, 0xb570fe23
mov ecx, 0x4b3786bc
xor edx, edx
div ecx
add eax, 0x1891759
imul eax, eax, 0x51b2d4c2
mov ecx, 0xc9f3ae8b
xor edx, edx
div ecx
add eax, 0xce8fe5a9
sub eax, 0x992adc4e
imul eax, eax, 0xe81599c3
or eax, 0xcf6463da
mov ecx, 0x8372c30d
xor edx, edx
div ecx
or eax, 0xb06aa544
imul eax, eax, 0xda4a60a9
and eax, 0x4bbe8069
mov ecx, 0x713df083
xor edx, edx
div ecx
and eax, 0x9918d6a5
add eax, 0xc99b1e32
imul eax, eax, 0xd9eebf1b
mov ecx, 0xb3064f02
xor edx, edx
div ecx
and eax, 0xa913b9bd
and eax, 0x1bb1faec
or eax, 0x92df36bc
add eax, 0x598c9611
and eax, 0x171c1204
xor eax, 0x84884e09
imul eax, eax, 0x775cead
sub eax, 0x3106d721
imul eax, eax, 0x38dd386a
imul eax, eax, 0x8c810209
sub eax, 0xc5e3619b
add eax, 0xd05012f2
cmp eax, 0xce6a7909
jae 0x100114e7
mov eax, dword [0x100c2900]
add eax, dword [0x100c2904]
mov ecx, 0x80ab0fcc
xor edx, edx
div ecx
sub eax, 0xf14ae469
xor eax, 0xbcabd8af
imul eax, eax, 0xe3bf61e9
mov ecx, 0xd2d93502
xor edx, edx
div ecx
and eax, 0x8a07327e
mov ecx, 0xfcb5606e
xor edx, edx
div ecx
or eax, 0x6ef1abd9
or eax, 0x604b239b
sub eax, 0x2c4d9c1a
mov ecx, 0xa319c4b0
xor edx, edx
div ecx
and eax, 0x18ed304a
mov ecx, 0x8884a85
xor edx, edx
div ecx
and eax, 0x3bd8ba55
mov ecx, 0x8d2febf7
xor edx, edx
div ecx
sub eax, 0xb004644b
and eax, 0x6f4722cc
mov ecx, 0x455b7cb9
xor edx, edx
div ecx
or eax, 0x63859ee
imul eax, eax, 0xfe180ed7
mov ecx, 0x941b3088
xor edx, edx
div ecx
xor eax, 0x46c5459e
and eax, 0xc75ae085
mov ecx, 0xdffbde5e
xor edx, edx
div ecx
add eax, 0x867e1307
mov ecx, 0xda8e2d78
xor edx, edx
div ecx
and eax, 0x3097858b
add eax, 0x2666091d
imul eax, eax, 0xb31afbfb
or eax, 0xab1002c
or eax, 0x3dc6552e
add eax, 0x4c9ca7ad
mov ecx, 0xb150d97d
xor edx, edx
div ecx
or eax, 0xcf66b877
xor eax, 0x9a30e6a7
add eax, 0x5fb8f77a
and eax, 0x4c6195e7
or eax, 0x86b1b0c1
or eax, 0x42feb99e
xor eax, 0xadf536a6
sub eax, 0x2d254c67
xor eax, 0x3af3cdeb
sub eax, 0x656d23e5
imul eax, eax, 0x36c9bd
and eax, 0x195d8625
add eax, 0xb3bffd3c
imul eax, eax, 0x2c1b0c6b
mov ecx, 0x90aadf59
xor edx, edx
div ecx
and eax, 0x3309ea01
or eax, 0x15a871b1
mov ecx, 0x6d574983
xor edx, edx
div ecx
sub eax, 0xc7cbb59e
add eax, 0xd68a52e9
xor eax, 0xc715c42
and eax, 0xaab749ce
imul eax, eax, 0x5a7777f3
or eax, 0xa79b92a9
xor eax, 0xea6087c9
imul eax, eax, 0xcf23e30a
and eax, 0x182f2bf2
add eax, 0xbd05befc
mov ecx, 0xaa72096c
xor edx, edx
div ecx
add eax, 0x5621fecd
sub eax, 0x282fe2cf
sub eax, 0x35bbade9
xor eax, 0x8dcc54d9
xor eax, 0x675931e4
mov ecx, 0x3e89f139
xor edx, edx
div ecx
add eax, 0x4a501cc8
mov ecx, 0xe39fe6c3
xor edx, edx
div ecx
and eax, 0x7bff2216
imul eax, eax, 0xdde64c15
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
shl edx, 1
mov byte [ecx + edx], 0x30
cmp eax, 0xb1659fc
ja 0x10010bca
jmp 0x10010da2
mov eax, dword [ebp + 0xc]
and eax, dword [ebp - 8]
cmp eax, 0
je 0x1001113e
mov eax, dword [0x100c2908]
and eax, dword [0x100c290c]
xor eax, 0xbbb943fc
imul eax, eax, 0xaec33283
or eax, 0x165ff1a8
add eax, 0xff38a680
mov ecx, 0xe02607eb
xor edx, edx
div ecx
mov ecx, 0x60de6ef0
xor edx, edx
div ecx
add eax, 0xf62943f4
or eax, 0x7f3ef02f
imul eax, eax, 0x1fe30652
xor eax, 0x4848700d
sub eax, 0x2c14710c
imul eax, eax, 0x7c1c3d58
add eax, 0x447c89f6
mov ecx, 0xee9b4b7b
xor edx, edx
div ecx
add eax, 0xa6b3bad5
or eax, 0x2572cf47
imul eax, eax, 0x4967ab3a
imul eax, eax, 0x6eb3caeb
sub eax, 0x391fb5eb
add eax, 0x640dc155
and eax, 0x85d5486b
add eax, 0xe487a085
xor eax, 0xc7b1b7d5
imul eax, eax, 0x2480ceae
xor eax, 0xd55515c3
and eax, 0xd183fc3d
xor eax, 0x3cc1dab1
imul eax, eax, 0x21c8d44
or eax, 0xcca83157
sub eax, 0xca2e0a4a
add eax, 0x84034d5f
mov ecx, 0x4906171b
xor edx, edx
div ecx
imul eax, eax, 0xa8c3b8de
xor eax, 0xc0dc946d
imul eax, eax, 0x18fce481
mov ecx, 0x20e88652
xor edx, edx
div ecx
and eax, 0x2ae5e723
add eax, 0x848cf9b6
add eax, 0xea47e95b
add eax, 0x6c2397dc
imul eax, eax, 0x1108763b
and eax, 0xbb78b871
add eax, 0xd02b3547
sub eax, 0x8c46b8c8
or eax, 0x5d47eb8
and eax, 0x30f8d51f
mov ecx, 0x96a3315a
xor edx, edx
div ecx
and eax, 0x34ab1a7e
or eax, 0x5f4cd01b
and eax, 0xc6b35b2f
and eax, 0x6d02bcaa
xor eax, 0x39cbfcf9
sub eax, 0x5b8c5faf
xor eax, 0x510cfaa5
xor eax, 0x6b6d725b
xor eax, 0x56d1009e
xor eax, 0x5fb1091a
and eax, 0x119dc38e
mov ecx, 0xdc33d5bb
xor edx, edx
div ecx
imul eax, eax, 0xb58aa156
mov ecx, 0x3c214d96
xor edx, edx
div ecx
or eax, 0x7eae9fc1
or eax, 0x9f31d29e
xor eax, 0x2288adc9
imul eax, eax, 0x580b953b
and eax, 0x204d6549
mov ecx, 0xc2e830ae
xor edx, edx
div ecx
and eax, 0x5dacdb21
sub eax, 0xe37bffb4
and eax, 0x51894811
imul eax, eax, 0x14ba9bc2
imul eax, eax, 0x59cc6ba9
cmp eax, 0x14564c33
je 0x100114f9
mov eax, dword [0x100c2910]
or eax, dword [0x100c2914]
sub eax, 0x6c3c1064
imul eax, eax, 0x2c49af7f
sub eax, 0xd6553fd4
mov ecx, 0x56ea5b9e
xor edx, edx
div ecx
or eax, 0x6e5b3d26
xor eax, 0xf33e8760
sub eax, 0x915b832
imul eax, eax, 0x535fc986
add eax, 0xfa08eb05
mov ecx, 0x95ed07c4
xor edx, edx
div ecx
sub eax, 0x596068dc
sub eax, 0xe069aa36
mov ecx, 0xa08db08e
xor edx, edx
div ecx
and eax, 0x70075b5e
add eax, 0x51c240b1
mov ecx, 0xf13c5a66
xor edx, edx
div ecx
imul eax, eax, 0x26791a20
mov ecx, 0x2bb355b5
xor edx, edx
div ecx
and eax, 0xa13f6cd2
imul eax, eax, 0xf0f62942
mov ecx, 0xbc79810d
xor edx, edx
div ecx
or eax, 0x4b40939d
add eax, 0xd42f5a0a
and eax, 0x42573077
add eax, 0xd76e9ba3
and eax, 0x3a2aed05
mov ecx, 0xc9cb470
xor edx, edx
div ecx
sub eax, 0x9b31fd8a
or eax, 0x993b211e
imul eax, eax, 0x37b03aae
mov ecx, 0xdc98eff8
xor edx, edx
div ecx
mov ecx, 0xc90b7be5
xor edx, edx
div ecx
sub eax, 0xd72ab8ed
mov ecx, 0x72db99bb
xor edx, edx
div ecx
mov ecx, 0x7775c90a
xor edx, edx
div ecx
and eax, 0xdf605863
and eax, 0x466ebc9c
mov ecx, 0x9b7022ec
xor edx, edx
div ecx
imul eax, eax, 0xbc478619
mov ecx, 0x41fbe556
xor edx, edx
div ecx
and eax, 0x204833eb
sub eax, 0x14f58299
xor eax, 0x503fd84b
and eax, 0x3bcba913
and eax, 0x5e071c0c
sub eax, 0x6deab648
xor eax, 0x571e21
mov ecx, 0x847bc233
xor edx, edx
div ecx
mov ecx, 0x7c2fc909
xor edx, edx
div ecx
or eax, 0x2b62a507
add eax, 0xedf4e4a6
sub eax, 0x4ff7b916
sub eax, 0x9167e7e8
xor eax, 0xb7b0e19d
imul eax, eax, 0x4aed2ea2
imul eax, eax, 0xeae529f8
add eax, 0x7ad793b1
or eax, 0x2cf1a009
imul eax, eax, 0xf93266d0
sub eax, 0x863b441c
or eax, 0x79684659
imul eax, eax, 0xeed04fc1
or eax, 0x850ce690
and eax, 0xb468ed9c
mov ecx, 0x458f744c
xor edx, edx
div ecx
imul eax, eax, 0x4c2f9dc
and eax, 0xd194a0a3
xor eax, 0x370f41dd
or eax, 0x2b7ea1b8
add eax, 0x6cf009a
and eax, 0x703241c0
imul eax, eax, 0x2a5288b9
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
shl edx, 1
mov byte [ecx + edx + 1], 0x31
cmp eax, 0xe779c9e3
jae 0x100114f9
jmp 0x1001114c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
shl ecx, 1
mov byte [eax + ecx + 1], 0x30
mov eax, dword [0x100c2918]
sub eax, dword [0x100c291c]
sub eax, 0x157f1a66
sub eax, 0x3e86c151
imul eax, eax, 0xe0e663ab
imul eax, eax, 0x51913db7
imul eax, eax, 0x76f8eb2c
or eax, 0x10d9c432
mov ecx, 0xd1fb2b45
xor edx, edx
div ecx
and eax, 0x6accc6a1
xor eax, 0xaa3db7be
add eax, 0xe2385a08
and eax, 0xa696a77c
and eax, 0x9d432fd3
sub eax, 0x207d10c3
add eax, 0xe1f5c663
xor eax, 0x2b393541
add eax, 0x4a9a0f03
sub eax, 0xa2af27e3
and eax, 0x9e69bc9e
xor eax, 0xe39de62f
xor eax, 0x3cb01e24
or eax, 0x36bb53b7
and eax, 0xedf4622c
sub eax, 0x25f083b2
and eax, 0x34849d61
imul eax, eax, 0x896ac4fd
mov ecx, 0xc5010f46
xor edx, edx
div ecx
imul eax, eax, 0xbdc1ca43
or eax, 0xd7b3c23
xor eax, 0x3d66c4c1
add eax, 0x64cc8c4f
mov ecx, 0x989d2028
xor edx, edx
div ecx
mov ecx, 0x50d5db6e
xor edx, edx
div ecx
or eax, 0xdcd1e5bb
or eax, 0x23923f67
xor eax, 0x3df1d7c
or eax, 0xa98dafa6
and eax, 0x46060d69
imul eax, eax, 0xe8654171
xor eax, 0x810959aa
add eax, 0x1265d7b3
and eax, 0x804cecce
imul eax, eax, 0x1b6137ac
sub eax, 0x17813360
imul eax, eax, 0xc631cf6f
or eax, 0xbfa3259a
imul eax, eax, 0x983d3016
imul eax, eax, 0xceec5dd5
add eax, 0xbfb250a8
xor eax, 0xb22bc82d
add eax, 0x477b1656
sub eax, 0x65871ff9
and eax, 0xe5d91426
imul eax, eax, 0xe47d3bb1
xor eax, 0xf551a076
sub eax, 0xec0881f
mov ecx, 0x41a30b71
xor edx, edx
div ecx
and eax, 0x16c83d30
mov ecx, 0xe7b03f2f
xor edx, edx
div ecx
xor eax, 0x58b603c5
imul eax, eax, 0x72bd2f37
sub eax, 0x5e72487f
or eax, 0x49e48ccb
or eax, 0xcbf44cb0
sub eax, 0xc5c268e8
and eax, 0x65e28980
mov ecx, 0xbac195bd
xor edx, edx
div ecx
imul eax, eax, 0x9bff00ec
add eax, 0x4bf072c0
and eax, 0xc9b207d2
mov ecx, 0xa90a4db6
xor edx, edx
div ecx
mov ecx, 0xf8dce184
xor edx, edx
div ecx
sub eax, 0xacdacf47
cmp eax, 0xcfe5768a
jae 0x1001150c
mov eax, dword [0x100c2920]
and eax, dword [0x100c2924]
mov ecx, 0x1dab1c48
xor edx, edx
div ecx
and eax, 0xa17e91ce
sub eax, 0x4e2cd489
and eax, 0x51dcf905
and eax, 0xd9a7b5
xor eax, 0x6a447d1d
and eax, 0x8247b889
imul eax, eax, 0xeeb73b15
or eax, 0x241e92bd
sub eax, 0x1bb7c4cf
mov ecx, 0x8aed96c5
xor edx, edx
div ecx
or eax, 0x907258b3
or eax, 0xa604f623
or eax, 0x9f04ab1c
or eax, 0x5115b07a
and eax, 0x34f9a197
sub eax, 0x74564182
add eax, 0x60df14df
mov ecx, 0xb00e4a75
xor edx, edx
div ecx
or eax, 0x5891743c
and eax, 0xb6f0a0c7
sub eax, 0x7d472a44
add eax, 0x72be5bb
imul eax, eax, 0x9ba8828c
mov ecx, 0x419461d5
xor edx, edx
div ecx
xor eax, 0x34ed91cd
mov ecx, 0xb267cc9f
xor edx, edx
div ecx
or eax, 0x73de2b54
xor eax, 0x2035722d
mov ecx, 0xe8581844
xor edx, edx
div ecx
xor eax, 0xe693b834
add eax, 0x7b6bee88
or eax, 0xdd1ea92c
mov ecx, 0x1e9fb2ec
xor edx, edx
div ecx
and eax, 0x7b83ce56
and eax, 0xa018864f
imul eax, eax, 0x86949ef8
and eax, 0x88571781
mov ecx, 0x4067ed82
xor edx, edx
div ecx
mov ecx, 0xba9bccee
xor edx, edx
div ecx
sub eax, 0x715058cc
and eax, 0x6113dd9
mov ecx, 0xe580ba48
xor edx, edx
div ecx
or eax, 0x2ec72d87
or eax, 0x1c921dad
add eax, 0x1e07ce8b
sub eax, 0xa45944f
mov ecx, 0x15565fc5
xor edx, edx
div ecx
sub eax, 0x1863467c
add eax, 0x6853e3c3
mov ecx, 0xb6c736cd
xor edx, edx
div ecx
mov ecx, 0x9bfe2535
xor edx, edx
div ecx
mov ecx, 0xf3b3cf6c
xor edx, edx
div ecx
add eax, 0x3fd2af31
imul eax, eax, 0x6bc3e514
mov ecx, 0x74a4aa51
xor edx, edx
div ecx
xor eax, 0xd9bdb590
xor eax, 0x9e9fdde5
or eax, 0xe8ddf06f
mov ecx, 0xa9c4a50c
xor edx, edx
div ecx
mov ecx, 0xd48d36f4
xor edx, edx
div ecx
or eax, 0xf8ed4e84
or eax, 0xc50ceaeb
imul eax, eax, 0x7e9a7fc1
sub eax, 0x3eabff8
sub eax, 0xda826d00
imul eax, eax, 0x1ec16086
and eax, 0xf21fb04b
or eax, 0x24d0aacc
sub eax, 0xeabb5834
xor eax, 0x7d67f2b9
xor eax, 0x1b82c605
mov ecx, dword [ebp - 8]
sar ecx, 1
mov dword [ebp - 8], ecx
cmp eax, 0xc72087e1
jae 0x100112fb
jmp 0x100114d1
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
jmp 0x100109e0
mov eax, dword [ebp - 4]
add esp, 0x10
pop ebp
ret
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
shl ecx, 1
mov byte [eax + ecx], 0x30
jmp 0x10010bca
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
shl ecx, 1
mov byte [eax + ecx + 1], 0x31
jmp 0x10010f61
mov eax, dword [ebp - 8]
sar eax, 1
mov dword [ebp - 8], eax
jmp 0x100112fb