Function at 0x44bd90
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 0x44bdb6
push 2
pop eax
jmp 0x44bfb3
push edi
push ebx
push esi
call fcn.0044eba0
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 0x44bfaa
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 0x44be07
push 0x10
jmp 0x44bfa9
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 0x44be2a
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 0x44be44
push 2
jmp 0x44bfa9
mov edi, dword [ebp - 0x18]
push 4
pop eax
jmp 0x44be4f
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jae 0x44beec
add eax, 0x400
cmp eax, ecx
mov dword [ebp - 4], ecx
ja 0x44be69
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 0x44be82
mov dword [ebp - 8], ecx
push ebx
mov eax, edi
mov ecx, esi
call fcn.0044a2ea
test eax, eax
pop ecx
jne 0x44beec
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0044a31c
test eax, eax
pop ecx
pop ecx
je 0x44beec
mov eax, dword [ebp - 8]
add eax, 0xfffffffd
jmp 0x44bec9
mov ecx, dword [ebp - 0xc]
dec eax
cmp byte [eax + ecx], 0x50
jne 0x44bec9
cmp byte [eax + ecx + 1], 0x4b
jne 0x44bec9
cmp byte [eax + ecx + 2], 5
jne 0x44bec9
cmp byte [eax + ecx + 3], 6
je 0x44becf
cmp eax, ebx
jge 0x44beaa
jmp 0x44bee3
add edi, eax
push ebx
mov eax, edi
mov ecx, esi
mov dword [ebp - 0x10], 1
call fcn.0044a2ea
pop ecx
cmp dword [ebp - 0x10], ebx
je 0x44be4c
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.DLL_GlobalFree]
cmp dword [ebp - 0x10], ebx
je 0x44bfa7
mov eax, esi
call fcn.0044a3a5
mov eax, esi
call fcn.0044a356
mov dword [ebp - 0x14], eax
mov eax, esi
call fcn.0044a356
mov dword [ebp - 0x18], eax
mov eax, esi
call fcn.0044a356
movzx eax, ax
mov dword [esi + 0x10], eax
mov eax, esi
call fcn.0044a356
cmp dword [esi + 8], ebx
jne 0x44bfa3
movzx eax, ax
cmp eax, dword [esi + 0x10]
jne 0x44bfa7
cmp word [ebp - 0x18], bx
jne 0x44bfa7
cmp word [ebp - 0x14], bx
jne 0x44bfa7
mov eax, esi
call fcn.0044a3a5
mov dword [ebp - 0x14], eax
mov eax, esi
call fcn.0044a3a5
mov dword [esi + 0x24], eax
mov eax, esi
call fcn.0044a356
cmp dword [esi + 8], ebx
movzx eax, ax
mov dword [esi + 0x14], eax
jne 0x44bfa3
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 0x44bfa3
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 0x44bfb3
push 6
jmp 0x44bfa9
push 8
pop edi
push esi
call fcn.0044ab21
pop ecx
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret