Function at 0x425a60
Capabilities:
Get common file path

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x458441
push eax
mov eax, dword [0x469c64]
mov dword fs:[0], esp
sub esp, 0x218
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
mov ebp, ecx
jne 0x425ab0
mov eax, dword [ebp + 0x7c4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
cmp eax, ebx
je 0x425aa8
push ebx
push ebx
push ebx
push ebx
mov ecx, ebp
call fcn.00427840
cmp dword [0x469c64], ebx
je 0x425adf
mov al, byte [0x46aed0]
test al, 1
jne 0x425adb
mov dl, al
mov ecx, 0x46aee0
or dl, 1
mov byte [0x46aed0], dl
call fcn.00433620
push 0x403fb0
call fcn.00442500
add esp, 4
push 7
jmp 0x425b0c
mov al, byte [0x46aed0]
test al, 1
jne 0x425b0a
mov dl, al
mov ecx, 0x46aee0
or dl, 1
mov byte [0x46aed0], dl
call fcn.00433620
push 0x403fb0
call fcn.00442500
add esp, 4
push 6
mov ecx, 0x46aee0
call fcn.004338f0
mov eax, dword [ebp + 0x70]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
cmp eax, 0x3001
jl 0x425c04
mov edx, dword [0x469c40]
cmp dword [edx - 8], ebx
je 0x425c04
mov ecx, 0x469c08
call fcn.004317b0
test eax, eax
je 0x425c04
mov eax, dword [0x469708]
lea ecx, [esp + 0x1c]
mov dword [0x469c68], ebx
push pe_nt_image_headers32
mov eax, dword [eax + 8]
push ecx
push 0x91
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
cmp eax, ebx
jne 0x425b78
mov word [esp + 0x1c], bx
mov edx, pe_nt_image_headers32
sub edx, eax
cmp edx, 1
jle 0x425b95
lea eax, [esp + 0x1c]
mov ecx, 0x469c78
push eax
call fcn.004030c0
jmp 0x425be6
push 0x1ff
mov ecx, 0x469c78
mov esi, 0x200
call fcn.00403bf0
cmp eax, ebx
je 0x425bda
push esi
push eax
push 0x91
call fcn.00403f40
mov ecx, esi
sub ecx, eax
cmp ecx, 1
jg 0x425bda
add esi, 0x100
mov ecx, 0x469c78
lea edx, [esi - 1]
push edx
call fcn.00403bf0
cmp eax, ebx
jne 0x425bad
push 0xffffffffffffffff
mov ecx, 0x469c78
call fcn.00403cb0
mov eax, dword [ebp + 0x70]
push 0x5002
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp + 0x70]
push 3
push eax
mov edx, dword [eax]
call dword [edx + 0x1c]
jmp 0x425efb
call fcn.0042b2a0
test eax, eax
je 0x425d6a
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x1e]
mov word [esp + 0x1c], bx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push ebx
lea ecx, [esp + 0x20]
push 0x6400000
push ecx
call fcn.0042a2a0
add esp, 0xc
test eax, eax
je 0x425d06
lea edx, [esp + 0x1c]
test edx, edx
jne 0x425c5a
xor eax, eax
jmp 0x425c65
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [esp + 0x1c]
push ecx
push eax
mov ecx, 0x469c84
call fcn.00403e10
mov eax, dword [ebp + 0x70]
cmp eax, ebx
je 0x425c84
mov edx, dword [eax]
push 1
push eax
call dword [edx + 0x44]
cmp dword [0x469c64], ebx
jne 0x425ef0
mov edi, dword [ebp + 0x7bc]
mov eax, dword [0x469c48]
cmp eax, edi
je 0x425ef0
cmp dword [eax - 0xc], ebx
jge 0x425cb5
mov ecx, dword [0x46305c]
add eax, 0xfffffff4
cmp eax, ecx
jne 0x425cbe
cmp dword [edi - 0xc], ebx
jge 0x425ed1
mov esi, dword [edi - 8]
mov ecx, 0x469c48
push esi
call fcn.00407470
test eax, eax
je 0x425ef0
mov ecx, dword [0x469c48]
lea ebx, [esi + esi]
push ebx
lea eax, [esi + esi + 2]
push edi
push eax
push ecx
call fcn.00402e50
mov edx, dword [0x469c48]
add esp, 0x10
mov dword [edx - 8], esi
mov eax, dword [0x469c48]
mov word [ebx + eax], 0
jmp 0x425ef0
push ebx
push 0x6400000
call fcn.0042b150
add esp, 8
cmp ax, bx
jne 0x425d3a
push 0x40
push 0x96
push 0xb4
push ebx
call fcn.00411c80
add esp, 0x10
mov ecx, ebp
call fcn.004270d0
jmp 0x425efb
and eax, 0xffff
push eax
push 0x4639f0
push 0x469c84
call fcn.00406f70
mov eax, dword [ebp + 0x70]
add esp, 0xc
cmp eax, ebx
je 0x425c84
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x44]
jmp 0x425c84
mov edx, dword [0x469c84]
push ebx
push 0x6400000
push edx
call fcn.0042a2a0
add esp, 0xc
test eax, eax
jne 0x425c84
mov eax, dword [0x469c84]
lea ecx, [esp + 0x10]
push eax
push ecx
call fcn.0042a300
add esp, 8
lea edx, [esp + 0x18]
push 1
push edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x238], ebx
call fcn.004033c0
mov esi, eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov byte [esp + 0x230], 1
je 0x425e05
cmp dword [ecx - 0xc], ebx
jge 0x425dd7
mov edx, dword [0x46305c]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x425ddc
cmp dword [eax - 0xc], ebx
jge 0x425dec
push eax
mov eax, dword [eax - 8]
push eax
lea ecx, [esp + 0x18]
call fcn.00403e10
jmp 0x425e05
lea ecx, [esp + 0x10]
call fcn.00403ed0
mov esi, dword [esi]
mov dword [esp + 0x10], esi
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x18]
mov edx, dword [0x46305c]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x425e36
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x425e36
mov edx, dword [esp + 0x18]
lea eax, [edx - 0xc]
push eax
call fcn.0043733c
add esp, 4
mov eax, dword [0x463058]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
push 0x64
push ecx
lea edx, [esp + 0x1c]
push 0xb5
push edx
mov byte [esp + 0x240], 2
call fcn.00403530
mov eax, dword [esp + 0x24]
push 0x40
push 0x96
push eax
push ebx
call fcn.00411f10
add esp, 0x20
mov ecx, ebp
call fcn.004270d0
mov eax, dword [esp + 0x14]
mov edx, dword [0x46305c]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x425ea4
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x425ea4
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.0043733c
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, dword [0x46305c]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x425efb
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x425efb
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.0043733c
add esp, 4
jmp 0x425efb
mov ecx, 0x469c48
call fcn.00403ed0
mov eax, dword [ebp + 0x7bc]
mov dword [0x469c48], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [ebp + 0x70]
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [esp + 0x228]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x224
ret