Function at 0x483970
Capabilities:
Get common file path
Get disk information

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x380
push ebx
push esi
push edi
mov dword [ebp + 0x5c], ecx
push ecx
lea ecx, [ebp - 0x3c]
call fcn.00448948
mov edx, dword [ebp + 0x70]
xor edi, edi
push 2
mov dword [ebp + 0x34], edi
mov byte [ebp + 0x67], 0x2c
xor ecx, ecx
pop esi
jmp 0x4839c4
cmp cx, 0x2a
je 0x4839cc
mov eax, ecx
call fcn.004b1b03
test al, al
jne 0x4839cc
cmp cx, 0x3b
je 0x4839ba
cmp cx, 0x3a
jne 0x4839bf
mov al, byte [edx]
mov byte [ebp + 0x67], al
add edx, esi
mov dword [ebp + 0x70], edx
mov cx, word [edx]
cmp cx, di
jne 0x48399d
lea ecx, [ebp - 0x8c]
call fcn.0044684a
lea eax, [ebp + 0x70]
push eax
call fcn.0043fe57
lea eax, [ebp - 0x8c]
cdq
xor ebx, ebx
pop ecx
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0xc], esi
mov dword [ebp + 0x50], edi
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x48], edi
mov dword [ebp + 0x10], edi
mov dword [ebp - 4], 0xfffffff8
mov dword [ebp - 0x14], edi
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x2c], edi
mov dword [ebp], edi
mov dword [ebp + 0x1c], edi
mov byte [ebp + 0x66], 0
inc ebx
mov esi, dword [ebp + 0x70]
mov ax, word [esi]
cmp ax, 0x2a
je 0x483a5d
cmp ax, 0x2f
je 0x483a5d
cmp ax, 0x2d
jne 0x483dd4
cmp ax, 0x2d
jne 0x483a87
cmp word [esi + 2], ax
jne 0x483a87
xor ecx, ecx
mov cx, word [esi + 4]
mov eax, ecx
call fcn.004b1b03
test al, al
jne 0x483dc1
cmp cx, di
je 0x483dc1
push 2
lea eax, [ebp + 0x70]
push eax
push 0x4d2334
call fcn.0044860a
add esp, 0xc
test al, al
je 0x483aac
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffe
or eax, 6
jmp 0x483b9d
mov esi, dword [ebp + 0x70]
push 3
add esi, 2
push esi
push 0x4d2330
call fcn.00441277
add esp, 0xc
test al, al
je 0x483ad3
add dword [ebp + 0x70], 8
mov dword [ebp + 0x60], 6
jmp 0x483aeb
push 7
push esi
push str.delims:
call fcn.00441277
add esp, 0xc
test al, al
je 0x483b0e
add dword [ebp + 0x70], 0x10
or dword [ebp + 0x60], 0xa
push edi
push dword [ebp + 0x5c]
lea eax, [ebp + 0x70]
push eax
call fcn.0047488d
mov eax, dword [ebp + 0x70]
mov ax, word [eax]
add esp, 0xc
mov word [ebp + 0x34], ax
jmp 0x483d9d
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push eax
push 0x4cb448
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x483db4
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push eax
push 0x4c8014
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x483db4
push ebx
lea eax, [ebp + 0x70]
push eax
push 0x4d055c
call fcn.0044860a
add esp, 0xc
test al, al
jne 0x483dab
push 2
pop esi
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4d19cc
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x483dab
push ebx
lea eax, [ebp + 0x70]
push eax
push 0x4d2324
call fcn.0044860a
add esp, 0xc
test al, al
je 0x483ba5
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffd
or eax, 0x11
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x60], eax
jmp 0x483a41
push 3
lea eax, [ebp + 0x70]
push eax
push 0x4d2320
call fcn.004485c7
add esp, 0xc
test al, al
je 0x483bc4
mov dword [ebp], ebx
jmp 0x483a41
push 3
lea eax, [ebp + 0x70]
push eax
push 0x4cb524
call fcn.004485c7
add esp, 0xc
test al, al
je 0x483be3
mov dword [ebp + 0x10], ebx
jmp 0x483a41
push 3
lea eax, [ebp + 0x70]
push eax
push 0x4d231c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x483c02
mov dword [ebp + 0x14], ebx
jmp 0x483a41
push 4
lea eax, [ebp + 0x70]
push eax
push str.qu
call fcn.004485c7
add esp, 0xc
test al, al
je 0x483c21
mov dword [ebp + 0x14], esi
jmp 0x483a41
push 4
lea eax, [ebp + 0x70]
push eax
push str.off
call fcn.004485c7
add esp, 0xc
test al, al
je 0x483c40
mov dword [ebp + 0x2c], ebx
jmp 0x483a41
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4d2308
call fcn.004485c7
add esp, 0xc
test al, al
je 0x483c5f
or dword [ebp + 0x4c], 0x10
jmp 0x483a41
push 3
push dword [ebp + 0x70]
push 0x4d2304
call fcn.00441277
add esp, 0xc
test al, al
je 0x483c91
or dword [ebp + 0x4c], 0x10
add dword [ebp + 0x70], 6
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.00453e89
pop ecx
pop ecx
jmp 0x483a41
push 4
lea eax, [ebp + 0x70]
push eax
push str._O:N
call fcn.004485c7
add esp, 0xc
test al, al
je 0x483cb4
mov dword [ebp + 0x48], 0x20
jmp 0x483a41
push 5
lea eax, [ebp + 0x70]
push eax
push str._O:_N
call fcn.004485c7
add esp, 0xc
test al, al
je 0x483cd7
mov dword [ebp + 0x48], 0x60
jmp 0x483a41
push 4
lea eax, [ebp + 0x70]
push eax
push str.cur
call fcn.004485c7
add esp, 0xc
test al, al
je 0x483cf6
mov dword [ebp - 0x14], ebx
jmp 0x483a41
mov esi, dword [ebp + 0x70]
push 7
push esi
push str._size:
call fcn.00441277
add esp, 0xc
test al, al
je 0x483d1e
or dword [ebp - 0x58], 0x10
mov eax, dword [ebp - 0x54]
inc esi
inc esi
mov dword [ebp - 0x54], eax
mov dword [ebp + 0x70], esi
jmp 0x483d32
push 6
push esi
push 0x4d22dc
call fcn.00441277
add esp, 0xc
test al, al
je 0x483d97
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x54]
add esi, 0xc
push eax
mov dword [ebp + 0x54], esi
call fcn.0044bf93
mov eax, dword [ebp + 0x54]
movzx eax, word [eax]
cmp ax, di
pop ecx
pop ecx
je 0x483d9d
call fcn.004b1b03
test al, al
jne 0x483d6e
add dword [ebp + 0x54], 2
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0044bf93
pop ecx
pop ecx
mov eax, dword [ebp + 0x54]
movzx eax, word [eax]
cmp ax, di
je 0x483d9d
call fcn.004b1b03
test al, al
jne 0x483d9d
add dword [ebp + 0x54], 2
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0044bf93
pop ecx
pop ecx
jmp 0x483d9d
cmp word [esi], 0x2a
jne 0x483dd4
lea eax, [ebp + 0x70]
push eax
call fcn.00408f31
jmp 0x483c8b
or dword [ebp + 0x60], 5
jmp 0x483a41
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffd
or eax, ebx
jmp 0x483b9d
lea eax, [ebp + 0x70]
add esi, 4
push eax
mov dword [ebp + 0x70], esi
call fcn.0043fe57
mov esi, dword [ebp + 0x70]
pop ecx
test byte [ebp + 0x4c], 0x10
jne 0x483ddd
mov dword [ebp], edi
mov eax, dword [ebp]
cdq
or dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x48]
or dword [ebp - 0x54], edx
or dword [ebp + 0x4c], eax
lea ecx, [ebp - 0x1c]
call fcn.0044658e
mov ebx, 0x4c6a64
push ebx
lea ecx, [ebp + 0x54]
call fcn.004505eb
push ebx
lea ecx, [ebp + 0x40]
call fcn.004505eb
push ebx
lea ecx, [ebp + 0x38]
call fcn.004505eb
cmp dword [ebp + 0x14], edi
mov ebx, esi
je 0x483ed1
cmp dword [ebp + 0x60], 1
jne 0x483ed1
lea ecx, [ebp + 0x48]
call fcn.0044658e
mov ax, word [esi]
cmp ax, 0x22
jne 0x483e59
inc esi
inc esi
push 0x22
lea eax, [ebp + 0x70]
mov dword [ebp + 0x70], esi
call fcn.00414c4e
mov eax, dword [ebp + 0x70]
cmp word [eax], di
pop ecx
je 0x483e7f
add dword [ebp + 0x70], 2
jmp 0x483e7f
cmp ax, di
je 0x483e7f
movsx ecx, byte [ebp + 0x67]
movzx edx, ax
cmp ecx, edx
je 0x483e7f
call fcn.004b1b03
test al, al
jne 0x483e7f
inc esi
inc esi
mov ax, word [esi]
cmp ax, di
mov dword [ebp + 0x70], esi
jne 0x483e62
lea eax, [ebp + 0x70]
push eax
call fcn.0043fe57
mov esi, dword [ebp + 0x70]
mov ax, word [esi]
cmp ax, di
pop ecx
je 0x483e9f
movsx ecx, byte [ebp + 0x67]
movzx eax, ax
cmp ecx, eax
jne 0x483e32
mov eax, esi
sub eax, ebx
sar eax, 1
push eax
push ebx
lea ecx, [ebp + 0x48]
call fcn.004466b2
mov ecx, dword [ebp + 0x5c]
push 1
push edi
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0x48]
call fcn.0045937c
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp + 0x48]
mov dword [ebp - 0x34], eax
call fcn.0043fe25
jmp 0x483ee8
movsx ax, byte [ebp + 0x67]
push 1
lea ecx, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.0045bac5
mov esi, dword [ebp + 0x70]
push edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004494ac
mov eax, dword [ebp - 0x1c]
add esp, 0xc
cmp dword [ebp + 0x60], edi
mov edx, eax
push 0x5c
mov dword [ebp + 0x70], edx
pop ebx
jne 0x483f67
xor ecx, ecx
mov cx, word [eax]
jmp 0x483f5c
mov eax, ecx
call fcn.004b1b03
test al, al
jne 0x483f67
cmp cx, 0x40
jne 0x483f2a
mov dword [ebp - 0xc], 1
jmp 0x483f54
cmp cx, 0x24
jne 0x483f39
mov dword [ebp - 0xc], 3
jmp 0x483f54
cmp cx, bx
jne 0x483f4a
cmp word [edx + 2], bx
je 0x483f63
or dword [ebp + 0x50], 1
jmp 0x483f54
cmp cx, 0x21
jne 0x483f67
or dword [ebp + 0x50], 2
inc edx
inc edx
mov cx, word [edx]
mov dword [ebp + 0x70], edx
cmp cx, di
jne 0x483f10
jmp 0x483f67
mov byte [ebp + 0x66], 1
lea eax, [ebp + 0x70]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 0x60]
and eax, 1
pop ecx
mov dword [ebp + 0x24], eax
jne 0x483f87
push dword [ebp + 0x70]
call fcn.004135f9
pop ecx
jmp 0x483f8a
mov eax, dword [ebp + 0x70]
cmp dword [ebp + 0x50], edi
jne 0x483fb5
cmp dword [ebp + 0x60], edi
jne 0x483fba
cmp byte [ebp + 0x66], 0
jne 0x483fba
cmp word [eax], bx
jne 0x483fa5
cmp word [eax + 2], bx
je 0x483fba
lea ecx, [ebp + 0x40]
push ecx
push eax
call fcn.00413993
pop ecx
pop ecx
jmp 0x483fc3
inc eax
inc eax
cmp word [eax], bx
je 0x483fb3
push eax
lea ecx, [ebp + 0x40]
call fcn.0045066c
movsx ebx, byte [ebp + 0x67]
movzx eax, word [esi]
cmp ebx, eax
jne 0x483ff8
movsx ax, byte [ebp + 0x67]
push 1
inc esi
inc esi
lea ecx, [ebp - 0x3c]
mov dword [ebp + 0x70], esi
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.0045bac5
push edi
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.004494ac
mov esi, dword [ebp + 0x70]
add esp, 0xc
cmp dword [ebp + 0x60], edi
jne 0x48402e
movzx eax, word [esi]
cmp ebx, eax
jne 0x48402e
movsx ax, byte [ebp + 0x67]
lea ecx, [ebp - 0x80]
inc esi
inc esi
mov dword [ebp + 0x70], esi
push eax
push ecx
push 1
push eax
lea eax, [ebp + 0x70]
push eax
lea ecx, [ebp - 0x3c]
call fcn.0045bac5
push eax
call fcn.00449740
mov esi, dword [ebp + 0x70]
add esp, 0xc
cmp dword [ebp - 0x80], edi
jg 0x48403a
mov dword [ebp - 0x80], 0xfffffff8
movzx eax, word [esi]
cmp eax, ebx
je 0x484049
xor esi, esi
inc esi
jmp 0x484909
inc esi
lea eax, [ebp + 0x70]
inc esi
push eax
mov dword [ebp + 0x70], esi
call fcn.0043fe57
pop ecx
push 0xffffffffffffffff
push dword [ebp + 0x70]
lea ecx, [ebp + 0x38]
call fcn.004466b2
mov esi, dword [ebp + 0x38]
cmp word [esi], 0x2a
jne 0x484078
cmp word [esi + 2], di
mov byte [ebp + 0x66], 1
je 0x48407c
mov byte [ebp + 0x66], 0
lea ecx, [ebp - 0x48]
call fcn.0044658e
cmp byte [ebp + 0x66], 0
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
jne 0x48409d
push 0xffffffffffffffff
push dword [ebp + 0x54]
lea ecx, [ebp - 0x48]
call fcn.004466b2
mov eax, dword [ebp + 0x78]
cmp eax, edi
mov dword [ebp + 4], edi
je 0x4840ab
mov ebx, dword [eax]
jmp 0x4840ad
xor ebx, ebx
cmp word [esi], di
mov dword [ebp + 0x48], ebx
jne 0x4840d0
cmp ebx, edi
je 0x4840d0
mov ecx, dword [ebp + 0x5c]
mov cx, word [ecx + 0x5a]
cmp cx, word [ebx]
jne 0x4840d0
mov ecx, dword [ebp + 0x5c]
push edi
push edi
push eax
call fcn.004457ec
push 0x32a
lea ecx, [ebp - 0x24]
call fcn.004465ac
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x5c]
and word [eax + 0x88], 0x8b
mov ax, word [esi]
cmp ax, di
mov dword [ebp + 0x78], edi
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x3c], edi
mov dword [ebp - 0x30], edi
jne 0x48411d
cmp ebx, edi
je 0x48411d
mov ecx, dword [ebp + 0x5c]
mov cx, word [ecx + 0x5a]
cmp cx, word [ebx]
mov dword [ebp + 0x30], 0x100
je 0x484120
mov dword [ebp + 0x30], edi
mov ecx, dword [ebp + 0x54]
cmp word [ecx], di
je 0x484139
cmp ax, di
jne 0x484139
cmp dword [ebp + 0x30], edi
mov dword [ebp - 0x28], 1
je 0x48413c
mov dword [ebp - 0x28], edi
mov eax, dword [ebp + 0x60]
mov ebx, dword [ebp + 0x40]
and eax, 4
mov dword [ebp - 0x20], edi
mov dword [ebp + 0x70], ebx
mov dword [ebp - 0x2c], eax
je 0x4841a0
mov esi, 0x4e3d84
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp + 0x5c]
push edi
push 0xffffffffffffffff
push edi
push dword [ebp + 0x40]
call fcn.00411019
cmp eax, edi
jne 0x484182
push esi
mov dword [ebp - 0x30], 2
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4848b3
mov ecx, dword [eax + 0x10]
shr ecx, 1
push ecx
push dword [eax + 4]
lea ecx, [ebp - 0x20]
call fcn.004466b2
mov ebx, dword [ebp - 0x20]
push esi
mov dword [ebp + 0x70], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test byte [ebp + 0x60], 2
je 0x484294
mov dword [ebp + 0x2c], edi
jmp 0x48427a
cmp word [ebx], di
je 0x484287
mov eax, dword [ebp + 0x5c]
test byte [eax + 0x88], 0xef
jne 0x484287
cmp word [ebp + 0x34], di
mov dword [ebp + 0x78], ebx
lea eax, [ebp + 0x70]
je 0x4841e2
push dword [ebp + 0x34]
call fcn.00414c4e
pop ecx
jmp 0x4841e7
call fcn.00414c6e
push dword [ebp + 0x78]
mov ebx, dword [ebp + 0x70]
mov si, word [ebx]
push dword [ebp + 0x54]
mov ecx, dword [ebp + 0x5c]
mov word [ebx], di
call fcn.00445c44
cmp word [ebp + 0x34], di
jne 0x484216
cmp si, 0xd
jne 0x484216
cmp word [ebx + 2], 0xa
jne 0x48421b
add ebx, 4
jmp 0x48421d
cmp si, di
je 0x484220
inc ebx
inc ebx
mov dword [ebp + 0x70], ebx
inc dword [ebp + 0x3c]
cmp dword [ebp + 0x30], edi
je 0x484248
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x5c]
add eax, 2
push 0x4c6a64
mov dword [ebp + 4], eax
push edi
lea eax, [ebp + 4]
push eax
push dword [ebp + 0x74]
call fcn.0047b940
jmp 0x484260
mov eax, dword [ebp + 0x38]
cmp word [eax], di
je 0x484260
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
push edi
push dword [ebp + 0x74]
push eax
call fcn.00434f28
mov ecx, dword [ebp + 0x5c]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x48427a
and ax, 0xfeff
mov word [ecx + 0x88], ax
cmp byte [0x4e12e4], 0
jg 0x4841b2
lea ecx, [ebp + 0x2c]
call fcn.0043fe25
jmp 0x4848b3
cmp dword [ebp + 0x24], edi
je 0x4845fe
cmp dword [ebp - 0x2c], edi
je 0x4842af
lea eax, [ebp + 0x70]
push eax
call fcn.0043fe57
mov ebx, dword [ebp + 0x70]
pop ecx
mov eax, dword [ebp + 0x14]
fldz
fstp qword [ebp - 0x10]
dec eax
cmp dword [ebp + 0x1c], edi
fldz
fstp qword [ebp - 0x18]
mov dword [ebp + 0x50], edi
mov dword [ebp - 0x2c], eax
mov dword [ebp + 0x20], edi
mov dword [ebp + 0x24], edi
mov dword [ebp + 0x28], 1
mov dword [ebp + 0x2c], edi
mov dword [ebp + 0xc], edi
mov dword [ebp + 0x10], edi
mov byte [ebp + 0x5b], 0
mov byte [ebp + 0x67], 1
mov byte [ebp + 0x7b], 1
je 0x4845e2
lea eax, [ebp + 0x5b]
push eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp + 0x4c], ebx
mov byte [ebp + 0x5b], 0xc
call fcn.00446ece
fstp qword [ebp - 8]
lea eax, [ebp + 0x4c]
push eax
call fcn.0043fe57
lea eax, [ebp + 0x47]
push eax
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x4c]
push eax
mov byte [ebp + 0x47], 0xc
call fcn.00446ece
fstp qword [ebp - 0x10]
lea eax, [ebp + 0x4c]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 0x28]
add eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x2c]
adc ecx, dword [ebp + 0x24]
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0x46]
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp + 0x10], ecx
mov byte [ebp + 0x46], 0xc
call fcn.00446ece
fstp qword [ebp - 0x18]
mov al, byte [ebp + 0x46]
or al, byte [ebp + 0x47]
add esp, 0x2c
or al, byte [ebp + 0x5b]
test al, 2
je 0x48437f
lea ecx, [ebp + 0x50]
call fcn.0043fe25
mov esi, 0x80070057
jmp 0x4848e9
fld qword [ebp - 0x10]
test al, 1
fcomp qword [0x4c9b78]
setne cl
inc cl
mov byte [ebp + 0x5b], cl
fnstsw ax
test ah, 5
jp 0x48439d
mov byte [ebp + 0x67], 0xff
cmp dword [ebp + 0x2c], edi
jg 0x4843ad
jl 0x4843a9
cmp dword [ebp + 0x28], edi
jae 0x4843ad
mov byte [ebp + 0x7b], 0xff
cmp cl, 1
jne 0x4843c5
cmp dword [ebp + 0x28], edi
jne 0x4845e2
cmp dword [ebp + 0x2c], edi
je 0x48436d
jmp 0x4845e2
fld qword [ebp - 0x10]
fld qword [0x4c9b78]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x48436d
jmp 0x4845e2
mov ax, word [ebx]
xor esi, esi
cmp ax, si
je 0x4845ef
mov ecx, dword [ebp + 0x5c]
test byte [ecx + 0x88], 0xef
jne 0x4845ef
cmp dword [ebp + 0x1c], esi
mov edi, ebx
je 0x48450d
cmp byte [ebp + 0x5b], 1
jne 0x48446e
cmp byte [ebp + 0x7b], 0
jle 0x48442f
mov eax, dword [ebp + 0x24]
cmp eax, dword [ebp + 0x10]
jg 0x4845ef
jl 0x48442b
mov eax, dword [ebp + 0x20]
cmp eax, dword [ebp + 0xc]
ja 0x4845ef
cmp byte [ebp + 0x7b], 0
jge 0x48444b
mov eax, dword [ebp + 0x10]
cmp dword [ebp + 0x24], eax
jl 0x4845ef
jg 0x48444b
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x20], eax
jb 0x4845ef
push dword [ebp + 0x54]
mov esi, dword [ebp + 0x20]
push esi
push dword [ebp + 0x5c]
call fcn.00448c7f
mov eax, dword [ebp + 0x2c]
add esp, 0xc
add esi, dword [ebp + 0x28]
adc dword [ebp + 0x24], eax
mov dword [ebp + 0x20], esi
jmp 0x484586
cmp byte [ebp + 0x67], 0
jle 0x484489
fld qword [ebp - 8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 0x41
je 0x4845ef
cmp byte [ebp + 0x67], 0
jge 0x48449c
fld qword [ebp - 8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 5
jnp 0x4845ef
fld qword [ebp - 8]
push 0x4cf598
push ecx
push ecx
lea eax, [ebp - 0x110]
fstp qword [esp]
push eax
call fcn.004a12fa
add esp, 0x10
push 0x2e
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edi, eax
test edi, edi
je 0x4844f0
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [edi + eax*2 - 2]
jmp 0x4844e0
and word [eax], 0
dec eax
dec eax
cmp word [eax], 0x30
je 0x4844da
cmp word [eax], 0x2e
jne 0x4844f0
and word [eax], 0
mov ecx, dword [ebp + 0x5c]
lea eax, [ebp - 0x110]
push eax
push dword [ebp + 0x54]
call fcn.00445c44
fld qword [ebp - 8]
fadd qword [ebp - 0x10]
fstp qword [ebp - 8]
jmp 0x484586
cmp dword [ebp + 0x14], esi
je 0x48454b
cmp ax, 0x22
jne 0x48454b
mov ecx, dword [ebp - 0x2c]
lea edi, [ebx + ecx*2]
jmp 0x484533
cmp ax, 0x22
jne 0x484533
mov ax, word [ebx + 2]
call fcn.0043fe77
test al, al
jne 0x484542
inc ebx
inc ebx
mov ax, word [ebx]
cmp ax, si
mov dword [ebp + 0x70], ebx
jne 0x484520
jmp 0x484558
inc ebx
inc ebx
mov esi, ecx
mov dword [ebp + 0x70], ebx
jmp 0x484558
lea eax, [ebp + 0x70]
push eax
call fcn.00405c44
mov ebx, dword [ebp + 0x70]
pop ecx
lea eax, [esi + esi]
sub ebx, eax
sub ebx, edi
sar ebx, 1
push ebx
push edi
lea ecx, [ebp + 0x50]
call fcn.004466b2
lea eax, [ebp + 0x70]
push eax
call fcn.0043fe57
pop ecx
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x5c]
push dword [ebp + 0x54]
call fcn.00445c44
mov ebx, dword [ebp + 0x70]
inc dword [ebp + 0x3c]
xor ecx, ecx
cmp dword [ebp + 0x30], ecx
je 0x4845b0
mov eax, dword [ebp + 0x48]
add eax, 2
push 0x4c6a64
push ecx
mov ecx, dword [ebp + 0x5c]
mov dword [ebp + 4], eax
lea eax, [ebp + 4]
push eax
push dword [ebp + 0x74]
call fcn.0047b940
jmp 0x4845c8
mov eax, dword [ebp + 0x38]
cmp word [eax], cx
je 0x4845c8
push dword [ebp + 0x7c]
push ecx
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x5c]
push eax
call fcn.00434f28
mov ecx, dword [ebp + 0x5c]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x4845e2
and ax, 0xfeff
mov word [ecx + 0x88], ax
cmp byte [0x4e12e4], 0
jg 0x4843dc
lea ecx, [ebp + 0x50]
call fcn.0043fe25
xor edi, edi
jmp 0x4848b3
push dword [ebp + 0x40]
call fcn.004135f9
pop ecx
push eax
lea ecx, [ebp + 0x40]
call fcn.0045066c
mov esi, dword [ebp + 0x40]
cmp word [esi], di
je 0x4848b3
cmp dword [ebp + 0x50], edi
mov dword [ebp + 0x34], edi
mov byte [ebp + 0x73], 0
je 0x4846bc
cmp dword [ebp - 0x14], edi
je 0x484667
lea eax, [ebp - 0x318]
push eax
push 0x104
mov word [ebp - 0x318], di
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov eax, dword [ebp - 0x318]
cmp ax, 0x61
mov dword [ebp + 0x34], eax
jb 0x484667
cmp ax, 0x7a
ja 0x484667
and eax, 0xffdf
mov dword [ebp + 0x34], eax
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x24]
mov word [esi + 2], di
mov word [esi], di
push esi
mov word [eax + 2], di
push 0x324
mov word [eax], di
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov bl, byte [ebp + 0x50]
mov eax, esi
and bl, 2
cmp word [eax], di
mov dword [ebp + 0x78], esi
je 0x4846aa
push esi
mov dword [ebp + 0x78], esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [esi + eax*2 + 2]
cmp word [esi], di
jne 0x484697
test bl, bl
mov eax, dword [ebp + 0x78]
jne 0x4846b4
mov eax, dword [ebp + 8]
mov dword [ebp + 0x78], eax
jmp 0x4847d1
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x40], edi
cmp dword [ebp + 0x30], edi
jne 0x4846d8
mov eax, dword [ebp + 0x38]
cmp word [eax], di
jne 0x4846d8
cmp dword [ebp - 0x28], edi
je 0x4848b3
cmp dword [ebp + 0x10], edi
je 0x4846fd
xor eax, eax
mov ax, word [esi]
cmp ax, di
je 0x4846fd
cmp word [esi + 2], 0x3a
jne 0x4846fd
push eax
call fcn.004b3ac8
test eax, eax
pop ecx
je 0x4847c8
lea ecx, [ebp + 0x60]
call fcn.0044658e
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
push esi
mov dword [ebp + 0x1c], edi
call fcn.0049ebc9
add esp, 0xc
cmp dword [ebp + 0x2c], edi
je 0x48472d
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x60]
sar eax, 1
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
cmp dword [ebp], edi
je 0x484774
push 4
call fcn.004b4768
cmp eax, edi
pop ecx
je 0x48474b
lea ecx, [ebp + 0x60]
push ecx
mov ecx, eax
call fcn.0045063c
jmp 0x48474d
xor eax, eax
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040fb82
cmp dword [ebp + 0x50], edi
je 0x484774
mov eax, dword [ebp + 0x78]
cmp word [eax], di
je 0x484774
lea ecx, [ebp + 0x60]
mov byte [ebp + 0x73], 1
call fcn.0043fe25
jmp 0x4847d1
push dword [ebp + 0x7c]
mov esi, dword [ebp + 0x5c]
push dword [ebp - 4]
lea eax, [ebp - 0x80]
push eax
push dword [ebp + 0x38]
mov eax, dword [ebp + 0x30]
or eax, dword [ebp + 0x4c]
mov ecx, esi
or eax, dword [ebp - 0xc]
push eax
push dword [ebp + 0x48]
lea eax, [ebp - 0x48]
push dword [ebp + 0x74]
push dword [ebp + 0x60]
push eax
call fcn.004831e1
add dword [ebp + 0x3c], eax
mov ax, word [esi + 0x88]
test ah, 1
mov byte [ebp + 0x73], 0
je 0x4847c0
and ax, 0xfeff
mov word [esi + 0x88], ax
lea ecx, [ebp + 0x60]
call fcn.0043fe25
cmp dword [ebp + 0x50], edi
je 0x484863
mov ebx, dword [ebp + 0x78]
cmp byte [0x4e12e4], 0
jle 0x484863
cmp word [ebx], di
je 0x484863
lea eax, [ebp - 0x80]
cmp dword [eax], edi
je 0x484863
mov eax, dword [ebp + 0x5c]
test byte [eax + 0x88], 0xef
jne 0x484863
push 0xffffffffffffffff
push ebx
lea ecx, [ebp + 0x18]
call fcn.004466b2
push dword [ebp + 0x40]
lea ecx, [ebp + 0x18]
call fcn.004465fa
cmp dword [ebp - 0x14], edi
jne 0x484851
test byte [ebp + 0x50], 2
je 0x484832
dec ebx
dec ebx
jmp 0x484828
lea eax, [ebx - 2]
cmp word [eax], di
je 0x484840
mov ebx, eax
cmp ebx, dword [ebp + 8]
mov dword [ebp + 0x78], ebx
ja 0x48481e
jmp 0x484840
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ebx, [ebx + eax*2 + 2]
mov dword [ebp + 0x78], ebx
mov esi, dword [ebp + 0x18]
mov ax, word [ebp + 0x34]
cmp ax, word [esi]
je 0x4847d4
jmp 0x4846c2
mov esi, dword [ebp + 0x18]
mov ax, word [ebp + 0x34]
mov word [esi], ax
mov dword [ebp - 0x14], edi
jmp 0x4846c2
cmp byte [ebp + 0x73], 0
je 0x4848b3
push 4
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x8c]
push eax
push edi
call fcn.0044680d
mov eax, dword [eax]
mov eax, dword [eax]
add esp, 0x10
push dword [ebp + 0x7c]
lea ecx, [ebp - 0x80]
push dword [ebp - 4]
push ecx
push dword [ebp + 0x38]
mov ecx, dword [ebp + 0x30]
or ecx, dword [ebp + 0x4c]
or ecx, dword [ebp - 0xc]
push ecx
push dword [ebp + 0x48]
mov ecx, dword [ebp + 0x5c]
push dword [ebp + 0x74]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.004831e1
add dword [ebp + 0x3c], eax
mov ecx, dword [ebp + 0x5c]
and word [ecx + 0x88], 0x8b
cmp byte [ebp + 0x66], 0
je 0x4848d2
push dword [ebp - 0x48]
push dword [ebp + 0x54]
call fcn.00445c44
jmp 0x4848e6
cmp dword [ebp - 0x28], edi
je 0x4848e6
push dword [ebp + 0x54]
push dword [ebp + 0x3c]
push ecx
call fcn.00448c7f
add esp, 0xc
mov esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x20]
call fcn.0043fe25
lea ecx, [ebp + 0x18]
call fcn.0043fe25
lea ecx, [ebp - 0x24]
call fcn.0043fe25
lea ecx, [ebp - 0x48]
call fcn.0043fe25
lea ecx, [ebp + 0x38]
call fcn.0043fe25
lea ecx, [ebp + 0x40]
call fcn.0043fe25
lea ecx, [ebp + 0x54]
call fcn.0043fe25
lea ecx, [ebp - 0x1c]
call fcn.0043fe25
lea ecx, [ebp - 0x8c]
call fcn.0045a9f0
lea ecx, [ebp - 0x8c]
call fcn.0043fe25
lea ecx, [ebp - 0x3c]
call fcn.0043fe25
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10