Function at 0x410dcd
Capabilities:
Get disk information
Write file on windows

Disassembly:
call fcn.00405764
test al, al
je 0x410de5
mov eax, 0x41eb48
mov edx, 0x4121b0
call fcn.004038ac
lea eax, [ebp - 0xc0]
mov ecx, 0x4121c0
mov edx, dword [0x41eb4c]
call fcn.004038f0
mov eax, dword [ebp - 0xc0]
call fcn.00405764
test al, al
je 0x410e19
mov eax, 0x41eb48
mov edx, 0x4121d0
call fcn.004038ac
lea eax, [ebp - 0xc4]
mov ecx, 0x4121e0
mov edx, dword [0x41eb4c]
call fcn.004038f0
mov eax, dword [ebp - 0xc4]
call fcn.00405764
test al, al
je 0x410e4d
mov eax, 0x41eb48
mov edx, 0x4121f0
call fcn.004038ac
lea eax, [ebp - 0xc8]
mov ecx, 0x412200
mov edx, dword [0x41eb4c]
call fcn.004038f0
mov eax, dword [ebp - 0xc8]
call fcn.00405764
test al, al
je 0x410e81
mov eax, 0x41eb48
mov edx, 0x412210
call fcn.004038ac
lea eax, [ebp - 0xcc]
mov ecx, 0x412220
mov edx, dword [0x41eb4c]
call fcn.004038f0
mov eax, dword [ebp - 0xcc]
call fcn.00405764
test al, al
je 0x410eb5
mov eax, 0x41eb48
mov edx, 0x412230
call fcn.004038ac
lea eax, [ebp - 0xd0]
mov ecx, 0x412240
mov edx, dword [0x41eb4c]
call fcn.004038f0
mov eax, dword [ebp - 0xd0]
call fcn.00405764
test al, al
je 0x410ee9
mov eax, 0x41eb48
mov edx, 0x412250
call fcn.004038ac
lea eax, [ebp - 0xd4]
mov ecx, 0x412260
mov edx, dword [0x41eb4c]
call fcn.004038f0
mov eax, dword [ebp - 0xd4]
call fcn.00405764
test al, al
je 0x410f1d
mov eax, 0x41eb48
mov edx, 0x412270
call fcn.004038ac
mov eax, dword [0x41eb48]
mov edx, 0x412280
call fcn.004039f0
jne 0x410f3a
mov eax, 0x4122b0
call fcn.00412f04
jmp 0x410f5b
lea eax, [ebp - 0xd8]
mov ecx, dword [0x41eb48]
mov edx, 0x4122c0
call fcn.004038f0
mov eax, dword [ebp - 0xd8]
call fcn.00412f04
push 0
mov ecx, 0x4122d0
mov edx, 0x4122e0
mov eax, 0x80000001
call fcn.00406e90
jmp 0x410f7d
call fcn.0041890c
lea eax, [ebp - 0xdc]
mov ecx, 0x412300
mov edx, dword [0x41eb2c]
call fcn.004038f0
mov eax, dword [ebp - 0xdc]
push eax
lea eax, [ebp - 0xe0]
mov ecx, dword [0x41ee10]
mov edx, dword [0x41ed30]
call fcn.004038f0
mov edx, dword [ebp - 0xe0]
mov ecx, dword [0x41eb2c]
mov eax, 0x80000002
call fcn.00406d68
mov eax, dword [0x41d320]
push eax
mov ecx, dword [0x41ed0c]
mov edx, dword [0x41ed00]
mov eax, 0x80000002
call fcn.00406bb4
mov dword [0x41eb74], eax
mov eax, dword [0x41d320]
push eax
mov ecx, dword [0x41ed38]
mov edx, dword [0x41ed00]
mov eax, 0x80000002
call fcn.00406bb4
mov dword [0x41eb84], eax
cmp dword [0x41eb84], 0x64
jge 0x41123d
mov eax, dword [0x41d320]
push eax
push 0x400
lea eax, [ebp - 0xe8]
push eax
mov ecx, dword [0x41ed04]
mov edx, dword [0x41ed00]
mov eax, 0x80000002
call fcn.00406c7c
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0xe4]
call fcn.0040520c
mov edx, dword [ebp - 0xe4]
mov eax, 0x41eb3c
call fcn.00403780
mov eax, dword [0x41eb3c]
call fcn.004038a4
test eax, eax
je 0x411097
mov eax, 1
mov edx, dword [0x41eb3c]
dec eax
test edx, edx
je 0x411087
cmp eax, dword [edx - 4]
jb 0x41108c
call fcn.00402f14
inc eax
mov al, byte [edx + eax - 1]
add al, 0x9f
sub al, 0x1a
jb 0x4110a6
mov eax, 0x41eb3c
mov edx, 0x412318
call fcn.00403780
push 0x100002
mov eax, 0x41ecac
mov ecx, 1
mov edx, dword [0x407a00]
call fcn.00404218
add esp, 4
mov eax, 1
mov edx, dword [0x41eb3c]
dec eax
test edx, edx
je 0x4110d8
cmp eax, dword [edx - 4]
jb 0x4110dd
call fcn.00402f14
inc eax
mov al, byte [edx + eax - 1]
cmp al, 0x63
jb 0x41120e
mov byte [ebp - 1], al
lea eax, [ebp - 0xec]
mov dl, byte [ebp - 1]
call fcn.0040384c
lea eax, [ebp - 0xec]
mov edx, 0x412324
call fcn.004038ac
mov eax, dword [ebp - 0xec]
call fcn.00403aa4
push eax
call sub.kernel32.dll_GetDriveTypeA
add eax, 0xfffffffe
sub eax, 3
jb 0x41112d
sub eax, 1
jne 0x4111fa
xor eax, eax
mov dword [0x41eb78], eax
lea eax, [ebp - 0xf0]
mov dl, byte [ebp - 1]
call fcn.0040384c
lea eax, [ebp - 0xf0]
mov edx, 0x412324
call fcn.004038ac
mov eax, dword [ebp - 0xf0]
call fcn.0040b384
lea eax, [ebp - 0xf8]
mov dl, byte [ebp - 1]
call fcn.0040384c
mov ecx, dword [ebp - 0xf8]
lea eax, [ebp - 0xf4]
mov edx, 0x412330
call fcn.004038f0
mov eax, dword [ebp - 0xf4]
call fcn.00412f04
mov eax, 0x41eb54
mov edx, 0x412344
call fcn.00403780
lea eax, [ebp - 0xfc]
xor edx, edx
mov dl, byte [ebp - 1]
sub edx, 1
jno 0x4111b0
call fcn.00402f1c
call fcn.0040384c
mov eax, dword [ebp - 0xfc]
push eax
mov ecx, dword [0x41ed04]
mov edx, dword [0x41ed00]
mov eax, 0x80000002
call fcn.00406d68
push 0
mov ecx, dword [0x41ed0c]
mov edx, dword [0x41ed00]
mov eax, 0x80000002
call fcn.00406e90
cmp byte [ebp - 1], 0x63
jne 0x4111fa
mov eax, 0x4123bc
call fcn.00412f04
xor eax, eax
mov dword [0x41eb74], eax
dec byte [ebp - 1]
cmp byte [ebp - 1], 0x62
jne 0x4110ed
mov dword [0x41eb84], 0x64
mov eax, dword [0x41eb84]
test eax, eax
jns 0x411226
call fcn.00402f14
push eax
mov ecx, dword [0x41ed38]
mov edx, dword [0x41ed00]
mov eax, 0x80000002
call fcn.00406e90
cmp dword [0x41eb84], 0xc8
jge 0x411300
cmp byte [0x41eb98], 0x66
jne 0x41125d
mov byte [0x41d280], 0
xor eax, eax
mov dword [0x41eb7c], eax
mov eax, 0x41eb54
mov edx, 0x4123d0
call fcn.00403780
mov eax, dword [0x41d320]
push eax
mov ecx, dword [0x41ed08]
mov edx, dword [0x41ed00]
mov eax, 0x80000002
call fcn.00406bb4
mov dword [0x41eb80], eax
push 0x100002
mov eax, 0x41ecac
mov ecx, 1
mov edx, dword [0x407a00]
call fcn.00404218
add esp, 4
xor eax, eax
call fcn.0040bcf0
mov dword [0x41eb84], 0xc8
mov eax, dword [0x41eb84]
test eax, eax
jns 0x4112d0
call fcn.00402f14
push eax
mov ecx, dword [0x41ed38]
mov edx, dword [0x41ed00]
mov eax, 0x80000002
call fcn.00406e90
mov eax, 0x412464
call fcn.00412f04
mov eax, 0x41eb54
mov edx, 0x41247c
call fcn.00403780
push 0
mov eax, 0x41ecac
mov ecx, 1
mov edx, dword [0x407a00]
call fcn.00404218
add esp, 4
mov eax, 0x41ebb0
call fcn.00406fe0
mov eax, dword [0x41eb30]
call fcn.004038a4
test eax, eax
jne 0x411379
lea edx, [ebp - 0x100]
mov eax, dword [0x41eb2c]
call fcn.0040548c
mov edx, dword [ebp - 0x100]
mov eax, 0x41eb30
call fcn.00403780
mov eax, dword [0x41eb30]
call fcn.004038a4
test eax, eax
jne 0x411379
call fcn.004086ec
jmp 0x41181c
cmp byte [0x41eb98], 0x64
jne 0x41138c
call fcn.00413274
call fcn.004035c0
mov byte [0x41d280], 0
mov eax, dword [0x41d320]
push eax
mov ecx, dword [0x41ed14]
mov edx, dword [0x41ed00]
mov eax, 0x80000002
call fcn.00406bb4
dec eax
je 0x411488
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
mov eax, dword [0x41eb14]
call fcn.00403aa4
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [0x41eba0], eax
mov eax, 0x41eb54
mov edx, 0x412614
call fcn.00403780
push 2
push 0
push 0
mov eax, dword [0x41eba0]
push eax
call sub.kernel32.dll_SetFilePointer_1
call fcn.004133d4
push 0
push 0x41eb90
mov eax, dword [0x41eb64]
call fcn.004038a4
test eax, eax
jns 0x41141c
call fcn.00402f14
push eax
mov eax, 0x41eb64
call fcn.00403af4
mov edx, 1
dec edx
test eax, eax
je 0x411436
cmp edx, dword [eax - 4]
jb 0x41143b
call fcn.00402f14
inc edx
lea eax, [eax + edx - 1]
push eax
mov eax, dword [0x41eba0]
push eax
call sub.kernel32.dll_WriteFile_1
mov eax, 0x41eb64
call fcn.0040372c
mov eax, 0x41eb54
mov edx, 0x412694
call fcn.00403780
mov eax, dword [0x41eba0]
push eax
call sub.kernel32.dll_CloseHandle_1
push 1
mov ecx, dword [0x41ed14]
mov edx, dword [0x41ed00]
mov eax, 0x80000002
invalid
invalid