Function at 0x41a120
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1cc
mov eax, dword [0x44d008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x128]
mov dword [ebp - 0x1c8], ecx
push eax
push 0
push 0
push 0x28
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
je 0x41a15f
mov esi, 1
jmp 0x41aab4
mov edi, 1
mov dword [ebp - 0x15c], edi
nop word [eax + eax]
push 0x4e018
push 1
mov dword [ebp - 0x160], 0
call fcn.00426117
mov ebx, eax
add esp, 8
mov dword [ebp - 0x158], ebx
test ebx, ebx
je 0x41a1b6
sub esp, 8
mov dword [ebx + 0x50], 6
mov ecx, ebx
call fcn.004059e0
add esp, 8
test eax, eax
jne 0x41a1c0
push ebx
call fcn.004271c7
add esp, 4
mov dword [ebp - 0x158], 0
xorps xmm0, xmm0
mov dword [ebp - 0x180], 0
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x17c], 0
movups xmmword [ebp - 0x190], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a1e7
sub ecx, edx
lea eax, [ebp - 0x128]
push ecx
push eax
lea ecx, [ebp - 0x190]
call fcn.0040b990
lea eax, [ebp - 0x160]
push eax
push edi
lea eax, [ebp - 0x178]
push eax
call fcn.0041ca00
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov esi, eax
push 0xc
movups xmmword [ecx], xmm0
push str.bXNDRCoIAwQ
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040b990
lea eax, [ebp - 0x1a8]
push eax
call fcn.0041b680
push eax
lea eax, [ebp - 0x190]
push eax
push dword [ebp - 0x154]
lea ecx, [ebp - 0x1c4]
call fcn.0040bc00
push esi
lea eax, [ebp - 0x1c4]
push eax
push dword [ebp - 0x154]
lea ecx, [ebp - 0x150]
call fcn.0040bc00
mov ecx, dword [ebp - 0x1b0]
cmp ecx, 0x10
jb 0x41a2b6
mov edx, dword [ebp - 0x1c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a2ac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ecx, dword [ebp - 0x17c]
cmp ecx, 0x10
jb 0x41a2f0
mov edx, dword [ebp - 0x190]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a2e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ecx, dword [ebp - 0x194]
cmp ecx, 0x10
jb 0x41a32a
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a320
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
mov byte [ebp - 0x1a8], 0
cmp ecx, 0x10
jb 0x41a37f
mov edx, dword [ebp - 0x178]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a375
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x150]
mov ecx, esp
push eax
call fcn.0040b2e0
call fcn.0040c240
test eax, eax
je 0x41aa6c
lea esi, [ebp - 7]
mov ebx, edi
test edi, edi
jns 0x41a3d0
neg ebx
mov eax, 0xcccccccd
dec esi
mul ebx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [esi], bl
mov ebx, edx
test ebx, ebx
jne 0x41a3a8
dec esi
mov byte [esi], 0x2d
jmp 0x41a3f2
mov eax, 0xcccccccd
dec esi
mul ebx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [esi], bl
mov ebx, edx
test ebx, ebx
jne 0x41a3d0
push ecx
lea eax, [ebp - 7]
push eax
push esi
lea ecx, [ebp - 0x1c4]
call fcn.0040bee0
sub esp, 0x18
mov esi, esp
push 2
push 0x448fec
push ecx
lea ecx, [ebp - 0x1c4]
call fcn.0040b100
xorps xmm0, xmm0
sub esp, 0x18
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov ecx, esp
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x150]
push eax
call fcn.0040b2e0
mov ebx, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1c8]
push ebx
call fcn.00419e30
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1ac], eax
cmp ecx, 0x10
jb 0x41a4b3
mov edx, dword [ebp - 0x1c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a4a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
cmp dword [ebp - 0x160], 1
jne 0x41aa1e
sub esp, 0x18
mov dword [ebp - 0x130], 0
mov ecx, esp
xorps xmm0, xmm0
movq qword [ebp - 0x138], xmm0
push 0xc
movups xmmword [ecx], xmm0
push str.bXNDRCoIAwQ
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040b990
lea eax, [ebp - 0x1a8]
push eax
call fcn.0041b680
xorps xmm0, xmm0
mov dword [ebp - 0x180], 0
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x17c], 0
mov esi, eax
lea edx, [ecx + 1]
movups xmmword [ebp - 0x190], xmm0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a530
sub ecx, edx
lea eax, [ebp - 0x128]
push ecx
push eax
lea ecx, [ebp - 0x190]
call fcn.0040b990
push esi
lea eax, [ebp - 0x190]
push eax
push dword [ebp - 0x154]
lea ecx, [ebp - 0x1c4]
call fcn.0040bc00
mov ebx, dword [ebp - 0x15c]
lea eax, [ebp - 0x160]
push eax
push ebx
lea eax, [ebp - 0x178]
push eax
call fcn.0041ca00
sub esp, 0x18
mov ecx, esp
push eax
lea eax, [ebp - 0x1c4]
push eax
push dword [ebp - 0x154]
call fcn.0040bc00
lea eax, [ebp - 0x138]
push eax
call fcn.0041d040
mov ecx, dword [ebp - 0x1b0]
cmp ecx, 0x10
jb 0x41a5dd
mov edx, dword [ebp - 0x1c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a5d3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ecx, dword [ebp - 0x17c]
cmp ecx, 0x10
jb 0x41a617
mov edx, dword [ebp - 0x190]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a60d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ecx, dword [ebp - 0x194]
cmp ecx, 0x10
jb 0x41a651
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a647
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
mov byte [ebp - 0x1a8], 0
cmp ecx, 0x10
jb 0x41a6a6
mov edx, dword [ebp - 0x178]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a69c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov eax, dword [ebp - 0x134]
mov edi, dword [ebp - 0x138]
mov dword [ebp - 0x160], eax
cmp edi, eax
je 0x41aa07
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0040b2e0
call fcn.0040c240
test eax, eax
je 0x41a9f8
push ecx
push 0x448cd8
mov ecx, edi
call fcn.0040d180
cmp eax, 0xffffffff
jne 0x41a6f8
push edi
lea ecx, [ebp - 0x190]
call fcn.0040b2e0
jmp 0x41a748
lea edx, [eax + 1]
mov dword [ebp - 0x180], 0
mov eax, dword [edi + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0x17c], 0
movups xmmword [ebp - 0x190], xmm0
cmp eax, edx
jb 0x41aafe
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [edi + 0x14], 0x10
mov eax, edi
jb 0x41a739
mov eax, dword [edi]
push ecx
add eax, edx
lea ecx, [ebp - 0x190]
push eax
call fcn.0040b990
lea esi, [ebp - 7]
test ebx, ebx
jns 0x41a780
mov ecx, ebx
neg ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ebx, [eax + edx]
add bl, bl
sub cl, bl
add cl, 0x30
mov byte [esi], cl
mov ecx, edx
test ecx, ecx
jne 0x41a753
dec esi
mov byte [esi], 0x2d
jmp 0x41a7a2
mov eax, 0xcccccccd
dec esi
mul ebx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [esi], bl
mov ebx, edx
test ebx, ebx
jne 0x41a780
push ecx
lea eax, [ebp - 7]
push eax
push esi
lea ecx, [ebp - 0x1a8]
call fcn.0040bee0
push 2
push 0x448fec
push ecx
lea ecx, [ebp - 0x1a8]
call fcn.0040b100
mov dword [ebp - 0x168], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x178], xmm0
mov dword [ebp - 0x164], 0
movups xmm0, xmmword [eax]
push 0xe
push str.SearchWallet_
movups xmmword [ebp - 0x178], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x168], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x164]
mov eax, edx
mov ecx, dword [ebp - 0x168]
sub eax, ecx
cmp eax, 0xe
jb 0x41a858
cmp edx, 0x10
lea esi, [ebp - 0x178]
lea eax, [ecx + 0xe]
cmovae esi, dword [ebp - 0x178]
add esi, ecx
mov dword [ebp - 0x168], eax
push esi
call fcn.00422ce0
add esp, 0xc
mov byte [esi + 0xe], 0
lea eax, [ebp - 0x178]
jmp 0x41a872
mov byte [ebp - 0x154], 0
lea ecx, [ebp - 0x178]
push dword [ebp - 0x154]
push 0xe
call fcn.0040baa0
movups xmm0, xmmword [eax]
sub esp, 0x18
mov ecx, esp
movups xmmword [ebp - 0x1c4], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x1c4]
movq qword [ebp - 0x1b4], xmm0
push eax
push dword [ebp - 0x154]
call fcn.0040bc00
sub esp, 0x18
mov ecx, esp
push edi
call fcn.0040b2e0
push dword [ebp - 0x158]
call fcn.004195f0
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1ac], eax
cmp ecx, 0x10
jb 0x41a90e
mov edx, dword [ebp - 0x1c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a904
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ecx, dword [ebp - 0x164]
cmp ecx, 0x10
jb 0x41a948
mov edx, dword [ebp - 0x178]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a93e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0xf
mov byte [ebp - 0x178], 0
cmp ecx, 0x10
jb 0x41a99d
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a993
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
mov byte [ebp - 0x1a8], 0
cmp ecx, 0x10
jb 0x41a9f2
mov edx, dword [ebp - 0x190]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41a9e8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ebx, dword [ebp - 0x15c]
add edi, 0x18
cmp edi, dword [ebp - 0x160]
jne 0x41a6c0
lea ecx, [ebp - 0x138]
call fcn.00414a70
mov edi, dword [ebp - 0x15c]
mov ebx, dword [ebp - 0x158]
cmp dword [ebp - 0x1ac], 0
jle 0x41aa6c
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.0040b2e0
push ebx
call fcn.00410240
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 2
movups xmmword [ecx], xmm0
push 0x449000
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040b990
push ebx
lea ecx, [ebp - 0x129]
call fcn.00415a20
mov ecx, dword [ebp - 0x13c]
cmp ecx, 0x10
jb 0x41aaa2
mov edx, dword [ebp - 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41aa98
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
inc edi
mov dword [ebp - 0x15c], edi
cmp edi, 0x10
jl 0x41a170
xor esi, esi
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0x10
jb 0x41aae4
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41aada
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41aaf9
push ecx
push edx
call fcn.00420d4c
add esp, 8
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004208c0
mov esp, ebp
pop ebp
ret 0x18
call fcn.00427422
call fcn.0040b550
int3