Function at 0x43d330
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x594
mov eax, dword [0x5402b0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor eax, eax
push edi
mov edi, ecx
xor esi, esi
mov ebx, 7
mov dword [edi + 0x18], ebx
mov dword [edi + 0x14], esi
mov word [edi + 4], ax
mov eax, dword [ebp + 8]
dec eax
mov dword [ebp - 0x22c], edi
cmp eax, 0xa
ja case.default.0x43d36e
jmp dword [eax*4 + 0x43d904]
lea ecx, [ebp - 0x230]
push ecx
push esi
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov eax, dword [ebp - 0x230]
lea edx, [ebp - 0x20c]
push edx
push eax
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [ebp - 0x20c]
lea ecx, [ebp - 0x284]
call fcn.00401520
lea ecx, [ebp - 0x284]
push ecx
lea ebx, [ebp - 0x578]
call fcn.00411210
add esp, 4
push 0xffffffffffffffff
push esi
push eax
mov eax, edi
call fcn.004018f0
mov esi, ebx
call fcn.0040f420
lea esi, [ebp - 0x284]
call fcn.0040f420
jmp 0x43d8ee
lea edx, [ebp - 0x230]
push edx
push 0x1a
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov ecx, dword [ebp - 0x230]
lea eax, [ebp - 0x20c]
push eax
push ecx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [ebp - 0x20c]
lea ecx, [ebp - 0x2d8]
call fcn.00401520
lea edx, [ebp - 0x2d8]
push 0x551a14
push edx
lea ebx, [ebp - 0x460]
call fcn.00411210
add esp, 4
mov ecx, eax
lea edi, [ebp - 0x594]
call fcn.0040e410
add esp, 4
push 0xffffffffffffffff
push 0
push eax
mov eax, dword [ebp - 0x22c]
call fcn.004018f0
mov esi, edi
call fcn.0040f420
mov esi, ebx
call fcn.0040f420
lea esi, [ebp - 0x2d8]
call fcn.0040f420
mov edi, dword [ebp - 0x22c]
jmp 0x43d8ee
lea eax, [ebp - 0x230]
push eax
push 0x1a
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov edx, dword [ebp - 0x230]
lea ecx, [ebp - 0x20c]
push ecx
push edx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [ebp - 0x20c]
lea ecx, [ebp - 0x2bc]
call fcn.00401520
lea eax, [ebp - 0x2bc]
push 0x551a30
push eax
lea ebx, [ebp - 0x508]
call fcn.00411210
add esp, 4
mov ecx, eax
lea edi, [ebp - 0x348]
call fcn.0040e410
add esp, 4
push 0xffffffffffffffff
push 0
push eax
mov eax, dword [ebp - 0x22c]
call fcn.004018f0
mov esi, edi
call fcn.0040f420
mov esi, ebx
call fcn.0040f420
lea esi, [ebp - 0x2bc]
call fcn.0040f420
mov edi, dword [ebp - 0x22c]
jmp 0x43d8ee
lea ecx, [ebp - 0x20c]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x102
ja 0x43d8ee
push edi
lea eax, [ebp - 0x20c]
call fcn.0040aa60
jmp 0x43d8ee
lea edx, [ebp - 0x230]
push edx
push 0x1a
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov ecx, dword [ebp - 0x230]
lea eax, [ebp - 0x20c]
push eax
push ecx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
lea eax, [ebp - 0x20c]
lea ecx, [ebp - 0x2a0]
call fcn.00401520
lea edx, [ebp - 0x2a0]
push 0x544460
push edx
lea ebx, [ebp - 0x498]
call fcn.00411210
add esp, 4
mov ecx, eax
lea edi, [ebp - 0x380]
call fcn.0040e410
add esp, 4
push 0xffffffffffffffff
push 0
push eax
mov eax, dword [ebp - 0x22c]
call fcn.004018f0
mov esi, edi
call fcn.0040f420
mov esi, ebx
call fcn.0040f420
lea esi, [ebp - 0x2a0]
call fcn.0040f420
mov edi, dword [ebp - 0x22c]
jmp 0x43d8ee
lea eax, [ebp - 0x228]
push eax
call fcn.0044e520
mov ecx, dword [ebp - 0x224]
add esp, 4
cmp dword [ebp - 0x210], 8
jae 0x43d5ec
lea ecx, [ebp - 0x224]
mov eax, str.9.0.0.0
call fcn.00408470
test eax, eax
jl 0x43d646
lea ecx, [ebp - 0x3f0]
call fcn.0044d1b0
push eax
lea ebx, [ebp - 0x2f4]
call fcn.00411210
add esp, 4
mov edi, str.components_
mov ecx, eax
lea esi, [ebp - 0x3b8]
call fcn.0040e390
mov ecx, dword [ebp - 0x22c]
push ecx
call fcn.0040aa40
call fcn.0040f420
mov esi, ebx
call fcn.0040f420
lea esi, [ebp - 0x3f0]
jmp 0x43d690
lea ecx, [ebp - 0x540]
call fcn.0044e460
push eax
lea ebx, [ebp - 0x428]
call fcn.00411210
add esp, 4
mov edi, str.bin_se_
mov ecx, eax
lea esi, [ebp - 0x4d0]
call fcn.0040e390
mov edx, dword [ebp - 0x22c]
push edx
call fcn.0040aa40
call fcn.0040f420
mov esi, ebx
call fcn.0040f420
lea esi, [ebp - 0x540]
call fcn.0040f420
lea esi, [ebp - 0x228]
call fcn.0040f420
mov edi, dword [ebp - 0x22c]
jmp 0x43d8ee
lea ebx, [ebp - 0x32c]
call fcn.0044d8f0
push eax
lea ebx, [ebp - 0x310]
call fcn.00411210
add esp, 4
push 0xffffffffffffffff
push esi
push eax
mov eax, edi
call fcn.004018f0
mov esi, ebx
call fcn.0040f420
lea esi, [ebp - 0x32c]
call fcn.0040f420
jmp 0x43d8ee
lea ecx, [ebp - 0x39c]
call fcn.0044d850
push eax
lea ebx, [ebp - 0x364]
call fcn.00411210
add esp, 4
push 0xffffffffffffffff
push esi
push eax
mov eax, edi
call fcn.004018f0
mov esi, ebx
call fcn.0040f420
lea esi, [ebp - 0x39c]
call fcn.0040f420
jmp 0x43d8ee
lea ecx, [ebp - 0x40c]
call fcn.0044d1b0
push eax
lea ebx, [ebp - 0x3d4]
call fcn.00411210
add esp, 4
push 0xffffffffffffffff
push esi
push eax
mov eax, edi
call fcn.004018f0
mov esi, ebx
call fcn.0040f420
lea esi, [ebp - 0x40c]
call fcn.0040f420
jmp 0x43d8ee
lea ecx, [ebp - 0x47c]
call fcn.0044d3b0
push eax
lea ebx, [ebp - 0x444]
call fcn.00411210
add esp, 4
push 0xffffffffffffffff
push esi
push eax
mov eax, edi
call fcn.004018f0
mov esi, ebx
call fcn.0040f420
lea esi, [ebp - 0x47c]
call fcn.0040f420
jmp 0x43d8ee
lea ecx, [ebp - 0x524]
call fcn.0044d1b0
push eax
lea ebx, [ebp - 0x4ec]
call fcn.00411210
add esp, 4
mov edi, str.components_
mov ecx, eax
lea esi, [ebp - 0x4b4]
call fcn.0040e390
mov ebx, dword [ebp - 0x22c]
push 0xffffffffffffffff
push 0
push eax
mov eax, ebx
call fcn.004018f0
call fcn.0040f420
lea esi, [ebp - 0x4ec]
call fcn.0040f420
lea esi, [ebp - 0x524]
call fcn.0040f420
mov edi, str.icons
mov ecx, ebx
lea esi, [ebp - 0x55c]
call fcn.0040e390
push 0xffffffffffffffff
push 0
push eax
mov eax, ebx
call fcn.004018f0
call fcn.0040f420
mov edi, ebx
jmp 0x43d8ee
lea eax, [ebp - 0x230]
push eax
push esi
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
mov edx, dword [ebp - 0x230]
lea ecx, [ebp - 0x20c]
push ecx
push edx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
xor eax, eax
mov word [ebp - 0x248], ax
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x238], esi
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x43d860
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x20c]
lea esi, [ebp - 0x24c]
call fcn.004017f0
mov ecx, esi
push ecx
lea ebx, [ebp - 0x268]
call fcn.00411210
add esp, 4
push 0xffffffffffffffff
push 0
push eax
mov eax, edi
call fcn.004018f0
mov esi, 8
cmp dword [ebp - 0x250], esi
jb 0x43d8ba
mov edx, dword [ebp - 0x264]
push edx
call fcn.004c097a
add esp, 4
xor eax, eax
mov dword [ebp - 0x250], 7
mov dword [ebp - 0x254], 0
mov word [ebp - 0x264], ax
cmp dword [ebp - 0x234], esi
jb 0x43d8ee
mov ecx, dword [ebp - 0x248]
push ecx
call fcn.004c097a
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004c0985
mov esp, ebp
pop ebp
ret 4