Function at 0x419170
Capabilities:
Get disk information
Terminate process

Disassembly:
sub esp, 0x1c
mov dword [esp + 0x14], 0xaf3
mov dword [esp + 8], 0x1ee6
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp], 0x190b
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x14]
add eax, 0x5bf
push esi
push edi
cmp dword [esp + 0xc], eax
je 0x41959b
mov eax, dword [esp + 0x14]
add eax, 0x1d27
cmp dword [esp + 0x18], eax
jg 0x41941a
mov eax, dword [0x4ac344]
mov dword [0x4ae068], 7
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add esi, 0x1ee6
mov dword [eax + 0xc], 0
xor edx, 0x312
mov eax, dword [0x4ac344]
mov dword [0x4ae070], 0
mov dword [0x4ae074], 1
mov dword [0x4ae07c], 2
mov dword [0x4ae08c], 0
mov dword [0x4ae09c], 0
mov dword [0x4ae0a8], 0
mov dword [eax + 0x4c], 1
mov eax, dword [0x4ac344]
mov dword [0x4ae0b0], 0
mov dword [0x4ae0c4], 0
mov dword [0x4ae0d4], 1
mov dword [0x4ae0d8], 3
mov dword [eax + 0x80], 0
mov eax, dword [0x4ac344]
mov dword [0x4ae0f0], 0
mov ecx, dword [esp + 0x14]
xor ecx, 0x1f32
mov dword [eax + 0x9c], 0x13
mov eax, dword [0x4ac344]
mov dword [0x4ae100], 0
mov dword [eax + 0xa8], 0
mov eax, dword [0x4ac344]
mov dword [eax + 0xb0], 4
mov eax, dword [0x4ac344]
mov dword [eax + 0xb4], 0
mov eax, dword [0x4ac344]
mov dword [0x4ae120], 1
mov dword [eax + 0xc4], 0
mov eax, dword [0x4ac344]
mov dword [0x4ae130], 1
mov dword [eax + 0xdc], 0
mov eax, dword [0x4ac344]
mov dword [0x4ae140], 0
mov dword [0x4ae150], 0x26
mov dword [0x4ae154], 0
mov dword [eax + 0xf8], 1
mov eax, dword [esp + 8]
xor eax, 0xb0a
push eax
push ecx
push edx
push esi
push 0x4ae060
call section..text
mov dword [esp + 0x2c], eax
add dword [esp + 0x1c], 0xfffffd5d
mov edi, dword [esp + 0x24]
mov eax, dword [0x4ac344]
sub edi, 0x6dc
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
add esi, 0xb75
mov ecx, dword [esp + 0x24]
add edx, 0x8ca
mov eax, dword [eax + 0xcc]
sub ecx, 0x17b
mov dword [0x4ae128], eax
mov eax, dword [esp + 0x20]
add eax, 0x1801
push eax
push ecx
push edx
push esi
push 0x4ae060
push edi
call fcn.0041a250
mov dword [esp + 0x38], eax
add esp, 0x2c
add dword [esp + 0x10], 0xfffffe85
mov edx, dword [0x4ac344]
cmp dword [edx + 0xc4], 0xb2e2
jb 0x4193e2
mov ecx, dword [0x4ae06c]
add ecx, 0xfffd77b8
add dword [0x4ae108], ecx
mov ecx, dword [0x4ae0bc]
jmp 0x4193f4
mov ecx, dword [0x4ae0a8]
sub ecx, dword [0x4ae07c]
xor ecx, 0xffffdb37
mov eax, 0xffffee09
sub eax, dword [0x4ae130]
add ecx, eax
mov eax, 0xfffff9e2
mov dword [0x4ae0bc], ecx
sub eax, dword [edx + 0xc4]
add dword [edx + 0x5c], eax
jmp 0x41959b
mov eax, dword [esp + 8]
xor eax, dword [0x4ae158]
cmp dword [0x4ae0cc], eax
ja 0x419545
mov eax, dword [esp + 0xc]
or eax, dword [esp + 0x10]
add eax, 0x1ee6
cmp dword [esp + 0x1c], eax
jl 0x419535
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
and ecx, dword [0x4ae0d8]
add ecx, dword [0x4ae06c]
mov esi, dword [0x4ae124]
imul eax, eax, 0x1e54
or esi, 0x1668
or edx, eax
mov eax, dword [0x4ac344]
mov eax, dword [eax + 0xc]
xor eax, 0x1d6b
push eax
push ecx
push edx
push 0x4ae060
push esi
call fcn.004012a0
mov dword [esp + 0x2c], eax
add esp, 0x14
mov eax, dword [esp + 8]
add eax, dword [0x4ae154]
or eax, dword [0x4ae0b0]
sub dword [esp + 8], eax
mov eax, dword [0x4ac344]
mov ecx, dword [esp + 8]
add ecx, dword [eax + 0x7c]
xor ecx, dword [0x4ae0d4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0xc]
mov eax, dword [0x4ac344]
imul ecx, dword [eax + 8]
mov eax, dword [0x4ac344]
mov eax, dword [eax + 0xe0]
and eax, ecx
xor dword [esp + 0x1c], eax
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
or eax, 0x1201
sub esi, dword [0x4ae084]
xor edx, eax
mov eax, dword [0x4ac344]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esp + 0xc]
imul eax, dword [0x4ae13c]
imul ecx, dword [0x4ae08c]
add eax, 0x1d6b
push eax
sub ecx, 0xbea
push ecx
push edx
push esi
push 0x4ae060
call fcn.00405a60
add esp, 0x14
mov dword [esp + 8], eax
jmp 0x41959b
mov eax, dword [0x4ae13c]
add eax, 0xffffe7f6
or dword [esp + 0x10], eax
jmp 0x41959b
mov eax, dword [0x4ae0b0]
mov esi, dword [0x4ae0c4]
or eax, 0x1d6b
imul eax, dword [0x4ae0ac]
cmp esi, eax
jb 0x41959b
mov edi, dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
nop word [eax + eax]
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0x14]
imul eax, dword [0x4ae150]
push eax
call edi
mov eax, dword [0x4ae0b0]
add esi, 3
or eax, 0x1d6b
imul eax, dword [0x4ae0ac]
cmp esi, eax
jae 0x419570
mov eax, dword [esp + 0x14]
add eax, 0x1982
cmp dword [esp + 0x10], eax
je 0x4196a8
add dword [esp + 0x14], 0xd19
mov eax, dword [0x4ac344]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 8]
add esi, 0x1234
push ebx
mov ecx, dword [eax + 0x9c]
xor edx, 0xb4f
sub ecx, dword [0x4ae154]
mov eax, dword [0x4ae0bc]
xor ecx, 0xffca2472
sub eax, 0x77b4166a
add eax, ecx
mov ecx, dword [esp + 0x1c]
mov dword [0x4ae0bc], eax
xor ecx, 0x1371
mov eax, dword [esp + 0x24]
add eax, 0xaf3
push eax
push ecx
push edx
push esi
push 0x4ae060
call fcn.00418cf0
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
add ebx, 0x26d
mov esi, dword [esp + 0x38]
add edi, 0x1361
mov edx, dword [esp + 0x2c]
xor esi, 0x1d27
mov ecx, dword [esp + 0x30]
sub edx, 0x338
mov eax, dword [esp + 0x24]
xor eax, 0x1ef4
mov dword [0x4ae104], 0x478de0
push eax
push ecx
push edx
push esi
push edi
push ebx
push 0x4ae060
call fcn.00405b90
add esp, 0x30
mov dword [esp + 0x14], eax
mov eax, dword [0x4ae13c]
pop ebx
cmp eax, dword [0x4ae114]
ja 0x419684
xor dword [0x4ae0fc], eax
jmp 0x4196a8
mov eax, dword [0x4ac344]
mov ecx, dword [eax + 0xfc]
add ecx, dword [eax + 0xac]
push ecx
call dword [0x4ae0f4]
mov ecx, dword [0x4ac344]
mov dword [ecx + 0xd4], eax
push dword [0x4ae134]
call dword [sym.imp.KERNEL32.dll_ExitProcess]