Function at 0x410bf2
Capabilities:
Get common file path

Disassembly:
mov eax, 0x44c5ff
call fcn.0042c4cc
sub esp, 0x390
mov al, byte [ebp - 0xe]
push ebx
push esi
xor ebx, ebx
push edi
mov esi, ecx
push ebx
push ebx
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x18], esi
mov byte [ebp - 0x50], al
call fcn.00404cfe
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ebx
mov al, byte [0x46a9b4]
push 0x40
mov byte [ebp - 0x194], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x193]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [ebp - 0xe]
push ebx
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], ebx
mov byte [ebp - 0x60], al
call fcn.004151e3
lea eax, [ebp - 0x60]
lea ecx, [esi + 0x1c8]
push eax
push 0x45f5ac
mov byte [ebp - 4], 1
mov dword [ebp - 0x20], ecx
call fcn.0041b56e
test eax, eax
je 0x410c8a
mov eax, dword [ebp - 0x5c]
cmp eax, ebx
jne 0x410c7a
mov eax, 0x44f48c
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.0042cc90
pop ecx
jmp 0x410c96
lea eax, [ebp - 0x194]
push eax
call fcn.0041d215
pop ecx
lea eax, [ebp - 0x50]
push dword [esi + 0x518]
push eax
lea eax, [ebp - 0x194]
push eax
push 0x4623ac
call fcn.004208e7
add esp, 0x10
lea eax, [ebp - 0xe]
lea ecx, [ebp - 0x70]
push eax
lea eax, [ebp - 0xd]
push ebx
push eax
call fcn.00413dc2
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 2
mov esi, dword [eax]
cmp esi, eax
je 0x410d2b
mov edi, dword [esi + 0xc]
cmp edi, ebx
jne 0x410cdf
mov edi, 0x44f48c
mov al, byte [ebp - 0xd]
push ebx
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x40], al
call fcn.004151e3
push edi
call fcn.0042cc10
pop ecx
push eax
push edi
lea ecx, [ebp - 0x40]
call fcn.00401879
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x70]
push eax
lea eax, [ebp - 0x8c]
push eax
mov byte [ebp - 4], 3
call fcn.00413de8
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.004151e3
mov esi, dword [esi]
cmp esi, dword [ebp - 0x4c]
jne 0x410cd3
mov eax, dword [0x46640c]
mov dword [ebp - 0x24], eax
mov esi, 0x104
lea ecx, [ebp - 0x24]
push esi
mov byte [ebp - 4], 4
call fcn.00443919
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x44]
push str._Y_b_d__H_M_S
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.0043ee48
mov ecx, eax
call fcn.0043ee5b
mov eax, dword [0x46640c]
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x44]
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 6
push dword [ebp - 0x24]
push str._sICEVERSIONS_s.LOG
push eax
call fcn.0043ed51
add esp, 0x10
lea ecx, [ebp - 0x84]
push 0x5001
push dword [ebp - 0x1c]
call fcn.00444ad3
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], 7
mov eax, dword [esi + 0x51c]
cmp eax, ebx
je 0x410dca
movzx ecx, word [ebp - 0x48]
shl ecx, 0x10
push ecx
push ebx
push 0x401
push dword [eax + 0x27c]
call dword [0x46a910]
mov al, byte [ebp - 0xd]
push ebx
push ebx
lea ecx, [ebp - 0x30]
mov byte [ebp - 0x30], al
call fcn.00404cfe
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ebx
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 8
mov eax, dword [ecx]
cmp eax, ecx
mov dword [ebp - 0x14], eax
je 0x410f31
mov edi, 0xffff
mov eax, dword [esi + 0x51c]
cmp eax, ebx
je 0x410e16
push ebx
push ebx
push 0x405
push dword [eax + 0x27c]
call dword [0x46a910]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
cmp eax, ebx
jne 0x410e25
mov eax, 0x44f48c
push eax
call fcn.00420b9f
pop ecx
mov esi, edx
mov ecx, eax
or ecx, esi
je 0x410f1a
mov ecx, eax
and ecx, edi
push ecx
push 0x10
pop ecx
call fcn.0042cd80
and eax, edi
mov ecx, esi
push eax
mov eax, esi
sar eax, 0x1f
mov eax, esi
and ecx, edi
sar eax, 0x10
push ecx
push eax
lea eax, [ebp - 0x39c]
push str._2.2d._2.2d._5.5d._5.5d
push eax
sar esi, 0x1f
call fcn.0042c4eb
mov al, byte [ebp - 0xd]
add esp, 0x18
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x40], al
push ebx
call fcn.004151e3
lea eax, [ebp - 0x39c]
push eax
call fcn.0042cc10
pop ecx
push eax
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401879
mov esi, 0x45ffd4
mov byte [ebp - 4], 9
push esi
call fcn.0042cc10
pop ecx
push eax
push esi
lea ecx, [ebp - 0x40]
call fcn.00404b64
mov eax, dword [ebp - 0x14]
mov esi, 0x44f48c
mov eax, dword [eax + 0x10]
cmp eax, ebx
je 0x410ec6
mov esi, eax
push esi
call fcn.0042cc10
pop ecx
push eax
push esi
lea ecx, [ebp - 0x40]
call fcn.00404b64
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x30]
push eax
lea eax, [ebp - 0x88]
push dword [ebp - 0x2c]
push eax
call fcn.00404cc4
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x51c]
cmp ecx, ebx
je 0x410f0c
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
jne 0x410f06
mov eax, 0x44f48c
push eax
call fcn.00442c08
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 8
call fcn.004151e3
lea ecx, [ebp - 0x14]
call fcn.004143cb
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x6c]
jne 0x410df9
mov ecx, dword [ebp - 0x20]
push str.sort
call fcn.00402867
test eax, eax
je 0x410f4a
lea ecx, [ebp - 0x30]
call fcn.004138ea
mov eax, dword [esi + 0x51c]
cmp eax, ebx
je 0x410f6e
movzx ecx, word [ebp - 0x28]
shl ecx, 0x10
push ecx
push ebx
push 0x401
push dword [eax + 0x27c]
call dword [0x46a910]
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax]
cmp edi, eax
je 0x410fc2
mov eax, dword [edi + 0xc]
cmp eax, ebx
jne 0x410f83
mov eax, 0x44f48c
push eax
lea ecx, [ebp - 0x84]
call fcn.00444d22
push 0x462364
lea ecx, [ebp - 0x84]
call fcn.00444d22
mov ecx, dword [esi + 0x51c]
cmp ecx, ebx
je 0x410fbb
mov eax, dword [edi + 0xc]
cmp eax, ebx
jne 0x410fb5
mov eax, 0x44f48c
push eax
call fcn.00442c08
mov edi, dword [edi]
cmp edi, dword [ebp - 0x2c]
jne 0x410f77
lea ecx, [ebp - 0x84]
call fcn.00444edf
mov esi, str.notepad.exe
lea edi, [ebp - 0x298]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0x3d
xor eax, eax
pop ecx
lea edi, [ebp - 0x28b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x84]
push eax
call fcn.0044504e
push dword [eax]
lea eax, [ebp - 0x298]
push eax
call fcn.0042cca0
pop ecx
pop ecx
lea ecx, [ebp - 0x20]
call fcn.004435ed
push ebx
push ebx
push ebx
push 0xffffffffffffffff
lea eax, [ebp - 0x298]
push ebx
push eax
call fcn.0041d40e
add esp, 0x18
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 7
call fcn.0040496f
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 6
call fcn.00444b6c
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.004435ed
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 4
call fcn.004435ed
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.004435ed
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 1
call fcn.00413a66
push 1
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], bl
call fcn.004151e3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.0040496f
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret