Function at 0x41a9c0
Capabilities:
Create directory
Get disk information
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5932fb
mov eax, dword fs:[0]
push eax
mov eax, 0x1138
call fcn.00555270
mov eax, dword [0x5deba8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
push 0x16c0
call fcn.00553a71
add esp, 4
mov dword [ebp - 0x102c], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x102c], 0
je 0x41aa2d
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x102c]
call fcn.0042d5b0
mov dword [ebp - 0x1094], eax
jmp 0x41aa37
mov dword [ebp - 0x1094], 0
mov ecx, dword [ebp - 0x1094]
mov dword [ebp - 0x1028], ecx
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x1028]
mov dword [ebp - 0x22c], edx
lea ecx, [ebp - 0x224]
call fcn.0041d970
mov byte [ebp - 4], 2
push 0x5c
lea ecx, [ebp + 0xc]
call fcn.0041dcb0
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0xffffffff
je 0x41ab6e
lea ecx, [ebp + 0xc]
call fcn.0041e2f0
sub eax, dword [ebp - 0x230]
push eax
mov eax, dword [ebp - 0x230]
add eax, 1
push eax
lea ecx, [ebp - 0x1030]
push ecx
lea ecx, [ebp + 0xc]
call fcn.0041dd00
mov dword [ebp - 0x1098], eax
mov edx, dword [ebp - 0x1098]
mov dword [ebp - 0x109c], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x109c]
push eax
lea ecx, [ebp - 0x224]
call fcn.0041dad0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1030]
call fcn.0041dab0
lea ecx, [ebp - 0x224]
call fcn.0041e310
movzx ecx, al
test ecx, ecx
je 0x41ab02
push 0x5b6fac
lea ecx, [ebp - 0x224]
call fcn.0041daf0
jmp 0x41ab6e
push 0x2e
lea ecx, [ebp - 0x224]
call fcn.0041dcb0
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0xffffffff
je 0x41ab6e
mov edx, dword [ebp - 0x230]
push edx
lea eax, [ebp - 0x1034]
push eax
lea ecx, [ebp - 0x224]
call fcn.0041de70
mov dword [ebp - 0x10a0], eax
mov ecx, dword [ebp - 0x10a0]
mov dword [ebp - 0x10a4], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x10a4]
push edx
lea ecx, [ebp - 0x224]
call fcn.0041dad0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1034]
call fcn.0041dab0
lea ecx, [ebp - 0x224]
call fcn.0041e290
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.004285f0
push 0xffffffffffffffff
lea ecx, [ebp - 0x224]
call fcn.0041e330
mov eax, dword [0x5b6fb4]
mov dword [ebp - 0x21c], eax
push 0x204
push 0
lea ecx, [ebp - 0x218]
push ecx
call fcn.005533a0
add esp, 0xc
lea edx, [ebp - 0x21c]
push edx
call fcn.004011a0
add esp, 4
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x228]
call fcn.0041d9b0
mov byte [ebp - 4], 5
push 0x5b6fb8
lea ecx, [ebp - 0x228]
call fcn.0041db30
push 0
lea ecx, [ebp - 0x228]
call fcn.0041e1e0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x5b6fc4
lea ecx, [ebp - 0x228]
call fcn.0041db30
push 0
lea ecx, [ebp - 0x228]
call fcn.0041e1e0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push ecx
mov ecx, esp
mov dword [ebp - 0x1038], esp
lea edx, [ebp + 0xc]
push edx
call fcn.0041d990
mov dword [ebp - 0x10a8], eax
call fcn.00417e80
add esp, 4
mov dword [ebp - 0x10ac], eax
mov eax, dword [ebp - 0x10ac]
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x10b0], ecx
cmp dword [ebp - 0x10b0], 5
ja case.0x41ac71.2
mov edx, dword [ebp - 0x10b0]
jmp dword [edx*4 + 0x41b560]
xor eax, eax
mov word [ebp - 0xb94], ax
push 0x256
push 0
lea ecx, [ebp - 0xb92]
push ecx
call fcn.005533a0
add esp, 0xc
push 0x708
push 0
lea edx, [ebp - 0x93c]
push edx
call fcn.005533a0
add esp, 0xc
lea eax, [ebp - 0xb94]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x103c], esp
lea edx, [ebp + 0xc]
push edx
call fcn.0041d990
mov dword [ebp - 0x10b4], eax
call fcn.0041b580
add esp, 8
lea eax, [ebp - 0x93c]
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.004286e0
push 0
lea ecx, [ebp - 0x6e4]
push ecx
mov ecx, dword [ebp - 0x22c]
call fcn.004287a0
lea edx, [ebp - 0xb94]
push edx
mov ecx, dword [ebp - 0x22c]
call fcn.00428680
jmp 0x41b395
mov eax, dword [0x5b6fd0]
mov dword [ebp - 0xd9c], eax
push 0x204
push 0
lea ecx, [ebp - 0xd98]
push ecx
call fcn.005533a0
add esp, 0xc
push 0x5c
lea ecx, [ebp + 0xc]
call fcn.0041dcb0
mov dword [ebp - 0xda0], eax
cmp dword [ebp - 0xda0], 0xffffffff
je 0x41ad9a
mov edx, dword [ebp - 0xda0]
push edx
lea eax, [ebp - 0xda4]
push eax
lea ecx, [ebp + 0xc]
call fcn.0041de70
mov ecx, dword [ebp - 0xda4]
push ecx
push 0x5b6fd4
lea edx, [ebp - 0xd9c]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0xd9c]
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.004286e0
lea ecx, [ebp - 0xda4]
call fcn.0041dab0
mov ecx, dword [ebp + 0xc]
push ecx
push 0x5b6fdc
lea edx, [ebp - 0xd9c]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0xd9c]
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.00428680
jmp 0x41b395
mov dword [ebp - 0xe14], 0xffffffff
mov ecx, dword [0x5b6fe4]
mov dword [ebp - 0xe0c], ecx
push 0x60
push 0
lea edx, [ebp - 0xe08]
push edx
call fcn.005533a0
add esp, 0xc
push 0
push 0
push 0
push 0
push 0
push 0x32
lea eax, [ebp - 0xe0c]
push eax
lea ecx, [ebp + 0xc]
call fcn.0041e1e0
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
lea ecx, [ebp - 0xe0c]
push ecx
lea ecx, [ebp - 0xe10]
call fcn.0041d9b0
mov byte [ebp - 4], 6
lea ecx, [ebp + 0xc]
call fcn.0041e1e0
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov dword [ebp - 0xe14], eax
cmp dword [ebp - 0xe14], 2
je 0x41b2e9
mov edx, dword [ebp - 0xe14]
mov dword [ebp - 0x10b8], edx
cmp dword [ebp - 0x10b8], 3
je 0x41ae74
cmp dword [ebp - 0x10b8], 5
je 0x41b0b1
jmp 0x41b2e9
lea ecx, [ebp - 0xe18]
call fcn.0041d970
mov byte [ebp - 4], 7
push 0x5b120f
lea eax, [ebp - 0xe10]
push eax
call fcn.0041e140
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x41af6f
push 2
lea edx, [ebp - 0x1040]
push edx
lea ecx, [ebp + 0xc]
call fcn.0041de70
mov dword [ebp - 0x10bc], eax
mov eax, dword [ebp - 0x10bc]
mov dword [ebp - 0x10c0], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x10c0]
push ecx
push str._g0W
lea edx, [ebp - 0x1044]
push edx
call fcn.0041e090
add esp, 0xc
mov dword [ebp - 0x10c4], eax
mov eax, dword [ebp - 0x10c4]
mov dword [ebp - 0x10c8], eax
mov byte [ebp - 4], 9
push 0x5b6fe8
mov ecx, dword [ebp - 0x10c8]
push ecx
lea edx, [ebp - 0x1048]
push edx
call fcn.0041dfe0
add esp, 0xc
mov dword [ebp - 0x10cc], eax
mov eax, dword [ebp - 0x10cc]
mov dword [ebp - 0x10d0], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x10d0]
push ecx
lea ecx, [ebp - 0xe18]
call fcn.0041dad0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1048]
call fcn.0041dab0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1044]
call fcn.0041dab0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1040]
call fcn.0041dab0
jmp 0x41b079
push 2
lea edx, [ebp - 0x104c]
push edx
lea ecx, [ebp + 0xc]
call fcn.0041de70
mov dword [ebp - 0x10d4], eax
mov eax, dword [ebp - 0x10d4]
mov dword [ebp - 0x10d8], eax
mov byte [ebp - 4], 0xb
push 0x5b7000
lea ecx, [ebp - 0xe10]
push ecx
lea edx, [ebp - 0x1050]
push edx
call fcn.0041dfe0
add esp, 0xc
mov dword [ebp - 0x10dc], eax
mov eax, dword [ebp - 0x10dc]
mov dword [ebp - 0x10e0], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x10d8]
push ecx
mov edx, dword [ebp - 0x10e0]
push edx
lea eax, [ebp - 0x1054]
push eax
call fcn.0041df30
add esp, 0xc
mov dword [ebp - 0x10e4], eax
mov ecx, dword [ebp - 0x10e4]
mov dword [ebp - 0x10e8], ecx
mov byte [ebp - 4], 0xd
push 0x5b6ffc
mov edx, dword [ebp - 0x10e8]
push edx
lea eax, [ebp - 0x1058]
push eax
call fcn.0041dfe0
add esp, 0xc
mov dword [ebp - 0x10ec], eax
mov ecx, dword [ebp - 0x10ec]
mov dword [ebp - 0x10f0], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x10f0]
push edx
lea ecx, [ebp - 0xe18]
call fcn.0041dad0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1058]
call fcn.0041dab0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1054]
call fcn.0041dab0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1050]
call fcn.0041dab0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x104c]
call fcn.0041dab0
lea ecx, [ebp - 0xe18]
call fcn.0041e290
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.004285f0
push 0xffffffffffffffff
lea ecx, [ebp - 0xe18]
call fcn.0041e330
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe18]
call fcn.0041dab0
jmp 0x41b2e9
lea ecx, [ebp - 0xe1c]
call fcn.0041d970
mov byte [ebp - 4], 0xf
push 0x5b1212
lea eax, [ebp - 0xe10]
push eax
call fcn.0041e140
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x41b1ac
push 2
lea edx, [ebp - 0x105c]
push edx
lea ecx, [ebp + 0xc]
call fcn.0041de70
mov dword [ebp - 0x10f4], eax
mov eax, dword [ebp - 0x10f4]
mov dword [ebp - 0x10f8], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10f8]
push ecx
push 0x5b7008
lea edx, [ebp - 0x1060]
push edx
call fcn.0041e090
add esp, 0xc
mov dword [ebp - 0x10fc], eax
mov eax, dword [ebp - 0x10fc]
mov dword [ebp - 0x1100], eax
mov byte [ebp - 4], 0x11
push 0x5b7004
mov ecx, dword [ebp - 0x1100]
push ecx
lea edx, [ebp - 0x1064]
push edx
call fcn.0041dfe0
add esp, 0xc
mov dword [ebp - 0x1104], eax
mov eax, dword [ebp - 0x1104]
mov dword [ebp - 0x1108], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x1108]
push ecx
lea ecx, [ebp - 0xe1c]
call fcn.0041dad0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1064]
call fcn.0041dab0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1060]
call fcn.0041dab0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x105c]
call fcn.0041dab0
jmp 0x41b2b6
push 2
lea edx, [ebp - 0x1068]
push edx
lea ecx, [ebp + 0xc]
call fcn.0041de70
mov dword [ebp - 0x110c], eax
mov eax, dword [ebp - 0x110c]
mov dword [ebp - 0x1110], eax
mov byte [ebp - 4], 0x13
push 0x5b701c
lea ecx, [ebp - 0xe10]
push ecx
lea edx, [ebp - 0x106c]
push edx
call fcn.0041dfe0
add esp, 0xc
mov dword [ebp - 0x1114], eax
mov eax, dword [ebp - 0x1114]
mov dword [ebp - 0x1118], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x1110]
push ecx
mov edx, dword [ebp - 0x1118]
push edx
lea eax, [ebp - 0x1070]
push eax
call fcn.0041df30
add esp, 0xc
mov dword [ebp - 0x111c], eax
mov ecx, dword [ebp - 0x111c]
mov dword [ebp - 0x1120], ecx
mov byte [ebp - 4], 0x15
push 0x5b7018
mov edx, dword [ebp - 0x1120]
push edx
lea eax, [ebp - 0x1074]
push eax
call fcn.0041dfe0
add esp, 0xc
mov dword [ebp - 0x1124], eax
mov ecx, dword [ebp - 0x1124]
mov dword [ebp - 0x1128], ecx
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1128]
push edx
lea ecx, [ebp - 0xe1c]
call fcn.0041dad0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1074]
call fcn.0041dab0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x1070]
call fcn.0041dab0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x106c]
call fcn.0041dab0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1068]
call fcn.0041dab0
lea ecx, [ebp - 0xe1c]
call fcn.0041e290
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.004285f0
push 0xffffffffffffffff
lea ecx, [ebp - 0xe1c]
call fcn.0041e330
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe1c]
call fcn.0041dab0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xe10]
call fcn.0041dab0
lea ecx, [ebp + 0xc]
call fcn.0041e290
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.00428680
push 0xffffffffffffffff
lea ecx, [ebp + 0xc]
call fcn.0041e330
jmp 0x41b395
mov eax, dword [0x5b7020]
mov dword [ebp - 0x1024], eax
push 0x204
push 0
lea ecx, [ebp - 0x1020]
push ecx
call fcn.005533a0
add esp, 0xc
lea ecx, [ebp + 0xc]
call fcn.0041e1e0
push eax
push 0x104
lea edx, [ebp - 0x1024]
push edx
push 0x5b7024
push 0x5b7028
push str.InternetShortcut
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x1024]
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.00428680
jmp 0x41b395
lea ecx, [ebp + 0xc]
call fcn.0041e290
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.00428680
push 0xffffffffffffffff
lea ecx, [ebp + 0xc]
call fcn.0041e330
mov ecx, dword [ebp - 0x22c]
call fcn.00428ce0
push ecx
mov ecx, esp
mov dword [ebp - 0x1078], esp
push eax
call fcn.0041d9b0
mov dword [ebp - 0x112c], eax
mov ecx, dword [ebp - 0x112c]
mov dword [ebp - 0x1130], ecx
mov byte [ebp - 4], 0x17
push ecx
mov ecx, esp
mov dword [ebp - 0x107c], esp
lea edx, [ebp - 0x228]
push edx
call fcn.0041d990
mov dword [ebp - 0x1134], eax
mov eax, dword [ebp - 0x1134]
mov dword [ebp - 0x1138], eax
mov byte [ebp - 4], 0x18
push ecx
mov ecx, esp
mov dword [ebp - 0x1080], esp
lea edx, [ebp + 0xc]
push edx
call fcn.0041d990
mov dword [ebp - 0x113c], eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 5
call fcn.004585d0
add esp, 0x10
mov dword [ebp - 0x1140], eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x10]
call fcn.0041e310
movzx ecx, al
test ecx, ecx
je 0x41b4c7
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1088], edx
mov eax, dword [ebp - 0x1088]
mov dword [ebp - 0x1084], eax
cmp dword [ebp - 0x1084], 0
je 0x41b472
push 1
mov ecx, dword [ebp - 0x1084]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x1084]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x1144], eax
jmp 0x41b47c
mov dword [ebp - 0x1144], 0
mov dword [ebp - 0x108c], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x10]
call fcn.0041dab0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x228]
call fcn.0041dab0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x224]
call fcn.0041dab0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.0041dab0
mov eax, dword [ebp - 0x108c]
jmp 0x41b544
lea ecx, [ebp - 0x10]
call fcn.0041e290
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.00428410
lea ecx, [ebp - 0x10]
call fcn.0041e290
push eax
mov ecx, dword [ebp - 0x22c]
call fcn.00428510
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
call fcn.0041e330
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1090], ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x10]
call fcn.0041dab0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x228]
call fcn.0041dab0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x224]
call fcn.0041dab0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.0041dab0
mov eax, dword [ebp - 0x1090]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0055338c
mov esp, ebp
pop ebp
ret