Function at 0x440c90
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5bf7a2
mov eax, dword fs:[0]
push eax
sub esp, 0x28c
mov eax, dword [0x634274]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x268], ebx
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00486960
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea edi, [ebp - 0x218]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x440d00
mov eax, dword [0x625fd4]
mov dword [edi], eax
cmp word [ebp - 0x218], 0
jne 0x440d21
xor ecx, ecx
jmp 0x440d3f
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x440d30
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.00402510
mov eax, dword [0x63fa20]
test eax, eax
jne 0x440d8c
push 0x158
call fcn.00455626
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x440d7e
mov ecx, eax
call fcn.00450f00
jmp 0x440d80
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x63fa20], eax
mov ecx, eax
call fcn.004617b1
mov edx, eax
mov dword [ebp - 0x24c], 7
xor eax, eax
mov dword [ebp - 0x250], 0
mov word [ebp - 0x260], ax
cmp word [edx], ax
jne 0x440dbb
xor ecx, ecx
jmp 0x440dcf
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x440dc0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x260]
call fcn.00402510
mov dword [ebp - 4], 1
call fcn.004607e6
test al, al
je 0x440dfc
and al, 0x77
mov dword [ecx + 0x2b8fbf10], esp
pop ebx
int1
adc byte [edi - 0xea4d471], bh
push cs
pop edx
scasd eax, dword es:[edi]
sbb al, ch
jecxz 0x440df1
call fcn.004600e4
add dword [eax], eax
test al, al
je 0x440e1c
call 0x702810f8
ret 0x32fe
call fcn.00460129
test al, al
je 0x440e3a
aam 0xb0
or byte [esi], al
movsb byte es:[edi], byte [esi]
leave
call 0x24469f24
mov bh, 0x12
jnp 0x440de3
test eax, 0x5d79bd41
outsd dx, dword [esi]
lea ecx, [ebp - 0x298]
call fcn.0045fd5c
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 2
call fcn.0045fdfc
test eax, eax
je 0x44100c
lea eax, [ebp - 0x264]
mov dword [ebp - 0x264], 0
push eax
lea ecx, [ebp - 0x298]
call fcn.00460063
call fcn.00460579
test al, al
je 0x440e9a
retf 0xf3f3
call fcn.0046082b
test al, al
je 0x440ebd
mov bl, 0x5c
and ebp, ebx
xor ch, 0x1e
jmp 0x440eee
push 0xc
xor eax, eax
mov dword [ebp - 0x21c], 7
push str.SWOver32.dll
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.00402510
mov ebx, dword [ebp - 0x268]
lea eax, [ebp - 0x230]
push eax
push ebx
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 3
push eax
mov ecx, ebx
call int.0043d090
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x440f2e
cwde
std
invalid
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402610
push 0xc
xor eax, eax
mov dword [ebp - 0x21c], 7
push str.SWOver64.dll
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.00402510
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 4
push eax
push ebx
lea eax, [ebp - 0x260]
mov ecx, ebx
push eax
call int.0043d090
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x440f99
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402610
invalid
call fcn.00460534
test al, al
je 0x440fb8
cmp al, 0x13
salc
retf
call fcn.00460420
test al, al
je 0x440fd6
out dx, eax
ja 0x440f93
fcom qword [0x78f0b2db]
call 0x1bd99631
fdivp st(4)
into
dec ecx
ja 0x441024
pop ebp
call fcn.004607a1
test al, al
je 0x440ff6
xchg dword [ecx - 0x6b], esi
hlt
push dword [ebp - 0x264]
lea ecx, [ebp - 0x298]
call fcn.00460081
jmp 0x4410e2
push 0xc
xor eax, eax
mov dword [ebp - 0x21c], 7
push str.SWOver32.dll
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.00402510
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 5
push eax
push ebx
lea eax, [ebp - 0x260]
mov ecx, ebx
push eax
call int.0043d090
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x441077
inc edi
test eax, esp
std
invalid
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402610
push 0xc
xor eax, eax
mov dword [ebp - 0x21c], 7
push str.SWOver64.dll
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.00402510
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 6
push eax
push ebx
lea eax, [ebp - 0x260]
mov ecx, ebx
push eax
call int.0043d090
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x4410e2
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402610
call fcn.004606d2
test al, al
je 0x441101
pop edx
push esp
mov al, 0x66
mov bl, 0x42
sub ah, al
pop ss
mov al, 0x5f
cmp al, 0x16
mov dword [0x5490442f], eax
mov ebp, 0xe88e2192
pop edi
add dword [eax], eax
call fcn.00460465
test al, al
je 0x441123
pushal
fiadd word [edi + 0x4f08f7e4]
out dx, eax
shr byte [edi], 0x8f
mov esp, 0x47c2c4b9
lahf
lodsb al, byte [esi]
push edx
push ebx
ret
call fcn.00460282
test al, al
je 0x441140
leave
adc al, 0xa4
salc
fsubp st(4)
wait
invalid
xor eax, eax
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x234], 7
mov dword [ebp - 0x238], 0
add byte [eax], al
add byte [eax], al
mov word [ebp - 0x248], ax
mov byte [ebp - 4], 7
call fcn.0046068d
test al, al
je 0x44119e
dec ecx
cli
pushfd
fidiv dword [ecx]
or dl, byte [ecx + 0x62]
mov ch, 0xbc
pop ebx
add bl, byte [edx]
xchg ecx, eax
xchg esi, eax
cwde
and al, 0xf1
xchg edi, eax
imul eax, dword [edi], 0x1f09ae8
add byte [eax + eax*8 + 0x731f1974], al
invalid
call fcn.0046023d
test al, al
je 0x4411c0
pop ds
jae 0x441170
or eax, 0x1c55532a
wait
jbe 0x4411e4
inc edx
pop ebx
invalid
push 6
push str.CLSID_
lea ecx, [ebp - 0x248]
call fcn.00402510
cmp dword [ebp - 0x234], 8
lea ecx, [ebp - 0x26c]
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push ecx
add byte [ebp - 0x2477b], cl
dec dword [edi]
inc ebx
test dword [eax + 0x51fffffd], edi
push 0xf013f
push 0
push eax
push SysReAllocString
call edi
mov dword [ebp - 0x264], eax
call fcn.00460351
test al, al
je 0x441224
or eax, 0xeec6b102
iretd
call fcn.004602c7
test al, al
je 0x44124a
inc ecx
adc ecx, dword [edi]
jp 0x44125d
add eax, 0xadfb1ebf
pop edx
aaa
hlt
cmp dword [ebp - 0x264], 0
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jne 0x441277
push dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x268]
call fcn.0043d7f0
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x441277
xchg esp, eax
std
invalid
push eax
call ebx
push 0x17
push str.SOFTWAREClassesCLSID_
lea ecx, [ebp - 0x248]
call fcn.00402510
cmp dword [ebp - 0x234], 8
lea ecx, [ebp - 0x270]
push ecx
push 0xf013f
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call edi
mov esi, eax
mov dword [ebp - 0x264], esi
call fcn.004600e4
test al, al
je 0x4412e0
mov ebp, 0xc71005d9
jb 0x44125b
test al, 1
mov ss, word [edi + 0x2b]
fdiv dword [ecx + 0x1d8b9fbb]
sub byte [eax + 0x5c], dl
add byte [ebx - 0x2634b], cl
invalid
call fcn.004601b3
test al, al
je 0x4412fd
int3
test esi, esi
jne 0x44131f
push dword [ebp - 0x270]
mov ecx, dword [ebp - 0x268]
call fcn.0043d7f0
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x44131f
push eax
call ebx
push 8
push str.TypeLib_
lea ecx, [ebp - 0x248]
call fcn.00402510
cmp dword [ebp - 0x234], 8
lea edi, [eax - 0x17000003]
fist word [ecx]
cld
inc dword [ebx - 0x23343]
dec dword [eax]
lea ecx, [ebp - 0x274]
push ecx
push 0xf013f
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push 0
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x264], eax
call fcn.004601b3
test al, al
je 0x441380
xchg dword [esi + ebp*8], edx
mov ch, 0xb
ja 0x441327
mov al, byte [0x6a9022d1]
mov ebx, 0x6a1ce65e
rol byte [ebx - 0x26343], 0xff
add byte [ebp + 0x22], dh
cmp dword [ebp - 0x264], 0
jne 0x4413ab
push dword [ebp - 0x274]
mov ecx, dword [ebp - 0x268]
call fcn.0043e1e0
mov eax, dword [ebp - 0x274]
test eax, eax
je 0x4413ab
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.004601f8
test al, al
je 0x4413c8
xlatb
mov ebp, 0x4bb5362
mov edx, 0x2035e5b5
out dx, al
jp 0x441359
cld
rcl dword [si], cl
movsd dword es:[edi], dword [esi]
pop esi
call fcn.004607a1
test al, al
je 0x4413e1
cmpsd dword [esi], dword es:[edi]
pop edi
xchg esi, eax
ljmp 0xe99b
mov ecx, dword [ebp - 0x268]
call 0x43eae0
call fcn.00460420
lock add dword [eax], eax
test al, al
je 0x441405
sbb edx, dword [edx + 0x1e2302e6]
adc byte [eax + 0x1b], cl
adc esp, dword [esi + ebp]
cdq
or ah, byte [edi]
push 0x1efd1e8
add byte [eax + eax*8 - 0x3202e88c], al
dec ecx
call fcn.004603db
test al, al
je 0x441425
std
int 0x49
sub dword [esi], esp
jg 0x4413ee
je 0x441490
push ebx
adc al, 0x1c
inc edx
and byte [esi + 0x7ee44c72], dh
nop
int3
mov eax, dword [ebp - 0x234]
cmp eax, 8
jb 0x441443
inc eax
lea ecx, [ebp - 0x248]
push eax
push dword [ebp - 0x248]
call fcn.00402610
xor eax, eax
mov dword [ebp - 0x234], 7
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x238], 0
mov word [ebp - 0x248], ax
call fcn.0045fd6f
mov eax, dword [ebp - 0x24c]
cmp eax, 8
jb 0x441489
inc eax
lea ecx, [ebp - 0x260]
push eax
push dword [ebp - 0x260]
call fcn.00402610
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
add byte [eax], al
add byte [ecx + 0x5f], bl
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00455afe
mov esp, ebp
pop ebp
ret