Function at 0x40a547
Capabilities:
Get common file path

Disassembly:
sub esp, 0x20
mov eax, dword [0x428300]
xor eax, esp
mov dword [esp + 0x1c], eax
push ebx
push esi
push edi
push 0x48d
call fcn.0040bfc3
mov edi, eax
mov dword [esp], 0x8c9
call fcn.0040d14f
mov ebx, eax
mov eax, dword [0x425004]
imul eax, eax, 0x2d
pop ecx
push 0xfffffffffffffffa
pop ecx
push edi
sub ecx, eax
add dword [0x425040], ecx
mov esi, 0x12b
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [0x425004], eax
mov eax, dword [0x42503c]
imul eax, eax, 0x49
add eax, esi
push str.DoWhit
lea ecx, [esp + 0x10]
mov dword [0x425034], eax
call fcn.00409f29
mov esi, dword [0x425034]
mov eax, dword [0x425004]
imul esi, esi, 6
sub esi, eax
push 0xa
lea eax, [eax + esi + 0x12]
push 0x462068
mov dword [0x425040], eax
lea eax, [esp + 0x14]
push eax
push ebx
push edi
push 0x462870
call fcn.0040a2a8
pop ecx
pop ecx
push eax
call fcn.0040a2a8
pop ecx
pop ecx
push eax
call fcn.0040a3e2
pop ecx
pop ecx
push eax
call fcn.0040a2a8
pop ecx
pop ecx
push eax
call fcn.0040a17d
mov eax, dword [0x425004]
mov edx, dword [0x42503c]
pop ecx
pop ecx
mov ecx, dword [0x425040]
mov ebx, ecx
sub ebx, eax
add ebx, 0x3f
cmp ebx, edx
lea edi, [eax + esi + 1]
jne 0x40a635
mov ecx, eax
imul ecx, ecx, 5
add ecx, edx
mov dword [0x425040], ecx
mov edx, dword [0x425034]
lea ebx, [edx + edi - 0xcc]
add esi, 0x1a
cmp ebx, 0xd09
jb 0x40a658
add edx, edi
lea eax, [eax + edx - 0x60]
mov dword [0x425004], eax
push edi
push ecx
add esi, 0x15214
push esi
call fcn.00401a84
mov eax, dword [0x425004]
lea ecx, [eax - 0xb3]
mov edx, 0x1304
add esp, 0xc
cmp ecx, edx
jbe 0x40a6a3
mov ebx, dword [0x425034]
mov ecx, dword [0x425040]
lea ebx, [ebx + esi + 0x15212]
lea ecx, [ecx + edi + 0x15212]
mov dword [0x425034], ebx
mov dword [0x425040], ecx
lea ecx, [edi - 0x8c]
cmp esi, ecx
je 0x40a6b6
mov edi, eax
imul edi, edi, 5
add edi, esi
jmp 0x40a6c2
lea ecx, [edi + esi]
lea eax, [eax + ecx - 0x60]
mov dword [0x425004], eax
add eax, 0xffffff4d
cmp eax, edx
jbe 0x40a6dc
mov eax, dword [0x425040]
lea eax, [eax + edi + 0x15212]
mov dword [0x425040], eax
call fcn.00401065
mov eax, dword [0x425004]
mov ecx, dword [0x42503c]
imul eax, eax, 5
imul ecx, ecx, 0x49
add eax, esi
mov dword [0x425034], eax
lea edi, [ecx + eax + 0x41ffb0]
call fcn.00401faf
mov eax, dword [0x425034]
mov edx, dword [0x42506c]
lea ecx, [eax + esi + 0x41c2aa]
lea esi, [edx + edi + 1]
imul edx, ecx
mov eax, fcn.00401faf
imul eax, eax, 5
mov ebx, 0x425090
add eax, ebx
sub edx, eax
add edi, 0x41ffb0
cmp ecx, 0x16
mov dword [0x42503c], esi
mov dword [0x425034], edx
je 0x40a76e
cmp ecx, 0x73
je 0x40a765
push ebp
mov ebp, 0x425b70
imul ebp, ebp, 3
lea ebp, [ecx + ebp - 0xa98f]
lea ecx, [ecx + ebp + 0x15212]
pop ebp
jmp 0x40a775
lea ecx, [ecx + edi + 0x15212]
jmp 0x40a775
lea ecx, [edi + ecx*2 + 0x41b1e1]
lea eax, [eax + 0x425090]
lea eax, [eax + eax - 0x4e]
imul eax, edx
sub eax, esi
imul eax, eax, 3
add eax, str._changed._i.e._this_code_r_ncannot_simply_be_copied_and_put_under_another_distribution_licence_r_n_including_the_GNU_Public_L
cmp ecx, 0x16
mov dword [0x425040], ebx
lea esi, [eax + 0x41a701]
je 0x40a7be
cmp ecx, 0x73
je 0x40a7b5
imul edi, edi, 3
lea edi, [edi + ecx - 0xa98f]
lea eax, [ecx + edi + 0x15212]
jmp 0x40a7d1
lea eax, [ecx + esi + 0x15212]
jmp 0x40a7d1
lea eax, [edi + ecx*2]
lea eax, [eax + esi - 0xa98f]
mov ecx, eax
imul ecx, ecx, 5
add ecx, esi
mov edi, ecx
lea ecx, [eax + edi - 0xcc]
cmp ecx, 0xd09
mov dword [0x425004], eax
jb 0x40a7f1
lea eax, [eax + edi + 0x425030]
mov dword [0x425040], eax
call fcn.00401065
mov eax, dword [0x425004]
mov ecx, dword [0x42503c]
imul eax, eax, 5
add eax, esi
lea ecx, [eax + ecx*2]
lea ecx, [ecx + edi - 0xa98f]
mov dword [0x42503c], ecx
imul ecx, ecx, 0x2d
neg esi
sub esi, ecx
sub esi, 0x41c298
push 0
add eax, esi
push 1
lea ecx, [esp + 0x14]
mov dword [0x425034], eax
call fcn.00409b35
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0040ca61
add esp, 0x20
ret 0x10