Function at 0x41c8a0
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x520687
mov eax, dword fs:[0]
push eax
sub esp, 0x498
mov eax, dword [0x58057c]
xor eax, esp
mov dword [esp + 0x494], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x58057c]
xor eax, esp
push eax
lea eax, [esp + 0x4ac]
mov dword fs:[0], eax
mov eax, dword [esp + 0x4c0]
mov ebp, dword [esp + 0x4bc]
lea ecx, [esp + 0x13c]
mov dword [esp + 0x14], eax
call fcn.00418990
mov ebx, 0x105
mov dword [esp + 0x4b4], 0
mov ecx, ebx
lea esi, [esp + 0x144]
mov dword [esp + 0x25c], ebx
call fcn.00419a20
cmp byte [esp + 0x258], 0
lea eax, [esp + 0x148]
jne 0x41c936
mov eax, dword [esp + 0x144]
mov edi, dword [0x5313e4]
add eax, 4
push eax
push 0
push 0
push 0x1a
push 0
call edi
test eax, eax
je 0x41ca39
xor eax, eax
cmp dword [esp + 0x25c], eax
je 0x41c964
mov dword [esp + 0x25c], eax
mov ecx, 1
lea esi, [esp + 0x144]
mov dword [esp + 0x140], eax
call fcn.00419a20
cmp byte [esp + 0x258], 0
lea eax, [esp + 0x148]
jne 0x41c994
mov eax, dword [esp + 0x144]
xor ecx, ecx
mov word [eax + 4], cx
mov ecx, ebx
lea esi, [esp + 0x144]
mov dword [esp + 0x25c], ebx
call fcn.00419a20
cmp byte [esp + 0x258], 0
lea eax, [esp + 0x148]
jne 0x41c9c7
mov eax, dword [esp + 0x144]
add eax, 4
push eax
push 1
push 0
push 0x1a
push 0
call edi
test eax, eax
je 0x41ca39
lea ecx, [esp + 0x13c]
call fcn.0041ebd0
mov ecx, dword [esp + 0x14]
call fcn.00417c00
push 0x55e510
push 0x55e008
mov edx, eax
call fcn.00419360
add esp, 8
cmp byte [esp + 0x258], 0
mov dword [esp + method.t_str.virtual_0], vtable.t_str.0
jne 0x41ca32
mov eax, dword [esp + 0x144]
lea edx, [esp + 0x148]
cmp eax, edx
je 0x41ca32
push eax
call fcn.004fe606
add esp, 4
xor al, al
jmp 0x41cc7b
lea edi, [esp + 0x13c]
call fcn.00418f80
cmp byte [esp + 0x258], 0
lea esi, [esp + 0x148]
jne 0x41ca5d
mov esi, dword [esp + 0x144]
lea ecx, [esp + 0x260]
call fcn.00418990
lea eax, [esi + 4]
lea edx, [esp + 0x260]
call fcn.00418b90
mov byte [esp + 0x4b4], 0
cmp byte [esp + 0x37c], 0
lea eax, [esp + 0x26c]
jne 0x41ca98
mov eax, dword [esp + 0x268]
lea esi, [ebp + 0x24c]
add eax, 4
mov edx, esi
call fcn.00418b90
cmp byte [esp + 0x37c], 0
mov ebx, vtable.t_str.0
mov dword [esp + 0x260], ebx
jne 0x41cad9
mov eax, dword [esp + 0x268]
lea ecx, [esp + 0x26c]
cmp eax, ecx
je 0x41cad9
push eax
call fcn.004fe606
add esp, 4
cmp byte [ebp + 0x368], 0
lea eax, [ebp + 0x258]
jne 0x41caee
mov eax, dword [ebp + 0x254]
add eax, 4
push eax
push str.AppData_Path:_s_r_n
call fcn.0043ccd0
add esp, 8
cmp byte [ebp], 0
je 0x41cc4d
mov ecx, esi
call fcn.00420cb0
push eax
lea ecx, [esp + 0x264]
call fcn.00418ac0
mov ecx, str.Application_Data
lea eax, [esp + 0x260]
mov byte [esp + 0x4b4], 2
call fcn.00418c70
test al, al
je 0x41cc21
mov eax, str.AppDataRoaming
lea edx, [esp + 0x260]
call fcn.00418b90
lea ecx, [esp + 0x384]
call fcn.0041ee30
lea edx, [esp + 0x384]
push edx
mov ecx, esi
mov byte [esp + 0x4b8], 3
call fcn.00420e50
cmp byte [esp + 0x37c], 0
lea edi, [esp + 0x26c]
jne 0x41cb8a
mov edi, dword [esp + 0x268]
lea ecx, [esp + 0x18]
call fcn.00418990
lea eax, [edi + 4]
lea edx, [esp + 0x18]
call fcn.00418b90
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x388]
call fcn.0041f520
cmp byte [esp + 0x134], 0
mov dword [esp + 0x18], ebx
jne 0x41cbd3
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x24]
cmp eax, ecx
je 0x41cbd3
push eax
call fcn.004fe606
add esp, 4
cmp byte [esp + 0x4a0], 0
lea eax, [esp + 0x390]
jne 0x41cbeb
mov eax, dword [esp + 0x38c]
add eax, 4
mov edx, esi
call fcn.00418b90
cmp byte [esp + 0x4a0], 0
mov dword [esp + 0x384], ebx
jne 0x41cc21
mov eax, dword [esp + 0x38c]
lea edx, [esp + 0x390]
cmp eax, edx
je 0x41cc21
push eax
call fcn.004fe606
add esp, 4
cmp byte [esp + 0x37c], 0
mov dword [esp + 0x260], ebx
jne 0x41cc4d
mov eax, dword [esp + 0x268]
lea ecx, [esp + 0x26c]
cmp eax, ecx
je 0x41cc4d
push eax
call fcn.004fe606
add esp, 4
cmp byte [esp + 0x258], 0
mov dword [esp + 0x13c], ebx
jne 0x41cc79
mov eax, dword [esp + 0x144]
lea edx, [esp + 0x148]
cmp eax, edx
je 0x41cc79
push eax
call fcn.004fe606
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x4ac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x494]
xor ecx, esp
call fcn.004fdc2b
add esp, 0x4a4
ret 8