Function at 0x47d7f2
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 + 0x58], ecx
push ecx
lea ecx, [ebp - 0x38]
call fcn.004462b2
mov edx, dword [ebp + 0x70]
xor ebx, ebx
push 2
mov dword [ebp + 0x38], ebx
mov byte [ebp + 0x67], 0x2c
xor ecx, ecx
pop esi
jmp 0x47d846
cmp cx, 0x2a
je 0x47d84e
mov eax, ecx
call fcn.0043daaf
test al, al
jne 0x47d84e
cmp cx, 0x3b
je 0x47d83c
cmp cx, 0x3a
jne 0x47d841
mov al, byte [edx]
mov byte [ebp + 0x67], al
add edx, esi
mov dword [ebp + 0x70], edx
mov cx, word [edx]
cmp cx, bx
jne 0x47d81f
lea ecx, [ebp - 0x54]
call fcn.004441c9
lea eax, [ebp + 0x70]
push eax
call fcn.0043dae7
lea eax, [ebp - 0x54]
cdq
xor edi, edi
pop ecx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0xc], esi
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x60], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x48], ebx
mov dword [ebp + 8], ebx
mov dword [ebp - 4], 0xfffffff8
mov dword [ebp - 0x24], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x24], ebx
mov dword [ebp], ebx
mov dword [ebp + 0x2c], ebx
mov byte [ebp + 0x5f], bl
inc edi
mov esi, dword [ebp + 0x70]
mov ax, word [esi]
cmp ax, 0x2a
je 0x47d8e1
cmp ax, 0x2f
je 0x47d8e1
cmp ax, 0x2d
jne 0x47dc36
cmp ax, 0x2d
jne 0x47d90b
cmp word [esi + 2], ax
jne 0x47d90b
xor ecx, ecx
mov cx, word [esi + 4]
mov eax, ecx
call fcn.0043daaf
test al, al
jne 0x47dc23
cmp cx, bx
je 0x47dc23
push 2
lea eax, [ebp + 0x70]
push eax
push 0x4c7bbc
call fcn.00445f74
add esp, 0xc
test al, al
je 0x47d930
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffe
or eax, 6
jmp 0x47da1d
mov esi, dword [ebp + 0x70]
push 3
add esi, 2
push esi
push 0x4c7bb8
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x47d957
add dword [ebp + 0x70], 8
mov dword [ebp + 0x60], 6
jmp 0x47d96f
push 7
push esi
push str.delims:
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x47d990
add dword [ebp + 0x70], 0x10
push dword [ebp + 0x58]
or dword [ebp + 0x60], 0xa
lea eax, [ebp + 0x70]
push eax
call fcn.0046f23f
mov eax, dword [ebp + 0x70]
mov ax, word [eax]
pop ecx
pop ecx
mov word [ebp + 0x38], ax
jmp 0x47dbff
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push eax
push 0x4c1270
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x47dc16
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push eax
push 0x4bdf04
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x47dc16
push edi
lea eax, [ebp + 0x70]
push eax
push 0x4c5fe8
call fcn.00445f74
add esp, 0xc
test al, al
jne 0x47dc0d
push 2
lea eax, [ebp + 0x70]
push eax
push 0x4c72ec
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x47dc0d
push edi
lea eax, [ebp + 0x70]
push eax
push 0x4c7bac
call fcn.00445f74
add esp, 0xc
test al, al
je 0x47da25
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffd
or eax, 0x11
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x60], eax
jmp 0x47d8c5
push 3
pop esi
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4c7ba8
call fcn.00445f31
add esp, 0xc
test al, al
je 0x47da46
mov dword [ebp], edi
jmp 0x47d8c5
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4c130c
call fcn.00445f31
add esp, 0xc
test al, al
je 0x47da64
mov dword [ebp + 8], edi
jmp 0x47d8c5
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4c7ba4
call fcn.00445f31
add esp, 0xc
test al, al
je 0x47da82
mov dword [ebp + 0x18], edi
jmp 0x47d8c5
push 4
lea eax, [ebp + 0x70]
push eax
push str.qu
call fcn.00445f31
add esp, 0xc
test al, al
je 0x47daa5
mov dword [ebp + 0x18], 2
jmp 0x47d8c5
push 4
lea eax, [ebp + 0x70]
push eax
push str.off
call fcn.00445f31
add esp, 0xc
test al, al
je 0x47dac4
mov dword [ebp + 0x24], edi
jmp 0x47d8c5
push 2
lea eax, [ebp + 0x70]
push eax
push 0x4c7b90
call fcn.00445f31
add esp, 0xc
test al, al
je 0x47dae4
or dword [ebp + 0x4c], 0x10
jmp 0x47d8c5
push esi
push dword [ebp + 0x70]
push 0x4c7b8c
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x47db15
or dword [ebp + 0x4c], 0x10
add dword [ebp + 0x70], 6
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.004503bc
pop ecx
pop ecx
jmp 0x47d8c5
push 4
lea eax, [ebp + 0x70]
push eax
push str._O:N
call fcn.00445f31
add esp, 0xc
test al, al
je 0x47db38
mov dword [ebp + 0x48], 0x20
jmp 0x47d8c5
push 5
lea eax, [ebp + 0x70]
push eax
push str._O:_N
call fcn.00445f31
add esp, 0xc
test al, al
je 0x47db5b
mov dword [ebp + 0x48], 0x60
jmp 0x47d8c5
push 4
lea eax, [ebp + 0x70]
push eax
push str.cur
call fcn.00445f31
add esp, 0xc
test al, al
je 0x47db7a
mov dword [ebp - 0x24], edi
jmp 0x47d8c5
mov esi, dword [ebp + 0x70]
push 6
push esi
push str._size:
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x47dbf9
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp + 0x54]
add esi, 0xc
push eax
mov dword [ebp + 0x54], esi
call fcn.00448e3b
mov eax, dword [ebp + 0x54]
movzx eax, word [eax]
cmp ax, bx
pop ecx
pop ecx
je 0x47dbff
call fcn.0043daaf
test al, al
jne 0x47dbd0
add dword [ebp + 0x54], 2
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.00448e3b
pop ecx
pop ecx
mov eax, dword [ebp + 0x54]
movzx eax, word [eax]
cmp ax, bx
je 0x47dbff
call fcn.0043daaf
test al, al
jne 0x47dbff
add dword [ebp + 0x54], 2
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.00448e3b
pop ecx
pop ecx
jmp 0x47dbff
cmp word [esi], 0x2a
jne 0x47dc36
lea eax, [ebp + 0x70]
push eax
call fcn.00408ddd
jmp 0x47db0f
or dword [ebp + 0x60], 5
jmp 0x47d8c5
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffd
or eax, edi
jmp 0x47da1d
lea eax, [ebp + 0x70]
add esi, 4
push eax
mov dword [ebp + 0x70], esi
call fcn.0043dae7
mov esi, dword [ebp + 0x70]
pop ecx
test byte [ebp + 0x4c], 0x10
jne 0x47dc3f
mov dword [ebp], ebx
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 - 0x2c]
call fcn.00443f5b
mov edi, 0x4bca0c
push edi
lea ecx, [ebp + 0x54]
call fcn.0044cd74
push edi
lea ecx, [ebp + 0x40]
call fcn.0044cd74
push edi
lea ecx, [ebp + 0x34]
call fcn.0044cd74
cmp dword [ebp + 0x18], ebx
mov edi, esi
je 0x47dd33
cmp dword [ebp + 0x60], 1
jne 0x47dd33
lea ecx, [ebp + 0x48]
call fcn.00443f5b
mov ax, word [esi]
cmp ax, 0x22
jne 0x47dcbb
inc esi
inc esi
push 0x22
lea eax, [ebp + 0x70]
mov dword [ebp + 0x70], esi
call fcn.004a7e7b
mov eax, dword [ebp + 0x70]
cmp word [eax], bx
pop ecx
je 0x47dce1
add dword [ebp + 0x70], 2
jmp 0x47dce1
cmp ax, bx
je 0x47dce1
movsx ecx, byte [ebp + 0x67]
movzx edx, ax
cmp ecx, edx
je 0x47dce1
call fcn.0043daaf
test al, al
jne 0x47dce1
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
mov dword [ebp + 0x70], esi
jne 0x47dcc4
lea eax, [ebp + 0x70]
push eax
call fcn.0043dae7
mov esi, dword [ebp + 0x70]
mov ax, word [esi]
cmp ax, bx
pop ecx
je 0x47dd01
movsx ecx, byte [ebp + 0x67]
movzx eax, ax
cmp ecx, eax
jne 0x47dc94
mov eax, esi
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x48]
call fcn.0044407f
mov ecx, dword [ebp + 0x58]
push 1
push ebx
lea eax, [ebp - 0x38]
push eax
push dword [ebp + 0x48]
call fcn.00454bdd
mov eax, dword [ebp - 0x38]
lea ecx, [ebp + 0x48]
mov dword [ebp - 0x30], eax
call fcn.0043db4f
jmp 0x47dd4a
movsx ax, byte [ebp + 0x67]
push 1
lea ecx, [ebp - 0x38]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.00456f8f
mov esi, dword [ebp + 0x70]
push ebx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00446d58
mov eax, dword [ebp - 0x2c]
add esp, 0xc
cmp dword [ebp + 0x60], ebx
mov edx, eax
push 0x5c
mov dword [ebp + 0x70], edx
pop edi
jne 0x47ddc9
xor ecx, ecx
mov cx, word [eax]
jmp 0x47ddbe
mov eax, ecx
call fcn.0043daaf
test al, al
jne 0x47ddc9
cmp cx, 0x40
jne 0x47dd8c
mov dword [ebp - 0xc], 1
jmp 0x47ddb6
cmp cx, 0x24
jne 0x47dd9b
mov dword [ebp - 0xc], 3
jmp 0x47ddb6
cmp cx, di
jne 0x47ddac
cmp word [edx + 2], di
je 0x47ddc5
or dword [ebp + 0x50], 1
jmp 0x47ddb6
cmp cx, 0x21
jne 0x47ddc9
or dword [ebp + 0x50], 2
inc edx
inc edx
mov cx, word [edx]
mov dword [ebp + 0x70], edx
cmp cx, bx
jne 0x47dd72
jmp 0x47ddc9
mov byte [ebp + 0x5f], 1
lea eax, [ebp + 0x70]
push eax
call fcn.0043dae7
mov eax, dword [ebp + 0x60]
and eax, 1
pop ecx
mov dword [ebp + 0x14], eax
jne 0x47dde9
push dword [ebp + 0x70]
call fcn.00412ae5
pop ecx
jmp 0x47ddec
mov eax, dword [ebp + 0x70]
cmp dword [ebp + 0x50], ebx
jne 0x47de16
cmp dword [ebp + 0x60], ebx
jne 0x47de1b
cmp byte [ebp + 0x5f], bl
jne 0x47de1b
cmp word [eax], di
jne 0x47de06
cmp word [eax + 2], di
je 0x47de1b
lea ecx, [ebp + 0x40]
push ecx
push eax
call fcn.00412e7f
pop ecx
pop ecx
jmp 0x47de24
inc eax
inc eax
cmp word [eax], di
je 0x47de14
push eax
lea ecx, [ebp + 0x40]
call fcn.0044cddc
movsx edi, byte [ebp + 0x67]
movzx eax, word [esi]
cmp edi, eax
jne 0x47de59
movsx ax, byte [ebp + 0x67]
push 1
inc esi
inc esi
lea ecx, [ebp - 0x38]
mov dword [ebp + 0x70], esi
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.00456f8f
push ebx
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.00446d58
mov esi, dword [ebp + 0x70]
add esp, 0xc
cmp dword [ebp + 0x60], ebx
jne 0x47de92
movzx eax, word [esi]
cmp edi, eax
jne 0x47de92
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 - 0x38]
call fcn.00456f8f
push eax
call fcn.00446fa5
mov esi, dword [ebp + 0x70]
add esp, 0xc
cmp dword [ebp - 0x8c], ebx
jg 0x47dea4
mov dword [ebp - 0x8c], 0xfffffff8
movzx eax, word [esi]
cmp eax, edi
je 0x47deb3
xor esi, esi
inc esi
jmp 0x47e6c5
inc esi
lea eax, [ebp + 0x70]
inc esi
push eax
mov dword [ebp + 0x70], esi
call fcn.0043dae7
pop ecx
push 0xffffffffffffffff
push dword [ebp + 0x70]
lea ecx, [ebp + 0x34]
call fcn.0044407f
mov esi, dword [ebp + 0x34]
cmp word [esi], 0x2a
jne 0x47dee2
cmp word [esi + 2], bx
mov byte [ebp + 0x67], 1
je 0x47dee5
mov byte [ebp + 0x67], bl
lea ecx, [ebp - 0x48]
call fcn.00443f5b
cmp byte [ebp + 0x67], bl
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
jne 0x47df05
push 0xffffffffffffffff
push dword [ebp + 0x54]
lea ecx, [ebp - 0x48]
call fcn.0044407f
mov eax, dword [ebp + 0x78]
cmp eax, ebx
mov dword [ebp + 0xc], ebx
je 0x47df13
mov edi, dword [eax]
jmp 0x47df15
xor edi, edi
cmp word [esi], bx
mov dword [ebp + 0x1c], edi
jne 0x47df38
cmp edi, ebx
je 0x47df38
mov ecx, dword [ebp + 0x58]
mov cx, word [ecx + 0x5a]
cmp cx, word [edi]
jne 0x47df38
mov ecx, dword [ebp + 0x58]
push ebx
push ebx
push eax
call fcn.004431ac
push 0x32a
lea ecx, [ebp - 0x1c]
call fcn.00443f79
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp + 0x48], eax
mov eax, dword [ebp + 0x58]
and word [eax + 0x88], 0x8b
mov ax, word [esi]
cmp ax, bx
mov dword [ebp + 0x78], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp - 0x3c], ebx
jne 0x47df85
cmp edi, ebx
je 0x47df85
mov ecx, dword [ebp + 0x58]
mov cx, word [ecx + 0x5a]
cmp cx, word [edi]
mov dword [ebp + 0x30], pe_nt_image_headers32
je 0x47df88
mov dword [ebp + 0x30], ebx
mov ecx, dword [ebp + 0x54]
cmp word [ecx], bx
je 0x47dfa1
cmp ax, bx
jne 0x47dfa1
cmp dword [ebp + 0x30], ebx
mov dword [ebp - 0x14], 1
je 0x47dfa4
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp + 0x60]
mov esi, dword [ebp + 0x40]
and eax, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp + 0x70], esi
mov dword [ebp - 0x18], eax
je 0x47e008
mov edi, 0x4d8d24
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp + 0x58]
push ebx
push 0xffffffffffffffff
push ebx
push dword [ebp + 0x40]
call fcn.00410728
cmp eax, ebx
jne 0x47dfea
push edi
mov dword [ebp - 0x3c], 2
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x47e670
mov ecx, dword [eax + 0x10]
shr ecx, 1
push ecx
push dword [eax + 4]
lea ecx, [ebp - 0x20]
call fcn.0044407f
mov esi, dword [ebp - 0x20]
push edi
mov dword [ebp + 0x70], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test byte [ebp + 0x60], 2
je 0x47e0ea
mov dword [ebp + 0x24], ebx
jmp 0x47e0d9
mov eax, dword [ebp + 0x58]
test byte [eax + 0x88], 0xef
jne 0x47e0e2
cmp word [ebp + 0x38], bx
mov dword [ebp + 0x78], esi
lea eax, [ebp + 0x70]
je 0x47e041
push dword [ebp + 0x38]
call fcn.004a7e7b
pop ecx
jmp 0x47e046
call fcn.00405639
push dword [ebp + 0x78]
mov esi, dword [ebp + 0x70]
mov di, word [esi]
push dword [ebp + 0x54]
mov ecx, dword [ebp + 0x58]
mov word [esi], bx
call fcn.00443666
cmp word [ebp + 0x38], bx
jne 0x47e075
cmp di, 0xd
jne 0x47e075
cmp word [esi + 2], 0xa
jne 0x47e07a
add esi, 4
jmp 0x47e07c
cmp di, bx
je 0x47e07f
inc esi
inc esi
mov dword [ebp + 0x70], esi
inc dword [ebp + 0x3c]
cmp dword [ebp + 0x30], ebx
je 0x47e0a7
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x58]
add eax, 2
push 0x4bca0c
mov dword [ebp + 0xc], eax
push ebx
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 0x74]
call fcn.004760ff
jmp 0x47e0bf
mov eax, dword [ebp + 0x34]
cmp word [eax], bx
je 0x47e0bf
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x58]
push ebx
push dword [ebp + 0x74]
push eax
call fcn.00433455
mov ecx, dword [ebp + 0x58]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x47e0d9
and ax, 0xfeff
mov word [ecx + 0x88], ax
cmp word [esi], bx
jne 0x47e01a
lea ecx, [ebp + 0x24]
jmp 0x47e3c4
cmp dword [ebp + 0x14], ebx
je 0x47e3ce
cmp dword [ebp - 0x18], ebx
je 0x47e105
lea eax, [ebp + 0x70]
push eax
call fcn.0043dae7
mov esi, dword [ebp + 0x70]
pop ecx
mov eax, dword [ebp + 0x18]
fldz
fstp qword [ebp - 0x10]
dec eax
cmp dword [ebp + 0x2c], ebx
fldz
fstp qword [ebp - 0x28]
mov dword [ebp + 0x50], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x10], 1
mov dword [ebp + 0x14], ebx
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov byte [ebp + 0x47], bl
mov byte [ebp + 0x5f], bl
mov byte [ebp + 0x7b], bl
mov byte [ebp + 0x46], bl
je 0x47e3b5
lea eax, [ebp + 0x47]
push eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp + 0x4c], esi
call fcn.004448a2
fstp qword [ebp - 8]
lea eax, [ebp + 0x4c]
push eax
call fcn.0043dae7
lea eax, [ebp + 0x5f]
push eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.004448a2
fstp qword [ebp - 0x10]
lea eax, [ebp + 0x4c]
push eax
call fcn.0043dae7
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
sub eax, 1
mov dword [ebp + 4], eax
lea eax, [ebp + 0x7b]
push eax
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x4c]
sbb ecx, ebx
push eax
mov dword [ebp + 8], ecx
call fcn.004448a2
fstp qword [ebp - 0x28]
mov al, byte [ebp + 0x7b]
add esp, 0x2c
test al, 2
je 0x47e1c2
lea ecx, [ebp + 0x50]
call fcn.0043db4f
mov esi, 0x80070057
jmp 0x47e6a5
or al, byte [ebp + 0x5f]
or al, byte [ebp + 0x47]
test al, 1
setne al
inc al
cmp al, 1
mov byte [ebp + 0x46], al
jne 0x47e1e9
cmp dword [ebp + 0x10], ebx
jne 0x47e3b5
cmp dword [ebp + 0x14], ebx
je 0x47e1b0
jmp 0x47e3b5
fld qword [ebp - 0x10]
fld qword [0x4c0930]
fucompp
fnstsw ax
test ah, 0x44
jp 0x47e3b5
jmp 0x47e1b0
mov ecx, dword [ebp + 0x58]
test byte [ecx + 0x88], 0xef
jne 0x47e3c1
cmp dword [ebp + 0x2c], ebx
mov edi, esi
mov dword [ebp + 0x78], ebx
je 0x47e2df
cmp byte [ebp + 0x46], 1
jne 0x47e25f
mov eax, dword [ebp + 0x24]
cmp eax, dword [ebp + 8]
jg 0x47e3c1
mov edi, dword [ebp + 0x20]
jl 0x47e23f
cmp edi, dword [ebp + 4]
ja 0x47e3c1
push dword [ebp + 0x54]
push edi
push dword [ebp + 0x58]
call fcn.004465af
mov eax, dword [ebp + 0x14]
add esp, 0xc
add edi, dword [ebp + 0x10]
adc dword [ebp + 0x24], eax
mov dword [ebp + 0x20], edi
jmp 0x47e35b
fld qword [ebp - 8]
fcomp qword [ebp - 0x28]
fnstsw ax
test ah, 0x41
je 0x47e3c1
fld qword [ebp - 8]
push 0x4c5174
push ecx
push ecx
lea eax, [ebp - 0x110]
fstp qword [esp]
push eax
call fcn.00497f16
add esp, 0x10
push 0x2e
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edi, eax
cmp edi, ebx
je 0x47e2c2
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [edi + eax*2 - 2]
jmp 0x47e2b3
mov word [eax], bx
dec eax
dec eax
cmp word [eax], 0x30
je 0x47e2ae
cmp word [eax], 0x2e
jne 0x47e2c2
mov word [eax], bx
mov ecx, dword [ebp + 0x58]
lea eax, [ebp - 0x110]
push eax
push dword [ebp + 0x54]
call fcn.00443666
fld qword [ebp - 8]
fadd qword [ebp - 0x10]
fstp qword [ebp - 8]
jmp 0x47e35b
cmp dword [ebp + 0x18], ebx
je 0x47e31e
cmp ax, 0x22
jne 0x47e31e
mov ecx, dword [ebp - 0x18]
lea edi, [esi + ecx*2]
jmp 0x47e305
cmp ax, 0x22
jne 0x47e305
mov ax, word [esi + 2]
call fcn.0043db07
test al, al
jne 0x47e314
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
mov dword [ebp + 0x70], esi
jne 0x47e2f2
jmp 0x47e32b
inc esi
inc esi
mov dword [ebp + 0x78], ecx
mov dword [ebp + 0x70], esi
jmp 0x47e32b
lea eax, [ebp + 0x70]
push eax
call fcn.00405615
mov esi, dword [ebp + 0x70]
pop ecx
mov eax, dword [ebp + 0x78]
add eax, eax
sub esi, eax
sub esi, edi
sar esi, 1
push esi
push edi
lea ecx, [ebp + 0x50]
call fcn.0044407f
lea eax, [ebp + 0x70]
push eax
call fcn.0043dae7
pop ecx
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x58]
push dword [ebp + 0x54]
call fcn.00443666
mov esi, dword [ebp + 0x70]
inc dword [ebp + 0x3c]
cmp dword [ebp + 0x30], ebx
je 0x47e383
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x58]
add eax, 2
push 0x4bca0c
mov dword [ebp + 0xc], eax
push ebx
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 0x74]
call fcn.004760ff
jmp 0x47e39b
mov eax, dword [ebp + 0x34]
cmp word [eax], bx
je 0x47e39b
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x58]
push ebx
push dword [ebp + 0x74]
push eax
call fcn.00433455
mov ecx, dword [ebp + 0x58]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x47e3b5
and ax, 0xfeff
mov word [ecx + 0x88], ax
mov ax, word [esi]
cmp ax, bx
jne 0x47e201
lea ecx, [ebp + 0x50]
call fcn.0043db4f
jmp 0x47e670
push dword [ebp + 0x40]
call fcn.00412ae5
pop ecx
push eax
lea ecx, [ebp + 0x40]
call fcn.0044cddc
mov esi, dword [ebp + 0x40]
cmp word [esi], bx
je 0x47e670
cmp dword [ebp + 0x50], ebx
mov dword [ebp + 0x38], ebx
mov byte [ebp + 0x73], bl
je 0x47e484
cmp dword [ebp - 0x24], ebx
je 0x47e436
lea eax, [ebp - 0x318]
push eax
push 0x104
mov word [ebp - 0x318], bx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov eax, dword [ebp - 0x318]
cmp ax, 0x61
mov dword [ebp + 0x38], eax
jb 0x47e436
cmp ax, 0x7a
ja 0x47e436
and eax, 0xffdf
mov dword [ebp + 0x38], eax
mov esi, dword [ebp + 0x48]
mov eax, dword [ebp - 0x1c]
mov word [esi + 2], bx
mov word [esi], bx
push esi
mov word [eax + 2], bx
push 0x324
mov word [eax], bx
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov al, byte [ebp + 0x50]
and al, 2
mov edi, esi
mov byte [ebp + 0x7b], al
jmp 0x47e46f
push esi
mov edi, esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [esi + eax*2 + 2]
cmp word [esi], bx
jne 0x47e462
cmp byte [ebp + 0x7b], bl
jne 0x47e47c
mov edi, dword [ebp + 0x48]
mov dword [ebp + 0x78], edi
jmp 0x47e59b
mov edi, dword [ebp + 0x78]
mov dword [ebp + 0x28], esi
mov dword [ebp + 0x40], ebx
cmp dword [ebp + 0x30], ebx
jne 0x47e4a6
mov eax, dword [ebp + 0x34]
cmp word [eax], bx
jne 0x47e4a6
cmp dword [ebp - 0x14], ebx
je 0x47e670
mov edi, dword [ebp + 0x78]
cmp dword [ebp + 8], ebx
je 0x47e4cb
xor eax, eax
mov ax, word [esi]
cmp ax, bx
je 0x47e4cb
cmp word [esi + 2], 0x3a
jne 0x47e4cb
push eax
call fcn.004a9633
test eax, eax
pop ecx
je 0x47e592
lea ecx, [ebp + 0x60]
call fcn.00443f5b
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x60]
push eax
push esi
mov dword [ebp + 0x2c], ebx
call fcn.004962db
add esp, 0xc
cmp dword [ebp + 0x24], ebx
je 0x47e4fb
mov eax, dword [ebp + 0x2c]
sub eax, dword [ebp + 0x60]
sar eax, 1
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
cmp dword [ebp], ebx
je 0x47e53c
push 4
call fcn.004aa268
cmp eax, ebx
pop ecx
je 0x47e519
lea ecx, [ebp + 0x60]
push ecx
mov ecx, eax
call fcn.0044cdc5
jmp 0x47e51b
xor eax, eax
push eax
lea ecx, [ebp - 0x54]
call fcn.0040f3aa
cmp dword [ebp + 0x50], ebx
je 0x47e53c
cmp word [edi], bx
je 0x47e53c
lea ecx, [ebp + 0x60]
mov byte [ebp + 0x73], 1
call fcn.0043db4f
jmp 0x47e59b
push dword [ebp + 0x7c]
mov esi, dword [ebp + 0x58]
push dword [ebp - 4]
lea eax, [ebp - 0x8c]
push eax
push dword [ebp + 0x34]
mov eax, dword [ebp + 0x30]
or eax, dword [ebp + 0x4c]
mov ecx, esi
or eax, dword [ebp - 0xc]
push eax
push dword [ebp + 0x1c]
lea eax, [ebp - 0x48]
push dword [ebp + 0x74]
push dword [ebp + 0x60]
push eax
call fcn.0047d127
add dword [ebp + 0x3c], eax
mov ax, word [esi + 0x88]
test ah, 1
mov byte [ebp + 0x73], bl
je 0x47e58a
and ax, 0xfeff
mov word [esi + 0x88], ax
lea ecx, [ebp + 0x60]
call fcn.0043db4f
cmp dword [ebp + 0x50], ebx
je 0x47e624
cmp word [edi], bx
je 0x47e624
lea eax, [ebp - 0x8c]
cmp dword [eax], ebx
je 0x47e624
mov eax, dword [ebp + 0x58]
test byte [eax + 0x88], 0xef
jne 0x47e624
push 0xffffffffffffffff
push edi
lea ecx, [ebp + 0x28]
call fcn.0044407f
push dword [ebp + 0x40]
lea ecx, [ebp + 0x28]
call fcn.00443fc7
cmp dword [ebp - 0x24], ebx
jne 0x47e612
test byte [ebp + 0x50], 2
je 0x47e5f3
dec edi
dec edi
jmp 0x47e5e9
lea eax, [edi - 2]
cmp word [eax], bx
je 0x47e601
mov edi, eax
cmp edi, dword [ebp + 0x48]
mov dword [ebp + 0x78], edi
ja 0x47e5df
jmp 0x47e601
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edi, [edi + eax*2 + 2]
mov dword [ebp + 0x78], edi
mov esi, dword [ebp + 0x28]
mov ax, word [ebp + 0x38]
cmp ax, word [esi]
je 0x47e59b
jmp 0x47e48d
mov esi, dword [ebp + 0x28]
mov ax, word [ebp + 0x38]
mov word [esi], ax
mov dword [ebp - 0x24], ebx
jmp 0x47e48d
cmp byte [ebp + 0x73], bl
je 0x47e670
push 4
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x54]
push eax
push ebx
call fcn.0044418c
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 + 0x34]
mov ecx, dword [ebp + 0x30]
or ecx, dword [ebp + 0x4c]
or ecx, dword [ebp - 0xc]
push ecx
push dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x58]
push dword [ebp + 0x74]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0047d127
add dword [ebp + 0x3c], eax
mov ecx, dword [ebp + 0x58]
and word [ecx + 0x88], 0x8b
cmp byte [ebp + 0x67], bl
je 0x47e68e
push dword [ebp - 0x48]
push dword [ebp + 0x54]
call fcn.00443666
jmp 0x47e6a2
cmp dword [ebp - 0x14], ebx
je 0x47e6a2
push dword [ebp + 0x54]
push dword [ebp + 0x3c]
push ecx
call fcn.004465af
add esp, 0xc
mov esi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x20]
call fcn.0043db4f
lea ecx, [ebp + 0x28]
call fcn.0043db4f
lea ecx, [ebp - 0x1c]
call fcn.0043db4f
lea ecx, [ebp - 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x34]
call fcn.0043db4f
lea ecx, [ebp + 0x40]
call fcn.0043db4f
lea ecx, [ebp + 0x54]
call fcn.0043db4f
lea ecx, [ebp - 0x2c]
call fcn.0043db4f
lea ecx, [ebp - 0x54]
call fcn.00455eba
lea ecx, [ebp - 0x54]
call fcn.0043db4f
lea ecx, [ebp - 0x38]
call fcn.0043db4f
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10