Function at 0x48e420
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x496c8f
mov eax, dword fs:[0]
push eax
sub esp, 0xdb4
mov eax, dword [0x4c5280]
xor eax, esp
mov dword [esp + 0xdb0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c5280]
xor eax, esp
push eax
lea eax, [esp + 0xdc8]
mov dword fs:[0], eax
push 0x206
mov edi, ecx
xor ebp, ebp
lea ecx, [esp + 0xbc2]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xbc8], ax
call fcn.00479770
add esp, 0xc
push 0x104
lea edx, [esp + 0xbc0]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x48ea87
lea eax, [esp + 0xbbc]
push 0x5c
push eax
call fcn.004763f9
xor ecx, ecx
mov word [eax], cx
add esp, 8
lea ecx, [esp + 0x1a4]
call fcn.0040df10
lea edx, [esp + 0xbbc]
push edx
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0xdd8], ebp
call fcn.00412b90
mov byte [esp + 0x1c], 0
mov dword [esp + 0x18], ebp
push 0x206
lea edx, [esp + 0x9ba]
xor ecx, ecx
push ebp
mov byte [esp + 0xdd8], 2
push edx
mov word [esp + 0x9c0], cx
call fcn.00479770
add esp, 0xc
lea eax, [esp + 0x9b4]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x48e594
lea edi, [esp + 0x18]
call fcn.0040f730
mov eax, dword [esp + 0x34]
cmp eax, ebp
je 0x48e54e
mov esi, eax
mov eax, dword [eax]
cmp eax, ebp
je 0x48e541
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi], ebp
push esi
call fcn.00474da5
add esp, 4
mov dword [esp + 0x34], ebp
lea edi, [esp + 0x38]
call fcn.0040f730
mov dword [esp + method.t_str.virtual_0], vtable.t_str.0
cmp byte [esp + 0x2c0], 0
jne 0x48ea87
mov eax, dword [esp + 0x1ac]
lea ecx, [esp + 0x1b0]
cmp eax, ecx
je 0x48ea87
push eax
call fcn.00475125
add esp, 4
jmp 0x48ea87
lea edx, [esp + 0x9b4]
push 0x5c
push edx
call fcn.004763f9
xor ecx, ecx
mov word [eax], cx
add esp, 8
lea ecx, [esp + 0x7c]
call fcn.00410770
lea ebx, [esp + 0x9b4]
mov edx, ebx
test edx, edx
jne 0x48e5c6
mov ebx, 0x4b75b8
mov eax, ebx
lea edx, [eax + 2]
jmp 0x48e5d0
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x48e5d0
sub eax, edx
sar eax, 1
lea ebp, [eax + 1]
mov ecx, ebp
lea esi, [esp + 0x84]
mov dword [esp + 0x80], eax
call fcn.00411640
cmp byte [esp + 0x198], 0
lea eax, [esp + 0x88]
jne 0x48e60f
mov eax, dword [esp + 0x84]
lea ecx, [ebp + ebp]
push ecx
add eax, 4
push ebx
push eax
call fcn.004797f0
add esp, 0xc
lea ecx, [esp + 0x7c]
mov byte [esp + 0xdd0], 4
call fcn.0040e540
test al, al
jne 0x48e681
mov esi, vtable.t_str.0
mov dword [esp + 0x7c], esi
cmp byte [esp + 0x198], al
jne 0x48e663
mov eax, dword [esp + 0x84]
lea edx, [esp + 0x88]
cmp eax, edx
je 0x48e663
push eax
call fcn.00475125
add esp, 4
lea edi, [esp + 0x18]
call fcn.0040f730
lea eax, [esp + 0x34]
call fcn.00412d20
mov dword [esp + 0x1a4], esi
jmp 0x48e562
lea ecx, [esp + 0x2cc]
call fcn.00410770
mov byte [esp + 0xdd0], 5
cmp byte [esp + 0x198], 0
lea edx, [esp + 0x2cc]
mov dword [0x4ca4fc], edx
lea eax, [esp + 0x88]
jne 0x48e6ba
mov eax, dword [esp + 0x84]
push 1
lea ebx, [eax + 4]
push 0x48ded0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x24]
call fcn.00412e30
test al, al
je 0x48ea54
lea ecx, [esp + 0x3f4]
mov dword [0x4ca4fc], 0
call fcn.00410770
mov byte [esp + 0xdd0], 6
cmp byte [esp + 0x3e8], 0
lea eax, [esp + 0x2d8]
jne 0x48e710
mov eax, dword [esp + 0x2d4]
lea esi, [eax + 4]
push 0x4b6220
push esi
call fcn.00476425
mov ecx, esi
add esp, 8
lea ebx, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x48e726
sub ecx, ebx
sar ecx, 1
cmp eax, ecx
je 0x48ea48
push esi
lea ebx, [esp + 0x3f8]
call fcn.004109c0
push 0x4b6228
push 0x4b8ff4
mov edx, ebx
call fcn.00410f90
xor ebx, ebx
add esp, 8
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
lea eax, [esp + 0x400]
cmp byte [esp + 0x510], bl
jne 0x48e77f
mov eax, dword [esp + 0x3fc]
add eax, 4
push eax
push edi
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x40]
push edx
lea edx, [esp + 0x40]
lea ecx, [esp + 0x3c]
call fcn.00412f80
test al, al
je 0x48ea48
mov edx, dword [esp + 0x30]
cmp edx, ebx
je 0x48ea48
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x34]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], edx
lea eax, [esp + 0x5c]
call fcn.00413e10
push esi
push edx
mov edi, eax
mov byte [esp + 0xdd8], 8
call fcn.004143f0
test al, al
jne 0x48e808
push 0x4b6244
lea eax, [esp + 0x1c]
call fcn.00407b00
mov esi, edi
mov byte [esp + 0xdd0], 7
call entry0
lea ecx, [esp + 0x20]
push ecx
jmp 0x48ea3b
mov ecx, 0x4b61f0
lea eax, [esp + 0x5c]
call fcn.00413e40
cmp eax, ebx
jne 0x48e86a
push 0x4b625c
lea eax, [esp + 0x1c]
call fcn.00407b00
mov esi, eax
push 0x4b61f0
push 0x4b8ff4
mov edx, esi
call fcn.00410f90
push 0x4b627c
push 0x4b8ff4
mov edx, esi
call fcn.00410f90
add esp, 0x10
lea esi, [esp + 0x5c]
mov byte [esp + 0xdd0], 7
call entry0
lea edx, [esp + 0x20]
push edx
jmp 0x48ea3b
push eax
mov eax, 0x4b6200
call fcn.00413ef0
cmp eax, ebx
je 0x48ea25
push eax
lea edi, [esp + 0x648]
call fcn.004108a0
lea ecx, [esp + 0x76c]
call fcn.00410770
lea ecx, [esp + 0x51c]
call fcn.00410770
lea ebx, [esp + 0x76c]
mov edx, edi
call fcn.00410ed0
lea ebx, [esp + 0x51c]
mov eax, edi
call fcn.00410f10
lea eax, [esp + 0x76c]
call fcn.00410eb0
push eax
call fcn.00475c6d
mov esi, eax
add esp, 4
mov eax, ebx
call fcn.00410eb0
push eax
call fcn.00475c6d
add esp, 4
lea ecx, [esp + 0x894]
push ecx
mov edi, eax
mov dword [esp + 0x898], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov ecx, ebx
test eax, eax
je 0x48ea08
mov eax, dword [esp + 0x898]
cmp eax, esi
jle 0x48e937
call fcn.0040e2d0
lea ecx, [esp + 0x76c]
call fcn.0040e2d0
lea ecx, [esp + 0x644]
call fcn.0040e2d0
jmp 0x48e84f
jne 0x48e9d0
cmp dword [esp + 0x89c], edi
jge 0x48ea08
call fcn.0040e2d0
lea ecx, [esp + 0x76c]
call fcn.0040e2d0
lea ecx, [esp + 0x644]
call fcn.0040e2d0
lea esi, [esp + 0x5c]
mov byte [esp + 0xdd0], 7
call entry0
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0xdd4], 6
call fcn.0048def0
lea ecx, [esp + 0x3f4]
call fcn.0040e2d0
lea ecx, [esp + 0x2cc]
call fcn.0040e2d0
lea ecx, [esp + 0x7c]
call fcn.0040e2d0
lea edi, [esp + 0x18]
call fcn.0040f730
lea eax, [esp + 0x34]
call fcn.00412d20
lea ecx, [esp + 0x1a4]
call fcn.0040e2d0
xor al, al
jmp 0x48ea89
call fcn.0040e2d0
lea ecx, [esp + 0x76c]
call fcn.0040e2d0
lea ecx, [esp + 0x644]
call fcn.0040e2d0
lea esi, [esp + 0x5c]
mov byte [esp + 0xdd0], 7
call entry0
lea edx, [esp + 0x20]
push edx
jmp 0x48e97d
call fcn.0040e2d0
lea ecx, [esp + 0x76c]
call fcn.0040e2d0
lea ecx, [esp + 0x644]
call fcn.0040e2d0
lea esi, [esp + 0x5c]
mov byte [esp + 0xdd0], 7
call entry0
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0xdd4], 6
call fcn.0048def0
lea ecx, [esp + 0x3f4]
call fcn.0040e2d0
lea ecx, [esp + 0x2cc]
call fcn.0040e2d0
lea ecx, [esp + 0x7c]
call fcn.0040e2d0
lea edi, [esp + 0x18]
call fcn.0040f730
lea eax, [esp + 0x34]
call fcn.00412d20
lea ecx, [esp + 0x1a4]
call fcn.0040e2d0
mov al, 1
mov ecx, dword [esp + 0xdc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xdb0]
xor ecx, esp
call fcn.00474db0
add esp, 0xdc0
ret