Function at 0x4b8830
Capabilities:
Get common file path

Disassembly:
mov eax, 0x1464
call fcn.00488a80
push ebx
push esi
xor ebx, ebx
push edi
mov dword [esp + 0x146c], ebx
mov dword [esp + 0xc], ebx
call fcn.004cc630
test al, al
push ebx
je 0x4b8960
push 0x802
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0049d1f0
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4b8877
add eax, 4
jmp 0x4b8879
xor eax, eax
lea ecx, [esp + 0x10]
mov word [eax], bx
call fcn.0049d350
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4b8892
add eax, 4
jmp 0x4b8894
xor eax, eax
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [esp + 0x10]
call fcn.0049d350
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4b88b6
lea esi, [eax + 4]
jmp 0x4b88b8
xor esi, esi
lea ecx, [esp + 0x10]
call fcn.0049d350
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4b88ce
add eax, 4
jmp 0x4b88d0
xor eax, eax
push 0x400
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x4b88ea
add eax, 4
jmp 0x4b88ec
xor eax, eax
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
call fcn.0049d940
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
je 0x4b8949
lea ecx, [esp + 0xc]
call fcn.004039f0
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov dword [esp + 0xc], eax
je 0x4b8949
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x4b8940
push eax
call edi
and eax, 0xff
cmp eax, 0xff
jne 0x4b8949
lea ecx, [esp + 0xc]
call fcn.0049d350
lea ecx, [esp + 0x14]
call fcn.004039f0
lea ecx, [esp + 0x10]
call fcn.004039f0
jmp 0x4b8a29
push 0x401
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], ebx
call fcn.0049d1f0
mov edx, dword [esp + 0xc]
cmp edx, dword [esp + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
je 0x4b89bf
lea ecx, [esp + 0xc]
call fcn.004039f0
mov eax, dword [esp + 0x14]
cmp eax, ebx
mov dword [esp + 0xc], eax
je 0x4b89bf
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x4b89b6
push eax
call edi
and eax, 0xff
cmp eax, 0xff
jne 0x4b89bf
lea ecx, [esp + 0xc]
call fcn.0049d350
lea ecx, [esp + 0x14]
call fcn.004039f0
lea ecx, [esp + 0xc]
call fcn.0049d350
mov eax, dword [esp + 0xc]
cmp eax, ebx
je 0x4b89de
add eax, 4
jmp 0x4b89e0
xor eax, eax
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea ecx, [esp + 0xc]
call fcn.0049d350
mov eax, dword [esp + 0xc]
cmp eax, ebx
je 0x4b8a02
lea esi, [eax + 4]
jmp 0x4b8a04
xor esi, esi
lea ecx, [esp + 0xc]
call fcn.0049d350
mov eax, dword [esp + 0xc]
cmp eax, ebx
je 0x4b8a1a
add eax, 4
jmp 0x4b8a1c
xor eax, eax
push 0x400
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameA]
cmp byte [esp + 0x1478], bl
je 0x4b8c3d
mov ecx, dword [0x6b87d8]
cmp ecx, ebx
lea edx, [esp + 0xa48]
mov dword [esp + 0xa44], edx
je 0x4b8a55
mov eax, dword [ecx]
shr eax, 8
jmp 0x4b8a57
xor eax, eax
mov esi, dword [esp + 0xa48]
shl eax, 8
mov edx, eax
xor edx, esi
and edx, 0xff
xor edx, eax
cmp ecx, ebx
mov dword [esp + 0xa48], edx
mov byte [esp + 0xa48], 0x80
je 0x4b8a85
add ecx, 4
jmp 0x4b8a87
xor ecx, ecx
lea edx, [esp + 0xa4c]
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
cmp al, bl
jne 0x4b8a90
mov ecx, dword [0x6b89e0]
cmp ecx, ebx
lea eax, [esp + 0xc50]
mov dword [esp + 0xc4c], eax
je 0x4b8ab9
mov eax, dword [ecx]
shr eax, 8
jmp 0x4b8abb
xor eax, eax
mov esi, dword [esp + 0xc50]
shl eax, 8
mov edx, eax
xor edx, esi
and edx, 0xff
xor edx, eax
cmp ecx, ebx
mov dword [esp + 0xc50], edx
mov byte [esp + 0xc50], 0x80
je 0x4b8ae9
add ecx, 4
jmp 0x4b8aeb
xor ecx, ecx
lea edx, [esp + 0xc54]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
cmp al, bl
jne 0x4b8af2
mov ecx, dword [0x6b8be8]
cmp ecx, ebx
lea eax, [esp + 0xe58]
mov dword [esp + 0xe54], eax
je 0x4b8b1b
mov eax, dword [ecx]
shr eax, 8
jmp 0x4b8b1d
xor eax, eax
mov esi, dword [esp + 0xe58]
shl eax, 8
mov edx, eax
xor edx, esi
and edx, 0xff
xor edx, eax
cmp ecx, ebx
mov dword [esp + 0xe58], edx
mov byte [esp + 0xe58], 0x80
je 0x4b8b4b
add ecx, 4
jmp 0x4b8b4d
xor ecx, ecx
lea edx, [esp + 0xe5c]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
cmp al, bl
jne 0x4b8b54
mov ecx, dword [0x6b8df0]
cmp ecx, ebx
lea eax, [esp + 0x1060]
mov dword [esp + 0x105c], eax
je 0x4b8b7d
mov eax, dword [ecx]
shr eax, 8
jmp 0x4b8b7f
xor eax, eax
mov esi, dword [esp + 0x1060]
shl eax, 8
mov edx, eax
xor edx, esi
and edx, 0xff
xor edx, eax
cmp ecx, ebx
mov dword [esp + 0x1060], edx
mov byte [esp + 0x1060], 0x80
je 0x4b8bad
add ecx, 4
jmp 0x4b8baf
xor ecx, ecx
lea edx, [esp + 0x1064]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
cmp al, bl
jne 0x4b8bb6
mov ecx, dword [0x6b8ff8]
cmp ecx, ebx
lea eax, [esp + 0x1268]
mov dword [esp + 0x1264], eax
je 0x4b8bdf
mov eax, dword [ecx]
shr eax, 8
jmp 0x4b8be1
xor eax, eax
mov esi, dword [esp + 0x1268]
shl eax, 8
mov edx, eax
xor edx, esi
and edx, 0xff
xor edx, eax
cmp ecx, ebx
mov dword [esp + 0x1268], edx
mov byte [esp + 0x1268], 0x80
je 0x4b8c0f
add ecx, 4
jmp 0x4b8c11
xor ecx, ecx
lea edx, [esp + 0x126c]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
cmp al, bl
jne 0x4b8c18
mov eax, dword [esp + 0x105c]
cmp eax, ebx
mov dword [esp + 0x146c], 1
je 0x4b8c3d
lea esi, [eax + 4]
jmp 0x4b8c3f
xor esi, esi
mov eax, dword [esp + 0xc]
cmp eax, ebx
je 0x4b8c4c
add eax, 4
jmp 0x4b8c4e
xor eax, eax
mov edx, dword [esp + 0x20]
and edx, 0xff
or edx, 0x100
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x228]
and edx, 0xff
or edx, 0x100
mov dword [esp + 0x228], edx
mov edx, dword [esp + 0x430]
and edx, 0xff
or edx, 0x100
mov dword [esp + 0x430], edx
mov edx, dword [esp + 0x638]
and edx, 0xff
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c], ecx
or edx, 0x100
lea ecx, [esp + 0x228]
mov dword [esp + 0x224], ecx
mov dword [esp + 0x638], edx
mov edx, dword [esp + 0x840]
lea ecx, [esp + 0x430]
mov dword [esp + 0x42c], ecx
lea ecx, [esp + 0x638]
and edx, 0xff
or edx, 0x100
cmp eax, ebx
mov dword [esp + 0x634], ecx
lea ecx, [esp + 0x840]
mov dword [esp + 0x840], edx
mov byte [esp + 0x20], 0x80
mov byte [esp + 0x24], bl
mov byte [esp + 0x228], 0x80
mov byte [esp + 0x22c], bl
mov byte [esp + 0x430], 0x80
mov byte [esp + 0x434], bl
mov byte [esp + 0x638], 0x80
mov byte [esp + 0x63c], bl
mov dword [esp + 0x83c], ecx
mov byte [esp + 0x840], 0x80
mov byte [esp + 0x844], bl
je 0x4b8d61
cmp byte [eax], bl
je 0x4b8d61
push eax
lea ecx, [esp + 0x20]
call fcn.004a4d20
cmp esi, ebx
je 0x4b8d6f
push esi
lea ecx, [esp + 0x20]
call fcn.004a52c0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
call fcn.0049d820
lea ecx, [esp + 0x83c]
call fcn.004039f0
lea ecx, [esp + 0x634]
mov dword [esp + 0x83c], ebx
call fcn.004039f0
lea ecx, [esp + 0x42c]
mov dword [esp + 0x634], ebx
call fcn.004039f0
lea ecx, [esp + 0x224]
mov dword [esp + 0x42c], ebx
call fcn.004039f0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x224], ebx
call fcn.004039f0
test byte [esp + 0x146c], 1
mov dword [esp + 0x1c], ebx
je 0x4b8e38
lea ecx, [esp + 0x1264]
call fcn.004039f0
lea ecx, [esp + 0x105c]
mov dword [esp + 0x1264], ebx
call fcn.004039f0
lea ecx, [esp + 0xe54]
mov dword [esp + 0x105c], ebx
call fcn.004039f0
lea ecx, [esp + 0xc4c]
mov dword [esp + 0xe54], ebx
call fcn.004039f0
lea ecx, [esp + 0xa44]
mov dword [esp + 0xc4c], ebx
call fcn.004039f0
mov eax, dword [esp + 0x18]
cmp eax, ebx
mov esi, dword [esp + 0x1474]
mov dword [esi], eax
je 0x4b8e5c
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
jae 0x4b8e5c
push eax
call edi
lea ecx, [esp + 0x18]
call fcn.004039f0
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], ebx
call fcn.004039f0
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x1464
ret