Function at 0x47f76c
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.00446db5
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 0x47f7c0
cmp cx, 0x2a
je 0x47f7c8
mov eax, ecx
call fcn.00402d55
test al, al
jne 0x47f7c8
cmp cx, 0x3b
je 0x47f7b6
cmp cx, 0x3a
jne 0x47f7bb
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 0x47f799
lea ecx, [ebp - 0x54]
call fcn.00444c7e
lea eax, [ebp + 0x70]
push eax
call fcn.0043e425
lea eax, [ebp - 0x54]
cdq
xor ebx, ebx
pop ecx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x84], edi
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], eax
mov dword [ebp - 0x58], 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 0x47f85c
cmp ax, 0x2f
je 0x47f85c
cmp ax, 0x2d
jne 0x47fbaf
cmp ax, 0x2d
jne 0x47f886
cmp word [esi + 2], ax
jne 0x47f886
xor ecx, ecx
mov cx, word [esi + 4]
mov eax, ecx
call fcn.00402d55
test al, al
jne 0x47fb9c
cmp cx, di
je 0x47fb9c
push 2
lea eax, [ebp + 0x70]
push eax
push 0x4cae20
call fcn.00446a77
add esp, 0xc
test al, al
je 0x47f8ab
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffe
or eax, 6
jmp 0x47f99a
mov esi, dword [ebp + 0x70]
push 3
add esi, 2
push esi
push 0x4cae1c
call fcn.0043f884
add esp, 0xc
test al, al
je 0x47f8d2
add dword [ebp + 0x70], 8
mov dword [ebp + 0x60], 6
jmp 0x47f8ea
push 7
push esi
push str.delims:
call fcn.0043f884
add esp, 0xc
test al, al
je 0x47f90b
add dword [ebp + 0x70], 0x10
push dword [ebp + 0x5c]
or dword [ebp + 0x60], 0xa
lea eax, [ebp + 0x70]
push eax
call fcn.0047103e
mov eax, dword [ebp + 0x70]
mov ax, word [eax]
pop ecx
pop ecx
mov word [ebp + 0x34], ax
jmp 0x47fb78
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push eax
push 0x4c4298
call fcn.00446a34
add esp, 0xc
test al, al
jne 0x47fb8f
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push eax
push 0x4c0f5c
call fcn.00446a34
add esp, 0xc
test al, al
jne 0x47fb8f
push ebx
lea eax, [ebp + 0x70]
push eax
push 0x4c9190
call fcn.00446a77
add esp, 0xc
test al, al
jne 0x47fb86
push 2
pop esi
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4ca4f8
call fcn.00446a34
add esp, 0xc
test al, al
jne 0x47fb86
push ebx
lea eax, [ebp + 0x70]
push eax
push 0x4cae10
call fcn.00446a77
add esp, 0xc
test al, al
je 0x47f9a2
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffd
or eax, 0x11
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x60], eax
jmp 0x47f840
push 3
lea eax, [ebp + 0x70]
push eax
push 0x4cae0c
call fcn.00446a34
add esp, 0xc
test al, al
je 0x47f9c1
mov dword [ebp], ebx
jmp 0x47f840
push 3
lea eax, [ebp + 0x70]
push eax
push 0x4c4374
call fcn.00446a34
add esp, 0xc
test al, al
je 0x47f9e0
mov dword [ebp + 0x10], ebx
jmp 0x47f840
push 3
lea eax, [ebp + 0x70]
push eax
push 0x4cae08
call fcn.00446a34
add esp, 0xc
test al, al
je 0x47f9ff
mov dword [ebp + 0x14], ebx
jmp 0x47f840
push 4
lea eax, [ebp + 0x70]
push eax
push str.qu
call fcn.00446a34
add esp, 0xc
test al, al
je 0x47fa1e
mov dword [ebp + 0x14], esi
jmp 0x47f840
push 4
lea eax, [ebp + 0x70]
push eax
push str.off
call fcn.00446a34
add esp, 0xc
test al, al
je 0x47fa3d
mov dword [ebp + 0x2c], ebx
jmp 0x47f840
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4cadf4
call fcn.00446a34
add esp, 0xc
test al, al
je 0x47fa5c
or dword [ebp + 0x4c], 0x10
jmp 0x47f840
push 3
push dword [ebp + 0x70]
push 0x4cadf0
call fcn.0043f884
add esp, 0xc
test al, al
je 0x47fa8e
or dword [ebp + 0x4c], 0x10
add dword [ebp + 0x70], 6
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.004515da
pop ecx
pop ecx
jmp 0x47f840
push 4
lea eax, [ebp + 0x70]
push eax
push str._O:N
call fcn.00446a34
add esp, 0xc
test al, al
je 0x47fab1
mov dword [ebp + 0x48], 0x20
jmp 0x47f840
push 5
lea eax, [ebp + 0x70]
push eax
push str._O:_N
call fcn.00446a34
add esp, 0xc
test al, al
je 0x47fad4
mov dword [ebp + 0x48], 0x60
jmp 0x47f840
push 4
lea eax, [ebp + 0x70]
push eax
push str.cur
call fcn.00446a34
add esp, 0xc
test al, al
je 0x47faf3
mov dword [ebp - 0x14], ebx
jmp 0x47f840
mov esi, dword [ebp + 0x70]
push 6
push esi
push str._size:
call fcn.0043f884
add esp, 0xc
test al, al
je 0x47fb72
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp + 0x54]
add esi, 0xc
push eax
mov dword [ebp + 0x54], esi
call fcn.0044a04a
mov eax, dword [ebp + 0x54]
movzx eax, word [eax]
cmp ax, di
pop ecx
pop ecx
je 0x47fb78
call fcn.00402d55
test al, al
jne 0x47fb49
add dword [ebp + 0x54], 2
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0044a04a
pop ecx
pop ecx
mov eax, dword [ebp + 0x54]
movzx eax, word [eax]
cmp ax, di
je 0x47fb78
call fcn.00402d55
test al, al
jne 0x47fb78
add dword [ebp + 0x54], 2
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0044a04a
pop ecx
pop ecx
jmp 0x47fb78
cmp word [esi], 0x2a
jne 0x47fbaf
lea eax, [ebp + 0x70]
push eax
call fcn.00409168
jmp 0x47fa88
or dword [ebp + 0x60], 5
jmp 0x47f840
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffd
or eax, ebx
jmp 0x47f99a
lea eax, [ebp + 0x70]
add esi, 4
push eax
mov dword [ebp + 0x70], esi
call fcn.0043e425
mov esi, dword [ebp + 0x70]
pop ecx
test byte [ebp + 0x4c], 0x10
jne 0x47fbb8
mov dword [ebp], edi
mov eax, dword [ebp]
cdq
or dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x48]
or dword [ebp - 0x60], edx
or dword [ebp + 0x4c], eax
lea ecx, [ebp - 0x1c]
call fcn.00444a10
mov ebx, 0x4bfa2c
push ebx
lea ecx, [ebp + 0x54]
call fcn.0044df7a
push ebx
lea ecx, [ebp + 0x40]
call fcn.0044df7a
push ebx
lea ecx, [ebp + 0x38]
call fcn.0044df7a
cmp dword [ebp + 0x14], edi
mov ebx, esi
je 0x47fcac
cmp dword [ebp + 0x60], 1
jne 0x47fcac
lea ecx, [ebp + 0x48]
call fcn.00444a10
mov ax, word [esi]
cmp ax, 0x22
jne 0x47fc34
inc esi
inc esi
push 0x22
lea eax, [ebp + 0x70]
mov dword [ebp + 0x70], esi
call fcn.004a3a6c
mov eax, dword [ebp + 0x70]
cmp word [eax], di
pop ecx
je 0x47fc5a
add dword [ebp + 0x70], 2
jmp 0x47fc5a
cmp ax, di
je 0x47fc5a
movsx ecx, byte [ebp + 0x67]
movzx edx, ax
cmp ecx, edx
je 0x47fc5a
call fcn.00402d55
test al, al
jne 0x47fc5a
inc esi
inc esi
mov ax, word [esi]
cmp ax, di
mov dword [ebp + 0x70], esi
jne 0x47fc3d
lea eax, [ebp + 0x70]
push eax
call fcn.0043e425
mov esi, dword [ebp + 0x70]
mov ax, word [esi]
cmp ax, di
pop ecx
je 0x47fc7a
movsx ecx, byte [ebp + 0x67]
movzx eax, ax
cmp ecx, eax
jne 0x47fc0d
mov eax, esi
sub eax, ebx
sar eax, 1
push eax
push ebx
lea ecx, [ebp + 0x48]
call fcn.00444b34
mov ecx, dword [ebp + 0x5c]
push 1
push edi
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0x48]
call fcn.00455dfb
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp + 0x48]
mov dword [ebp - 0x34], eax
call fcn.0043e48d
jmp 0x47fcc3
movsx ax, byte [ebp + 0x67]
push 1
lea ecx, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.004581ad
mov esi, dword [ebp + 0x70]
push edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.0044785b
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 0x47fd42
xor ecx, ecx
mov cx, word [eax]
jmp 0x47fd37
mov eax, ecx
call fcn.00402d55
test al, al
jne 0x47fd42
cmp cx, 0x40
jne 0x47fd05
mov dword [ebp - 0xc], 1
jmp 0x47fd2f
cmp cx, 0x24
jne 0x47fd14
mov dword [ebp - 0xc], 3
jmp 0x47fd2f
cmp cx, bx
jne 0x47fd25
cmp word [edx + 2], bx
je 0x47fd3e
or dword [ebp + 0x50], 1
jmp 0x47fd2f
cmp cx, 0x21
jne 0x47fd42
or dword [ebp + 0x50], 2
inc edx
inc edx
mov cx, word [edx]
mov dword [ebp + 0x70], edx
cmp cx, di
jne 0x47fceb
jmp 0x47fd42
mov byte [ebp + 0x66], 1
lea eax, [ebp + 0x70]
push eax
call fcn.0043e425
mov eax, dword [ebp + 0x60]
and eax, 1
pop ecx
mov dword [ebp + 0x24], eax
jne 0x47fd62
push dword [ebp + 0x70]
call fcn.004130a1
pop ecx
jmp 0x47fd65
mov eax, dword [ebp + 0x70]
cmp dword [ebp + 0x50], edi
jne 0x47fd90
cmp dword [ebp + 0x60], edi
jne 0x47fd95
cmp byte [ebp + 0x66], 0
jne 0x47fd95
cmp word [eax], bx
jne 0x47fd80
cmp word [eax + 2], bx
je 0x47fd95
lea ecx, [ebp + 0x40]
push ecx
push eax
call fcn.0041343b
pop ecx
pop ecx
jmp 0x47fd9e
inc eax
inc eax
cmp word [eax], bx
je 0x47fd8e
push eax
lea ecx, [ebp + 0x40]
call fcn.0044dfe2
movsx ebx, byte [ebp + 0x67]
movzx eax, word [esi]
cmp ebx, eax
jne 0x47fdd3
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.004581ad
push edi
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.0044785b
mov esi, dword [ebp + 0x70]
add esp, 0xc
cmp dword [ebp + 0x60], edi
jne 0x47fe0c
movzx eax, word [esi]
cmp ebx, eax
jne 0x47fe0c
movsx ax, byte [ebp + 0x67]
lea ecx, [ebp - 0x8c]
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.004581ad
push eax
call fcn.00447ac3
mov esi, dword [ebp + 0x70]
add esp, 0xc
cmp dword [ebp - 0x8c], edi
jg 0x47fe1e
mov dword [ebp - 0x8c], 0xfffffff8
movzx eax, word [esi]
cmp eax, ebx
je 0x47fe2d
xor esi, esi
inc esi
jmp 0x4806ca
inc esi
lea eax, [ebp + 0x70]
inc esi
push eax
mov dword [ebp + 0x70], esi
call fcn.0043e425
pop ecx
push 0xffffffffffffffff
push dword [ebp + 0x70]
lea ecx, [ebp + 0x38]
call fcn.00444b34
mov esi, dword [ebp + 0x38]
cmp word [esi], 0x2a
jne 0x47fe5c
cmp word [esi + 2], di
mov byte [ebp + 0x66], 1
je 0x47fe60
mov byte [ebp + 0x66], 0
lea ecx, [ebp - 0x48]
call fcn.00444a10
cmp byte [ebp + 0x66], 0
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
jne 0x47fe81
push 0xffffffffffffffff
push dword [ebp + 0x54]
lea ecx, [ebp - 0x48]
call fcn.00444b34
mov eax, dword [ebp + 0x78]
cmp eax, edi
mov dword [ebp + 4], edi
je 0x47fe8f
mov ebx, dword [eax]
jmp 0x47fe91
xor ebx, ebx
cmp word [esi], di
mov dword [ebp + 0x48], ebx
jne 0x47feb4
cmp ebx, edi
je 0x47feb4
mov ecx, dword [ebp + 0x5c]
mov cx, word [ecx + 0x5a]
cmp cx, word [ebx]
jne 0x47feb4
mov ecx, dword [ebp + 0x5c]
push edi
push edi
push eax
call fcn.00443d07
push 0x32a
lea ecx, [ebp - 0x24]
call fcn.00444a2e
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 0x47ff01
cmp ebx, edi
je 0x47ff01
mov ecx, dword [ebp + 0x5c]
mov cx, word [ecx + 0x5a]
cmp cx, word [ebx]
mov dword [ebp + 0x30], 0x100
je 0x47ff04
mov dword [ebp + 0x30], edi
mov ecx, dword [ebp + 0x54]
cmp word [ecx], di
je 0x47ff1d
cmp ax, di
jne 0x47ff1d
cmp dword [ebp + 0x30], edi
mov dword [ebp - 0x28], 1
je 0x47ff20
mov dword [ebp - 0x28], edi
mov eax, dword [ebp + 0x60]
mov esi, dword [ebp + 0x40]
and eax, 4
mov dword [ebp - 0x20], edi
mov dword [ebp + 0x70], esi
mov dword [ebp - 0x2c], eax
je 0x47ff84
mov ebx, 0x4dbd30
push ebx
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov ecx, dword [ebp + 0x5c]
push edi
push 0xffffffffffffffff
push edi
push dword [ebp + 0x40]
call fcn.00410c6f
cmp eax, edi
jne 0x47ff66
push ebx
mov dword [ebp - 0x30], 2
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x480674
mov ecx, dword [eax + 0x10]
shr ecx, 1
push ecx
push dword [eax + 4]
lea ecx, [ebp - 0x20]
call fcn.00444b34
mov esi, dword [ebp - 0x20]
push ebx
mov dword [ebp + 0x70], esi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
test byte [ebp + 0x60], 2
je 0x48006b
mov dword [ebp + 0x2c], edi
jmp 0x480055
mov eax, dword [ebp + 0x5c]
test byte [eax + 0x88], 0xef
jne 0x48005e
cmp word [ebp + 0x34], di
mov dword [ebp + 0x78], esi
lea eax, [ebp + 0x70]
je 0x47ffbd
push dword [ebp + 0x34]
call fcn.004a3a6c
pop ecx
jmp 0x47ffc2
call fcn.004059a0
push dword [ebp + 0x78]
mov esi, dword [ebp + 0x70]
mov bx, word [esi]
push dword [ebp + 0x54]
mov ecx, dword [ebp + 0x5c]
mov word [esi], di
call fcn.0044414b
cmp word [ebp + 0x34], di
jne 0x47fff1
cmp bx, 0xd
jne 0x47fff1
cmp word [esi + 2], 0xa
jne 0x47fff6
add esi, 4
jmp 0x47fff8
cmp bx, di
je 0x47fffb
inc esi
inc esi
mov dword [ebp + 0x70], esi
inc dword [ebp + 0x3c]
cmp dword [ebp + 0x30], edi
je 0x480023
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x5c]
add eax, 2
push 0x4bfa2c
mov dword [ebp + 4], eax
push edi
lea eax, [ebp + 4]
push eax
push dword [ebp + 0x74]
call fcn.00477fd2
jmp 0x48003b
mov eax, dword [ebp + 0x38]
cmp word [eax], di
je 0x48003b
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
push edi
push dword [ebp + 0x74]
push eax
call fcn.00433da9
mov ecx, dword [ebp + 0x5c]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x480055
and ax, 0xfeff
mov word [ecx + 0x88], ax
cmp word [esi], di
jne 0x47ff96
lea ecx, [ebp + 0x2c]
call fcn.0043e48d
jmp 0x480674
cmp dword [ebp + 0x24], edi
je 0x4803c8
cmp dword [ebp - 0x2c], edi
je 0x480086
lea eax, [ebp + 0x70]
push eax
call fcn.0043e425
mov esi, 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 0x4803ad
lea eax, [ebp + 0x5b]
push eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp + 0x4c], esi
mov byte [ebp + 0x5b], 0xc
call fcn.0044533b
fstp qword [ebp - 8]
lea eax, [ebp + 0x4c]
push eax
call fcn.0043e425
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.0044533b
fstp qword [ebp - 0x10]
lea eax, [ebp + 0x4c]
push eax
call fcn.0043e425
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.0044533b
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 0x480156
lea ecx, [ebp + 0x50]
call fcn.0043e48d
mov esi, 0x80070057
jmp 0x4806aa
fld qword [ebp - 0x10]
test al, 1
fcomp qword [0x4c3958]
setne cl
inc cl
mov byte [ebp + 0x5b], cl
fnstsw ax
test ah, 5
jp 0x480174
mov byte [ebp + 0x67], 0xff
cmp dword [ebp + 0x2c], edi
jg 0x480184
jl 0x480180
cmp dword [ebp + 0x28], edi
jae 0x480184
mov byte [ebp + 0x7b], 0xff
cmp cl, 1
jne 0x48019c
cmp dword [ebp + 0x28], edi
jne 0x4803ad
cmp dword [ebp + 0x2c], edi
je 0x480144
jmp 0x4803ad
fld qword [ebp - 0x10]
fld qword [0x4c3958]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4803ad
jmp 0x480144
mov ecx, dword [ebp + 0x5c]
test byte [ecx + 0x88], 0xef
jne 0x4803b9
xor ebx, ebx
cmp dword [ebp + 0x1c], ebx
mov edi, esi
je 0x4802d8
cmp byte [ebp + 0x5b], 1
jne 0x480239
cmp byte [ebp + 0x7b], bl
jle 0x4801fa
mov eax, dword [ebp + 0x24]
cmp eax, dword [ebp + 0x10]
jg 0x4803b9
jl 0x4801f6
mov eax, dword [ebp + 0x20]
cmp eax, dword [ebp + 0xc]
ja 0x4803b9
cmp byte [ebp + 0x7b], 0
jge 0x480216
mov eax, dword [ebp + 0x10]
cmp dword [ebp + 0x24], eax
jl 0x4803b9
jg 0x480216
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x20], eax
jb 0x4803b9
push dword [ebp + 0x54]
mov edi, dword [ebp + 0x20]
push edi
push dword [ebp + 0x5c]
call fcn.004470b2
mov eax, dword [ebp + 0x2c]
add esp, 0xc
add edi, dword [ebp + 0x28]
adc dword [ebp + 0x24], eax
mov dword [ebp + 0x20], edi
jmp 0x480351
cmp byte [ebp + 0x67], 0
jle 0x480254
fld qword [ebp - 8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 0x41
je 0x4803b9
cmp byte [ebp + 0x67], 0
jge 0x480267
fld qword [ebp - 8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 5
jnp 0x4803b9
fld qword [ebp - 8]
push 0x4c8318
push ecx
push ecx
lea eax, [ebp - 0x110]
fstp qword [esp]
push eax
call fcn.0049a927
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 0x4802bb
push edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [edi + eax*2 - 2]
jmp 0x4802ab
and word [eax], 0
dec eax
dec eax
cmp word [eax], 0x30
je 0x4802a5
cmp word [eax], 0x2e
jne 0x4802bb
and word [eax], 0
mov ecx, dword [ebp + 0x5c]
lea eax, [ebp - 0x110]
push eax
push dword [ebp + 0x54]
call fcn.0044414b
fld qword [ebp - 8]
fadd qword [ebp - 0x10]
fstp qword [ebp - 8]
jmp 0x480351
cmp dword [ebp + 0x14], ebx
je 0x480316
cmp ax, 0x22
jne 0x480316
mov ecx, dword [ebp - 0x2c]
lea edi, [esi + ecx*2]
jmp 0x4802fe
cmp ax, 0x22
jne 0x4802fe
mov ax, word [esi + 2]
call fcn.0043e445
test al, al
jne 0x48030d
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
mov dword [ebp + 0x70], esi
jne 0x4802eb
jmp 0x480323
inc esi
inc esi
mov ebx, ecx
mov dword [ebp + 0x70], esi
jmp 0x480323
lea eax, [ebp + 0x70]
push eax
call fcn.00405a01
mov esi, dword [ebp + 0x70]
pop ecx
lea eax, [ebx + ebx]
sub esi, eax
sub esi, edi
sar esi, 1
push esi
push edi
lea ecx, [ebp + 0x50]
call fcn.00444b34
lea eax, [ebp + 0x70]
push eax
call fcn.0043e425
pop ecx
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x5c]
push dword [ebp + 0x54]
call fcn.0044414b
mov esi, dword [ebp + 0x70]
inc dword [ebp + 0x3c]
xor edi, edi
cmp dword [ebp + 0x30], edi
je 0x48037b
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x5c]
add eax, 2
push 0x4bfa2c
mov dword [ebp + 4], eax
push edi
lea eax, [ebp + 4]
push eax
push dword [ebp + 0x74]
call fcn.00477fd2
jmp 0x480393
mov eax, dword [ebp + 0x38]
cmp word [eax], di
je 0x480393
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
push edi
push dword [ebp + 0x74]
push eax
call fcn.00433da9
mov ecx, dword [ebp + 0x5c]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x4803ad
and ax, 0xfeff
mov word [ecx + 0x88], ax
mov ax, word [esi]
cmp ax, di
jne 0x4801b4
lea ecx, [ebp + 0x50]
call fcn.0043e48d
xor edi, edi
jmp 0x480674
push dword [ebp + 0x40]
call fcn.004130a1
pop ecx
push eax
lea ecx, [ebp + 0x40]
call fcn.0044dfe2
mov esi, dword [ebp + 0x40]
cmp word [esi], di
je 0x480674
cmp dword [ebp + 0x50], edi
mov dword [ebp + 0x34], edi
mov byte [ebp + 0x73], 0
je 0x480486
cmp dword [ebp - 0x14], edi
je 0x480431
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 0x480431
cmp ax, 0x7a
ja 0x480431
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 0x480474
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 0x480461
test bl, bl
mov eax, dword [ebp + 0x78]
jne 0x48047e
mov eax, dword [ebp + 8]
mov dword [ebp + 0x78], eax
jmp 0x48059b
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x40], edi
cmp dword [ebp + 0x30], edi
jne 0x4804a2
mov eax, dword [ebp + 0x38]
cmp word [eax], di
jne 0x4804a2
cmp dword [ebp - 0x28], edi
je 0x480674
cmp dword [ebp + 0x10], edi
je 0x4804c7
xor eax, eax
mov ax, word [esi]
cmp ax, di
je 0x4804c7
cmp word [esi + 2], 0x3a
jne 0x4804c7
push eax
call fcn.004ac576
test eax, eax
pop ecx
je 0x480592
lea ecx, [ebp + 0x60]
call fcn.00444a10
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
push esi
mov dword [ebp + 0x1c], edi
call fcn.00498498
add esp, 0xc
cmp dword [ebp + 0x2c], edi
je 0x4804f7
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x60]
sar eax, 1
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
cmp dword [ebp], edi
je 0x48053b
push 4
call fcn.004ad1a8
cmp eax, edi
pop ecx
je 0x480515
lea ecx, [ebp + 0x60]
push ecx
mov ecx, eax
call fcn.0044dfcb
jmp 0x480517
xor eax, eax
push eax
lea ecx, [ebp - 0x54]
call fcn.0040f854
cmp dword [ebp + 0x50], edi
je 0x48053b
mov eax, dword [ebp + 0x78]
cmp word [eax], di
je 0x48053b
lea ecx, [ebp + 0x60]
mov byte [ebp + 0x73], 1
call fcn.0043e48d
jmp 0x48059b
push dword [ebp + 0x7c]
mov esi, dword [ebp + 0x5c]
push dword [ebp - 4]
lea eax, [ebp - 0x8c]
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.0047f0a1
add dword [ebp + 0x3c], eax
mov ax, word [esi + 0x88]
test ah, 1
mov byte [ebp + 0x73], 0
je 0x48058a
and ax, 0xfeff
mov word [esi + 0x88], ax
lea ecx, [ebp + 0x60]
call fcn.0043e48d
cmp dword [ebp + 0x50], edi
je 0x480627
mov ebx, dword [ebp + 0x78]
cmp word [ebx], di
je 0x480627
lea eax, [ebp - 0x8c]
cmp dword [eax], edi
je 0x480627
mov eax, dword [ebp + 0x5c]
test byte [eax + 0x88], 0xef
jne 0x480627
push 0xffffffffffffffff
push ebx
lea ecx, [ebp + 0x18]
call fcn.00444b34
push dword [ebp + 0x40]
lea ecx, [ebp + 0x18]
call fcn.00444a7c
cmp dword [ebp - 0x14], edi
jne 0x480615
test byte [ebp + 0x50], 2
je 0x4805f6
dec ebx
dec ebx
jmp 0x4805ec
lea eax, [ebx - 2]
cmp word [eax], di
je 0x480604
mov ebx, eax
cmp ebx, dword [ebp + 8]
mov dword [ebp + 0x78], ebx
ja 0x4805e2
jmp 0x480604
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 0x48059e
jmp 0x48048c
mov esi, dword [ebp + 0x18]
mov ax, word [ebp + 0x34]
mov word [esi], ax
mov dword [ebp - 0x14], edi
jmp 0x48048c
cmp byte [ebp + 0x73], 0
je 0x480674
push 4
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x54]
push eax
push edi
call fcn.00444c41
mov eax, dword [eax]
mov eax, dword [eax]
add esp, 0x10
push dword [ebp + 0x7c]
lea ecx, [ebp - 0x8c]
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.0047f0a1
add dword [ebp + 0x3c], eax
mov ecx, dword [ebp + 0x5c]
and word [ecx + 0x88], 0x8b
cmp byte [ebp + 0x66], 0
je 0x480693
push dword [ebp - 0x48]
push dword [ebp + 0x54]
call fcn.0044414b
jmp 0x4806a7
cmp dword [ebp - 0x28], edi
je 0x4806a7
push dword [ebp + 0x54]
push dword [ebp + 0x3c]
push ecx
call fcn.004470b2
add esp, 0xc
mov esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x20]
call fcn.0043e48d
lea ecx, [ebp + 0x18]
call fcn.0043e48d
lea ecx, [ebp - 0x24]
call fcn.0043e48d
lea ecx, [ebp - 0x48]
call fcn.0043e48d
lea ecx, [ebp + 0x38]
call fcn.0043e48d
lea ecx, [ebp + 0x40]
call fcn.0043e48d
lea ecx, [ebp + 0x54]
call fcn.0043e48d
lea ecx, [ebp - 0x1c]
call fcn.0043e48d
lea ecx, [ebp - 0x54]
call fcn.004570d8
lea ecx, [ebp - 0x54]
call fcn.0043e48d
lea ecx, [ebp - 0x3c]
call fcn.0043e48d
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10