Function at 0x413e8d
Capabilities:
Get disk information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, ecx
mov edx, dword [esp + 0x18]
xor eax, 0x18b
push ebp
mov dword [esp + 0xc], eax
add ecx, 0xfffffbf2
mov eax, dword [esp + 0x14]
push esi
add eax, 0xfffffe77
mov dword [esp + 0x1c], ecx
push edi
lea esi, [edx - 0x2dd]
mov dword [esp + 0x24], eax
lea edi, [edx + 0x65f]
add edx, 0x1458
mov ebp, edx
mov dword [esp + 0x10], edx
lea eax, [esi + 0x16a3]
cmp ebp, eax
je 0x41436c
lea eax, [edx - 0x9eb]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
cmp edx, eax
jge 0x41436c
mov eax, esi
xor eax, 0x93d
cmp edi, eax
je 0x41436c
lea eax, [edi + 0x55e]
push ebx
mov ebx, dword [esp + 0x2c]
cmp esi, eax
jg 0x413f8c
mov eax, dword [esp + 0x20]
sub edx, 0x30
mov dword [esp + 0x28], edx
sub ebp, 0xea1
mov edx, dword [esp + 0x18]
sub edi, 0x355
sub edx, 0x9e4
mov dword [esp + 0x14], eax
cmp dword [ebx + 8], 0x6c4f
jae 0x413f61
mov eax, dword [0x8b055c]
mov ecx, 0x3c239
sub ecx, dword [eax + 0x34]
sub ecx, dword [ebx + 0x124]
add dword [ebx + 0x68], ecx
mov ecx, dword [esp + 0x24]
jmp 0x413f7e
mov eax, dword [0x8b0594]
sub eax, dword [ebx + 0x98]
sub eax, 0x2e466
imul eax, dword [ebx + 0xf4]
mov dword [ebx + 0xf4], eax
xor ecx, 0x148
add esi, 0x894
jmp 0x413f90
mov edx, dword [esp + 0x18]
lea eax, [edx + 0x471]
xor ecx, 0x1b6a
xor eax, 0xe72
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
xor ebp, 0x1a8
add eax, 0xfffffe48
push eax
mov eax, dword [esp + 0x18]
push ebp
add eax, 0x150
push eax
lea eax, [ecx - 0x282]
push eax
push ebx
call fcn.00414707
mov ecx, dword [0x8b055c]
mov ebp, eax
mov edx, dword [esp + 0x3c]
xor edi, 0x2a9
add dword [esp + 0x34], 0x40e
xor edx, 0xb45
add esi, 0x606
mov dword [esp + 0x3c], edx
mov ecx, dword [ecx + 0xd4]
add esp, 0x14
mov dword [ebx + 0xd0], ecx
add edi, 0x1ef
mov eax, dword [0x8b055c]
mov eax, dword [eax + 4]
add eax, ecx
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffbf3
mov dword [ebx + 0xd0], eax
xor ecx, 0x1e08
mov dword [esp + 0x14], esi
mov eax, edx
sub ecx, 0xfb1
xor eax, 0xe1c
mov dword [esp + 0x10], ecx
cmp ecx, eax
jl 0x41436b
lea eax, [ebp + 0x355]
cmp edi, eax
jle 0x41407a
cmp dword [0x8b0638], 0x2c70
ja 0x41406f
mov eax, dword [ebx + 0x68]
xor eax, dword [ebx + 8]
add eax, 0x1b8e8d
mov dword [0x8b05ac], eax
add ebp, 0x2ad
jmp 0x41436b
mov eax, dword [0x8b055c]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x18], eax
imul eax, ecx, 0x2dd
sub eax, dword [ebx + 0x118]
cmp dword [esp + 0x18], eax
jne 0x41436b
mov eax, dword [0x8b055c]
mov eax, dword [eax + 0xfc]
or eax, dword [ebx + 0xa0]
or eax, edx
cmp edi, eax
jae 0x414304
mov eax, dword [ebx + 0xdc]
add eax, dword [0x8b05cc]
mov edx, dword [ebx + 0x108]
add eax, esi
cmp edx, eax
je 0x4142f3
or edx, ecx
or edx, 0x874
push edx
mov edx, dword [esp + 0x24]
lea eax, [edx + 0xd4a]
push eax
lea eax, [ecx + ecx]
push eax
mov eax, dword [esp + 0x1c]
imul eax, edi
or eax, edx
push eax
mov eax, dword [ebx + 0x8c]
xor eax, dword [0x8b0648]
or eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, dword [ebx + 0x114]
mov eax, esi
mov edi, dword [esp + 0x24]
or eax, 0x93d
push eax
imul eax, esi, 0x93c
push eax
mov eax, ecx
and ecx, dword [esp + 0x28]
push edi
xor eax, esi
xor ecx, 0x5e7
push eax
mov eax, dword [0x8b066c]
and eax, dword [esp + 0x30]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov eax, dword [0x8b055c]
mov eax, dword [eax + 0x120]
add eax, 0x2dd
xor eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [esp + 0x28]
add edi, 0x784
mov eax, dword [ebx + 0xc]
add ecx, edi
or eax, ecx
mov dword [esp + 0x28], ecx
mov dword [0x8b05b8], eax
mov eax, dword [0x8b055c]
mov eax, dword [eax + 0xdc]
or eax, dword [ebx + 0x74]
push eax
mov eax, dword [0x8b0640]
sub eax, dword [ebx + 0x74]
imul eax, eax, 0x5e7
push eax
call dword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x48]
imul ecx, dword [ebx + 0x118]
add eax, 0xcc1
and eax, dword [esp + 0x28]
mov edi, dword [0x8b055c]
mov edx, dword [ebx + 0xec]
add edx, dword [esp + 0x14]
and edx, dword [ebx + 0xe8]
mov esi, dword [edi + 8]
push eax
push ecx
push edx
add esi, 0x109c
mov eax, ebp
xor eax, dword [esp + 0x34]
and eax, dword [esp + 0x1c]
push edi
push esi
mov esi, dword [esp + 0x28]
push eax
mov eax, esi
xor eax, 0x74e
push eax
call fcn.00406a90
mov edi, eax
add esp, 0x1c
mov eax, dword [ebx + 0xac]
mov ecx, ebp
xor eax, dword [esp + 0x10]
xor ecx, edi
sub ecx, dword [0x8b0638]
or eax, dword [ebx + 0x10c]
push ecx
mov ecx, dword [ebx + 0xd8]
and ecx, esi
push ecx
push eax
mov eax, esi
mov esi, dword [esp + 0x2c]
or eax, esi
add eax, dword [ebx + 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov ecx, dword [0x8b055c]
or esi, 0x93c
sub esi, dword [0x8b0628]
imul esi, dword [ecx + 0x68]
mov dword [ecx + 0x68], esi
mov eax, dword [ebx + 0x38]
mov esi, dword [0x8b05c8]
sub eax, 0xcc1
or dword [ebx + 0x68], eax
mov eax, dword [esp + 0x28]
or eax, edi
sub eax, 0xe9a
or dword [ebx + 0xd8], eax
mov eax, dword [ebx + 0x34]
or eax, 0x5e7
push eax
call dword [sym.imp.KERNEL32.dll_CreateActCtxA]
mov eax, dword [esp + 0x14]
add esi, 0xf02
sub eax, dword [ebx + 0xec]
sub eax, edi
add dword [ebx + 0x7c], eax
mov ecx, dword [0x8b055c]
mov eax, dword [ecx + 0x104]
xor eax, dword [ebx + 0xdc]
xor eax, edi
xor eax, 0x784
mov dword [ecx + 0x104], eax
mov ecx, dword [ebx + 0xac]
mov eax, dword [0x8b055c]
sub ecx, 0x5e7
xor ecx, dword [eax + 0x24]
imul ecx, dword [0x8b0648]
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x14]
sub dword [0x8b0674], eax
mov dword [0x8b0648], ecx
mov ecx, dword [esp + 0x20]
add ecx, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
jmp 0x41434a
imul eax, ecx, 0x131e
and eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
jmp 0x414346
mov eax, dword [ebx + 0xe4]
imul eax, dword [ebx + 0x118]
push eax
mov eax, dword [ebx + 0x78]
sub eax, 0x894
push eax
mov eax, dword [ebx + 0x20]
sub eax, dword [esp + 0x18]
and eax, ecx
push eax
mov eax, dword [ebx + 0xc]
sub eax, esi
push eax
mov eax, dword [0x8b064c]
imul eax, edx
sub eax, 0x2dd
push eax
imul eax, ebp, 0xcc1
push eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
imul eax, ecx, 0x2dd
inc edx
mov dword [esp + 0x18], edx
sub eax, dword [ebx + 0x118]
cmp edx, eax
mov edx, dword [esp + 0x28]
je 0x4140a0
pop ebx
pop edi
xor ebp, 0x1a9
pop esi
mov eax, ebp
pop ebp
add esp, 0xc
ret