Function at 0x12e7b4f0
Capabilities:
Get disk information

Disassembly:
sub esp, 0x42c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x43c]
push edi
xor edi, edi
cmp esi, edi
je 0x12e7ba7c
mov ebp, dword [esp + 0x444]
cmp ebp, edi
je 0x12e7ba7c
mov ebx, dword [esp + 0x448]
cmp ebx, edi
je 0x12e7ba7c
push esi
mov dword [esp + 0x14], edi
call fcn.12f5c44d
mov cx, word [0x130e0f14]
mov dword [esp + 0x24], eax
mov eax, dword [0x130e0f10]
mov word [esp + 0x1c], cx
mov dword [esp + 0x18], eax
mov word [esp + 0x28], di
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x2a]
xor edx, edx
rep stosd dword es:[edi], eax
add esp, 4
cmp word [esp + 0x14], 0x5a
mov dword [esp + 0x1a], edx
mov word [esp + 0x1e], dx
stosw word es:[edi], ax
ja 0x12e7b5f4
mov ebp, dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x24]
push 0x104
rep stosd dword es:[edi], eax
lea eax, [esp + 0x28]
lea ecx, [esp + 0x18]
push eax
push ecx
call ebp
lea edx, [esp + 0x24]
push edx
call fcn.12f5c44d
mov edi, eax
add esp, 4
test edi, edi
jbe 0x12e7b5db
cmp dword [esp + 0x20], edi
jb 0x12e7b5db
lea eax, [esp + 0x24]
push edi
push eax
push esi
call fcn.12f5e2b3
add esp, 0xc
test eax, eax
jne 0x12e7b5db
mov ax, word [esi + edi*2]
test ax, ax
je 0x12e7b63f
cmp ax, 0x5c
je 0x12e7b63f
cmp ax, 0x2f
je 0x12e7b63f
mov ax, word [esp + 0x14]
inc ax
cmp ax, 0x5a
mov word [esp + 0x14], ax
jbe 0x12e7b57c
mov ebp, dword [esp + 0x444]
push 8
push 0x13121608
push esi
call fcn.12f5e2b3
add esp, 0xc
test eax, eax
jne 0x12e7b686
push esi
call fcn.12f5c44d
sub eax, 6
add esp, 4
cmp eax, ebx
jae 0x12e7ba1b
add esi, 0x10
dec ebx
push esi
push 0x131215fc
push ebx
push ebp
call fcn.12f5d8c0
mov eax, dword [esp + 0x20]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
lea edi, [esi + edi*2]
test edi, edi
je 0x12e7b5ed
push edi
call fcn.12f5c44d
add eax, 2
add esp, 4
cmp eax, ebx
jae 0x12e7ba1b
mov edx, dword [esp + 0x444]
lea ecx, [esp + 0x14]
push edi
push ecx
dec ebx
push 0x130c8b08
push ebx
push edx
call fcn.12f5d8c0
mov eax, dword [esp + 0x24]
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
push 0x19
push 0x131215c8
push esi
call fcn.12f5e2b3
add esp, 0xc
test eax, eax
jne 0x12e7b6d1
push esi
call fcn.12f5c44d
sub eax, 0x17
add esp, 4
cmp eax, ebx
jae 0x12e7ba1b
add esi, 0x32
dec ebx
push esi
push 0x131215fc
push ebx
push ebp
call fcn.12f5d8c0
mov eax, dword [esp + 0x20]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
push 0xc
push 0x131215ac
push esi
call fcn.12f5e2b3
add esp, 0xc
test eax, eax
jne 0x12e7b71c
push esi
call fcn.12f5c44d
sub eax, 0xa
add esp, 4
cmp eax, ebx
jae 0x12e7ba1b
add esi, 0x18
dec ebx
push esi
push 0x131215fc
push ebx
push ebp
call fcn.12f5d8c0
mov eax, dword [esp + 0x20]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
push 0xd
push 0x13121590
push esi
call fcn.12f5e2b3
add esp, 0xc
test eax, eax
jne 0x12e7b767
push esi
call fcn.12f5c44d
sub eax, 0xb
add esp, 4
cmp eax, ebx
jae 0x12e7ba1b
add esi, 0x1a
dec ebx
push esi
push 0x131215fc
push ebx
push ebp
call fcn.12f5d8c0
mov eax, dword [esp + 0x20]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
push 0x14
push 0x13121564
push esi
call fcn.12f5e2b3
add esp, 0xc
test eax, eax
jne 0x12e7b7b2
push esi
call fcn.12f5c44d
sub eax, 0x12
add esp, 4
cmp eax, ebx
jae 0x12e7ba1b
add esi, 0x28
dec ebx
push esi
push 0x131215fc
push ebx
push ebp
call fcn.12f5d8c0
mov eax, dword [esp + 0x20]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
push 0x15
push 0x13121538
push esi
call fcn.12f5e2b3
add esp, 0xc
test eax, eax
jne 0x12e7b821
push esi
call fcn.12f5c44d
add esp, 4
cmp eax, 0x16
jbe 0x12e7b821
add esi, 0x2a
push 0x130c4ed0
push esi
call fcn.12f5c46a
mov esi, eax
add esp, 8
test esi, esi
je 0x12e7ba6d
push esi
call fcn.12f5c44d
add esp, 4
inc eax
cmp eax, ebx
jae 0x12e7ba1b
push esi
dec ebx
push 0x13121530
push ebx
push ebp
call fcn.12f5d8c0
mov eax, dword [esp + 0x20]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
push 0x13121500
call fcn.12f5c44d
mov ebp, eax
mov ecx, 0x83
xor eax, eax
lea edi, [esp + 0x234]
mov dword [esp + 0x230], 0
add esp, 4
rep stosd dword es:[edi], eax
lea eax, [esp + 0x22c]
mov ecx, 0x131b7f78
push eax
push esi
call fcn.12e6c0a0
test eax, eax
je 0x12e7b8cb
lea ecx, [esp + 0x234]
push ecx
call fcn.12f5c44d
lea edx, [esi + eax*2]
push edx
call fcn.12f5c44d
add eax, 2
add esp, 8
cmp eax, ebx
jae 0x12e7ba1b
lea eax, [esp + 0x234]
push eax
call fcn.12f5c44d
mov edx, dword [esp + 0x230]
add esp, 4
lea ecx, [esi + eax*2]
mov eax, dword [esp + 0x444]
add edx, 0x41
push ecx
push edx
dec ebx
push 0x131214f4
push ebx
push eax
call fcn.12f5d8c0
mov eax, dword [esp + 0x24]
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
push ebp
push 0x13121500
push esi
call fcn.12f5e2b3
add esp, 0xc
test eax, eax
jne 0x12e7b921
mov eax, dword [esp + 0x20]
sub eax, ebp
add eax, 0x11
cmp eax, ebx
jae 0x12e7ba1b
mov eax, dword [esp + 0x444]
xor edx, edx
mov dx, word [esi + ebp*2]
lea ecx, [esi + ebp*2 + 2]
push ecx
push edx
dec ebx
push 0x131214c8
push ebx
push eax
call fcn.12f5d8c0
mov eax, dword [esp + 0x24]
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
mov eax, dword [esp + 0x44c]
test eax, eax
je 0x12e7b94d
mov ecx, dword [esp + 0x444]
push ebx
push ecx
push esi
call fcn.12e7d500
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
push 0x130e1f5c
call fcn.12f5c44d
push eax
push 0x130e1f5c
push esi
call fcn.12f5e2b3
add esp, 0x10
test eax, eax
je 0x12e7ba52
push 0x130e1f3c
call fcn.12f5c44d
push eax
push 0x130e1f3c
push esi
call fcn.12f5e2b3
add esp, 0x10
test eax, eax
je 0x12e7ba52
push 0x130e1f1c
call fcn.12f5c44d
push eax
push 0x130e1f1c
push esi
call fcn.12f5e2b3
add esp, 0x10
test eax, eax
je 0x12e7ba52
push 4
push 0x131093d0
push esi
call fcn.12f5d661
add esp, 0xc
test eax, eax
je 0x12e7ba32
push 4
push 0x130b9230
push esi
call fcn.12f5d661
add esp, 0xc
test eax, eax
je 0x12e7ba32
push 4
push 0x131093c4
push esi
call fcn.12f5d661
add esp, 0xc
test eax, eax
je 0x12e7ba32
push esi
call fcn.12f5c44d
add esp, 4
cmp eax, ebx
jae 0x12e7ba1b
mov edx, dword [esp + 0x444]
dec ebx
push ebx
push esi
push edx
call fcn.12f5c4ab
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
pop edi
mov dword [esp + 0xc], reloc.WS2_32.dll_getpeername
mov eax, dword [esp + 0xc]
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
push esi
call fcn.12f5c44d
sub eax, 4
add esp, 4
cmp eax, ebx
jae 0x12e7ba1b
mov eax, dword [esp + 0x444]
dec ebx
add esi, 8
push ebx
push esi
push eax
jmp 0x12e7ba04
mov ecx, dword [esp + 0x444]
add esi, 8
push esi
dec ebx
push 0x131214b8
push ebx
push ecx
call fcn.12f5d8c0
add esp, 0x10
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x42c
ret
pop edi
pop esi
pop ebp
mov eax, 0xc000000d
pop ebx
add esp, 0x42c
ret