Function at 0x480c4b
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.00447166
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 0x480c9f
cmp cx, 0x2a
je 0x480ca7
mov eax, ecx
call fcn.0040f8eb
test al, al
jne 0x480ca7
cmp cx, 0x3b
je 0x480c95
cmp cx, 0x3a
jne 0x480c9a
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 0x480c78
lea ecx, [ebp - 0x8c]
call fcn.004450a0
lea eax, [ebp + 0x70]
push eax
call fcn.0043e611
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 0x480d38
cmp ax, 0x2f
je 0x480d38
cmp ax, 0x2d
jne 0x4810af
cmp ax, 0x2d
jne 0x480d62
cmp word [esi + 2], ax
jne 0x480d62
xor ecx, ecx
mov cx, word [esi + 4]
mov eax, ecx
call fcn.0040f8eb
test al, al
jne 0x48109c
cmp cx, di
je 0x48109c
push 2
lea eax, [ebp + 0x70]
push eax
push 0x4cbf78
call fcn.00446e28
add esp, 0xc
test al, al
je 0x480d87
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffe
or eax, 6
jmp 0x480e74
mov esi, dword [ebp + 0x70]
push 3
add esi, 2
push esi
push 0x4cbf74
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x480dae
add dword [ebp + 0x70], 8
mov dword [ebp + 0x60], 6
jmp 0x480dc6
push 7
push esi
push str.delims:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x480de7
add dword [ebp + 0x70], 0x10
push dword [ebp + 0x5c]
or dword [ebp + 0x60], 0xa
lea eax, [ebp + 0x70]
push eax
call fcn.004723eb
mov eax, dword [ebp + 0x70]
mov ax, word [eax]
pop ecx
pop ecx
mov word [ebp + 0x34], ax
jmp 0x481078
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push eax
push 0x4c5318
call fcn.00446de5
add esp, 0xc
test al, al
jne 0x48108f
push 0xffffffffffffffff
lea eax, [ebp + 0x70]
push eax
push 0x4c1fc4
call fcn.00446de5
add esp, 0xc
test al, al
jne 0x48108f
push ebx
lea eax, [ebp + 0x70]
push eax
push 0x4ca2a0
call fcn.00446e28
add esp, 0xc
test al, al
jne 0x481086
push 2
lea eax, [ebp + 0x70]
push eax
push 0x4cb648
call fcn.00446de5
add esp, 0xc
test al, al
jne 0x481086
push ebx
lea eax, [ebp + 0x70]
push eax
push 0x4cbf68
call fcn.00446e28
add esp, 0xc
test al, al
je 0x480e7c
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffd
or eax, 0x11
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x60], eax
jmp 0x480d1c
push 3
pop esi
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4cbf64
call fcn.00446de5
add esp, 0xc
test al, al
je 0x480e9d
mov dword [ebp], ebx
jmp 0x480d1c
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4c53f4
call fcn.00446de5
add esp, 0xc
test al, al
je 0x480ebb
mov dword [ebp + 0x10], ebx
jmp 0x480d1c
push esi
lea eax, [ebp + 0x70]
push eax
push 0x4cbf60
call fcn.00446de5
add esp, 0xc
test al, al
je 0x480ed9
mov dword [ebp + 0x14], ebx
jmp 0x480d1c
push 4
lea eax, [ebp + 0x70]
push eax
push str.qu
call fcn.00446de5
add esp, 0xc
test al, al
je 0x480efc
mov dword [ebp + 0x14], 2
jmp 0x480d1c
push 4
lea eax, [ebp + 0x70]
push eax
push str.off
call fcn.00446de5
add esp, 0xc
test al, al
je 0x480f1b
mov dword [ebp + 0x2c], ebx
jmp 0x480d1c
push 2
lea eax, [ebp + 0x70]
push eax
push 0x4cbf4c
call fcn.00446de5
add esp, 0xc
test al, al
je 0x480f3b
or dword [ebp + 0x4c], 0x10
jmp 0x480d1c
push esi
push dword [ebp + 0x70]
push 0x4cbf48
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x480f6c
or dword [ebp + 0x4c], 0x10
add dword [ebp + 0x70], 6
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.00451cdf
pop ecx
pop ecx
jmp 0x480d1c
push 4
lea eax, [ebp + 0x70]
push eax
push str._O:N
call fcn.00446de5
add esp, 0xc
test al, al
je 0x480f8f
mov dword [ebp + 0x48], 0x20
jmp 0x480d1c
push 5
lea eax, [ebp + 0x70]
push eax
push str._O:_N
call fcn.00446de5
add esp, 0xc
test al, al
je 0x480fb2
mov dword [ebp + 0x48], 0x60
jmp 0x480d1c
push 4
lea eax, [ebp + 0x70]
push eax
push str.cur
call fcn.00446de5
add esp, 0xc
test al, al
je 0x480fd1
mov dword [ebp - 0x14], ebx
jmp 0x480d1c
mov esi, dword [ebp + 0x70]
push 7
push esi
push str._size:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x480ff9
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 0x48100d
push 6
push esi
push 0x4cbf20
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x481072
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x54]
add esi, 0xc
push eax
mov dword [ebp + 0x54], esi
call fcn.0044a6bb
mov eax, dword [ebp + 0x54]
movzx eax, word [eax]
cmp ax, di
pop ecx
pop ecx
je 0x481078
call fcn.0040f8eb
test al, al
jne 0x481049
add dword [ebp + 0x54], 2
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0044a6bb
pop ecx
pop ecx
mov eax, dword [ebp + 0x54]
movzx eax, word [eax]
cmp ax, di
je 0x481078
call fcn.0040f8eb
test al, al
jne 0x481078
add dword [ebp + 0x54], 2
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0044a6bb
pop ecx
pop ecx
jmp 0x481078
cmp word [esi], 0x2a
jne 0x4810af
lea eax, [ebp + 0x70]
push eax
call fcn.00405b6e
jmp 0x480f66
or dword [ebp + 0x60], 5
jmp 0x480d1c
mov eax, dword [ebp + 0x60]
and eax, 0xfffffffd
or eax, ebx
jmp 0x480e74
lea eax, [ebp + 0x70]
add esi, 4
push eax
mov dword [ebp + 0x70], esi
call fcn.0043e611
mov esi, dword [ebp + 0x70]
pop ecx
test byte [ebp + 0x4c], 0x10
jne 0x4810b8
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.00444e32
mov ebx, 0x4c0a1c
push ebx
lea ecx, [ebp + 0x54]
call fcn.0044e66d
push ebx
lea ecx, [ebp + 0x40]
call fcn.0044e66d
push ebx
lea ecx, [ebp + 0x38]
call fcn.0044e66d
cmp dword [ebp + 0x14], edi
mov ebx, esi
je 0x4811ac
cmp dword [ebp + 0x60], 1
jne 0x4811ac
lea ecx, [ebp + 0x48]
call fcn.00444e32
mov ax, word [esi]
cmp ax, 0x22
jne 0x481134
inc esi
inc esi
push 0x22
lea eax, [ebp + 0x70]
mov dword [ebp + 0x70], esi
call fcn.00405b85
mov eax, dword [ebp + 0x70]
cmp word [eax], di
pop ecx
je 0x48115a
add dword [ebp + 0x70], 2
jmp 0x48115a
cmp ax, di
je 0x48115a
movsx ecx, byte [ebp + 0x67]
movzx edx, ax
cmp ecx, edx
je 0x48115a
call fcn.0040f8eb
test al, al
jne 0x48115a
inc esi
inc esi
mov ax, word [esi]
cmp ax, di
mov dword [ebp + 0x70], esi
jne 0x48113d
lea eax, [ebp + 0x70]
push eax
call fcn.0043e611
mov esi, dword [ebp + 0x70]
mov ax, word [esi]
cmp ax, di
pop ecx
je 0x48117a
movsx ecx, byte [ebp + 0x67]
movzx eax, ax
cmp ecx, eax
jne 0x48110d
mov eax, esi
sub eax, ebx
sar eax, 1
push eax
push ebx
lea ecx, [ebp + 0x48]
call fcn.00444f56
mov ecx, dword [ebp + 0x5c]
push 1
push edi
lea eax, [ebp - 0x3c]
push eax
push dword [ebp + 0x48]
call fcn.00456647
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp + 0x48]
mov dword [ebp - 0x34], eax
call fcn.0043e679
jmp 0x4811c3
movsx ax, byte [ebp + 0x67]
push 1
lea ecx, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x70]
push eax
call fcn.004589f9
mov esi, dword [ebp + 0x70]
push edi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00447c46
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 0x481242
xor ecx, ecx
mov cx, word [eax]
jmp 0x481237
mov eax, ecx
call fcn.0040f8eb
test al, al
jne 0x481242
cmp cx, 0x40
jne 0x481205
mov dword [ebp - 0xc], 1
jmp 0x48122f
cmp cx, 0x24
jne 0x481214
mov dword [ebp - 0xc], 3
jmp 0x48122f
cmp cx, bx
jne 0x481225
cmp word [edx + 2], bx
je 0x48123e
or dword [ebp + 0x50], 1
jmp 0x48122f
cmp cx, 0x21
jne 0x481242
or dword [ebp + 0x50], 2
inc edx
inc edx
mov cx, word [edx]
mov dword [ebp + 0x70], edx
cmp cx, di
jne 0x4811eb
jmp 0x481242
mov byte [ebp + 0x66], 1
lea eax, [ebp + 0x70]
push eax
call fcn.0043e611
mov eax, dword [ebp + 0x60]
and eax, 1
pop ecx
mov dword [ebp + 0x24], eax
jne 0x481262
push dword [ebp + 0x70]
call fcn.0041310a
pop ecx
jmp 0x481265
mov eax, dword [ebp + 0x70]
cmp dword [ebp + 0x50], edi
jne 0x481290
cmp dword [ebp + 0x60], edi
jne 0x481295
cmp byte [ebp + 0x66], 0
jne 0x481295
cmp word [eax], bx
jne 0x481280
cmp word [eax + 2], bx
je 0x481295
lea ecx, [ebp + 0x40]
push ecx
push eax
call fcn.004134a4
pop ecx
pop ecx
jmp 0x48129e
inc eax
inc eax
cmp word [eax], bx
je 0x48128e
push eax
lea ecx, [ebp + 0x40]
call fcn.0044e6d5
movsx ebx, byte [ebp + 0x67]
movzx eax, word [esi]
cmp ebx, eax
jne 0x4812d3
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.004589f9
push edi
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.00447c46
mov esi, dword [ebp + 0x70]
add esp, 0xc
cmp dword [ebp + 0x60], edi
jne 0x481309
movzx eax, word [esi]
cmp ebx, eax
jne 0x481309
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.004589f9
push eax
call fcn.00447eda
mov esi, dword [ebp + 0x70]
add esp, 0xc
cmp dword [ebp - 0x80], edi
jg 0x481315
mov dword [ebp - 0x80], 0xfffffff8
movzx eax, word [esi]
cmp eax, ebx
je 0x481324
xor esi, esi
inc esi
jmp 0x481bbd
inc esi
lea eax, [ebp + 0x70]
inc esi
push eax
mov dword [ebp + 0x70], esi
call fcn.0043e611
pop ecx
push 0xffffffffffffffff
push dword [ebp + 0x70]
lea ecx, [ebp + 0x38]
call fcn.00444f56
mov esi, dword [ebp + 0x38]
cmp word [esi], 0x2a
jne 0x481353
cmp word [esi + 2], di
mov byte [ebp + 0x66], 1
je 0x481357
mov byte [ebp + 0x66], 0
lea ecx, [ebp - 0x48]
call fcn.00444e32
cmp byte [ebp + 0x66], 0
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
jne 0x481378
push 0xffffffffffffffff
push dword [ebp + 0x54]
lea ecx, [ebp - 0x48]
call fcn.00444f56
mov eax, dword [ebp + 0x78]
cmp eax, edi
mov dword [ebp + 4], edi
je 0x481386
mov ebx, dword [eax]
jmp 0x481388
xor ebx, ebx
cmp word [esi], di
mov dword [ebp + 0x48], ebx
jne 0x4813ab
cmp ebx, edi
je 0x4813ab
mov ecx, dword [ebp + 0x5c]
mov cx, word [ecx + 0x5a]
cmp cx, word [ebx]
jne 0x4813ab
mov ecx, dword [ebp + 0x5c]
push edi
push edi
push eax
call fcn.00444064
push 0x32a
lea ecx, [ebp - 0x24]
call fcn.00444e50
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 0x4813f8
cmp ebx, edi
je 0x4813f8
mov ecx, dword [ebp + 0x5c]
mov cx, word [ecx + 0x5a]
cmp cx, word [ebx]
mov dword [ebp + 0x30], pe_nt_image_headers32
je 0x4813fb
mov dword [ebp + 0x30], edi
mov ecx, dword [ebp + 0x54]
cmp word [ecx], di
je 0x481414
cmp ax, di
jne 0x481414
cmp dword [ebp + 0x30], edi
mov dword [ebp - 0x28], 1
je 0x481417
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 0x48147b
mov ebx, 0x4dcd58
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.00410d4d
cmp eax, edi
jne 0x48145d
push ebx
mov dword [ebp - 0x30], 2
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
jmp 0x481b67
mov ecx, dword [eax + 0x10]
shr ecx, 1
push ecx
push dword [eax + 4]
lea ecx, [ebp - 0x20]
call fcn.00444f56
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 0x481562
mov dword [ebp + 0x2c], edi
jmp 0x48154c
mov eax, dword [ebp + 0x5c]
test byte [eax + 0x88], 0xef
jne 0x481555
cmp word [ebp + 0x34], di
mov dword [ebp + 0x78], esi
lea eax, [ebp + 0x70]
je 0x4814b4
push dword [ebp + 0x34]
call fcn.00405b85
pop ecx
jmp 0x4814b9
call fcn.00444a40
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.0044451e
cmp word [ebp + 0x34], di
jne 0x4814e8
cmp bx, 0xd
jne 0x4814e8
cmp word [esi + 2], 0xa
jne 0x4814ed
add esi, 4
jmp 0x4814ef
cmp bx, di
je 0x4814f2
inc esi
inc esi
mov dword [ebp + 0x70], esi
inc dword [ebp + 0x3c]
cmp dword [ebp + 0x30], edi
je 0x48151a
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x5c]
add eax, 2
push 0x4c0a1c
mov dword [ebp + 4], eax
push edi
lea eax, [ebp + 4]
push eax
push dword [ebp + 0x74]
call fcn.0047937f
jmp 0x481532
mov eax, dword [ebp + 0x38]
cmp word [eax], di
je 0x481532
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
push edi
push dword [ebp + 0x74]
push eax
call fcn.00433f41
mov ecx, dword [ebp + 0x5c]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x48154c
and ax, 0xfeff
mov word [ecx + 0x88], ax
cmp word [esi], di
jne 0x48148d
lea ecx, [ebp + 0x2c]
call fcn.0043e679
jmp 0x481b67
cmp dword [ebp + 0x24], edi
je 0x4818bf
cmp dword [ebp - 0x2c], edi
je 0x48157d
lea eax, [ebp + 0x70]
push eax
call fcn.0043e611
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 0x4818a4
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.004456ec
fstp qword [ebp - 8]
lea eax, [ebp + 0x4c]
push eax
call fcn.0043e611
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.004456ec
fstp qword [ebp - 0x10]
lea eax, [ebp + 0x4c]
push eax
call fcn.0043e611
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.004456ec
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 0x48164d
lea ecx, [ebp + 0x50]
call fcn.0043e679
mov esi, 0x80070057
jmp 0x481b9d
fld qword [ebp - 0x10]
test al, 1
fcomp qword [0x4c49d8]
setne cl
inc cl
mov byte [ebp + 0x5b], cl
fnstsw ax
test ah, 5
jp 0x48166b
mov byte [ebp + 0x67], 0xff
cmp dword [ebp + 0x2c], edi
jg 0x48167b
jl 0x481677
cmp dword [ebp + 0x28], edi
jae 0x48167b
mov byte [ebp + 0x7b], 0xff
cmp cl, 1
jne 0x481693
cmp dword [ebp + 0x28], edi
jne 0x4818a4
cmp dword [ebp + 0x2c], edi
je 0x48163b
jmp 0x4818a4
fld qword [ebp - 0x10]
fld qword [0x4c49d8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4818a4
jmp 0x48163b
mov ecx, dword [ebp + 0x5c]
test byte [ecx + 0x88], 0xef
jne 0x4818b0
xor ebx, ebx
cmp dword [ebp + 0x1c], ebx
mov edi, esi
je 0x4817cf
cmp byte [ebp + 0x5b], 1
jne 0x481730
cmp byte [ebp + 0x7b], bl
jle 0x4816f1
mov eax, dword [ebp + 0x24]
cmp eax, dword [ebp + 0x10]
jg 0x4818b0
jl 0x4816ed
mov eax, dword [ebp + 0x20]
cmp eax, dword [ebp + 0xc]
ja 0x4818b0
cmp byte [ebp + 0x7b], 0
jge 0x48170d
mov eax, dword [ebp + 0x10]
cmp dword [ebp + 0x24], eax
jl 0x4818b0
jg 0x48170d
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x20], eax
jb 0x4818b0
push dword [ebp + 0x54]
mov edi, dword [ebp + 0x20]
push edi
push dword [ebp + 0x5c]
call fcn.0044749d
mov eax, dword [ebp + 0x2c]
add esp, 0xc
add edi, dword [ebp + 0x28]
adc dword [ebp + 0x24], eax
mov dword [ebp + 0x20], edi
jmp 0x481848
cmp byte [ebp + 0x67], 0
jle 0x48174b
fld qword [ebp - 8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 0x41
je 0x4818b0
cmp byte [ebp + 0x67], 0
jge 0x48175e
fld qword [ebp - 8]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 5
jnp 0x4818b0
fld qword [ebp - 8]
push 0x4c9448
push ecx
push ecx
lea eax, [ebp - 0x110]
fstp qword [esp]
push eax
call fcn.0049b7f3
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 0x4817b2
push edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [edi + eax*2 - 2]
jmp 0x4817a2
and word [eax], 0
dec eax
dec eax
cmp word [eax], 0x30
je 0x48179c
cmp word [eax], 0x2e
jne 0x4817b2
and word [eax], 0
mov ecx, dword [ebp + 0x5c]
lea eax, [ebp - 0x110]
push eax
push dword [ebp + 0x54]
call fcn.0044451e
fld qword [ebp - 8]
fadd qword [ebp - 0x10]
fstp qword [ebp - 8]
jmp 0x481848
cmp dword [ebp + 0x14], ebx
je 0x48180d
cmp ax, 0x22
jne 0x48180d
mov ecx, dword [ebp - 0x2c]
lea edi, [esi + ecx*2]
jmp 0x4817f5
cmp ax, 0x22
jne 0x4817f5
mov ax, word [esi + 2]
call fcn.0043e631
test al, al
jne 0x481804
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
mov dword [ebp + 0x70], esi
jne 0x4817e2
jmp 0x48181a
inc esi
inc esi
mov ebx, ecx
mov dword [ebp + 0x70], esi
jmp 0x48181a
lea eax, [ebp + 0x70]
push eax
call fcn.00405b4a
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.00444f56
lea eax, [ebp + 0x70]
push eax
call fcn.0043e611
pop ecx
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x5c]
push dword [ebp + 0x54]
call fcn.0044451e
mov esi, dword [ebp + 0x70]
inc dword [ebp + 0x3c]
xor edi, edi
cmp dword [ebp + 0x30], edi
je 0x481872
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x5c]
add eax, 2
push 0x4c0a1c
mov dword [ebp + 4], eax
push edi
lea eax, [ebp + 4]
push eax
push dword [ebp + 0x74]
call fcn.0047937f
jmp 0x48188a
mov eax, dword [ebp + 0x38]
cmp word [eax], di
je 0x48188a
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
push edi
push dword [ebp + 0x74]
push eax
call fcn.00433f41
mov ecx, dword [ebp + 0x5c]
mov ax, word [ecx + 0x88]
test ah, 1
je 0x4818a4
and ax, 0xfeff
mov word [ecx + 0x88], ax
mov ax, word [esi]
cmp ax, di
jne 0x4816ab
lea ecx, [ebp + 0x50]
call fcn.0043e679
xor edi, edi
jmp 0x481b67
push dword [ebp + 0x40]
call fcn.0041310a
pop ecx
push eax
lea ecx, [ebp + 0x40]
call fcn.0044e6d5
mov esi, dword [ebp + 0x40]
cmp word [esi], di
je 0x481b67
cmp dword [ebp + 0x50], edi
mov dword [ebp + 0x34], edi
mov byte [ebp + 0x73], 0
je 0x48197d
cmp dword [ebp - 0x14], edi
je 0x481928
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 0x481928
cmp ax, 0x7a
ja 0x481928
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 0x48196b
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 0x481958
test bl, bl
mov eax, dword [ebp + 0x78]
jne 0x481975
mov eax, dword [ebp + 8]
mov dword [ebp + 0x78], eax
jmp 0x481a92
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x40], edi
cmp dword [ebp + 0x30], edi
jne 0x481999
mov eax, dword [ebp + 0x38]
cmp word [eax], di
jne 0x481999
cmp dword [ebp - 0x28], edi
je 0x481b67
cmp dword [ebp + 0x10], edi
je 0x4819be
xor eax, eax
mov ax, word [esi]
cmp ax, di
je 0x4819be
cmp word [esi + 2], 0x3a
jne 0x4819be
push eax
call fcn.004ad0ae
test eax, eax
pop ecx
je 0x481a89
lea ecx, [ebp + 0x60]
call fcn.00444e32
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
push esi
mov dword [ebp + 0x1c], edi
call fcn.00499bae
add esp, 0xc
cmp dword [ebp + 0x2c], edi
je 0x4819ee
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 0x481a35
push 4
call fcn.004adce8
cmp eax, edi
pop ecx
je 0x481a0c
lea ecx, [ebp + 0x60]
push ecx
mov ecx, eax
call fcn.0044e6be
jmp 0x481a0e
xor eax, eax
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040f92f
cmp dword [ebp + 0x50], edi
je 0x481a35
mov eax, dword [ebp + 0x78]
cmp word [eax], di
je 0x481a35
lea ecx, [ebp + 0x60]
mov byte [ebp + 0x73], 1
call fcn.0043e679
jmp 0x481a92
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.00480519
add dword [ebp + 0x3c], eax
mov ax, word [esi + 0x88]
test ah, 1
mov byte [ebp + 0x73], 0
je 0x481a81
and ax, 0xfeff
mov word [esi + 0x88], ax
lea ecx, [ebp + 0x60]
call fcn.0043e679
cmp dword [ebp + 0x50], edi
je 0x481b17
mov ebx, dword [ebp + 0x78]
cmp word [ebx], di
je 0x481b17
lea eax, [ebp - 0x80]
cmp dword [eax], edi
je 0x481b17
mov eax, dword [ebp + 0x5c]
test byte [eax + 0x88], 0xef
jne 0x481b17
push 0xffffffffffffffff
push ebx
lea ecx, [ebp + 0x18]
call fcn.00444f56
push dword [ebp + 0x40]
lea ecx, [ebp + 0x18]
call fcn.00444e9e
cmp dword [ebp - 0x14], edi
jne 0x481b05
test byte [ebp + 0x50], 2
je 0x481ae6
dec ebx
dec ebx
jmp 0x481adc
lea eax, [ebx - 2]
cmp word [eax], di
je 0x481af4
mov ebx, eax
cmp ebx, dword [ebp + 8]
mov dword [ebp + 0x78], ebx
ja 0x481ad2
jmp 0x481af4
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 0x481a95
jmp 0x481983
mov esi, dword [ebp + 0x18]
mov ax, word [ebp + 0x34]
mov word [esi], ax
mov dword [ebp - 0x14], edi
jmp 0x481983
cmp byte [ebp + 0x73], 0
je 0x481b67
push 4
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x8c]
push eax
push edi
call fcn.00445063
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.00480519
add dword [ebp + 0x3c], eax
mov ecx, dword [ebp + 0x5c]
and word [ecx + 0x88], 0x8b
cmp byte [ebp + 0x66], 0
je 0x481b86
push dword [ebp - 0x48]
push dword [ebp + 0x54]
call fcn.0044451e
jmp 0x481b9a
cmp dword [ebp - 0x28], edi
je 0x481b9a
push dword [ebp + 0x54]
push dword [ebp + 0x3c]
push ecx
call fcn.0044749d
add esp, 0xc
mov esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x20]
call fcn.0043e679
lea ecx, [ebp + 0x18]
call fcn.0043e679
lea ecx, [ebp - 0x24]
call fcn.0043e679
lea ecx, [ebp - 0x48]
call fcn.0043e679
lea ecx, [ebp + 0x38]
call fcn.0043e679
lea ecx, [ebp + 0x40]
call fcn.0043e679
lea ecx, [ebp + 0x54]
call fcn.0043e679
lea ecx, [ebp - 0x1c]
call fcn.0043e679
lea ecx, [ebp - 0x8c]
call fcn.00457924
lea ecx, [ebp - 0x8c]
call fcn.0043e679
lea ecx, [ebp - 0x3c]
call fcn.0043e679
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10