Function at 0x52d412
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc74
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
add ebx, 0x220
mov edi, ebx
call fcn.0058c97b
lea eax, [ebp - 0xa68]
push eax
push 0x104
mov byte [ebp + 0x13], 1
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0xa68]
call fcn.00401050
mov esi, dword [ebp + 8]
push str..tmp
add esi, 0x20
push esi
lea eax, [ebp - 0x248]
push eax
mov dword [ebp - 4], esi
call fcn.00536833
push esi
mov eax, 0x9c4
call fcn.00536630
push esi
call fcn.00401e26
fldz
mov eax, dword [ebp + 0x14]
fstp qword [ebp - 0x1c]
fld qword [0x694368]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x24]
fstp qword [ebp - 0x14]
push eax
lea edi, [ebp - 8]
mov dword [ebp - 0x24], 0x646570
call fcn.004dbba1
cmp dword [ebp - 8], 0
je 0x52d4b6
xor al, al
jmp 0x52d77a
push esi
push dword [ebp + 0xc]
call fcn.0058a897
mov esi, dword [ebp + 8]
call fcn.0058b88a
mov edi, esi
lea esi, [edi + 0xc]
call fcn.0058b88a
push dword [ebp - 4]
call fcn.00401e3b
test al, al
je 0x52d4e7
push dword [ebp - 4]
mov ecx, edi
call fcn.0052d781
cmp dword [edi + 4], 0
jbe 0x52d765
mov edi, ebx
call fcn.0058c97b
call fcn.0058c97b
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp + 8]
xor edi, edi
cmp dword [ebx + 4], edi
mov word [ebp - 0x658], di
jbe 0x52d578
mov eax, dword [ebx]
mov esi, dword [eax + edi*4]
and word [ebp - 0x248], 0
mov ecx, esi
lea eax, [ebp - 0x248]
call fcn.00401b6e
lea eax, [ebp - 0x248]
push str..fdoc
push eax
call fcn.00613e25
test eax, eax
pop ecx
pop ecx
je 0x52d54a
inc edi
cmp edi, dword [ebx + 4]
jb 0x52d511
jmp 0x52d578
movzx eax, word [esi]
xor ecx, ecx
lea edx, [esi + 2]
jmp 0x52d56a
cmp ecx, 0x103
jae 0x52d56f
mov word [ebp + ecx*2 - 0x658], ax
movzx eax, word [edx]
inc ecx
inc edx
inc edx
test ax, ax
jne 0x52d554
and word [ebp + ecx*2 - 0x658], 0
lea ecx, [ebp - 0x658]
lea eax, [ebp - 0x248]
call fcn.00401ad4
lea eax, [ebp - 0xc70]
push eax
lea eax, [ebp - 0x658]
push eax
lea edi, [ebp - 0x3c]
call fcn.004cfcc1
cmp word [ebp - 0xc70], 0
je 0x52d5ba
xor bl, bl
lea esi, [ebp - 0x3c]
call fcn.004cfba0
mov al, bl
jmp 0x52d77a
fldz
push str.FixedDocument
lea eax, [ebp - 0x3c]
fstp qword [ebx + 0x18]
lea esi, [ebp - 0xc]
call fcn.00543780
mov eax, dword [ebp - 0xc]
xor edi, edi
cmp eax, edi
je 0x52d702
cmp dword [eax], edi
setne cl
test cl, cl
je 0x52d702
mov esi, dword [eax]
add esi, 9
cmp esi, edi
je 0x52d6ee
cmp dword [esi], edi
setne al
test al, al
je 0x52d6ee
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
call dword [eax]
test al, al
jne 0x52d6fb
mov eax, dword [esi]
mov eax, dword [eax + 0xd]
cmp eax, edi
jne 0x52d620
mov eax, 0x631a7c
push str.PageContent
push eax
call fcn.00613e25
test eax, eax
pop ecx
pop ecx
jne 0x52d6dd
mov eax, dword [esi]
push edi
push str.Source
call fcn.004cfbd8
xor edx, edx
jmp 0x52d657
cmp edx, 0x103
jae 0x52d661
mov word [ebp + edx*2 - 0x450], cx
inc edx
movzx ecx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x52d646
mov word [ebp + edx*2 - 0x450], di
cmp word [ebp - 0x450], 0x2f
je 0x52d67d
cmp word [ebp - 0x450], 0x5c
jne 0x52d68f
lea eax, [ebp - 0x450]
push eax
lea eax, [ebp - 0x44e]
call fcn.00401050
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x450]
call fcn.00537748
lea eax, [ebp - 0x860]
push eax
call fcn.00401e3b
test al, al
jne 0x52d6cd
push dword [ebp - 4]
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x450]
call fcn.00537748
lea eax, [ebp - 0x860]
push eax
lea eax, [ebx + 0xc]
push eax
call fcn.00497246
mov eax, dword [esi]
cmp eax, edi
je 0x52d5ee
mov esi, eax
jmp 0x52d5ee
lea esi, [ebp - 0xc]
call fcn.005437d4
jmp 0x52d5cf
mov bl, 1
jmp 0x52d5ab
xor esi, esi
cmp dword [ebx + 0x10], edi
jbe 0x52d75d
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + esi*4]
lea eax, [ebp - 0x248]
mov word [ebp - 0x248], di
call fcn.00401b6e
lea eax, [ebp - 0x248]
push str..fpage
push eax
call fcn.00613e25
test eax, eax
pop ecx
pop ecx
jne 0x52d757
push dword [ebp + 0x14]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + esi*4]
lea ecx, [ebp + 0xc]
push ecx
push eax
push ebx
call fcn.0052d8b6
test al, al
mov byte [ebp + 0x13], al
je 0x52d5a9
inc esi
cmp esi, dword [ebx + 0x10]
jb 0x52d709
lea esi, [ebp - 0x3c]
call fcn.004cfba0
mov esi, dword [ebp - 4]
mov ecx, esi
call fcn.00537db1
test al, al
je 0x52d777
and word [esi], 0
mov al, byte [ebp + 0x13]
pop edi
pop esi
pop ebx
leave
ret 0x10