Function at 0x1005150
Capabilities:
Get common file path

Disassembly:
movzx eax, byte [0x115fc4e]
mov ecx, dword [0x115fca4]
sub esp, 8
push ebx
push ebp
push esi
mov ebp, 0x727
push ebp
lea edx, [eax + ecx + 0xbb52]
push 0x1163530
mov dword [0x115fc34], edx
mov dword [0x115fca4], ebp
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
movzx edx, byte [0x115fc4e]
mov ecx, eax
imul ecx, ecx, 0x4d
sub edx, ecx
mov esi, eax
mov dword [0x115fca4], eax
mov dword [0x115fc34], edx
call fcn.01004f10
mov dl, byte [0x115fc34]
mov cl, dl
sub cl, byte [esp + 0xf]
mov esi, eax
add cl, 3
add dl, cl
add dl, 6
mov dword [0x115fca4], eax
mov byte [0x115fc4e], cl
mov bl, dl
call fcn.01004f10
movzx ecx, byte [0x115fc3e]
movzx edx, byte [0x115fc3a]
add ecx, edx
cmp ecx, 0x111
je 0x10051ed
mov byte [0x115fc4e], bl
movzx edx, byte [0x115fc4e]
movzx ecx, word [0x115fca8]
add edx, eax
lea eax, [edx + ecx - 0x33]
push eax
mov dword [0x115fca4], eax
call fcn.01004e90
add esp, 4
mov dword [0x115fca4], eax
mov ecx, 0x115fc78
lea esp, [esp]
mov edx, dword [0x115fcb0]
sub dword [ecx], edx
sub ecx, 8
cmp ecx, 0x115fc58
jg 0x1005220
mov ecx, dword [0x115fc34]
mov bl, al
push edi
mov edi, dword [0x115fc78]
add bl, 0x20
mov esi, 0x115fc54
lea ebx, [ebx]
sub ecx, dword [esi]
mov dl, bl
add dl, cl
cmp eax, edi
je 0x1005265
add esi, 8
cmp esi, 0x115fc78
jl 0x1005250
mov bl, byte [0x115fcb0]
mov cl, al
sub cl, dl
add cl, 8
mov dl, bl
add dl, cl
add dl, 0x20
mov dword [esp + 0x14], 0xa
mov byte [0x115fc4e], dl
jmp 0x1005290
mov esi, dword [esp + 0x14]
sub byte [esi + str.DWqF], bl
sub esi, 2
cmp esi, 2
mov dword [esp + 0x14], esi
jg 0x1005290
movzx edx, dl
movzx ecx, cl
push 0x1163530
lea edx, [edx + ecx + 0xbb52]
push eax
mov dword [0x115fc34], edx
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov cl, byte [0x115fcb0]
mov bl, al
mov eax, dword [0x115fca4]
add cl, al
sub cl, 0x33
mov esi, eax
add bl, cl
mov dword [0x115fc34], ebp
call fcn.01004f10
movzx esi, word [0x115fca8]
movzx edx, byte [0x115fc4e]
sub esi, edx
add esi, 3
mov dword [0x115fca4], esi
call fcn.01004f10
mov ecx, dword [0x115fcb0]
mov edi, dword [0x115fc78]
mov al, cl
add al, 0x20
xor ebp, ebp
mov esi, 0x115fc54
jmp 0x1005320
sub bl, byte [esi]
mov dl, al
add dl, bl
cmp ecx, edi
jne 0x1005332
cmp dword [0x115fcb4], ebp
je 0x100533d
add esi, 8
cmp esi, 0x115fc78
jl 0x1005320
movzx eax, bl
mov dword [esp + 0x14], eax
imul eax, eax, 0x4d
movzx esi, dl
mov dl, cl
sub esi, eax
add dl, bl
add dl, 0x20
mov dword [0x115fc34], esi
mov eax, 0xa
mov byte [0x115fc4e], dl
sub byte [eax + str.DWqF], cl
sub eax, 2
cmp eax, 2
jg 0x1005364
mov edi, dword [0x115fc68]
cmp edi, 0x73c
jne 0x1005387
mov word [0x115fca8], si
cmp byte [str.DWqF], dl
jb 0x10053a4
mov al, cl
imul byte [0x115fc46]
mov dl, 0xe0
mov byte [0x115fc46], al
mov byte [0x115fc4e], dl
movzx esi, dl
sub esi, dword [esp + 0x14]
sub esi, ecx
add esi, 0x15902
cmp dword [0x115fc74], esi
mov dword [0x115fca4], esi
ja 0x10053d9
mov bl, byte [0x115fca4]
add bl, byte [0x115fc34]
mov eax, dword [esp + 0x14]
mov dword [0x115fc80], eax
add bl, 6
movzx eax, byte [0x115fc44]
sub eax, 9
je 0x1005414
sub eax, 0x12
je 0x100540c
sub eax, 0x7b
je 0x1005403
mov cl, 0x4c
mov al, bl
imul cl
mov cl, 0x20
sub cl, al
add dl, cl
mov byte [0x115fc4e], dl
jmp 0x100541b
add cl, dl
add cl, 0x20
mov bl, cl
jmp 0x100541b
sub cl, bl
add cl, dl
mov bl, cl
jmp 0x100541b
add cl, dl
sub cl, 0x33
add bl, cl
mov eax, dword [0x115fc58]
add eax, edi
cmp eax, 0x111
pop edi
jne 0x100543e
movzx esi, bl
sub esi, dword [0x115fca4]
add esi, 3
mov dword [0x115fc34], esi
jmp 0x1005444
mov bl, byte [0x115fc34]
mov esi, dword [0x115fca4]
movzx edx, dl
movzx eax, bl
lea ecx, [eax + eax*4]
neg edx
sub edx, ecx
add dword [0x115fc34], edx
call fcn.01004f10
movzx ecx, byte [0x115fc3e]
movzx edx, byte [0x115fc3a]
add ecx, edx
cmp ecx, 0x111
jne 0x1005489
mov dl, byte [0x115fc4e]
mov bl, dl
sub bl, al
add bl, 3
jmp 0x1005491
mov dl, bl
mov byte [0x115fc4e], dl
movzx ecx, word [0x115fca8]
movzx edx, dl
lea ecx, [ecx + ecx*4]
neg edx
sub edx, ecx
add eax, edx
push eax
mov dword [0x115fca4], eax
call fcn.01004fb0
add esp, 4
cmp dword [0x115fc68], 0x73c
mov dword [0x115fca4], eax
jne 0x10054c9
mov byte [0x115fc4e], bl
movzx esi, bl
push esi
call fcn.01003ce0
mov ecx, dword [0x115fc34]
mov byte [0x115fc4e], al
movzx eax, al
lea eax, [eax + ecx + 6]
push eax
mov dword [0x115fca4], eax
call fcn.01004d00
mov ecx, dword [0x115fc80]
add esp, 8
sub ecx, 9
je 0x100552d
sub ecx, 0x12
je 0x1005521
sub ecx, 0x7b
je 0x100551b
mov ecx, dword [0x115fc34]
mov dl, 0x4c
mov al, cl
imul dl
mov dl, 0x20
sub dl, al
add bl, dl
jmp 0x100553e
lea ecx, [esi + eax + 0x20]
jmp 0x1005538
sub esi, dword [0x115fc34]
add esi, eax
mov ecx, esi
jmp 0x1005538
add esi, eax
mov eax, dword [0x115fc34]
lea ecx, [eax + esi - 0x33]
mov dword [0x115fc34], ecx
movzx edx, byte [0x115fc4e]
lea eax, [edx + ecx + 0x20]
push eax
mov dword [0x115fca4], eax
call fcn.01004d00
movzx ecx, byte [0x115fc3e]
add esp, 4
cmp ecx, 0x73c
mov dword [0x115fca4], eax
jne 0x1005571
mov bl, byte [0x115fc34]
movzx edx, bl
pop esi
lea eax, [edx + eax + 0xbb52]
pop ebp
mov dword [0x115fc34], eax
xor eax, eax
pop ebx
add esp, 8
ret