Function at 0x426320
Capabilities:
Get common file path

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x44bf51
push eax
mov eax, dword [0x45b54c]
mov dword fs:[0], esp
sub esp, 0x218
push ebx
push ebp
xor ebp, ebp
push esi
cmp eax, ebp
mov al, byte [0x45c550]
mov ebx, ecx
je 0x42637a
test al, 1
jne 0x426376
mov dl, al
mov ecx, 0x45c560
or dl, 1
mov byte [0x45c550], dl
call fcn.00428c20
push 0x404c10
call fcn.0043667e
add esp, 4
push 7
jmp 0x4263a6
test al, 1
jne 0x4263a4
mov dl, byte [0x45c550]
mov ecx, 0x45c560
or dl, 1
mov byte [0x45c550], dl
call fcn.00428c20
push 0x404c10
call fcn.0043667e
add esp, 4
push 6
mov ecx, 0x45c560
call fcn.00428ef0
mov eax, dword [ebx + 0x70]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
cmp eax, 0x3001
jl 0x42649e
mov edx, dword [0x45b528]
cmp dword [edx - 8], ebp
je 0x42649e
mov ecx, 0x45b4f0
call fcn.004210e0
test eax, eax
je 0x42649e
mov eax, dword [0x45b330]
lea ecx, [esp + 0x18]
mov dword [0x45b550], ebp
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, ebp
jne 0x426412
mov word [esp + 0x18], bp
mov edx, pe_nt_image_headers32
sub edx, eax
cmp edx, 1
jle 0x42642f
lea eax, [esp + 0x18]
mov ecx, 0x45b560
push eax
call fcn.00403e20
jmp 0x426480
push 0x1ff
mov ecx, 0x45b560
mov esi, 0x200
call fcn.004048a0
cmp eax, ebp
je 0x426474
push esi
push eax
push 0x91
call fcn.00404ba0
mov ecx, esi
sub ecx, eax
cmp ecx, 1
jg 0x426474
add esi, 0x100
mov ecx, 0x45b560
lea edx, [esi - 1]
push edx
call fcn.004048a0
cmp eax, ebp
jne 0x426447
push 0xffffffffffffffff
mov ecx, 0x45b560
call fcn.00404960
mov eax, dword [ebx + 0x70]
push 0x5002
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x70]
push 3
push eax
mov edx, dword [eax]
call dword [edx + 0x1c]
jmp 0x426527
call fcn.00406be0
test eax, eax
je 0x426599
push edi
mov ecx, 0x82
xor eax, eax
lea edi, [esp + 0x1e]
mov word [esp + 0x1c], bp
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push ebp
lea ecx, [esp + 0x20]
push 0x6400000
push ecx
call fcn.00405be0
add esp, 0xc
test eax, eax
pop edi
je 0x42653f
lea edx, [esp + 0x18]
test edx, edx
jne 0x4264f2
xor eax, eax
jmp 0x4264fd
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [esp + 0x18]
push ecx
push eax
mov ecx, 0x45b56c
call fcn.00404a30
mov eax, dword [ebx + 0x70]
cmp eax, ebp
je 0x42651c
mov edx, dword [eax]
push 1
push eax
call dword [edx + 0x44]
mov eax, dword [ebx + 0x70]
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [esp + 0x224]
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x224
ret
push ebp
push 0x6400000
call fcn.00406a90
add esp, 8
cmp ax, bp
jne 0x426570
push 0x40
push 0x96
push 0xb4
push ebp
call fcn.00418c40
add esp, 0x10
mov ecx, ebx
call fcn.00427d50
jmp 0x426527
and eax, 0xffff
push eax
push 0x45583c
push 0x45b56c
call fcn.004074e0
mov eax, dword [ebx + 0x70]
add esp, 0xc
cmp eax, ebp
je 0x42651c
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x44]
jmp 0x42651c
mov edx, dword [0x45b56c]
push ebp
push 0x6400000
push edx
call fcn.00405be0
add esp, 0xc
test eax, eax
jne 0x42651c
mov eax, dword [0x45b56c]
lea ecx, [esp + 0xc]
push eax
push ecx
call fcn.00405c40
add esp, 8
lea edx, [esp + 0x14]
push 1
push edx
lea ecx, [esp + 0x14]
mov dword [esp + 0x234], ebp
call fcn.00404070
mov esi, eax
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
cmp ecx, eax
mov byte [esp + 0x22c], 1
je 0x426634
cmp dword [ecx - 0xc], ebp
jge 0x426606
mov edx, dword [0x455054]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x42660b
cmp dword [eax - 0xc], ebp
jge 0x42661b
push eax
mov eax, dword [eax - 8]
push eax
lea ecx, [esp + 0x14]
call fcn.00404a30
jmp 0x426634
lea ecx, [esp + 0xc]
call fcn.00401880
mov esi, dword [esi]
mov dword [esp + 0xc], esi
add esi, 0xfffffff4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x14]
mov edx, dword [0x455054]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x426665
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x426665
mov edx, dword [esp + 0x14]
lea eax, [edx - 0xc]
push eax
call fcn.0042ac06
add esp, 4
mov eax, dword [0x455050]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xc]
push 0x64
push ecx
lea edx, [esp + 0x18]
push 0xb5
push edx
mov byte [esp + 0x23c], 2
call fcn.004041e0
mov eax, dword [esp + 0x20]
push 0x40
push 0x96
push eax
push ebp
call fcn.00418ed0
add esp, 0x20
mov ecx, ebx
call fcn.00427d50
mov eax, dword [esp + 0x10]
mov edx, dword [0x455054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4266d3
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4266d3
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.0042ac06
add esp, 4
mov eax, dword [esp + 0xc]
mov edx, dword [0x455054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x426527
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x426527
mov edx, dword [esp + 0xc]
add edx, 0xfffffff4
push edx
call fcn.0042ac06
add esp, 4
jmp 0x426527