Function at 0x10042740
Capabilities:
Encode data using xor
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [0x100c21f8]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0xc], 0
jne 0x100427e3
lea eax, [ebp - 0x20c]
xor ecx, ecx
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
sub esp, 0xc
lea eax, [ebp - 0x20c]
mov dword [esp], eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
sub esp, 4
lea edx, [ebp - 0x20c]
lea ecx, [ebp - 0x108]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1008a490
lea ecx, [ebp - 0x108]
lea eax, [0x100b548a]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1008a4a0
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x108]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1008a4a0
jmp 0x100427f8
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x108]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1008a490
mov eax, dword [0x100c16f8]
xor eax, dword [0x100c16fc]
imul eax, eax, 0xee7f593c
or eax, 0xfef733cb
or eax, 0x504332b3
sub eax, 0x262e8d5f
and eax, 0x41ff0476
mov ecx, 0xd47b5187
xor edx, edx
div ecx
or eax, 0xbc7d86d3
mov ecx, 0x9e1e04d4
xor edx, edx
div ecx
or eax, 0xa78a91fb
mov ecx, 0x8b25b8b5
xor edx, edx
div ecx
xor eax, 0x19925f65
or eax, 0x1405eb93
xor eax, 0x3751e256
or eax, 0x1da52341
or eax, 0x35bc3a25
xor eax, 0xf3f924b8
xor eax, 0xcc861298
mov ecx, 0x9e1169e3
xor edx, edx
div ecx
add eax, 0x54f4fcb6
imul eax, eax, 0xe8e0d348
mov ecx, 0x26f7f6d5
xor edx, edx
div ecx
mov ecx, 0xa43dd985
xor edx, edx
div ecx
sub eax, 0x9ac3ea48
or eax, 0x3e2c8a86
sub eax, 0x1dbde42a
mov ecx, 0x320d9237
xor edx, edx
div ecx
and eax, 0x2e0af635
mov ecx, 0x46c69945
xor edx, edx
div ecx
add eax, 0x5a534cbb
or eax, 0x89db99b1
imul eax, eax, 0xe1d002ee
or eax, 0xd3b727cc
xor eax, 0xaefed2a6
imul eax, eax, 0x9306d3d1
add eax, 0x6476217d
and eax, 0xbe0ccc77
sub eax, 0xd2d1147a
add eax, 0x27283fc8
imul eax, eax, 0x7d034fb8
add eax, 0xfc7a3bb7
mov ecx, 0xfc282731
xor edx, edx
div ecx
add eax, 0x504219e2
or eax, 0x2f7ffa42
mov ecx, 0x34608446
xor edx, edx
div ecx
imul eax, eax, 0x65b930c
xor eax, 0xc87474fa
or eax, 0xc9e3278e
sub eax, 0xf522c4c5
mov ecx, 0xfda73d67
xor edx, edx
div ecx
mov ecx, 0xe0b1def1
xor edx, edx
div ecx
or eax, 0x67d42b87
sub eax, 0x41bd630b
sub eax, 0x9e06efd7
xor eax, 0xe520a520
mov ecx, 0x8fd13d1c
xor edx, edx
div ecx
imul eax, eax, 0xa7842e0c
xor eax, 0xe6c5472d
sub eax, 0x27ab487
imul eax, eax, 0x61ae40be
sub eax, 0x20961618
or eax, 0x628b2437
and eax, 0x688aa395
mov ecx, 0x4dfede11
xor edx, edx
div ecx
and eax, 0x99a591a2
add eax, 0xe7e3cd61
or eax, 0xddef3e4b
imul eax, eax, 0xa19c468a
sub eax, 0x30e8adc9
add eax, 0x33684d63
and eax, 0xedf7eab0
add eax, 0x13ad4511
mov ecx, 0xfd626bf6
xor edx, edx
div ecx
cmp eax, 0x87f49413
ja 0x100432e8
mov eax, dword [0x100c1700]
add eax, dword [0x100c1704]
xor eax, 0xb0315746
imul eax, eax, 0x45a8a187
and eax, 0xd4d3be78
mov ecx, 0xc4b29d0a
xor edx, edx
div ecx
add eax, 0x41be6a5b
or eax, 0x167705c5
and eax, 0xc4ddc58a
xor eax, 0xe1649b7a
xor eax, 0x29beb33b
mov ecx, 0x880514fc
xor edx, edx
div ecx
and eax, 0x9a0e9c37
sub eax, 0xb2f874c2
and eax, 0x63b30612
sub eax, 0x5342a47f
add eax, 0x48bd2136
or eax, 0x3dbdda6f
imul eax, eax, 0x94be79dd
sub eax, 0x97f303c4
xor eax, 0x69fb94bc
imul eax, eax, 0xd959260
imul eax, eax, 0x6937c283
or eax, 0x9c856b74
and eax, 0x6e9870e6
sub eax, 0x306082a8
add eax, 0xa6e17d39
imul eax, eax, 0x54e0bd70
imul eax, eax, 0xcafa5bf0
mov ecx, 0x559a82c3
xor edx, edx
div ecx
sub eax, 0x746232e2
sub eax, 0x571641d
add eax, 0x5c7c1a5e
add eax, 0xaf33055
xor eax, 0x892be05a
sub eax, 0x25b32a74
mov ecx, 0xa2c698a0
xor edx, edx
div ecx
and eax, 0x6cf9621b
and eax, 0xd93f7cb5
or eax, 0x44013c41
mov ecx, 0x92f30678
xor edx, edx
div ecx
and eax, 0x82912d4b
and eax, 0x3f447577
or eax, 0xb91e534e
and eax, 0xa678291b
xor eax, 0xd1775e09
mov ecx, 0x567ace57
xor edx, edx
div ecx
imul eax, eax, 0x556c99a3
or eax, 0xd2ff312d
add eax, 0x8d853ed9
mov ecx, 0xc248dff
xor edx, edx
div ecx
imul eax, eax, 0x945186e4
or eax, 0x70aa9e20
sub eax, 0x8826b7cb
imul eax, eax, 0xc2f2b9ea
and eax, 0x87b48518
sub eax, 0x506aa090
mov ecx, 0x9e7c72cf
xor edx, edx
div ecx
xor eax, 0xacf67884
add eax, 0x230591c1
xor eax, 0xf1eee82c
or eax, 0x45d2f989
imul eax, eax, 0x764860ee
xor eax, 0x342acec2
sub eax, 0xa9cf5662
or eax, 0x7cb32e8b
or eax, 0x6715157b
mov ecx, 0x5135c668
xor edx, edx
div ecx
imul eax, eax, 0x1b8db5a2
imul eax, eax, 0x2a6aac68
or eax, 0x7d278c8a
and eax, 0x5bed4130
or eax, 0xb16a3acb
and eax, 0xe50e2c55
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x108]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x214], eax
mov dword [esp], 0x14
mov dword [esp + 4], 0x1a
call fcn.1000ec30
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x218], ecx
cmp eax, 0x59495923
jb 0x100432e8
mov eax, dword [ebp - 0x218]
sub eax, 0xffffffff
je 0x10042bd5
jmp 0x10042bc1
mov eax, dword [ebp - 0x218]
sub eax, 0x10
je 0x10042f43
jmp 0x100432ba
mov eax, dword [0x100c1708]
xor edx, edx
div dword [0x100c170c]
imul eax, eax, 0x918db4a4
mov ecx, 0x3a06cf39
xor edx, edx
div ecx
imul eax, eax, 0xb17b46e6
or eax, 0xfe5b2e37
and eax, 0xa02ebab9
imul eax, eax, 0x4c74088c
add eax, 0xa99fbfce
and eax, 0xcce3d0b7
add eax, 0xec6d1416
mov ecx, 0x6df3c046
xor edx, edx
div ecx
and eax, 0xc676e64
mov ecx, 0x334120b2
xor edx, edx
div ecx
imul eax, eax, 0x9012858c
add eax, 0xa6014164
imul eax, eax, 0x5be6d36c
or eax, 0xfc76849f
sub eax, 0xce89f131
add eax, 0xefe52f66
xor eax, 0x9c046b4b
imul eax, eax, 0xc3579cf2
add eax, 0x35d77ae2
mov ecx, 0x4a6354ba
xor edx, edx
div ecx
and eax, 0x8aa185e6
and eax, 0x1ee910b8
add eax, 0xb478e84d
add eax, 0x26538395
and eax, 0x3d3cbd03
imul eax, eax, 0x6291b37e
xor eax, 0x7801b4ec
or eax, 0x63b4e54f
add eax, 0xf98e647a
and eax, 0xc9f87317
sub eax, 0xf8ee3439
add eax, 0x804ead39
sub eax, 0x8abb0c8b
imul eax, eax, 0x6799ef5f
xor eax, 0x7256cd76
sub eax, 0x89560665
mov ecx, 0x1496ec9
xor edx, edx
div ecx
or eax, 0xbe6caced
xor eax, 0x644fbf6c
sub eax, 0x365ae3e6
sub eax, 0xbac4c2ed
sub eax, 0xa7224d0f
imul eax, eax, 0x47b9f5d9
and eax, 0x5747ca02
and eax, 0x517ebeef
and eax, 0x144995a1
imul eax, eax, 0xfa69ea25
or eax, 0x5f629563
mov ecx, 0x4baf419d
xor edx, edx
div ecx
mov ecx, 0xba9f85c2
xor edx, edx
div ecx
or eax, 0xebef64b4
imul eax, eax, 0xf7995112
add eax, 0x24a4bc1f
add eax, 0x86df43
xor eax, 0x4833ead8
sub eax, 0x79824c4e
xor eax, 0x29afbfac
and eax, 0xf760ced7
add eax, 0xd6e7a5d5
or eax, 0xb640bd01
mov ecx, 0xd3e03941
xor edx, edx
div ecx
imul eax, eax, 0x4aa54ac0
add eax, 0x6995f21f
imul eax, eax, 0x9518be1b
imul eax, eax, 0x730ffdca
and eax, 0x3e546163
add eax, 0x8304146f
mov ecx, 0xea0e9c95
xor edx, edx
div ecx
xor eax, 0xba934b71
and eax, 0xceeffcbc
cmp eax, 0xefdea6a8
jae 0x10043319
mov eax, dword [0x100c1710]
and eax, dword [0x100c1714]
or eax, 0x35e6f6e3
and eax, 0x7979193c
sub eax, 0x53756e6
imul eax, eax, 0xe24adc72
add eax, 0x68a714d7
mov ecx, 0xbaecaec4
xor edx, edx
div ecx
sub eax, 0xd7843fd7
add eax, 0xb2ed4d0b
and eax, 0xe3cf2d48
and eax, 0x32f5eff9
add eax, 0x250ab47f
imul eax, eax, 0x48c9197e
imul eax, eax, 0x8f38441e
add eax, 0x499485f3
add eax, 0xd8d56f91
sub eax, 0xd5992acd
add eax, 0xae7d4a14
add eax, 0x4f1d29f2
and eax, 0x2a753b8d
mov ecx, 0xc1ce76bc
xor edx, edx
div ecx
imul eax, eax, 0xcaac1f32
mov ecx, 0x680c80a9
xor edx, edx
div ecx
mov ecx, 0x5f31d2d1
xor edx, edx
div ecx
sub eax, 0x5250b9ca
imul eax, eax, 0xd87ec593
imul eax, eax, 0x52fbf9b0
and eax, 0xe172a058
add eax, 0xf945fd2c
or eax, 0x698f98e5
xor eax, 0xa4beebe8
imul eax, eax, 0xb42e877
sub eax, 0x2926ccf2
imul eax, eax, 0xb210907c
add eax, 0x25c551e8
add eax, 0x25f9b235
and eax, 0x3d4bccf8
and eax, 0x88a9d1f
imul eax, eax, 0x90f0629
sub eax, 0xb2dec980
and eax, 0x7a4d6ddf
or eax, 0xb0a0d87b
imul eax, eax, 0xf876b34a
and eax, 0xda66c3c3
xor eax, 0x40488019
add eax, 0x6ea866e0
or eax, 0x517b1166
xor eax, 0xca24aaf
mov ecx, 0xbe1e58a4
xor edx, edx
div ecx
mov ecx, 0x8a3c2aa4
xor edx, edx
div ecx
and eax, 0x3bb04bab
and eax, 0xf4271838
xor eax, 0xf3a8cf10
sub eax, 0x3cfee761
sub eax, 0xf0300392
and eax, 0x426265a
add eax, 0xce06cef0
and eax, 0x1d369391
imul eax, eax, 0xc5cea239
add eax, 0x5e1330b8
mov ecx, 0x53f32d61
xor edx, edx
div ecx
sub eax, 0x6f6f82a9
and eax, 0x5a7abddc
xor eax, 0xacd1729c
mov ecx, 0xca9ce06d
xor edx, edx
div ecx
and eax, 0x5cd18ecd
xor eax, 0xd8f542f1
or eax, 0x7061125d
add eax, 0xfa201cc9
xor eax, 0x761d4fdc
sub eax, 0x1d830828
mov ecx, 0x8e223fa6
xor edx, edx
div ecx
add eax, 0x60cc46e4
mov dword [ebp - 0x210], 2
cmp eax, 0x3cce808f
jbe 0x10042d87
jmp 0x100432c4
mov eax, dword [0x100c1718]
or eax, dword [0x100c171c]
or eax, 0x90f4f45f
add eax, 0x4db95a97
mov ecx, 0xe437bdab
xor edx, edx
div ecx
mov ecx, 0xb23a6cb9
xor edx, edx
div ecx
and eax, 0xef4125e1
imul eax, eax, 0x24de805
xor eax, 0xecdb2de7
or eax, 0x3c799dca
xor eax, 0xdce4b724
mov ecx, 0x925bd522
xor edx, edx
div ecx
or eax, 0xbb506575
or eax, 0xf3d9a1e5
xor eax, 0xd06122de
sub eax, 0x74c3c858
sub eax, 0x5cae6cf5
imul eax, eax, 0x7256a6dd
xor eax, 0x6a6a12c6
imul eax, eax, 0xe6554784
or eax, 0xc08e1d12
add eax, 0x2478093d
and eax, 0x479fcf06
imul eax, eax, 0x2cd8c9f5
sub eax, 0x2a6669bd
sub eax, 0xe42cbb74
mov ecx, 0xdb2df3ed
xor edx, edx
div ecx
mov ecx, 0x82270b7a
xor edx, edx
div ecx
mov ecx, 0xf325065c
xor edx, edx
div ecx
or eax, 0x3068e1b4
imul eax, eax, 0xe817fa8d
mov ecx, 0xe2ae48cc
xor edx, edx
div ecx
and eax, 0x63fa35bf
mov ecx, 0x798367cc
xor edx, edx
div ecx
imul eax, eax, 0xe28d7d48
or eax, 0x5a8386fa
and eax, 0xf8ca2356
sub eax, 0x113bf51e
mov ecx, 0xe6e5db31
xor edx, edx
div ecx
or eax, 0x8270d849
xor eax, 0xaac80b08
and eax, 0x60872fb3
and eax, 0x6299748
sub eax, 0xfd54e042
add eax, 0x8dc65b00
and eax, 0x7305bb8d
and eax, 0xdd8cdf34
xor eax, 0x36399db6
add eax, 0x7aeb6c76
or eax, 0x15977a91
add eax, 0xb148f0d7
or eax, 0x26e7d450
sub eax, 0xf1779b66
and eax, 0x31d0c7c9
sub eax, 0x88eb912b
sub eax, 0xb1842fc4
sub eax, 0x49d44b38
imul eax, eax, 0x7326c602
add eax, 0xb0dddafa
imul eax, eax, 0x2518a007
and eax, 0x4d6d2843
imul eax, eax, 0x57913eb3
add eax, 0x6dcd2de2
and eax, 0x42136ba3
imul eax, eax, 0x3a4bfc7e
or eax, 0x5c35d8f6
xor eax, 0xd8c539f
xor eax, 0xe6abde7
sub eax, 0xac88d765
add eax, 0xce07019b
mov ecx, 0x6f07a36e
xor edx, edx
div ecx
sub eax, 0xdfeeafdd
or eax, 0xdf062dc1
xor eax, 0x31637d4d
cmp eax, 0x98a1961f
jb 0x10043328
mov eax, dword [0x100c1720]
xor edx, edx
div dword [0x100c1724]
xor eax, 0x813bb38f
sub eax, 0x1751cb02
add eax, 0x8c419a91
or eax, 0xd4cf4818
and eax, 0x92b69625
sub eax, 0x392c799b
xor eax, 0x9dc570ee
or eax, 0x9e11fe12
mov ecx, 0xedd67fe2
xor edx, edx
div ecx
mov ecx, 0xd6ef323c
xor edx, edx
div ecx
imul eax, eax, 0x851ce9c4
or eax, 0x4edf6c20
sub eax, 0x7989fc64
add eax, 0x48dc8f51
sub eax, 0xa1137778
or eax, 0x1204c697
or eax, 0x47823c2f
mov ecx, 0xa1d7cd6e
xor edx, edx
div ecx
or eax, 0x5207fd9
xor eax, 0x6f1799ef
and eax, 0x61bdc890
xor eax, 0x7b04e139
and eax, 0xbba1ae42
and eax, 0xc696489d
xor eax, 0xade876d3
and eax, 0x19989e69
sub eax, 0x4d3cf01a
or eax, 0x6193ccc
xor eax, 0xb627064b
xor eax, 0xdf1110df
mov ecx, 0x7835b695
xor edx, edx
div ecx
add eax, 0xc9fc7296
mov ecx, 0x2aa36158
xor edx, edx
div ecx
xor eax, 0xc5354814
imul eax, eax, 0x9c13c3fa
imul eax, eax, 0xd8add43d
add eax, 0x6b28b55f
add eax, 0x4f575d2f
sub eax, 0xada57170
xor eax, 0xb1c327a9
or eax, 0x718aaf
imul eax, eax, 0x72942383
imul eax, eax, 0x8e3a03ed
mov ecx, 0x61421316
xor edx, edx
div ecx
and eax, 0x522d2a10
sub eax, 0x9c66ed66
or eax, 0x361cb2e9
imul eax, eax, 0xf71714fc
mov ecx, 0x8120270e
xor edx, edx
div ecx
xor eax, 0x24d1589e
and eax, 0xb7681dbf
mov ecx, 0xdd979123
xor edx, edx
div ecx
xor eax, 0xae2ee73e
mov ecx, 0xe7ce065
xor edx, edx
div ecx
xor eax, 0x2fef25aa
and eax, 0xfe10bdc6
xor eax, 0x4e33c538
mov ecx, 0x95427172
xor edx, edx
div ecx
or eax, 0x10ba080c
xor eax, 0xca74f388
sub eax, 0x21b7d9bf
imul eax, eax, 0x9284eb40
add eax, 0x71be8e2d
imul eax, eax, 0xa30bc7ff
xor eax, 0x6d12a8a4
xor eax, 0x149e7ce5
or eax, 0x10e6e174
mov ecx, 0x9e00014f
xor edx, edx
div ecx
add eax, 0xe6ffbd3c
mov ecx, 0xce3785c0
xor edx, edx
div ecx
add eax, 0xb7e1b81
add eax, 0x355b4c1
mov dword [ebp - 0x210], 1
cmp eax, 0x80ef182c
jae 0x100430f3
jmp 0x100432c4
mov dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006978f
mov eax, dword [ebp - 0x220]
add esp, 0x22c
pop ebp
ret
lea eax, [ebp - 0x108]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x214], eax
mov dword [esp], 0x14
mov dword [esp + 4], 0x1a
call fcn.1000ec30
jmp 0x100429bb
mov dword [ebp - 0x210], 2
jmp 0x10042d87
mov dword [ebp - 0x210], 1
jmp 0x100430f3