Function at 0x40167a
Capabilities:
Get disk information
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
sub esp, 0x5c
xor esi, esi
xor edi, edi
mov ecx, 0x49
push esi
dec ecx
jne 0x40168c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], eax
mov eax, 0x111
cmp eax, dword [ebp - 0x38]
jne 0x40219f
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x38], eax
mov eax, 0x1f4
cmp eax, dword [ebp - 0x38]
jne 0x40219a
push 0
push 0
push 0x188
push dword [str.Writing_LIBRARY_files]
call dword [sym.imp.USER32.DLL_SendMessageA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x40172f
sub esp, 8
push 0
mov edx, 0x405311
call fcn.004044da
mov ebx, esp
add ebx, 8
call fcn.0040411d
mov edx, 0x4052e3
call fcn.004044da
mov ebx, esp
add ebx, 8
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_MessageBoxA]
push eax
mov ebx, esp
mov eax, dword [ebx + 8]
call fcn.00403e20
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 8
jmp 0x402788
mov eax, 0x30
call fcn.00403c21
lea ebx, [ebp - 0xd4]
call fcn.00404086
lea ebx, [ebp - 0xd4]
call fcn.00404573
push eax
mov eax, edi
push eax
push 0x189
push dword [str.Writing_LIBRARY_files]
call dword [sym.imp.USER32.DLL_SendMessageA]
mov edx, dword [ebp - 0xd4]
call fcn.004044c6
mov eax, 1
mov edx, 0x405325
call fcn.004044da
call fcn.0040327b
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd4]
call fcn.004044c6
mov eax, dword [ebp - 0xd8]
sub eax, 1
mov ecx, eax
mov eax, 1
call fcn.004038d3
lea ebx, [ebp - 0xdc]
call fcn.00404086
mov edx, dword [ebp - 0xdc]
call fcn.004044c6
call fcn.004039e0
mov edx, 0x405328
call fcn.004044da
call fcn.0040396f
mov edx, 0x40532b
call fcn.004044da
call fcn.0040396f
mov eax, 0x35
movzx ecx, byte [ebp - 0x70]
cmp ecx, eax
je 0x40189e
mov edx, 0x405334
call fcn.004044da
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x405362
call fcn.004044da
call fcn.004041a7
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x40538d
call fcn.004044da
call fcn.004041a7
lea ebx, [ebp - 0xe0]
call fcn.00404086
sub esp, 8
push 0
mov edx, 0x4053b4
call fcn.004044da
mov ebx, esp
add ebx, 8
call fcn.0040411d
mov edx, dword [ebp - 0xe0]
call fcn.004044c6
mov ebx, esp
add ebx, 8
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_MessageBoxA]
push eax
mov ebx, esp
mov eax, dword [ebx + 8]
call fcn.00403e20
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 8
jmp 0x40219a
mov edx, 0x4053bb
call fcn.004044da
call fcn.00403994
mov edx, 0x4053bb
call fcn.004044da
call fcn.0040396f
call fcn.00401229
call fcn.0040451b
lea ebx, [ebp - 0xe4]
call fcn.00404086
mov edx, 0x4053c3
call fcn.004044da
xor ebx, ebx
mov word [ebp - 0x2e], 1
mov ecx, pe_nt_image_headers32
mov eax, 1
mov dx, 0x261
call fcn.0040335f
mov word [ebp - 0x2e], 1
mov edx, dword [ebp - 0xe4]
call fcn.004044c6
call fcn.00403b39
xor ecx, ecx
mov eax, 1
call fcn.00403e30
mov edx, 0x4053ce
call fcn.004044da
lea ebx, [ebp - 0xe4]
call fcn.00404086
sub esp, 4
mov edx, 0x4053d0
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
push dword [0x4052b0]
call dword [sym.imp.USER32.DLL_DestroyWindow]
mov edx, 0x4053c3
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x4053c3
call fcn.004044da
call fcn.0040363f
mov edx, 0x4053f0
call fcn.004044da
call fcn.0040396f
sub esp, 4
mov edx, 0x4053fa
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
sub esp, 4
mov edx, 0x405416
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x4052b4]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
mov edx, 0x405439
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x405439
call fcn.004044da
call fcn.0040363f
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
mov edx, 0x405446
call fcn.004044da
call fcn.0040396f
mov edx, 0x405450
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x405450
call fcn.004044da
call fcn.0040363f
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
mov edx, 0x405459
call fcn.004044da
call fcn.0040396f
sub esp, 4
mov edx, 0x405463
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x4052b4]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
mov edx, 0x405486
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x405486
call fcn.004044da
call fcn.0040363f
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
mov edx, 0x40548f
call fcn.004044da
call fcn.0040396f
mov edx, 0x405499
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x405499
call fcn.004044da
call fcn.0040363f
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
mov edx, 0x4054a2
call fcn.004044da
call fcn.0040396f
mov edx, 0x4054ac
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x4054ac
call fcn.004044da
call fcn.0040363f
sub esp, 4
mov edx, str.Take_advantage_of_this_hidden_feature_and_run_it_in_your0
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x4052b4]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
mov edx, 0x4054d4
call fcn.004044da
call fcn.0040396f
mov edx, 0x4054de
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x4054de
call fcn.004044da
call fcn.0040363f
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
mov edx, 0x4054e7
call fcn.004044da
call fcn.0040396f
mov edx, 0x4054f1
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x4054f1
call fcn.004044da
call fcn.0040363f
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
mov edx, 0x4054fa
call fcn.004044da
call fcn.0040396f
mov edx, 0x405504
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x405504
call fcn.004044da
call fcn.0040363f
sub esp, 4
mov edx, 0x40550d
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
sub esp, 4
mov edx, 0x405536
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x4052b4]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
mov edx, 0x40554d
call fcn.004044da
call fcn.0040396f
mov edx, 0x405552
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x405552
call fcn.004044da
call fcn.0040363f
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
mov edx, 0x40555c
call fcn.004044da
call fcn.0040396f
sub esp, 4
mov edx, 0x405566
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
sub esp, 4
mov edx, 0x405591
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x4052b4]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
mov edx, 0x4055af
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x4055af
call fcn.004044da
call fcn.0040363f
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
mov edx, 0x4055bd
call fcn.004044da
call fcn.0040396f
mov edx, 0x4055c6
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x4055c6
call fcn.004044da
call fcn.0040363f
mov edx, 0x405442
call fcn.004044da
call fcn.0040396f
sub esp, 4
mov edx, 0x4055d0
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
mov edx, 0x40560b
call fcn.004044da
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x405631
call fcn.004044da
call fcn.004041a7
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x40565b
call fcn.004044da
call fcn.004041a7
lea ebx, [ebp - 0xe8]
call fcn.00404086
sub esp, 8
push 0
mov edx, 0x405678
call fcn.004044da
mov ebx, esp
add ebx, 8
call fcn.0040411d
mov edx, dword [ebp - 0xe8]
call fcn.004044c6
mov ebx, esp
add ebx, 8
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_MessageBoxA]
push eax
mov ebx, esp
mov eax, dword [ebx + 8]
call fcn.00403e20
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 8
mov edx, 0x40568b
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
sub esp, 4
mov edx, 0x405698
call fcn.004044da
mov ebx, esp
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_SetWindowTextA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 4
mov edx, 0x4056af
call fcn.004044da
push 0xd
push 0xa
push 0xd
push 0xa
push 4
call fcn.0040305f
call fcn.004041a7
mov edx, 0x4056d8
call fcn.004044da
call fcn.004041a7
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x40570f
call fcn.004044da
call fcn.004041a7
push 0xd
push 0xa
push 0xd
push 0xa
push 4
call fcn.0040305f
call fcn.004041a7
mov edx, 0x405743
call fcn.004044da
call fcn.004041a7
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x40577d
call fcn.004044da
call fcn.004041a7
lea ebx, [ebp - 0xec]
call fcn.00404086
sub esp, 8
push 0
mov edx, 0x4057af
call fcn.004044da
mov ebx, esp
add ebx, 8
call fcn.0040411d
mov edx, dword [ebp - 0xec]
call fcn.004044c6
mov ebx, esp
add ebx, 8
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_MessageBoxA]
push eax
mov ebx, esp
mov eax, dword [ebx + 8]
call fcn.00403e20
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 8
mov edx, 0x4057bb
call fcn.004044da
call fcn.0040396f
mov edx, 0x4057c5
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x4057d0
call fcn.004044da
mov eax, 1
or eax, 0x8000
call fcn.00402f8e
mov edx, 0x4057de
call fcn.004044da
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x405818
call fcn.004044da
call fcn.004041a7
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x405851
call fcn.004044da
call fcn.004041a7
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x40588a
call fcn.004044da
call fcn.004041a7
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x4058c2
call fcn.004044da
call fcn.004041a7
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x4058f7
call fcn.004044da
call fcn.004041a7
push 0xd
push 0xa
push 2
call fcn.0040305f
call fcn.004041a7
mov edx, 0x40592f
call fcn.004044da
call fcn.004041a7
lea ebx, [ebp - 0xe0]
call fcn.00404086
sub esp, 8
push 0x40
mov edx, 0x405969
call fcn.004044da
mov ebx, esp
add ebx, 8
call fcn.0040411d
mov edx, dword [ebp - 0xe0]
call fcn.004044c6
mov ebx, esp
add ebx, 8
call fcn.0040411d
push dword [0x405294]
call dword [sym.imp.USER32.DLL_MessageBoxA]
push eax
mov ebx, esp
mov eax, dword [ebx + 8]
call fcn.00403e20
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 8
push 0
push 0xf060
push 0x112
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_SendMessageA]
jmp 0x402773
mov eax, 1
cmp eax, dword [ebp - 0x38]
jne 0x40272b
push 0xb
call dword [sym.imp.GDI32.DLL_GetStockObject]
mov dword [ebp - 0xf0], eax
push 0xc
call dword [sym.imp.GDI32.DLL_GetStockObject]
mov dword [ebp - 0xf4], eax
sub esp, 0x1c
mov eax, 0x1f4
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 2
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0x19
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0x96
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0x10e
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0x8c
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov edx, 0x40597e
call fcn.004044da
mov ebx, esp
add ebx, 0x18
push ebx
call fcn.004040de
lea ebx, [ebp + 8]
push ebx
call fcn.0040293c
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 0x1c
mov dword [0x4052b0], eax
push 1
push dword [ebp - 0xf4]
push 0x30
push dword [0x4052b0]
call dword [sym.imp.USER32.DLL_SendMessageA]
sub esp, 0x1c
mov eax, 0x1f5
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 2
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0xf
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0x1a5
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0xe1
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 8
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov edx, 0x40598e
call fcn.004044da
mov ebx, esp
add ebx, 0x18
push ebx
call fcn.004040de
lea ebx, [ebp + 8]
push ebx
call fcn.00402a46
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 0x1c
mov dword [0x4052b4], eax
push 1
push dword [ebp - 0xf4]
push 0x30
push dword [0x4052b4]
call dword [sym.imp.USER32.DLL_SendMessageA]
sub esp, 0x1c
mov eax, 0x1f6
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 1
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0x14
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0x64
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0xa
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov eax, 0xa
mov ebx, esp
add ebx, 0x18
push ebx
mov dword [ebx], eax
mov edx, 0x4053ce
call fcn.004044da
mov ebx, esp
add ebx, 0x18
push ebx
call fcn.004040de
lea ebx, [ebp + 8]
push ebx
call fcn.0040282f
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.00403e20
pop eax
add esp, 0x1c
mov dword [ebp - 0xf8], eax
push 2
push dword [0x405290]
call dword [sym.imp.USER32.DLL_LoadBitmapA]
mov dword [ebp - 0xfc], eax
push dword [ebp - 0xfc]
push 0
push 0x172
push dword [ebp - 0xf8]
call dword [sym.imp.USER32.DLL_SendMessageA]
sub esp, 0x14
mov eax, 0x1f7
mov ebx, esp
add ebx, 0x10
push ebx
mov dword [ebx], eax
mov eax, 0x64
mov ebx, esp
add ebx, 0x10
push ebx
mov dword [ebx], eax
mov eax, 0x1a4
mov ebx, esp
add ebx, 0x10
push ebx
mov dword [ebx], eax
mov eax, 0x78
mov ebx, esp
add ebx, 0x10
push ebx
mov dword [ebx], eax
mov eax, 9
mov ebx, esp
add ebx, 0x10
push ebx
mov dword [ebx], eax
lea ebx, [ebp + 8]
push ebx
call fcn.004027a5
add esp, 0x14
mov dword [str.Writing_LIBRARY_files], eax
push 1
push dword [ebp - 0xf0]
push 0x30
push dword [str.Writing_LIBRARY_files]
call dword [sym.imp.USER32.DLL_SendMessageA]
mov eax, 0x100
call fcn.00403c21
lea ebx, [ebp - 0x100]
call fcn.00404086
lea ebx, [ebp - 0x100]
call fcn.00404573
push eax
push 0x100
call dword [sym.imp.KERNEL32.DLL_GetLogicalDriveStringsA]
push 0
push 0x19
push 4
push 0x1200000
push 0
lea ebx, [ebp - 0x18c]
call fcn.004030a0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x108], 1
mov edx, dword [ebp - 0x100]
call fcn.004044c6
mov eax, 1
push 0
push 0
push 2
call fcn.0040305f
call fcn.0040327b
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x100]
call fcn.004044c6
mov ecx, dword [ebp - 0x108]
mov eax, 1
call fcn.004038d3
lea ebx, [ebp - 0xe4]
call fcn.00404086
mov edx, dword [ebp - 0xe4]
call fcn.004044c6
xor eax, eax
call fcn.0040303b
call fcn.00404218
jne 0x4024e6
inc dword [ebp - 0x104]
jmp 0x402520
mov eax, dword [ebp - 0x104]
mov ebx, dword [ebp - 0x18c]
mov edx, dword [ebx + eax*4]
call fcn.004044c6
mov edx, dword [ebp - 0xe4]
call fcn.004044c6
call fcn.004041a7
mov eax, dword [ebp - 0x104]
shl eax, 2
add eax, dword [ebp - 0x18c]
mov ebx, eax
call fcn.00404013
inc dword [ebp - 0x108]
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x108]
jne 0x402539
jmp 0x40254f
cmp dword [ebp - 0x108], 0xff
jne 0x40254a
jmp 0x40254f
jmp 0x402498
mov dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x104]
mov ebx, dword [ebp - 0x18c]
mov edx, dword [ebx + eax*4]
call fcn.004044c6
mov edx, 0x4053ce
call fcn.004044da
call fcn.00404218
je 0x402713
mov eax, dword [ebp - 0x104]
shl eax, 2
add eax, dword [ebp - 0x18c]
mov ebx, eax
call fcn.00404573
push eax
call dword [sym.imp.KERNEL32.DLL_GetDriveTypeA]
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 3
jne 0x402713
mov eax, pe_nt_image_headers32
call fcn.00403c21
lea ebx, [ebp - 0x114]
call fcn.00404086
sub esp, 0xc
push 0
push 0
xor eax, eax
mov ebx, esp
add ebx, 0x10
push ebx
mov dword [ebx], eax
xor eax, eax
mov ebx, esp
add ebx, 0x10
push ebx
mov dword [ebx], eax
xor eax, eax
mov ebx, esp
add ebx, 0x10
push ebx
mov dword [ebx], eax
push pe_nt_image_headers32
lea ebx, [ebp - 0x114]
call fcn.00404573
push eax
mov eax, dword [ebp - 0x104]
shl eax, 2
add eax, dword [ebp - 0x18c]
mov ebx, eax
call fcn.00404573
push eax
call dword [sym.imp.KERNEL32.DLL_GetVolumeInformationA]
add esp, 0xc
mov edx, 0x4059b6
call fcn.004044da
mov edx, dword [ebp - 0x114]
call fcn.004044c6
xor eax, eax
call fcn.0040303b
call fcn.00404b04
call fcn.00403e94
call fcn.00403ee5
call fcn.004041a7
mov edx, 0x4059ba
call fcn.004044da
call fcn.004041a7
lea ebx, [ebp - 0x114]
call fcn.00404086
mov edx, 0x4059bd
call fcn.004044da
mov eax, dword [ebp - 0x104]
mov ebx, dword [ebp - 0x18c]
mov edx, dword [ebx + eax*4]
call fcn.004044c6
mov ecx, 1
mov eax, 1
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x104]
mov ebx, dword [ebp - 0x18c]
mov edx, dword [ebx + ecx*4]
call fcn.004044c6
mov dword [ebp - 0x28], eax
call fcn.004044ae
sub eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
call fcn.004038d3
call fcn.004041a7
lea ebx, [ebp - 0x118]
call fcn.00404086
mov edx, dword [ebp - 0x118]
call fcn.004044c6
call fcn.00403748
mov edx, dword [ebp - 0x114]
call fcn.004044c6
call fcn.004041a7
lea ebx, [ebp - 0x118]
call fcn.00404086
lea ebx, [ebp - 0x118]
call fcn.00404573
push eax
push 0
push 0x180
push dword [str.Writing_LIBRARY_files]
call dword [sym.imp.USER32.DLL_SendMessageA]
inc dword [ebp - 0x104]
cmp dword [ebp - 0x104], 0x19
jl 0x402559
jmp 0x402773
mov eax, 5
cmp eax, dword [ebp - 0x38]
jne 0x40273e
jmp 0x402773
mov eax, 0x10
cmp eax, dword [ebp - 0x38]
jne 0x402751
jmp 0x402773
mov eax, 2
cmp eax, dword [ebp - 0x38]
jne 0x402773
push 0
call dword [sym.imp.USER32.DLL_PostQuitMessage]
mov dword [ebp - 0x78], 0
jmp 0x402788
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_DefWindowProcA]
mov dword [ebp - 0x78], eax
mov ebx, sym.INSTALL.EXE_WNDPROC
call fcn.00404466
mov eax, dword [ebp - 0x78]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0x10