Function at 0x44dae0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov edi, 0x188
push edi
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
mov esi, eax
cmp esi, ebx
jne 0x44db06
push 2
pop eax
jmp 0x44dd03
push edi
push ebx
push esi
call fcn.00450330
or dword [esi + 0x1c], 0xffffffff
add esp, 0xc
push ebx
push 0x80
push 3
push ebx
xor edi, edi
inc edi
push edi
push SysReAllocStringLen
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
cmp eax, 0xffffffff
mov dword [esi + 4], eax
je 0x44dcfa
push edi
mov edi, dword [sym.imp.KERNEL32.DLL_SetFilePointer]
push ebx
push ebx
push eax
call edi
cmp eax, 0xffffffff
mov dword [esi + 0xc], eax
jne 0x44db57
push 0x10
jmp 0x44dcf9
push 2
push ebx
push ebx
push dword [esi + 4]
mov dword [ebp - 0x10], ebx
call edi
mov ecx, eax
sub ecx, dword [esi + 0xc]
mov eax, 0xffff
cmp ecx, eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jae 0x44db7a
mov dword [ebp - 0x14], ecx
push 0x404
push ebx
call dword [sym.imp.KERNEL32.DLL_GlobalAlloc]
cmp eax, ebx
mov dword [ebp - 0xc], eax
jne 0x44db94
push 2
jmp 0x44dcf9
mov edi, dword [ebp - 0x18]
push 4
pop eax
jmp 0x44db9f
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jae 0x44dc3c
add eax, 0x400
cmp eax, ecx
mov dword [ebp - 4], ecx
ja 0x44dbb9
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x18]
mov edi, ecx
sub edi, dword [ebp - 4]
mov eax, 0x404
sub ecx, edi
cmp ecx, eax
mov dword [ebp - 8], eax
ja 0x44dbd2
mov dword [ebp - 8], ecx
push ebx
mov eax, edi
mov ecx, esi
call fcn.0044c03a
test eax, eax
pop ecx
jne 0x44dc3c
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0044c06c
test eax, eax
pop ecx
pop ecx
je 0x44dc3c
mov eax, dword [ebp - 8]
add eax, 0xfffffffd
jmp 0x44dc19
mov ecx, dword [ebp - 0xc]
dec eax
cmp byte [eax + ecx], 0x50
jne 0x44dc19
cmp byte [eax + ecx + 1], 0x4b
jne 0x44dc19
cmp byte [eax + ecx + 2], 5
jne 0x44dc19
cmp byte [eax + ecx + 3], 6
je 0x44dc1f
cmp eax, ebx
jge 0x44dbfa
jmp 0x44dc33
add edi, eax
push ebx
mov eax, edi
mov ecx, esi
mov dword [ebp - 0x10], 1
call fcn.0044c03a
pop ecx
cmp dword [ebp - 0x10], ebx
je 0x44db9c
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.DLL_GlobalFree]
cmp dword [ebp - 0x10], ebx
je 0x44dcf7
mov eax, esi
call fcn.0044c0f5
mov eax, esi
call fcn.0044c0a6
mov dword [ebp - 0x14], eax
mov eax, esi
call fcn.0044c0a6
mov dword [ebp - 0x18], eax
mov eax, esi
call fcn.0044c0a6
movzx eax, ax
mov dword [esi + 0x10], eax
mov eax, esi
call fcn.0044c0a6
cmp dword [esi + 8], ebx
jne 0x44dcf3
movzx eax, ax
cmp eax, dword [esi + 0x10]
jne 0x44dcf7
cmp word [ebp - 0x18], bx
jne 0x44dcf7
cmp word [ebp - 0x14], bx
jne 0x44dcf7
mov eax, esi
call fcn.0044c0f5
mov dword [ebp - 0x14], eax
mov eax, esi
call fcn.0044c0f5
mov dword [esi + 0x24], eax
mov eax, esi
call fcn.0044c0a6
cmp dword [esi + 8], ebx
movzx eax, ax
mov dword [esi + 0x14], eax
jne 0x44dcf3
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x14]
add edx, ecx
lea ebx, [eax + edi]
cmp ebx, edx
jb 0x44dcf3
sub eax, ecx
sub eax, dword [ebp - 0x14]
add eax, edi
mov dword [esi + 0x18], eax
lea eax, [esi + 0x84]
push eax
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryA]
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
jmp 0x44dd03
push 6
jmp 0x44dcf9
push 8
pop edi
push esi
call fcn.0044c871
pop ecx
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret