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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10065a12
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb0
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov byte [esp + 0x34], cl
je 0x10024a31
test cl, cl
je 0x1002451a
push 0x16c6
xor esi, esi
push esi
push esi
push 0xa43
call dword [sym.imp.GDI32.dll_PolyPolyline]
jmp 0x10024a7f
or esi, 0xffffffff
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], 0x6931
cmp dword [esp + 0x10], 0x6bff
push 0
pop ebx
jle 0x100245c1
mov edi, ebx
mov dword [esp + 0x18], ebx
mov eax, ebx
mov dword [esp + 0x14], ebx
mov ecx, ebx
mov dword [esp + 0x1c], ebx
cdq
idiv ecx
lea esi, [edi + edx]
mov edi, 0x6a47
mov eax, esi
lea ecx, [esp + 0x90]
cdq
push edx
push eax
call fcn.10001ac9
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10024572
mov eax, dword [eax]
push eax
call fcn.1004e1ed
pop ecx
push ebx
push 1
lea ecx, [esp + 0x98]
call fcn.100073ae
inc esi
dec edi
jne 0x10024557
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
inc ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
cmp ecx, 0x1613
jl 0x1002454c
inc eax
mov dword [esp + 0x14], eax
cmp eax, 0xf6e
jl 0x10024546
inc edi
mov dword [esp + 0x18], edi
cmp edi, 0x2c5c
jl 0x10024540
or esi, 0xffffffff
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x10], 0x67db
jge 0x100245da
push str.xlikbnn_pkx_warmp_yvfavsxcr_gtbowsp_zgue
call fcn.1004e1ed
pop ecx
mov dword [esp + 0xc4], esi
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], ebx
jmp 0x1002462f
mov dword [esp + 0x1c], esi
mov dword [esp + 0x1c], 0xd
jmp 0x10024625
push 0x21f8
lea eax, [esp + 0x2f]
mov byte [esp + 0x2f], bl
push eax
push ebx
push 0x6e71
push ebx
mov edx, 0x2962
mov cl, 1
call fcn.100235f9
add esp, 0x14
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jle 0x100245fd
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff0
jle 0x100245ef
push 2
mov dword [esp + 0x1c], ebx
pop edi
jmp 0x10024773
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], 0x85869
mov dword [esp + 0x10], ebx
jmp 0x10024660
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x70], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x10024654
mov dword [esp + 0x10], ebx
jmp 0x10024678
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x78], ebx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1002466c
mov dword [esp + 0x10], ebx
jmp 0x10024754
mov dword [esp + 0x1c], 0x19570a50
lea ecx, [esp + 0x64]
push 3
call fcn.10006b10
lea eax, [esp + 0x64]
mov dword [esp + 0xc4], edi
push eax
lea eax, [esp + 0x84]
mov dword [esp + 0x30], 0xbf09457
push ebx
mov dword [esp + 0x1c], 1
mov edx, 0x61d0
push eax
mov ecx, 0x1f46
call fcn.10025857
xor edx, edx
add esp, 0xc
inc edx
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x1c], ebx
jl 0x10024740
mov dword [esp + 0x2c], 0xf717c925
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], ebx
jmp 0x100246ff
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xa8], edi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x100246f0
mov eax, dword [esp + 0x1c]
cmp dword [esp + eax*4 + 0x70], ebx
je 0x10024734
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, edx
cmp dword [esp + 0x14], ebx
jne 0x10024736
mov eax, ebx
mov dword [esp + 0x14], eax
dec dword [esp + 0x1c]
jns 0x100246de
lea ecx, [esp + 0x64]
mov dword [esp + 0xc4], esi
call fcn.10006b72
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 8
jg 0x10024687
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
dec dword [esp + 0x18]
cmp dword [esp + 0x18], esi
jle 0x10024642
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x4c]
push edi
mov al, byte [eax]
mov byte [esp + 0x27], al
mov dword [esp + 0x18], 0xf365
mov dword [esp + 0x20], ebx
call fcn.10006b10
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x1c], 0x5169ff4c
mov dword [esp + 0x18], ebx
jmp 0x100247be
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x38], ebx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 1
jl 0x100247b2
mov dword [esp + 0x18], ebx
jmp 0x100247da
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x4c]
mov dword [eax + ecx*4], esi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x100247cb
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x10024814
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x14]
jle 0x10024814
cmp dword [esp + 0x1c], ebx
jne 0x1002480a
mov eax, dword [esp + 0x38]
jmp 0x10024810
cmp dword [esp + 0x14], ebx
jne 0x10024814
mov eax, ebx
jmp 0x10024817
xor eax, eax
inc eax
xor ecx, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
cmp eax, 0xdb2b
mov eax, dword [esp + 0x4c]
setg cl
xor edx, edx
imul ecx, dword [eax + 4]
cmp ecx, dword [eax]
setge dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [esp + 0x14]
cmp edx, eax
setne cl
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x4c]
call fcn.10006b72
mov cl, byte [esp + 0x23]
mov dl, 0x27
call fcn.1002cfe3
push 3
pop esi
push esi
lea ecx, [esp + 0x40]
mov byte [esp + 0x27], al
call fcn.10006b10
push 0xfffffffffffffff8
mov dword [esp + 0xc8], esi
lea ecx, [esp + 0x5c]
pop esi
mov dword [esp + 0x10], esi
push 4
call fcn.10006b10
mov byte [esp + 0xc4], 4
lea edx, [esp + 0x24]
mov dword [esp + 0x1c], 0xfffffff9
push ecx
mov dword [esp + 0x18], esi
lea ecx, [esp + 0x40]
mov dword [esp + 0x34], 0xf6ed7348
call fcn.10024a94
pop ecx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x5c]
call fcn.10028775
pop ecx
mov dword [esp + 0x24], ebx
jmp 0x100248d7
mov eax, dword [esp + 0x24]
mov dword [esp + eax*4 + 0x48], 0xffffffff
inc dword [esp + 0x24]
cmp dword [esp + 0x24], 1
jl 0x100248c7
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], edi
jg 0x10024a14
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 0xf985589b
mov dword [esp + 0x30], 0x7736eae1
mov dword [esp + 0x14], ebx
jmp 0x10024925
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x84], 0x129b8575
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10024912
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], 0x722ba7b7
dec dword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov dword [edx + 8], esi
imul eax, dword [ecx + 8]
xor ecx, ecx
push 0
cmp eax, 0x37b3
mov eax, dword [esp + 0x14]
setg cl
xor ebx, ebx
add eax, ecx
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x14]
lea ecx, [eax + esi]
mov eax, dword [esp + 0x40]
cmp ecx, dword [eax + edx*4]
setl bl
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
sub edx, 0x6d06
mov ebx, dword [esp + 0x1c]
add edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebx + 4]
cmp edx, eax
setle cl
xor eax, eax
add ecx, dword [esp + 0x14]
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, dword [ebx + 4]
mov eax, dword [esp + 0x40]
setge cl
xor edx, edx
cmp ecx, 0x1bb3
pop ebx
setle dl
sub edx, dword [eax + esi*4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [eax]
mov eax, dword [esp + 0x30]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
setg dl
sub edx, 0xfffffffb
add edx, dword [eax + edi*4]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x30], edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
mov edx, dword [esp + 0x2c]
jle 0x100248fc
lea ecx, [esp + 0x58]
call fcn.10006b72
lea ecx, [esp + 0x3c]
call fcn.10006b72
mov ecx, dword [ebp + 0x18]
mov al, byte [esp + 0x23]
mov byte [ecx], al
jmp 0x10024a7f
cmp byte [ebp + 0x1c], 0
je 0x10024a46
cmp byte [edx], 0
je 0x10024a7f
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
jmp 0x10024a7f
mov edi, dword [ebp + 0x10]
xor esi, esi
mov dword [edi], esi
jmp 0x10024a7b
push dword [ebp + 0x14]
mov edx, 0x344a
mov ecx, 0x5886
push esi
push 0x5e4a
push 0x3491
push 0x12f
push 0x5f95
call fcn.100243b6
add esp, 0x18
inc dword [edi]
cmp dword [edi], esi
jle 0x10024a4f
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret