Function at 0x44f9b0
Capabilities:
Get common file path
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x53404b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c0
push ebx
push ebp
mov ebp, dword [esp + 0x5d8]
mov ebx, dword [esp + 0x5dc]
push esi
push edi
mov eax, dword [ebp + 0x110]
lea edi, [esp + 0x11c]
lea esi, [ebx + 0x114]
lea edx, [esp + 0x4cc]
mov ecx, dword [eax + 0x5a74]
xor eax, eax
mov dword [esp + 0x10], ecx
mov ecx, 0xab
rep stosd dword es:[edi], eax
mov ecx, 0x50
lea edi, [esp + 0x124]
mov eax, 1
push edx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x3a8], eax
mov dword [esp + 0x3ac], eax
lea eax, [ebx + 0x140]
mov dword [esp + 0x120], 0x8994
push eax
call fcn.004345f0
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
add esp, 8
lea eax, [esp + 0x4cc]
push eax
push ecx
push edx
lea eax, [esp + 0x3d4]
push 0x596954
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [ebp]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
add esp, 0x14
lea ecx, [esp + 0x3c8]
xor edi, edi
push ecx
push edi
push 0x659
push edx
call esi
mov eax, dword [ebx + 0xc]
mov dword [ebp + 0x59c], eax
mov ecx, dword [ebx + 8]
mov dword [ebp + 0x5a0], ecx
mov edx, dword [ebx + 0x134]
mov dword [ebp + 0x378], edx
mov dword [ebp + 0x37c], edi
mov eax, dword [ebx + 0x130]
cmp eax, edi
je 0x44faca
mov ecx, dword [ebx + 0x134]
sub ecx, eax
mov dword [ebp + 0x378], ecx
mov dword [ebp + 0x37c], edi
mov edx, dword [ebp]
push edi
push edi
push 0x659
mov dword [ebp + 0x380], edi
push edx
mov dword [ebp + 0x384], edi
call esi
push edi
push edi
push edi
call fcn.0043daa0
lea edi, [ebp + 0x120]
mov ecx, 0x50
lea esi, [ebx + 0x114]
mov dword [ebp + 0x270], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 4]
add esp, 0xc
test eax, eax
je 0x44fb52
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
cmp eax, ecx
push ebx
jae 0x44fb39
mov ecx, dword [ebp + 4]
push 0xfffffc18
push 0x41e
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [esp + 0x3a8], eax
jmp 0x44ffc8
mov edx, dword [ebp + 4]
push 0xfffffc0e
push 0x41e
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x44ffc8
mov cl, byte [ebp + 0x38c]
lea eax, [ebp + 0x38c]
test cl, cl
je 0x44fb85
mov cl, byte [ebp + 0x490]
test cl, cl
je 0x44fb85
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x18]
push eax
push ecx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x44fd63
call fcn.005269f5
mov esi, dword [eax + 4]
push 0x1770
push 0x57c744
push 0x5785f0
mov ecx, esi
call fcn.00526483
push 0
push 0x57c778
push 0x5785f0
mov ecx, esi
mov dword [ebp + 0x598], eax
call fcn.00526483
push 0x591870
push 0x57c760
lea edx, [esp + 0x1c]
push 0x5785f0
push edx
mov ecx, esi
mov dword [ebp + 0x594], eax
call fcn.005264ef
mov eax, dword [eax]
mov dword [esp + 0x5d8], 0
push eax
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x14]
mov dword [esp + 0x5d8], 0xffffffff
call fcn.00511eeb
cmp byte [esp + 0x18], 0x2a
je 0x44fc3c
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [esp + 0x18]
push ecx
call esi
test eax, eax
je 0x44fc42
lea edx, [esp + 0x18]
push edx
call esi
cmp byte [esp + eax + 0x17], 0x5c
je 0x44fc96
lea eax, [esp + 0x18]
push 0x5909e8
push eax
jmp 0x44fc90
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [esp + 0x18]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x44fc68
lea edx, [esp + 0x18]
push 0x104
push edx
call fcn.00433ca0
add esp, 8
lea eax, [esp + 0x18]
push eax
call esi
cmp byte [esp + eax + 0x17], 0x5c
je 0x44fc86
lea ecx, [esp + 0x18]
push 0x5909e8
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [esp + 0x18]
push 0x57c790
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp + 0xc]
push 0x596950
push eax
call fcn.00462670
add esp, 8
test eax, eax
je 0x44fcea
mov eax, dword [ebp + 0x110]
mov ecx, dword [eax + 0x5a74]
call fcn.00442380
push eax
call fcn.00461948
mov edi, eax
add esp, 4
test edi, edi
je 0x44fcea
lea esi, [ebp + 0x490]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
call fcn.0046185f
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add esp, 4
jmp 0x44fcfd
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp + 0xc]
lea esi, [ebp + 0x490]
push eax
push esi
call edi
mov eax, dword [ebp + 0x594]
test eax, eax
je 0x44fd4b
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [esp + eax + 0x17], 0x5c
je 0x44fd25
lea edx, [esp + 0x18]
push 0x5909e8
push edx
call edi
lea eax, [esp + 0x18]
push esi
push eax
call edi
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [esp + eax + 0x17], 0x5c
je 0x44fd4b
lea edx, [esp + 0x18]
push 0x5909e8
push edx
call edi
lea eax, [esp + 0x18]
push eax
lea eax, [ebp + 0x38c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x18]
push ecx
call fcn.004500f0
add esp, 4
test eax, eax
jne 0x44fd81
lea edx, [esp + 0x18]
lea eax, [ebx + 0x10]
push edx
push eax
call esi
jmp 0x44fdc8
test byte [ebx + 0x114], 0x10
je 0x44fe32
lea edx, [ebx + 0x10]
lea eax, [esp + 0x18]
push edx
push eax
call edi
lea ecx, [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [esp + eax + 0x17], 0x5c
je 0x44fdb7
lea edx, [esp + 0x18]
push 0x5909e8
push edx
call edi
lea eax, [esp + 0x18]
push eax
call fcn.004500f0
add esp, 4
test eax, eax
jne 0x44fde2
mov ecx, dword [ebp + 4]
push ebx
push 0xfffffc04
push 0x41e
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x45009e
mov esi, dword [esp + 0x10]
push esi
call fcn.00434540
add esp, 4
test eax, eax
je 0x45009e
push 0
lea edx, [esp + 0x120]
push 0x2ac
push edx
mov ecx, esi
call fcn.00442430
test eax, eax
je 0x45009e
mov eax, dword [ebp]
push 0
push 0x64
push 0x659
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, 1
jmp 0x4500a0
mov cl, byte [ebx + 0x10]
lea eax, [ebx + 0x10]
test cl, cl
je 0x44fe44
lea ecx, [esp + 0x18]
push eax
push ecx
call edi
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp byte [esp + eax + 0x17], 0x5c
je 0x44fe62
lea eax, [esp + 0x18]
push 0x5909e8
push eax
call edi
mov cl, byte [ebx + 0x140]
lea eax, [ebx + 0x140]
test cl, cl
je 0x44fe7a
lea ecx, [esp + 0x18]
push eax
push ecx
jmp 0x44fe86
lea edx, [ebx + 0x244]
lea eax, [esp + 0x18]
push edx
push eax
call edi
lea ecx, [esp + 0x18]
lea edx, [ebp + 0x274]
push ecx
push edx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
push 0
push 1
push 0
push 3
lea eax, [esp + 0x2c]
push 0xc0000000
push eax
call edi
test eax, eax
mov dword [ebp + 0x11c], eax
je 0x44fec5
cmp eax, 0xffffffff
jne 0x44ffc8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, 0xb7
je 0x44fede
cmp esi, 0x50
jne 0x44ff76
mov eax, dword [ebp + 0x26c]
test eax, eax
je 0x44fef6
cmp eax, 0x26b6
je 0x44fef6
cmp eax, 0x26ca
jne 0x44ff25
lea ecx, [ebx + 0x254]
lea edx, [esp + 0x18]
push ecx
push edx
call fcn.00433fa0
mov eax, dword [ebp + 4]
add esp, 8
push ebx
push 0xfffffbfa
push 0x41e
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp + 0x26c], eax
mov eax, dword [ebp + 0x26c]
add eax, 0xffffd94a
cmp eax, 0x1e
ja case.0x44ff41.9912
xor ecx, ecx
mov cl, byte [eax + 0x4500c8]
jmp dword [ecx*4 + 0x4500bc]
push 0
push 0
push 2
push 0
push 3
lea eax, [esp + 0x2c]
push 0xc0000000
push eax
mov dword [esp + 0x13c], esi
mov dword [esp + 0x3c4], 1
call edi
mov dword [ebp + 0x11c], eax
mov eax, dword [ebp + 0x11c]
test eax, eax
je 0x44ff85
cmp eax, 0xffffffff
jne 0x44ffb1
lea ecx, [esp + 0x18]
push 0x80
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0
push 0
push 2
push 0
push 3
lea edx, [esp + 0x2c]
push 0xc0000000
push edx
call edi
mov dword [ebp + 0x11c], eax
mov ebp, dword [ebp + 0x11c]
test ebp, ebp
je 0x450053
cmp ebp, 0xffffffff
je 0x450053
mov esi, dword [esp + 0x10]
push esi
call fcn.00434540
add esp, 4
test eax, eax
je 0x45009e
push 0
lea eax, [esp + 0x120]
push 0x2ac
push eax
mov ecx, esi
call fcn.00442430
neg eax
sbb eax, eax
neg eax
jmp 0x4500a0
mov dword [esp + 0x120], esi
jmp 0x450019
mov dword [esp + 0x120], esi
mov dword [esp + 0x3ac], 1
mov esi, dword [esp + 0x10]
mov dword [esp + 0x3a8], 0
push esi
call fcn.00434540
add esp, 4
test eax, eax
je 0x45009e
push 0
lea edx, [esp + 0x120]
push 0x2ac
push edx
mov ecx, esi
call fcn.00442430
neg eax
sbb eax, eax
neg eax
jmp 0x4500a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov dword [esp + 0x120], eax
jne 0x45006f
mov dword [esp + 0x120], 2
mov esi, dword [esp + 0x10]
push esi
call fcn.00434540
add esp, 4
test eax, eax
je 0x45009e
push 0
lea ecx, [esp + 0x120]
push 0x2ac
push ecx
mov ecx, esi
call fcn.00442430
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov ecx, dword [esp + 0x5d0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5cc
ret