Function at 0x435600
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e2b52
mov eax, dword fs:[0]
push eax
sub esp, 0x28c
mov eax, dword [0x678390]
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.00483520
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 0x435670
mov eax, dword [0x5e9bd4]
mov dword [edi], eax
cmp word [ebp - 0x218], 0
jne 0x435691
xor ecx, ecx
jmp 0x4356af
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4356a0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.00402b90
mov eax, dword [0x67d4e4]
test eax, eax
jne 0x4356fc
push 0x15c
call fcn.0047045e
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x4356ee
mov ecx, eax
call fcn.00444f40
jmp 0x4356f0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x67d4e4], eax
mov ecx, eax
call fcn.00474b54
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 0x43572b
xor ecx, ecx
jmp 0x43573f
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x435730
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x260]
call fcn.00402b90
mov dword [ebp - 4], 1
call fcn.00453c3f
test al, al
je 0x435778
xchg esp, eax
cmp dl, byte [edi]
push edx
rol bl, cl
movsb byte es:[edi], byte [esi]
cwde
cmp eax, dword [esi]
sub dword [ebx + 0x2f0c71fd], eax
out 6, eax
cmc
std
sbb byte [ebx - 0x2676275], dl
invalid
lea ecx, [ebp - 0x298]
call fcn.0046671d
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 2
call fcn.004667e3
test eax, eax
je 0x43592a
lea eax, [ebp - 0x264]
mov dword [ebp - 0x264], 0
push eax
lea ecx, [ebp - 0x298]
call fcn.004669d0
call fcn.00453aa1
test al, al
je 0x4357cf
sbb bh, byte [ebp - 0x6adafecd]
add bl, byte [esi - 0x7a]
jo 0x435837
les esp, [ecx + 0x6f]
ret
push 0xb
xor eax, eax
mov dword [ebp - 0x21c], 7
push str.WOver32.dll
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.00402b90
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 3
push eax
push ebx
lea eax, [ebp - 0x260]
mov ecx, ebx
push eax
call fcn.00431ea0
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x43583a
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402ce0
aam 0xfc
jmp [edx + 0xb]
push 0xb
xor eax, eax
mov dword [ebp - 0x21c], 7
push str.WOver64.dll
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.00402b90
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 4
push eax
push ebx
lea eax, [ebp - 0x260]
mov ecx, ebx
push eax
call fcn.00431ea0
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x4358a5
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402ce0
call fcn.00453bb5
test al, al
je 0x4358cd
push ecx
xchg esp, eax
add eax, 0x43dcb466
cmpsd dword [esi], dword es:[edi]
pop eax
test al, 0xd4
invalid
call fcn.00453651
test al, al
je 0x4358ef
sub ebp, 0x941c84ef
adc ah, al
pop ecx
enter 0x75c6, 0x14
invalid
call fcn.00453903
test al, al
je 0x435914
jp 0x435959
mov dword [0x8af75e61], eax
lds ecx, [ebp - 0x2516c397]
wait
add ebp, dword [eax - 0x22]
sbb byte [esi + 0x2d], dh
mov edi, 0xa8a4a580
out 0x96, al
loopne 0x435914
push dword [ebp - 0x264]
lea ecx, [ebp - 0x298]
call fcn.004669ee
jmp 0x435a00
mov ch, 0x9c
std
invalid
push 0xb
xor eax, eax
mov dword [ebp - 0x21c], 7
push str.WOver32.dll
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.00402b90
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 5
push eax
push ebx
lea eax, [ebp - 0x260]
mov ecx, ebx
push eax
call fcn.00431ea0
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x435995
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402ce0
push 0xb
xor eax, eax
mov dword [ebp - 0x21c], 7
push str.WOver64.dll
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
call fcn.00402b90
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 6
push eax
push ebx
lea eax, [ebp - 0x260]
mov ecx, ebx
push eax
call fcn.00431ea0
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x435a00
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402ce0
std
invalid
call fcn.004538be
test al, al
je 0x435a24
push 0xffffffffffffffe3
pop ebx
mov cl, 0xd6
pop ebx
daa
or ch, dl
push edx
sbb ecx, dword [edx + 0x76f5509]
add al, 0x15
dec ebp
jns 0x4359f1
mov al, byte [0x8c39aecb]
cmp al, ch
cmp al, 0xdd
add dword [eax], eax
call fcn.00453765
test al, al
je 0x435a4b
lcall 0xc7ac, 0x90796b5d
inc esp
mov al, byte [0x9596881c]
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
mov word [ebp - 0x248], ax
mov byte [ebp - 4], 7
call fcn.00453765
test al, al
je 0x435ab2
sal byte [edi + ebx + 0x47], 0x38
ljmp 0x865b
inc edi
cmp dl, ch
add cl, ch
call 0x31c9b637
popal
loope 0x435a90
movsd dword es:[edi], dword [esi]
invalid
push 6
push str.CLSID_
lea ecx, [ebp - 0x248]
call fcn.00402b90
cmp dword [ebp - 0x234], 8
lea ecx, [ebp - 0x26c]
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.00453a17
test al, al
je 0x435b18
or bl, byte [edx]
test eax, 0xccdd594e
das
aam 0x75
jmp 0x435b54
call fcn.004537aa
test al, al
je 0x435b39
pushfd
sahf
pop esi
int3
call fcn.00453834
test al, al
je 0x435b5a
and dword [ebx + edi + 0xa0e6ce8], 0x2f0eb57c
mov ch, 0x76
pop esi
aaa
wait
daa
sub bh, dh
push es
div ebx
push es
mov al, byte [0xbd83daf6]
pushfd
std
invalid
cmp dword [ebp - 0x264], 0
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, dword [ebp - 0x268]
jne 0x435b89
push dword [ebp - 0x26c]
mov ecx, ebx
call fcn.00432530
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x435b89
push eax
call edi
push 0x17
push str.SOFTWAREClassesCLSID_
lea ecx, [ebp - 0x248]
call fcn.00402b90
cmp dword [ebp - 0x234], 8
lea ecx, [ebp - 0x270]
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push ecx
push 0xf013f
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call esi
mov dword [ebp - 0x264], eax
call fcn.004539d2
test al, al
je 0x435bf8
insd dword es:[edi], dx
cld
wait
xor al, 0x3f
lcall 0x64b0, 0x75478692
add cl, dh
inc ebx
xchg dword [edx - 0x6fffc275], esp
pop esi
add byte [ebx + 0x5e900c35], cl
add byte [ebx - 0x26343], al
inc dword [eax]
cmp dword [ebp - 0x264], 0
jne 0x435c1b
push dword [ebp - 0x270]
mov ecx, ebx
call fcn.00432530
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x435c1b
push eax
call edi
push 8
push str.TypeLib_
lea ecx, [ebp - 0x248]
call fcn.00402b90
cmp dword [ebp - 0x234], 8
lea ecx, [ebp - 0x274]
push ecx
push 0xf013f
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push 0
push eax
push SysReAllocString
call esi
mov dword [ebp - 0x264], eax
call fcn.00453c3f
test al, al
je 0x435c76
add byte [eax + 0x68], dl
add byte [eax], al
add byte [eax - 0x7a762901], al
pushfd
std
invalid
stosd dword es:[edi], eax
xchg edi, eax
mov al, 0xf9
push ds
movsd dword es:[edi], dword [esi]
nop
jns 0x435c4e
loope 0x435c73
mov cl, byte [esi]
test dword [edi + 0xc], esi
cmp dword [ebp - 0x264], 0
jne 0x435c9d
push dword [ebp - 0x274]
mov ecx, dword [ebp - 0x268]
call int.00432e80
mov eax, dword [ebp - 0x274]
test eax, eax
je 0x435c9d
std
invalid
sar edi, 1
dec dword [ebx - 0x2737b]
inc dword [ebp + 0x500374c0]
push eax
call edi
call fcn.00453b70
test al, al
je 0x435cb8
test word [0x3a73a26a], ax
cmpsd dword [esi], dword es:[edi]
fild word [edi + 0x54964baf]
jae 0x435c82
cld
mov ecx, 0xfd988d8b
invalid
mov ecx, dword [ebp - 0x268]
call 0x4336e0
call fcn.00453aa1
test al, al
je 0x435ce7
xchg esp, eax
adc eax, 0x9819bd4d
pop edx
jge 0x435c8d
movsb byte es:[edi], byte [esi]
cmp dword [ecx + 0x55e7978b], edx
sub dword [ecx + 0x4fc68e52], ecx
mov esi, dword [eax]
jecxz 0x435d38
call fcn.00453903
test al, al
je 0x435d05
mov ecx, 0xb8e91075
sbb byte [edi], dh
lodsb al, byte [esi]
jl 0x435cf8
dec ebp
cmp eax, 0x1b53f052
into
stc
les edi, [ebx + esi*2 + 0x1dd52e8]
add byte [eax + eax*8 + 0x275c1274], al
call fcn.00453a5c
test al, al
je 0x435d20
pop esp
daa
bound eax, qword [edx - 0x19]
mov esi, 0xcaa7b11b
adc al, 0x5e
cmp eax, 0x7e3be867
in al, dx
mov eax, dword [ebp - 0x234]
cmp eax, 8
jb 0x435d3e
inc eax
lea ecx, [ebp - 0x248]
push eax
push dword [ebp - 0x248]
call fcn.00402ce0
invalid
xor eax, eax
mov dword [ebp - 0x234], 7
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x238], 0
mov word [ebp - 0x248], ax
call fcn.00466730
mov eax, dword [ebp - 0x24c]
cmp eax, 8
jb 0x435d84
inc eax
lea ecx, [ebp - 0x260]
push eax
push dword [ebp - 0x260]
call fcn.00402ce0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047070c
mov esp, ebp
pop ebp
ret