Function at 0x480dd9
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.0044732d
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 0x480e2d
cmp cx, 0x2a
je 0x480e35
mov eax, ecx
call fcn.0043e785
test al, al
jne 0x480e35
cmp cx, 0x3b
je 0x480e23
cmp cx, 0x3a
jne 0x480e28
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 0x480e06
lea ecx, [ebp - 0x8c]
call fcn.004451da
lea eax, [ebp + 0x70]
push eax
call fcn.0043e7bd
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 0x480ec6
cmp ax, 0x2f
je 0x480ec6
cmp ax, 0x2d
jne 0x48123b
cmp ax, 0x2d
jne 0x480ef0
cmp word [esi + 2], ax
jne 0x480ef0
xor ecx, ecx
mov cx, word [esi + 4]
mov eax, ecx
call fcn.0043e785
test al, al
jne 0x481228
cmp cx, di
je 0x481228
push 2
lea eax, [ebp + 0x70]
push eax
push 0x4ccf90
call fcn.00446fef
add esp, 0xc
test al, al
je 0x480f15
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffe
or eax, 6
jmp 0x481004
mov esi, dword [ebp + 0x70]
push 3
add esi, 2
push esi
push 0x4ccf8c
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x480f3c
add dword [ebp + 0x70], 8
mov dword [ebp + 0x60], 6
jmp 0x480f54
push 7
push esi
push str.delims:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x480f75
add dword [ebp + 0x70], 0x10
push dword [ebp + 0x5c]
or dword [ebp + 0x60], 0xa
lea eax, [ebp + 0x70]
push eax
call fcn.00472559
mov eax, dword [ebp + 0x70]
mov ax, word [eax]
pop ecx
pop ecx
mov word [ebp + 0x34], ax
jmp 0x481204
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push eax
push 0x4c6330
call fcn.00446fac
add esp, 0xc
test al, al
jne 0x48121b
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push eax
push 0x4c2fe4
call fcn.00446fac
add esp, 0xc
test al, al
jne 0x48121b
push ebx
lea eax, [ebp + 0x70]
push eax
push 0x4cb2b8
call fcn.00446fef
add esp, 0xc
test al, al
jne 0x481212
push 2
pop esi
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4cc660
call fcn.00446fac
add esp, 0xc
test al, al
jne 0x481212
push ebx
lea eax, [ebp + 0x70]
push eax
push 0x4ccf80
call fcn.00446fef
add esp, 0xc
test al, al
je 0x48100c
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffd
or eax, 0x11
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x60], eax
jmp 0x480eaa
push 3
lea eax, [ebp + 0x70]
push eax
push 0x4ccf7c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x48102b
mov dword [ebp], ebx
jmp 0x480eaa
push 3
lea eax, [ebp + 0x70]
push eax
push 0x4c640c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x48104a
mov dword [ebp + 0x10], ebx
jmp 0x480eaa
push 3
lea eax, [ebp + 0x70]
push eax
push 0x4ccf78
call fcn.00446fac
add esp, 0xc
test al, al
je 0x481069
mov dword [ebp + 0x14], ebx
jmp 0x480eaa
push 4
lea eax, [ebp + 0x70]
push eax
push str.qu
call fcn.00446fac
add esp, 0xc
test al, al
je 0x481088
mov dword [ebp + 0x14], esi
jmp 0x480eaa
push 4
lea eax, [ebp + 0x70]
push eax
push str.off
call fcn.00446fac
add esp, 0xc
test al, al
je 0x4810a7
mov dword [ebp + 0x2c], ebx
jmp 0x480eaa
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4ccf64
call fcn.00446fac
add esp, 0xc
test al, al
je 0x4810c6
or dword [ebp + 0x4c], 0x10
jmp 0x480eaa
push 3
push dword [ebp + 0x70]
push 0x4ccf60
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x4810f8
or dword [ebp + 0x4c], 0x10
add dword [ebp + 0x70], 6
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.00451e7f
pop ecx
pop ecx
jmp 0x480eaa
push 4
lea eax, [ebp + 0x70]
push eax
push str._O:N
call fcn.00446fac
add esp, 0xc
test al, al
je 0x48111b
mov dword [ebp + 0x48], 0x20
jmp 0x480eaa
push 5
lea eax, [ebp + 0x70]
push eax
push str._O:_N
call fcn.00446fac
add esp, 0xc
test al, al
je 0x48113e
mov dword [ebp + 0x48], 0x60
jmp 0x480eaa
push 4
lea eax, [ebp + 0x70]
push eax
push str.cur
call fcn.00446fac
add esp, 0xc
test al, al
je 0x48115d
mov dword [ebp - 0x14], ebx
jmp 0x480eaa
mov esi, dword [ebp + 0x70]
push 7
push esi
push str._size:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x481185
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 0x481199
push 6
push esi
push 0x4ccf38
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x4811fe
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x54]
add esi, 0xc
push eax
mov dword [ebp + 0x54], esi
call fcn.0044a8a7
mov eax, dword [ebp + 0x54]
movzx eax, word [eax]
cmp ax, di
pop ecx
pop ecx
je 0x481204
call fcn.0043e785
test al, al
jne 0x4811d5
add dword [ebp + 0x54], 2
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0044a8a7
pop ecx
pop ecx
mov eax, dword [ebp + 0x54]
movzx eax, word [eax]
cmp ax, di
je 0x481204
call fcn.0043e785
test al, al
jne 0x481204
add dword [ebp + 0x54], 2
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0044a8a7
pop ecx
pop ecx
jmp 0x481204
cmp word [esi], 0x2a
jne 0x48123b
lea eax, [ebp + 0x70]
push eax
call fcn.00409344
jmp 0x4810f2
or dword [ebp + 0x60], 5
jmp 0x480eaa
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffd
or eax, ebx
jmp 0x481004
lea eax, [ebp + 0x70]
add esi, 4
push eax
mov dword [ebp + 0x70], esi
call fcn.0043e7bd
mov esi, dword [ebp + 0x70]
pop ecx
test byte [ebp + 0x4c], 0x10
jne 0x481244
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.00444f6c
mov ebx, 0x4c1a3c
push ebx
lea ecx, [ebp + 0x54]
call fcn.0044e827
push ebx
lea ecx, [ebp + 0x40]
call fcn.0044e827
push ebx
lea ecx, [ebp + 0x38]
call fcn.0044e827
cmp dword [ebp + 0x14], edi
mov ebx, esi
je 0x481338
cmp dword [ebp + 0x60], 1
jne 0x481338
lea ecx, [ebp + 0x48]
call fcn.00444f6c
mov ax, word [esi]
cmp ax, 0x22
jne 0x4812c0
inc esi
inc esi
push 0x22
lea eax, [ebp + 0x70]
mov dword [ebp + 0x70], esi
call fcn.00405bbb
mov eax, dword [ebp + 0x70]
cmp word [eax], di
pop ecx
je 0x4812e6
add dword [ebp + 0x70], 2
jmp 0x4812e6
cmp ax, di
je 0x4812e6
movsx ecx, byte [ebp + 0x67]
movzx edx, ax
cmp ecx, edx
je 0x4812e6
call fcn.0043e785
test al, al
jne 0x4812e6
inc esi
inc esi
mov ax, word [esi]
cmp ax, di
mov dword [ebp + 0x70], esi
jne 0x4812c9
lea eax, [ebp + 0x70]
push eax
call fcn.0043e7bd
mov esi, dword [ebp + 0x70]
mov ax, word [esi]
cmp ax, di
pop ecx
je 0x481306
movsx ecx, byte [ebp + 0x67]
movzx eax, ax
cmp ecx, eax
jne 0x481299
mov eax, esi
sub eax, ebx
sar eax, 1
push eax
push ebx
lea ecx, [ebp + 0x48]
call fcn.00445090
mov ecx, dword [ebp + 0x5c]
push 1
push edi
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0x48]
call fcn.004567e7
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp + 0x48]
mov dword [ebp - 0x34], eax
call fcn.0043e825
jmp 0x48134f
movsx ax, byte [ebp + 0x67]
push 1
lea ecx, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.00458b67
mov esi, dword [ebp + 0x70]
push edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00447e0d
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 0x4813ce
xor ecx, ecx
mov cx, word [eax]
jmp 0x4813c3
mov eax, ecx
call fcn.0043e785
test al, al
jne 0x4813ce
cmp cx, 0x40
jne 0x481391
mov dword [ebp - 0xc], 1
jmp 0x4813bb
cmp cx, 0x24
jne 0x4813a0
mov dword [ebp - 0xc], 3
jmp 0x4813bb
cmp cx, bx
jne 0x4813b1
cmp word [edx + 2], bx
je 0x4813ca
or dword [ebp + 0x50], 1
jmp 0x4813bb
cmp cx, 0x21
jne 0x4813ce
or dword [ebp + 0x50], 2
inc edx
inc edx
mov cx, word [edx]
mov dword [ebp + 0x70], edx
cmp cx, di
jne 0x481377
jmp 0x4813ce
mov byte [ebp + 0x66], 1
lea eax, [ebp + 0x70]
push eax
call fcn.0043e7bd
mov eax, dword [ebp + 0x60]
and eax, 1
pop ecx
mov dword [ebp + 0x24], eax
jne 0x4813ee
push dword [ebp + 0x70]
call fcn.004132c6
pop ecx
jmp 0x4813f1
mov eax, dword [ebp + 0x70]
cmp dword [ebp + 0x50], edi
jne 0x48141c
cmp dword [ebp + 0x60], edi
jne 0x481421
cmp byte [ebp + 0x66], 0
jne 0x481421
cmp word [eax], bx
jne 0x48140c
cmp word [eax + 2], bx
je 0x481421
lea ecx, [ebp + 0x40]
push ecx
push eax
call fcn.00413660
pop ecx
pop ecx
jmp 0x48142a
inc eax
inc eax
cmp word [eax], bx
je 0x48141a
push eax
lea ecx, [ebp + 0x40]
call fcn.0044e88f
movsx ebx, byte [ebp + 0x67]
movzx eax, word [esi]
cmp ebx, eax
jne 0x48145f
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.00458b67
push edi
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.00447e0d
mov esi, dword [ebp + 0x70]
add esp, 0xc
cmp dword [ebp + 0x60], edi
jne 0x481495
movzx eax, word [esi]
cmp ebx, eax
jne 0x481495
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.00458b67
push eax
call fcn.004480a1
mov esi, dword [ebp + 0x70]
add esp, 0xc
cmp dword [ebp - 0x80], edi
jg 0x4814a1
mov dword [ebp - 0x80], 0xfffffff8
movzx eax, word [esi]
cmp eax, ebx
je 0x4814b0
xor esi, esi
inc esi
jmp 0x481d49
inc esi
lea eax, [ebp + 0x70]
inc esi
push eax
mov dword [ebp + 0x70], esi
call fcn.0043e7bd
pop ecx
push 0xffffffffffffffff
push dword [ebp + 0x70]
lea ecx, [ebp + 0x38]
call fcn.00445090
mov esi, dword [ebp + 0x38]
cmp word [esi], 0x2a
jne 0x4814df
cmp word [esi + 2], di
mov byte [ebp + 0x66], 1
je 0x4814e3
mov byte [ebp + 0x66], 0
lea ecx, [ebp - 0x48]
call fcn.00444f6c
cmp byte [ebp + 0x66], 0
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
jne 0x481504
push 0xffffffffffffffff
push dword [ebp + 0x54]
lea ecx, [ebp - 0x48]
call fcn.00445090
mov eax, dword [ebp + 0x78]
cmp eax, edi
mov dword [ebp + 4], edi
je 0x481512
mov ebx, dword [eax]
jmp 0x481514
xor ebx, ebx
cmp word [esi], di
mov dword [ebp + 0x48], ebx
jne 0x481537
cmp ebx, edi
je 0x481537
mov ecx, dword [ebp + 0x5c]
mov cx, word [ecx + 0x5a]
cmp cx, word [ebx]
jne 0x481537
mov ecx, dword [ebp + 0x5c]
push edi
push edi
push eax
call fcn.004441d8
push 0x32a
lea ecx, [ebp - 0x24]
call fcn.00444f8a
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 0x481584
cmp ebx, edi
je 0x481584
mov ecx, dword [ebp + 0x5c]
mov cx, word [ecx + 0x5a]
cmp cx, word [ebx]
mov dword [ebp + 0x30], 0x100
je 0x481587
mov dword [ebp + 0x30], edi
mov ecx, dword [ebp + 0x54]
cmp word [ecx], di
je 0x4815a0
cmp ax, di
jne 0x4815a0
cmp dword [ebp + 0x30], edi
mov dword [ebp - 0x28], 1
je 0x4815a3
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 0x481607
mov ebx, 0x4ddd50
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.00410e94
cmp eax, edi
jne 0x4815e9
push ebx
mov dword [ebp - 0x30], 2
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x481cf3
mov ecx, dword [eax + 0x10]
shr ecx, 1
push ecx
push dword [eax + 4]
lea ecx, [ebp - 0x20]
call fcn.00445090
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 0x4816ee
mov dword [ebp + 0x2c], edi
jmp 0x4816d8
mov eax, dword [ebp + 0x5c]
test byte [eax + 0x88], 0xef
jne 0x4816e1
cmp word [ebp + 0x34], di
mov dword [ebp + 0x78], esi
lea eax, [ebp + 0x70]
je 0x481640
push dword [ebp + 0x34]
call fcn.00405bbb
pop ecx
jmp 0x481645
call fcn.00405b9a
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.00444692
cmp word [ebp + 0x34], di
jne 0x481674
cmp bx, 0xd
jne 0x481674
cmp word [esi + 2], 0xa
jne 0x481679
add esi, 4
jmp 0x48167b
cmp bx, di
je 0x48167e
inc esi
inc esi
mov dword [ebp + 0x70], esi
inc dword [ebp + 0x3c]
cmp dword [ebp + 0x30], edi
je 0x4816a6
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x5c]
add eax, 2
push 0x4c1a3c
mov dword [ebp + 4], eax
push edi
lea eax, [ebp + 4]
push eax
push dword [ebp + 0x74]
call fcn.004794ed
jmp 0x4816be
mov eax, dword [ebp + 0x38]
cmp word [eax], di
je 0x4816be
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
push edi
push dword [ebp + 0x74]
push eax
call fcn.00434146
mov ecx, dword [ebp + 0x5c]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x4816d8
and ax, 0xfeff
mov word [ecx + 0x88], ax
cmp word [esi], di
jne 0x481619
lea ecx, [ebp + 0x2c]
call fcn.0043e825
jmp 0x481cf3
cmp dword [ebp + 0x24], edi
je 0x481a4b
cmp dword [ebp - 0x2c], edi
je 0x481709
lea eax, [ebp + 0x70]
push eax
call fcn.0043e7bd
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 0x481a30
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.004458b3
fstp qword [ebp - 8]
lea eax, [ebp + 0x4c]
push eax
call fcn.0043e7bd
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.004458b3
fstp qword [ebp - 0x10]
lea eax, [ebp + 0x4c]
push eax
call fcn.0043e7bd
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.004458b3
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 0x4817d9
lea ecx, [ebp + 0x50]
call fcn.0043e825
mov esi, 0x80070057
jmp 0x481d29
fld qword [ebp - 0x10]
test al, 1
fcomp qword [0x4c59f0]
setne cl
inc cl
mov byte [ebp + 0x5b], cl
fnstsw ax
test ah, 5
jp 0x4817f7
mov byte [ebp + 0x67], 0xff
cmp dword [ebp + 0x2c], edi
jg 0x481807
jl 0x481803
cmp dword [ebp + 0x28], edi
jae 0x481807
mov byte [ebp + 0x7b], 0xff
cmp cl, 1
jne 0x48181f
cmp dword [ebp + 0x28], edi
jne 0x481a30
cmp dword [ebp + 0x2c], edi
je 0x4817c7
jmp 0x481a30
fld qword [ebp - 0x10]
fld qword [0x4c59f0]
fucompp
fnstsw ax
test ah, 0x44
jp 0x481a30
jmp 0x4817c7
mov ecx, dword [ebp + 0x5c]
test byte [ecx + 0x88], 0xef
jne 0x481a3c
xor ebx, ebx
cmp dword [ebp + 0x1c], ebx
mov edi, esi
je 0x48195b
cmp byte [ebp + 0x5b], 1
jne 0x4818bc
cmp byte [ebp + 0x7b], bl
jle 0x48187d
mov eax, dword [ebp + 0x24]
cmp eax, dword [ebp + 0x10]
jg 0x481a3c
jl 0x481879
mov eax, dword [ebp + 0x20]
cmp eax, dword [ebp + 0xc]
ja 0x481a3c
cmp byte [ebp + 0x7b], 0
jge 0x481899
mov eax, dword [ebp + 0x10]
cmp dword [ebp + 0x24], eax
jl 0x481a3c
jg 0x481899
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x20], eax
jb 0x481a3c
push dword [ebp + 0x54]
mov edi, dword [ebp + 0x20]
push edi
push dword [ebp + 0x5c]
call fcn.00447664
mov eax, dword [ebp + 0x2c]
add esp, 0xc
add edi, dword [ebp + 0x28]
adc dword [ebp + 0x24], eax
mov dword [ebp + 0x20], edi
jmp 0x4819d4
cmp byte [ebp + 0x67], 0
jle 0x4818d7
fld qword [ebp - 8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 0x41
je 0x481a3c
cmp byte [ebp + 0x67], 0
jge 0x4818ea
fld qword [ebp - 8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 5
jnp 0x481a3c
fld qword [ebp - 8]
push 0x4ca460
push ecx
push ecx
lea eax, [ebp - 0x110]
fstp qword [esp]
push eax
call fcn.0049c215
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 0x48193e
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [edi + eax*2 - 2]
jmp 0x48192e
and word [eax], 0
dec eax
dec eax
cmp word [eax], 0x30
je 0x481928
cmp word [eax], 0x2e
jne 0x48193e
and word [eax], 0
mov ecx, dword [ebp + 0x5c]
lea eax, [ebp - 0x110]
push eax
push dword [ebp + 0x54]
call fcn.00444692
fld qword [ebp - 8]
fadd qword [ebp - 0x10]
fstp qword [ebp - 8]
jmp 0x4819d4
cmp dword [ebp + 0x14], ebx
je 0x481999
cmp ax, 0x22
jne 0x481999
mov ecx, dword [ebp - 0x2c]
lea edi, [esi + ecx*2]
jmp 0x481981
cmp ax, 0x22
jne 0x481981
mov ax, word [esi + 2]
call fcn.0043e7dd
test al, al
jne 0x481990
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
mov dword [ebp + 0x70], esi
jne 0x48196e
jmp 0x4819a6
inc esi
inc esi
mov ebx, ecx
mov dword [ebp + 0x70], esi
jmp 0x4819a6
lea eax, [ebp + 0x70]
push eax
call fcn.00405b76
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.00445090
lea eax, [ebp + 0x70]
push eax
call fcn.0043e7bd
pop ecx
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x5c]
push dword [ebp + 0x54]
call fcn.00444692
mov esi, dword [ebp + 0x70]
inc dword [ebp + 0x3c]
xor edi, edi
cmp dword [ebp + 0x30], edi
je 0x4819fe
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x5c]
add eax, 2
push 0x4c1a3c
mov dword [ebp + 4], eax
push edi
lea eax, [ebp + 4]
push eax
push dword [ebp + 0x74]
call fcn.004794ed
jmp 0x481a16
mov eax, dword [ebp + 0x38]
cmp word [eax], di
je 0x481a16
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
push edi
push dword [ebp + 0x74]
push eax
call fcn.00434146
mov ecx, dword [ebp + 0x5c]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x481a30
and ax, 0xfeff
mov word [ecx + 0x88], ax
mov ax, word [esi]
cmp ax, di
jne 0x481837
lea ecx, [ebp + 0x50]
call fcn.0043e825
xor edi, edi
jmp 0x481cf3
push dword [ebp + 0x40]
call fcn.004132c6
pop ecx
push eax
lea ecx, [ebp + 0x40]
call fcn.0044e88f
mov esi, dword [ebp + 0x40]
cmp word [esi], di
je 0x481cf3
cmp dword [ebp + 0x50], edi
mov dword [ebp + 0x34], edi
mov byte [ebp + 0x73], 0
je 0x481b09
cmp dword [ebp - 0x14], edi
je 0x481ab4
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 0x481ab4
cmp ax, 0x7a
ja 0x481ab4
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 0x481af7
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 0x481ae4
test bl, bl
mov eax, dword [ebp + 0x78]
jne 0x481b01
mov eax, dword [ebp + 8]
mov dword [ebp + 0x78], eax
jmp 0x481c1e
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x40], edi
cmp dword [ebp + 0x30], edi
jne 0x481b25
mov eax, dword [ebp + 0x38]
cmp word [eax], di
jne 0x481b25
cmp dword [ebp - 0x28], edi
je 0x481cf3
cmp dword [ebp + 0x10], edi
je 0x481b4a
xor eax, eax
mov ax, word [esi]
cmp ax, di
je 0x481b4a
cmp word [esi + 2], 0x3a
jne 0x481b4a
push eax
call fcn.004ade30
test eax, eax
pop ecx
je 0x481c15
lea ecx, [ebp + 0x60]
call fcn.00444f6c
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
push esi
mov dword [ebp + 0x1c], edi
call fcn.00499d7e
add esp, 0xc
cmp dword [ebp + 0x2c], edi
je 0x481b7a
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 0x481bc1
push 4
call fcn.004aea68
cmp eax, edi
pop ecx
je 0x481b98
lea ecx, [ebp + 0x60]
push ecx
mov ecx, eax
call fcn.0044e878
jmp 0x481b9a
xor eax, eax
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040fa5f
cmp dword [ebp + 0x50], edi
je 0x481bc1
mov eax, dword [ebp + 0x78]
cmp word [eax], di
je 0x481bc1
lea ecx, [ebp + 0x60]
mov byte [ebp + 0x73], 1
call fcn.0043e825
jmp 0x481c1e
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.004806a7
add dword [ebp + 0x3c], eax
mov ax, word [esi + 0x88]
test ah, 1
mov byte [ebp + 0x73], 0
je 0x481c0d
and ax, 0xfeff
mov word [esi + 0x88], ax
lea ecx, [ebp + 0x60]
call fcn.0043e825
cmp dword [ebp + 0x50], edi
je 0x481ca3
mov ebx, dword [ebp + 0x78]
cmp word [ebx], di
je 0x481ca3
lea eax, [ebp - 0x80]
cmp dword [eax], edi
je 0x481ca3
mov eax, dword [ebp + 0x5c]
test byte [eax + 0x88], 0xef
jne 0x481ca3
push 0xffffffffffffffff
push ebx
lea ecx, [ebp + 0x18]
call fcn.00445090
push dword [ebp + 0x40]
lea ecx, [ebp + 0x18]
call fcn.00444fd8
cmp dword [ebp - 0x14], edi
jne 0x481c91
test byte [ebp + 0x50], 2
je 0x481c72
dec ebx
dec ebx
jmp 0x481c68
lea eax, [ebx - 2]
cmp word [eax], di
je 0x481c80
mov ebx, eax
cmp ebx, dword [ebp + 8]
mov dword [ebp + 0x78], ebx
ja 0x481c5e
jmp 0x481c80
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 0x481c21
jmp 0x481b0f
mov esi, dword [ebp + 0x18]
mov ax, word [ebp + 0x34]
mov word [esi], ax
mov dword [ebp - 0x14], edi
jmp 0x481b0f
cmp byte [ebp + 0x73], 0
je 0x481cf3
push 4
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x8c]
push eax
push edi
call fcn.0044519d
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.004806a7
add dword [ebp + 0x3c], eax
mov ecx, dword [ebp + 0x5c]
and word [ecx + 0x88], 0x8b
cmp byte [ebp + 0x66], 0
je 0x481d12
push dword [ebp - 0x48]
push dword [ebp + 0x54]
call fcn.00444692
jmp 0x481d26
cmp dword [ebp - 0x28], edi
je 0x481d26
push dword [ebp + 0x54]
push dword [ebp + 0x3c]
push ecx
call fcn.00447664
add esp, 0xc
mov esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x20]
call fcn.0043e825
lea ecx, [ebp + 0x18]
call fcn.0043e825
lea ecx, [ebp - 0x24]
call fcn.0043e825
lea ecx, [ebp - 0x48]
call fcn.0043e825
lea ecx, [ebp + 0x38]
call fcn.0043e825
lea ecx, [ebp + 0x40]
call fcn.0043e825
lea ecx, [ebp + 0x54]
call fcn.0043e825
lea ecx, [ebp - 0x1c]
call fcn.0043e825
lea ecx, [ebp - 0x8c]
call fcn.004a636c
lea ecx, [ebp - 0x8c]
call fcn.0043e825
lea ecx, [ebp - 0x3c]
call fcn.0043e825
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10