Function at 0x41c590
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dfa0e
mov eax, dword fs:[0]
push eax
sub esp, 0x240
mov eax, dword [0x676314]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24c], ecx
mov dword [ebp - 4], 2
call fcn.00473856
test al, al
je 0x41c5e6
jmp 0xef4dfe5f
call fcn.0041c1d0
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x5c]
call eax
test al, al
je 0x41c867
call fcn.004732ad
test al, al
je 0x41c61e
leave
mov esp, 0x3ad9a81a
popfd
ror dword [ecx], 1
pop ss
out 0xec, al
cdq
jno 0x41c68b
retf
call fcn.00473742
test al, al
je 0x41c63e
aas
push ebx
sbb ebp, dword [ebx]
push esp
mov esp, 0x2f5f0345
dec eax
lds edx, [edi + 0x54c432cc]
sar byte [esi - 0x7d], cl
int 0xdd
call fcn.004732ad
test al, al
je 0x41c65e
std
pop edi
clc
int 0x7b
invalid
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004830b0
add esp, 0xc
lea eax, [ebp - 0x218]
push 0
push 0x10
call 0x6b41c678
add byte [edx + 0x10], ch
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x41c867
fadd dword [ecx]
add byte [eax], al
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00403b30
push 1
push 0x5e8aa0
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 3
call fcn.00405710
push 0xffffffffffffffff
push 0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x248]
call fcn.00405600
push 4
push 0x5ea9b0
lea ecx, [ebp - 0x248]
call fcn.00405710
call fcn.0047362e
test al, al
je 0x41c705
mov eax, 0xc6fffffd
inc ebp
cld
add ebp, eax
pop ecx
nop
invalid
or al, 0x42
xlatb
jne 0x41c676
dec ebp
jb 0x41c739
inc edi
leave
jge 0x41c6ee
test ecx, esp
mov cl, 0x93
sub edi, dword [ecx + 0xd266df1]
or ecx, esp
dec ebx
xor dl, al
sub ch, byte [edx]
jne 0x41c743
call fcn.0047351a
test al, al
je 0x41c725
outsd dx, dword [esi]
dec eax
xlatb
jle 0x41c6aa
retf 0x9a7
call fcn.004733c1
test al, al
je 0x41c745
and dword [ebx - 0x15402649], esp
invalid
xlatb
neg byte [esi - 0x7e]
push ds
test dh, bl
bound esi, qword [edi - 0x17213c74]
xchg byte [ebx - 2], bl
dec dword [ebx + 0x4978e8c8]
add eax, 0x8d8d5000
sar ch, 1
invalid
ret
call fcn.004022d0
mov ecx, eax
call fcn.004710c9
push eax
lea ecx, [ebp - 0x230]
call fcn.00403b30
push 0xa
push str.Config.exe
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 4
call fcn.00405710
call fcn.0047362e
test al, al
je 0x41c78d
add ebx, dword [edx - 0x58]
dec ebx
fsubr qword [ebp - 0x688bd8eb]
inc eax
aas
inc esi
mov al, byte [0xe86e203a]
outsd dx, dword es:[esi]
add eax, 0x74c08400
pop ds
call fcn.004736b8
test al, al
je 0x41c7b5
mov dword [0xd3d9dfa0], esi
push ss
iretd
cmp dword [ebp + 0x34], 8
lea esi, [ebp + 0x20]
lea edx, [ebp + 0x38]
cmovae esi, dword [ebp + 0x20]
lea ecx, [ebp - 0x230]
cmp dword [ebp + 0x4c], 8
lea eax, [ebp - 0x248]
push esi
cmovae edx, dword [ebp + 0x38]
cmp dword [ebp - 0x21c], 8
push 0
cmovae ecx, dword [ebp - 0x230]
cmp dword [ebp - 0x234], 8
push 0
cmovae eax, dword [ebp - 0x248]
push 1
push edx
push 0
push ecx
mov ecx, dword [ebp - 0x24c]
push eax
call int.0041c8f0
mov esi, eax
mov eax, dword [ebp - 0x21c]
cmp eax, 8
jb 0x41c82a
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402750
xor eax, eax
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x220], 0
cmp eax, 8
jb 0x41c869
inc eax
lea ecx, [ebp - 0x248]
push eax
push dword [ebp - 0x248]
call fcn.00402750
jmp 0x41c869
xor esi, esi
mov eax, dword [ebp + 0x1c]
cmp eax, 8
jb 0x41c87e
inc eax
lea ecx, [ebp + 8]
push eax
push dword [ebp + 8]
call fcn.00402750
xor eax, eax
mov dword [ebp + 0x1c], 7
mov word [ebp + 8], ax
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
cmp eax, 8
jb 0x41c8a7
inc eax
lea ecx, [ebp + 0x20]
push eax
push dword [ebp + 0x20]
call fcn.00402750
mov ecx, dword [ebp + 0x4c]
xor eax, eax
mov dword [ebp + 0x34], 7
mov dword [ebp + 0x30], 0
mov word [ebp + 0x20], ax
cmp ecx, 8
jb 0x41c8d0
inc ecx
push ecx
push dword [ebp + 0x38]
lea ecx, [ebp + 0x38]
call fcn.00402750
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046ce06
mov esp, ebp
pop ebp
ret 0x48