Function at 0x1004c530
Capabilities:
Encode data using xor
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
mov eax, dword [ebp + 8]
mov eax, dword [0x100c21f8]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x1e]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1a
call fcn.1006d150
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [ebp - 0x12c], eax
mov byte [ebp - 0x12d], 0
mov dword [ebp - 0x134], 0
cmp dword [ebp - 0x134], 0x1a
jge 0x1004d068
mov eax, dword [0x100c1948]
xor eax, dword [0x100c194c]
xor eax, 0x91c562fc
sub eax, 0x4846ae27
imul eax, eax, 0xca53ed8a
xor eax, 0x4de8e16f
or eax, 0x90867763
or eax, 0x8a80493c
add eax, 0x293f571e
sub eax, 0xbf3fba5f
xor eax, 0x97a5414d
xor eax, 0xb2bd381b
imul eax, eax, 0xb8ee0c4d
add eax, 0x52fa3330
and eax, 0x13ddec68
imul eax, eax, 0xc9197d54
and eax, 0xbf7c7e4a
sub eax, 0xe1c10da3
xor eax, 0x3ce90df
add eax, 0x8e1ef39e
and eax, 0x2c711943
add eax, 0x756fed58
add eax, 0x335ee6f0
xor eax, 0x68dbee9b
imul eax, eax, 0x1e430b15
add eax, 0x9a63465f
mov ecx, 0xa93d8645
xor edx, edx
div ecx
sub eax, 0x97fa7296
or eax, 0x4a01d54d
sub eax, 0xec47b8a7
or eax, 0xe54d1852
sub eax, 0x3ab9d2f3
add eax, 0xae65840a
and eax, 0xb6e8f8c9
imul eax, eax, 0x59e6138b
or eax, 0xa4b47e40
add eax, 0xe312ae4a
or eax, 0x39d8dbe
and eax, 0x80c0a815
imul eax, eax, 0x44911f36
or eax, 0xa804b121
sub eax, 0x88c00f0c
xor eax, 0x303612ba
or eax, 0x35551693
add eax, 0x9cc977a3
or eax, 0xfc7c910a
xor eax, 0x1726f92e
sub eax, 0x6ad7197f
imul eax, eax, 0x2cb85c24
sub eax, 0x4b84b334
add eax, 0xe91b854
or eax, 0x7dd6991d
add eax, 0x4b957db4
imul eax, eax, 0x4d5bfda8
mov ecx, 0x22756b52
xor edx, edx
div ecx
add eax, 0xb750a764
and eax, 0x3d149833
add eax, 0xb90b490c
sub eax, 0xb3dd4e09
or eax, 0x7f0209d0
xor eax, 0xe51308bb
xor eax, 0x1a0d3287
mov ecx, 0x21e3755
xor edx, edx
div ecx
imul eax, eax, 0xbffe9774
mov ecx, 0x4aeeffa3
xor edx, edx
div ecx
imul eax, eax, 0x5ef13d4
xor eax, 0x67c4119b
or eax, 0x4b438094
and eax, 0x9c6c13fb
imul eax, eax, 0x26cf6ec6
xor eax, 0xadee27d2
sub eax, 0x9e883f6b
imul eax, eax, 0xc777576e
sub eax, 0x280ce7d1
cmp eax, 0x4b1d7df8
jb 0x1004d091
mov eax, dword [0x100c1950]
xor edx, edx
div dword [0x100c1954]
sub eax, 0x69ffbf76
or eax, 0xe2fc9ea9
or eax, 0x335619c0
imul eax, eax, 0xbde4fde2
sub eax, 0xcd92834a
or eax, 0xc19f8c22
mov ecx, 0xa710a582
xor edx, edx
div ecx
add eax, 0x98c42e79
imul eax, eax, 0x82c16b36
xor eax, 0xb79cf7b9
add eax, 0x84bf3e44
add eax, 0x7b7cf166
mov ecx, 0xf148e60b
xor edx, edx
div ecx
sub eax, 0x8978a423
mov ecx, 0x6cea93fb
xor edx, edx
div ecx
mov ecx, 0x7698cb12
xor edx, edx
div ecx
imul eax, eax, 0x396b563e
or eax, 0x8f26ebe7
add eax, 0x30d56e54
or eax, 0x8d03b59e
or eax, 0x6a872edd
and eax, 0xa98b302f
add eax, 0xd7f2d68a
or eax, 0xccb93662
xor eax, 0x55bfd56e
imul eax, eax, 0xfa49e495
and eax, 0x53ade0d3
mov ecx, 0xe5193ec0
xor edx, edx
div ecx
xor eax, 0x3dcf4863
imul eax, eax, 0xbc520f88
add eax, 0x36da178
xor eax, 0xfd3f400a
sub eax, 0x112d477e
mov ecx, 0x86f09e9d
xor edx, edx
div ecx
xor eax, 0x1aa95e2a
sub eax, 0xa426674a
sub eax, 0xa618fbed
sub eax, 0xe681f322
and eax, 0x9e732c2e
or eax, 0x5019988f
xor eax, 0x8d72caba
sub eax, 0x6d069096
mov ecx, 0xde5ad7a8
xor edx, edx
div ecx
xor eax, 0x81d56bd0
sub eax, 0xc1385e5a
mov ecx, 0xfb794d74
xor edx, edx
div ecx
sub eax, 0xd9c01234
sub eax, 0x973803ec
add eax, 0x460311f
and eax, 0x6bd3dd24
or eax, 0x2cf865d
xor eax, 0x1b7c1785
imul eax, eax, 0x60ab7073
imul eax, eax, 0x2a987615
sub eax, 0x7d6d9228
imul eax, eax, 0x73e0ee43
sub eax, 0x98ef415b
and eax, 0xb8e6f59c
xor eax, 0xc0c7500b
or eax, 0xb390e6f4
sub eax, 0x87a1327c
sub eax, 0x7a591649
mov ecx, 0xc07dbd75
xor edx, edx
div ecx
xor eax, 0xafe22e7b
xor eax, 0x29a56cf1
add eax, 0xca491660
imul eax, eax, 0xfbc28be5
mov ecx, 0xef367731
xor edx, edx
div ecx
add eax, 0xfda7de9d
xor eax, 0x39cf36e5
or eax, 0x5561542b
and eax, 0x48051340
mov ecx, dword [ebp - 0x12c]
and ecx, 1
cmp ecx, 1
sete cl
mov byte [ebp - 0x136], cl
cmp eax, 0x94b78508
jae 0x1004d091
mov al, byte [ebp - 0x136]
test al, 1
jne 0x1004c900
jmp 0x1004cce8
mov eax, dword [ebp - 0x134]
add eax, 0x41
mov byte [ebp - 0x135], al
mov al, byte [ebp - 0x135]
mov byte [ebp - 0x126], al
mov byte [ebp - 0x125], 0x3a
mov byte [ebp - 0x124], 0x5c
mov byte [ebp - 0x123], 0
mov dword [esp], 0xc
mov dword [esp + 4], 0x12
call fcn.10027080
lea edx, [ebp - 0x126]
lea ecx, [ebp - 0x122]
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1008a490
lea ecx, [ebp - 0x122]
lea eax, [0x100b5491]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1008a4a0
lea eax, [ebp - 0x122]
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1004c020
cmp eax, 0
je 0x1004c99e
mov byte [ebp - 0x12d], 1
jmp 0x1004d068
mov eax, dword [0x100c1958]
xor edx, edx
div dword [0x100c195c]
or eax, 0x37340627
sub eax, 0xd96e5dfc
xor eax, 0x8ae08347
xor eax, 0xea68d946
imul eax, eax, 0xa10c981c
imul eax, eax, 0x645363b8
imul eax, eax, 0x9b079a06
or eax, 0xc5b40ba4
sub eax, 0xcc18dbe0
xor eax, 0x71c62825
sub eax, 0xf2288977
xor eax, 0x83e330d4
and eax, 0x3fee92e6
mov ecx, 0x1ba8e819
xor edx, edx
div ecx
and eax, 0x5bedecb2
add eax, 0xaa7861a4
mov ecx, 0x96c042c7
xor edx, edx
div ecx
xor eax, 0x590ab31d
imul eax, eax, 0xec234be7
add eax, 0xccbf0ee4
xor eax, 0xabbeb7fc
or eax, 0x67ec0605
or eax, 0xc77349d7
and eax, 0x86e5b877
and eax, 0xb60b516
imul eax, eax, 0x1bbf4b25
sub eax, 0x6f113575
imul eax, eax, 0xf926ed0a
or eax, 0x3c39a8de
imul eax, eax, 0xe189689f
sub eax, 0x811cab9a
mov ecx, 0xd465e612
xor edx, edx
div ecx
add eax, 0xefc397f1
xor eax, 0x9c4cc148
imul eax, eax, 0xe67f0ffa
or eax, 0xc19107d1
or eax, 0x430ebc45
and eax, 0x220aa9b6
imul eax, eax, 0x9f012732
and eax, 0x44013312
add eax, 0xc6692317
add eax, 0x1c62ba6
imul eax, eax, 0x64931df5
and eax, 0x21260b49
imul eax, eax, 0x9164be24
xor eax, 0x9b73fcc9
mov ecx, 0xcd8671bb
xor edx, edx
div ecx
or eax, 0xf88818db
and eax, 0x854f0a1e
or eax, 0x6f6cb4b6
xor eax, 0xfa7f6e6d
or eax, 0xc452d14a
add eax, 0xd1d50832
and eax, 0x6d7e93ee
xor eax, 0x8a03e22f
add eax, 0x6e471f82
and eax, 0xe731dcd8
xor eax, 0xb664ae60
sub eax, 0xd5c92107
and eax, 0xaea3ace3
add eax, 0x320a3e16
xor eax, 0xf5897d9d
or eax, 0xe7bd9671
or eax, 0x6001faf1
and eax, 0xbf1ce69f
mov ecx, 0x9e44d8af
xor edx, edx
div ecx
sub eax, 0x6ff7667f
imul eax, eax, 0x72de8535
mov ecx, 0x77e23512
xor edx, edx
div ecx
and eax, 0x96bbb16f
xor eax, 0xd6e69bcf
sub eax, 0x38d8c5bf
cmp eax, 0x268e6ef8
jbe 0x1004d096
mov eax, dword [0x100c1960]
add eax, dword [0x100c1964]
sub eax, 0x753d49aa
imul eax, eax, 0x5587d0ba
xor eax, 0x9f988f91
add eax, 0x84db1743
and eax, 0xe894a622
sub eax, 0x65343b92
sub eax, 0x26744d12
or eax, 0x4a29b54f
or eax, 0x933fefea
xor eax, 0xd874ddab
mov ecx, 0x78aa93f1
xor edx, edx
div ecx
or eax, 0xe295815a
and eax, 0x8f37f962
and eax, 0x4ff5e072
xor eax, 0x741916
and eax, 0x63ff84c6
imul eax, eax, 0x9142e151
add eax, 0xbaf8f405
xor eax, 0x2fa2dbf8
or eax, 0x351e4044
imul eax, eax, 0xe74526b5
or eax, 0xdc974bb4
imul eax, eax, 0x5f50c504
mov ecx, 0xffafe0f9
xor edx, edx
div ecx
add eax, 0x36fd5d20
imul eax, eax, 0xeafc31e6
sub eax, 0xc5afdb31
xor eax, 0x58c88410
imul eax, eax, 0xf240e089
add eax, 0x5f87f068
xor eax, 0xa57d6daa
add eax, 0xea7b55c8
or eax, 0xe5f1dce9
imul eax, eax, 0x33be0c25
or eax, 0xec1cb912
xor eax, 0x768dbdba
sub eax, 0x9897210
or eax, 0x6439bc90
add eax, 0x812a575b
mov ecx, 0xe9a90e53
xor edx, edx
div ecx
add eax, 0xb82f5cb8
and eax, 0x23932e07
imul eax, eax, 0x562ff20f
xor eax, 0x682b686d
sub eax, 0x139715b8
xor eax, 0xb1d7b85
imul eax, eax, 0xeb0229b3
sub eax, 0x2450c40
mov ecx, 0xbae5acd4
xor edx, edx
div ecx
and eax, 0x5e1f4d82
sub eax, 0x7af1e87e
sub eax, 0xe7f5f7d
or eax, 0xc485fa44
and eax, 0xdbb26de7
sub eax, 0xcbf5473c
and eax, 0x98b6ac56
sub eax, 0xc4afc229
or eax, 0xfd631de7
and eax, 0x46609920
and eax, 0xf5646a1
or eax, 0xb9ff3226
imul eax, eax, 0x39f49ad7
mov ecx, 0x8699897
xor edx, edx
div ecx
and eax, 0x7c0188a9
mov ecx, 0x2650cddd
xor edx, edx
div ecx
or eax, 0xeb4de5c6
xor eax, 0x8f1f3fcc
sub eax, 0xadc0f077
imul eax, eax, 0x98611ae2
sub eax, 0x16af8d93
xor eax, 0xb7a119b0
sub eax, 0x5cb3fb08
cmp eax, 0x95f528b8
jbe 0x1004d096
jmp 0x1004cce8
mov eax, dword [ebp - 0x12c]
shr eax, 1
mov dword [ebp - 0x12c], eax
mov eax, dword [0x100c1968]
sub eax, dword [0x100c196c]
sub eax, 0x1ca3d769
sub eax, 0x51c94fa1
or eax, 0x45db3e78
imul eax, eax, 0xdd965ae4
imul eax, eax, 0x7d8d3a3a
and eax, 0x8e925952
or eax, 0xb061e3bd
add eax, 0x2433b8ae
and eax, 0xff3b4b97
add eax, 0xed3ac10
xor eax, 0x986027ae
sub eax, 0xa508a395
xor eax, 0xa8e364a4
or eax, 0x5acd9b31
mov ecx, 0x8ca1d2c
xor edx, edx
div ecx
sub eax, 0xdca9a428
xor eax, 0xcfb8a05d
or eax, 0xb5644184
xor eax, 0x95a1c17b
xor eax, 0x3efa0428
add eax, 0x25fc4e12
sub eax, 0x59d6c27a
sub eax, 0xb336061b
xor eax, 0xf4a142a3
or eax, 0x506aaf71
add eax, 0xf65c369
and eax, 0x59a7fea
or eax, 0x2b8a9927
and eax, 0x40b8612b
add eax, 0xe27e89fb
add eax, 0xbbc30e1d
imul eax, eax, 0x9c2d2138
mov ecx, 0x61520be
xor edx, edx
div ecx
imul eax, eax, 0x52c988dc
add eax, 0x66648ebb
xor eax, 0x11dbbdcc
add eax, 0x22711f7d
sub eax, 0xc9cff580
xor eax, 0xa9cc49f2
xor eax, 0x5ecfb9db
mov ecx, 0x49620013
xor edx, edx
div ecx
sub eax, 0x50d5efd
add eax, 0xdb4fb1da
sub eax, 0x518efa49
sub eax, 0xac584ba6
sub eax, 0xfc849952
xor eax, 0x153017ac
sub eax, 0xd55c3e01
sub eax, 0xdc1638c9
mov ecx, 0xcd4387dd
xor edx, edx
div ecx
imul eax, eax, 0x2d65abb
and eax, 0xe6d3e4dc
mov ecx, 0x46c7b999
xor edx, edx
div ecx
imul eax, eax, 0xe1dae762
and eax, 0x94c16619
and eax, 0xaa96a6db
sub eax, 0x4d0d8ac4
or eax, 0x8d952e93
sub eax, 0x8c3910ee
add eax, 0xb13c8417
sub eax, 0x557ba52
add eax, 0xc4083870
imul eax, eax, 0xee3041d1
mov ecx, 0xec95683a
xor edx, edx
div ecx
or eax, 0xf8921e96
add eax, 0xda6e865f
imul eax, eax, 0x38fb135c
mov ecx, 0xc51b349
xor edx, edx
div ecx
sub eax, 0xefe96301
add eax, 0xd0815d1b
mov ecx, 0xcaf6451d
xor edx, edx
div ecx
mov ecx, 0xbcd29712
xor edx, edx
div ecx
cmp eax, 0xe9c2b97c
je 0x1004d09b
mov eax, dword [0x100c1970]
sub eax, dword [0x100c1974]
or eax, 0x55dfe5a3
xor eax, 0x4af3ab19
and eax, 0x839d1f3f
sub eax, 0x59bfdc58
xor eax, 0x672d6847
and eax, 0x3f32e04f
sub eax, 0x2cf4eda0
or eax, 0xfc50eecb
and eax, 0x351d7b67
and eax, 0x28f59de5
xor eax, 0x57ebb4ef
mov ecx, 0xd3ec1d1
xor edx, edx
div ecx
mov ecx, 0xc4519841
xor edx, edx
div ecx
sub eax, 0xa0b9ada7
xor eax, 0x461f4375
imul eax, eax, 0x3d5e6532
or eax, 0xdea35874
sub eax, 0xc84f6366
mov ecx, 0xc20d0c7a
xor edx, edx
div ecx
sub eax, 0x361519c
sub eax, 0x99cc4a80
imul eax, eax, 0xc9015612
mov ecx, 0x761787ef
xor edx, edx
div ecx
mov ecx, 0x78ec722d
xor edx, edx
div ecx
or eax, 0xfb56029b
and eax, 0xe9ab21ea
add eax, 0xf7452860
add eax, 0x6b5440fd
add eax, 0xbaf00233
or eax, 0xc47fc5b4
and eax, 0x6f89c500
or eax, 0x4b83e017
sub eax, 0x977b12d9
xor eax, 0x963dc2ed
mov ecx, 0x4db9d513
xor edx, edx
div ecx
xor eax, 0xbe8d0897
or eax, 0x42153844
or eax, 0xa1592031
sub eax, 0xf767fabd
or eax, 0x57fb326f
or eax, 0xe3426998
and eax, 0x3d90ff45
and eax, 0x76908bc5
xor eax, 0xc32bd016
and eax, 0xefdd2bfd
xor eax, 0xbcf80822
mov ecx, 0x5ec6f58b
xor edx, edx
div ecx
imul eax, eax, 0xb0cd018c
mov ecx, 0x8d8aa68d
xor edx, edx
div ecx
imul eax, eax, 0x7f410a8c
and eax, 0x4c728bc7
xor eax, 0x9eb46b71
imul eax, eax, 0x22555474
imul eax, eax, 0xd6699745
mov ecx, 0x298e629c
xor edx, edx
div ecx
add eax, 0x4ca15164
imul eax, eax, 0x6c324bc8
imul eax, eax, 0xd16af167
mov ecx, 0x2e14a12a
xor edx, edx
div ecx
and eax, 0x1cb2924b
xor eax, 0x342ace98
add eax, 0x6b2cc495
or eax, 0xd8bb33ce
add eax, 0xe199a046
or eax, 0x21e1e62e
sub eax, 0x7a415f72
or eax, 0xe4a917d0
or eax, 0x88d3b7fd
xor eax, 0x43934c81
xor eax, 0x3715b564
mov ecx, 0x46e20275
xor edx, edx
div ecx
imul eax, eax, 0xbb1739de
mov ecx, dword [ebp - 0x134]
add ecx, 1
mov dword [ebp - 0x134], ecx
cmp eax, 0xa70dc897
ja 0x1004cea1
jmp 0x1004c580
mov al, byte [ebp - 0x12d]
and al, 1
movzx eax, al
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006978f
mov eax, dword [ebp - 0x13c]
add esp, 0x148
pop ebp
ret
jmp 0x1004c727
jmp 0x1004cb42
mov eax, dword [ebp - 0x134]
add eax, 1
mov dword [ebp - 0x134], eax
jmp 0x1004cea1